@shapeshiftoss/caip 8.16.4 → 8.16.6
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/.tsbuildinfo +1 -0
- package/dist/cjs/accountId/accountId.d.ts +29 -0
- package/dist/cjs/accountId/accountId.js +44 -0
- package/dist/cjs/accountId/accountId.test.d.ts +1 -0
- package/dist/cjs/accountId/accountId.test.js +109 -0
- package/dist/cjs/adapters/banxa/index.d.ts +15 -0
- package/dist/cjs/adapters/banxa/index.js +153 -0
- package/dist/cjs/adapters/coinbase/generate.d.ts +1 -0
- package/dist/cjs/adapters/coinbase/generate.js +9 -0
- package/dist/cjs/adapters/coinbase/generated/adapter.json +153 -0
- package/dist/cjs/adapters/coinbase/generated/index.d.ts +2 -0
- package/dist/cjs/adapters/coinbase/generated/index.js +8 -0
- package/dist/cjs/adapters/coinbase/index.d.ts +3 -0
- package/dist/cjs/adapters/coinbase/index.js +16 -0
- package/dist/cjs/adapters/coinbase/utils.d.ts +12 -0
- package/dist/cjs/adapters/coinbase/utils.js +55 -0
- package/dist/cjs/adapters/coincap/generate.d.ts +1 -0
- package/dist/cjs/adapters/coincap/generate.js +16 -0
- package/dist/cjs/adapters/coincap/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/bip122_00040fe8ec8471911baa1db1266ea15d/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/cosmos_cosmoshub-4/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/eip155_1/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/eip155_10/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/eip155_137/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/eip155_42161/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/eip155_43114/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/eip155_56/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/eip155_8453/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/generated/index.d.ts +16 -0
- package/dist/cjs/adapters/coincap/generated/index.js +36 -0
- package/dist/cjs/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
- package/dist/cjs/adapters/coincap/index.d.ts +5 -0
- package/dist/cjs/adapters/coincap/index.js +48 -0
- package/dist/cjs/adapters/coincap/index.test.d.ts +1 -0
- package/dist/cjs/adapters/coincap/index.test.js +90 -0
- package/dist/cjs/adapters/coincap/utils.d.ts +24 -0
- package/dist/cjs/adapters/coincap/utils.js +147 -0
- package/dist/cjs/adapters/coincap/utils.test.d.ts +4 -0
- package/dist/cjs/adapters/coincap/utils.test.js +176 -0
- package/dist/cjs/adapters/coingecko/generate.d.ts +1 -0
- package/dist/cjs/adapters/coingecko/generate.js +10 -0
- package/dist/cjs/adapters/coingecko/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/bip122_00040fe8ec8471911baa1db1266ea15d/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/cosmos_cosmoshub-4/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_1/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_10/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_100/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_137/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_143/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_42161/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_42170/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_43114/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_56/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_747474/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_8453/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_9745/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/eip155_999/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/index.d.ts +27 -0
- package/dist/cjs/adapters/coingecko/generated/index.js +58 -0
- package/dist/cjs/adapters/coingecko/generated/near_mainnet/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/starknet_SN_MAIN/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/sui_35834a8a/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/generated/tron_0x2b6653dc/adapter.json +1 -0
- package/dist/cjs/adapters/coingecko/index.d.ts +34 -0
- package/dist/cjs/adapters/coingecko/index.js +223 -0
- package/dist/cjs/adapters/coingecko/index.test.d.ts +1 -0
- package/dist/cjs/adapters/coingecko/index.test.js +318 -0
- package/dist/cjs/adapters/coingecko/utils.d.ts +11 -0
- package/dist/cjs/adapters/coingecko/utils.js +311 -0
- package/dist/cjs/adapters/coingecko/utils.test.d.ts +1 -0
- package/dist/cjs/adapters/coingecko/utils.test.js +220 -0
- package/dist/cjs/adapters/index.d.ts +6 -0
- package/dist/cjs/adapters/index.js +22 -0
- package/dist/cjs/adapters/mtpelerin/index.d.ts +10 -0
- package/dist/cjs/adapters/mtpelerin/index.js +127 -0
- package/dist/cjs/adapters/onramper/index.d.ts +6 -0
- package/dist/cjs/adapters/onramper/index.js +39 -0
- package/dist/cjs/assetId/assetId.d.ts +36 -0
- package/dist/cjs/assetId/assetId.js +120 -0
- package/dist/cjs/assetId/assetId.test.d.ts +1 -0
- package/dist/cjs/assetId/assetId.test.js +324 -0
- package/dist/cjs/chainId/chainId.d.ts +20 -0
- package/dist/cjs/chainId/chainId.js +25 -0
- package/dist/cjs/chainId/chainId.test.d.ts +1 -0
- package/dist/cjs/chainId/chainId.test.js +90 -0
- package/dist/cjs/constants.d.ts +163 -0
- package/dist/cjs/constants.js +231 -0
- package/dist/cjs/index.d.ts +7 -0
- package/dist/cjs/index.js +36 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/typeGuards.d.ts +16 -0
- package/dist/cjs/typeGuards.js +56 -0
- package/dist/cjs/utils.d.ts +36 -0
- package/dist/cjs/utils.js +57 -0
- package/dist/cjs/utils.test.d.ts +1 -0
- package/dist/cjs/utils.test.js +160 -0
- package/dist/esm/.tsbuildinfo +1 -0
- package/dist/esm/accountId/accountId.d.ts +29 -0
- package/dist/esm/accountId/accountId.js +39 -0
- package/dist/esm/accountId/accountId.test.d.ts +1 -0
- package/dist/esm/accountId/accountId.test.js +107 -0
- package/dist/esm/adapters/banxa/index.d.ts +15 -0
- package/dist/esm/adapters/banxa/index.js +143 -0
- package/dist/esm/adapters/coinbase/generate.d.ts +1 -0
- package/dist/esm/adapters/coinbase/generate.js +7 -0
- package/dist/esm/adapters/coinbase/generated/adapter.json +153 -0
- package/dist/esm/adapters/coinbase/generated/index.d.ts +2 -0
- package/dist/esm/adapters/coinbase/generated/index.js +2 -0
- package/dist/esm/adapters/coinbase/index.d.ts +3 -0
- package/dist/esm/adapters/coinbase/index.js +8 -0
- package/dist/esm/adapters/coinbase/utils.d.ts +12 -0
- package/dist/esm/adapters/coinbase/utils.js +46 -0
- package/dist/esm/adapters/coincap/generate.d.ts +1 -0
- package/dist/esm/adapters/coincap/generate.js +11 -0
- package/dist/esm/adapters/coincap/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/bip122_00040fe8ec8471911baa1db1266ea15d/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/cosmos_cosmoshub-4/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/eip155_1/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/eip155_10/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/eip155_137/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/eip155_42161/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/eip155_43114/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/eip155_56/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/eip155_8453/adapter.json +1 -0
- package/dist/esm/adapters/coincap/generated/index.d.ts +16 -0
- package/dist/esm/adapters/coincap/generated/index.js +16 -0
- package/dist/esm/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
- package/dist/esm/adapters/coincap/index.d.ts +5 -0
- package/dist/esm/adapters/coincap/index.js +16 -0
- package/dist/esm/adapters/coincap/index.test.d.ts +1 -0
- package/dist/esm/adapters/coincap/index.test.js +88 -0
- package/dist/esm/adapters/coincap/utils.d.ts +24 -0
- package/dist/esm/adapters/coincap/utils.js +136 -0
- package/dist/esm/adapters/coincap/utils.test.d.ts +4 -0
- package/dist/esm/adapters/coincap/utils.test.js +171 -0
- package/dist/esm/adapters/coingecko/generate.d.ts +1 -0
- package/dist/esm/adapters/coingecko/generate.js +8 -0
- package/dist/esm/adapters/coingecko/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/bip122_00040fe8ec8471911baa1db1266ea15d/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/cosmos_cosmoshub-4/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_1/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_10/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_100/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_137/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_143/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_42161/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_42170/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_43114/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_56/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_747474/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_8453/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_9745/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/eip155_999/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/index.d.ts +27 -0
- package/dist/esm/adapters/coingecko/generated/index.js +27 -0
- package/dist/esm/adapters/coingecko/generated/near_mainnet/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/starknet_SN_MAIN/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/sui_35834a8a/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/generated/tron_0x2b6653dc/adapter.json +1 -0
- package/dist/esm/adapters/coingecko/index.d.ts +34 -0
- package/dist/esm/adapters/coingecko/index.js +187 -0
- package/dist/esm/adapters/coingecko/index.test.d.ts +1 -0
- package/dist/esm/adapters/coingecko/index.test.js +316 -0
- package/dist/esm/adapters/coingecko/utils.d.ts +11 -0
- package/dist/esm/adapters/coingecko/utils.js +302 -0
- package/dist/esm/adapters/coingecko/utils.test.d.ts +1 -0
- package/dist/esm/adapters/coingecko/utils.test.js +215 -0
- package/dist/esm/adapters/index.d.ts +6 -0
- package/dist/esm/adapters/index.js +6 -0
- package/dist/esm/adapters/mtpelerin/index.d.ts +10 -0
- package/dist/esm/adapters/mtpelerin/index.js +121 -0
- package/dist/esm/adapters/onramper/index.d.ts +6 -0
- package/dist/esm/adapters/onramper/index.js +31 -0
- package/dist/esm/assetId/assetId.d.ts +36 -0
- package/dist/esm/assetId/assetId.js +114 -0
- package/dist/esm/assetId/assetId.test.d.ts +1 -0
- package/dist/esm/assetId/assetId.test.js +322 -0
- package/dist/esm/chainId/chainId.d.ts +20 -0
- package/dist/esm/chainId/chainId.js +20 -0
- package/dist/esm/chainId/chainId.test.d.ts +1 -0
- package/dist/esm/chainId/chainId.test.js +88 -0
- package/dist/esm/constants.d.ts +163 -0
- package/dist/esm/constants.js +227 -0
- package/dist/esm/index.d.ts +7 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/typeGuards.d.ts +16 -0
- package/dist/esm/typeGuards.js +44 -0
- package/dist/esm/utils.d.ts +36 -0
- package/dist/esm/utils.js +27 -0
- package/dist/esm/utils.test.d.ts +1 -0
- package/dist/esm/utils.test.js +158 -0
- package/package.json +1 -1
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ethChainId = exports.zecChainId = exports.ltcChainId = exports.dogeChainId = exports.bchChainId = exports.btcChainId = exports.binanceAssetId = exports.mayachainAssetId = exports.rujiAssetId = exports.tcyAssetId = exports.thorchainAssetId = exports.cosmosAssetId = exports.foxWifHatAssetId = exports.flipAssetId = exports.usdcOnSolanaAssetId = exports.usdcOnArbitrumOneAssetId = exports.usdcAssetId = exports.usdtAssetId = exports.foxOnPolygonAssetId = exports.foxOnOptimismAssetId = exports.foxAssetId = exports.foxOnArbitrumOneAssetId = exports.foxOnGnosisAssetId = exports.foxyAssetId = exports.foxatarAssetId = exports.uniV2EthFoxArbitrumAssetId = exports.starknetAssetId = exports.nearAssetId = exports.suiAssetId = exports.tronAssetId = exports.wrappedSolAssetId = exports.solAssetId = exports.katanaAssetId = exports.plasmaAssetId = exports.hyperEvmAssetId = exports.monadAssetId = exports.baseAssetId = exports.arbitrumNovaAssetId = exports.arbitrumAssetId = exports.gnosisAssetId = exports.polygonAssetId = exports.bscAssetId = exports.optimismAssetId = exports.avalancheAssetId = exports.ethAssetId = exports.zecAssetId = exports.ltcAssetId = exports.dogeAssetId = exports.bchAssetId = exports.btcAssetId = void 0;
|
|
4
|
+
exports.FEE_ASSET_IDS = exports.VALID_ASSET_NAMESPACE = exports.VALID_CHAIN_IDS = exports.ASSET_REFERENCE = exports.ASSET_NAMESPACE = exports.CHAIN_REFERENCE = exports.CHAIN_NAMESPACE = exports.starknetChainId = exports.nearChainId = exports.suiChainId = exports.tronChainId = exports.solanaChainId = exports.binanceChainId = exports.mayachainChainId = exports.thorchainChainId = exports.cosmosChainId = exports.katanaChainId = exports.plasmaChainId = exports.hyperEvmChainId = exports.monadChainId = exports.baseChainId = exports.arbitrumNovaChainId = exports.arbitrumChainId = exports.gnosisChainId = exports.polygonChainId = exports.bscChainId = exports.optimismChainId = exports.avalancheChainId = void 0;
|
|
5
|
+
exports.btcAssetId = 'bip122:000000000019d6689c085ae165831e93/slip44:0';
|
|
6
|
+
exports.bchAssetId = 'bip122:000000000000000000651ef99cb9fcbe/slip44:145';
|
|
7
|
+
exports.dogeAssetId = 'bip122:00000000001a91e3dace36e2be3bf030/slip44:3';
|
|
8
|
+
exports.ltcAssetId = 'bip122:12a765e31ffd4059bada1e25190f6e98/slip44:2';
|
|
9
|
+
exports.zecAssetId = 'bip122:00040fe8ec8471911baa1db1266ea15d/slip44:133';
|
|
10
|
+
exports.ethAssetId = 'eip155:1/slip44:60';
|
|
11
|
+
exports.avalancheAssetId = 'eip155:43114/slip44:60';
|
|
12
|
+
exports.optimismAssetId = 'eip155:10/slip44:60';
|
|
13
|
+
exports.bscAssetId = 'eip155:56/slip44:60';
|
|
14
|
+
exports.polygonAssetId = 'eip155:137/slip44:60';
|
|
15
|
+
exports.gnosisAssetId = 'eip155:100/slip44:60';
|
|
16
|
+
exports.arbitrumAssetId = 'eip155:42161/slip44:60';
|
|
17
|
+
exports.arbitrumNovaAssetId = 'eip155:42170/slip44:60';
|
|
18
|
+
exports.baseAssetId = 'eip155:8453/slip44:60';
|
|
19
|
+
exports.monadAssetId = 'eip155:143/slip44:60';
|
|
20
|
+
exports.hyperEvmAssetId = 'eip155:999/slip44:60';
|
|
21
|
+
exports.plasmaAssetId = 'eip155:9745/slip44:60';
|
|
22
|
+
exports.katanaAssetId = 'eip155:747474/slip44:60';
|
|
23
|
+
exports.solAssetId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501';
|
|
24
|
+
exports.wrappedSolAssetId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:So11111111111111111111111111111111111111112';
|
|
25
|
+
exports.tronAssetId = 'tron:0x2b6653dc/slip44:195';
|
|
26
|
+
exports.suiAssetId = 'sui:35834a8a/slip44:784';
|
|
27
|
+
exports.nearAssetId = 'near:mainnet/slip44:397';
|
|
28
|
+
exports.starknetAssetId = 'starknet:SN_MAIN/slip44:9004';
|
|
29
|
+
exports.uniV2EthFoxArbitrumAssetId = 'eip155:42161/erc20:0x5f6ce0ca13b87bd738519545d3e018e70e339c24';
|
|
30
|
+
exports.foxatarAssetId = 'eip155:137/erc721:0x2e727c425a11ce6b8819b3004db332c12d2af2a2';
|
|
31
|
+
exports.foxyAssetId = 'eip155:1/erc20:0xdc49108ce5c57bc3408c3a5e95f3d864ec386ed3';
|
|
32
|
+
exports.foxOnGnosisAssetId = 'eip155:100/erc20:0x21a42669643f45bc0e086b8fc2ed70c23d67509d';
|
|
33
|
+
exports.foxOnArbitrumOneAssetId = 'eip155:42161/erc20:0xf929de51d91c77e42f5090069e0ad7a09e513c73';
|
|
34
|
+
exports.foxAssetId = 'eip155:1/erc20:0xc770eefad204b5180df6a14ee197d99d808ee52d';
|
|
35
|
+
exports.foxOnOptimismAssetId = 'eip155:10/erc20:0xf1a0da3367bc7aa04f8d94ba57b862ff37ced174';
|
|
36
|
+
exports.foxOnPolygonAssetId = 'eip155:137/erc20:0x65a05db8322701724c197af82c9cae41195b0aa8';
|
|
37
|
+
exports.usdtAssetId = 'eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7';
|
|
38
|
+
exports.usdcAssetId = 'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48';
|
|
39
|
+
exports.usdcOnArbitrumOneAssetId = 'eip155:42161/erc20:0xaf88d065e77c8cc2239327c5edb3a432268e5831';
|
|
40
|
+
exports.usdcOnSolanaAssetId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/token:EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';
|
|
41
|
+
exports.flipAssetId = 'eip155:1/erc20:0x826180541412d574cf1336d22c0c0a287822678a';
|
|
42
|
+
exports.foxWifHatAssetId = 'eip155:8453/erc20:0xd14acd73ade7f3c652f05365115f015e905a6bf4';
|
|
43
|
+
exports.cosmosAssetId = 'cosmos:cosmoshub-4/slip44:118';
|
|
44
|
+
exports.thorchainAssetId = 'cosmos:thorchain-1/slip44:931';
|
|
45
|
+
exports.tcyAssetId = 'cosmos:thorchain-1/slip44:tcy';
|
|
46
|
+
exports.rujiAssetId = 'cosmos:thorchain-1/slip44:ruji';
|
|
47
|
+
exports.mayachainAssetId = 'cosmos:mayachain-mainnet-v1/slip44:931';
|
|
48
|
+
exports.binanceAssetId = 'cosmos:binance-chain-tigris/slip44:714';
|
|
49
|
+
exports.btcChainId = 'bip122:000000000019d6689c085ae165831e93';
|
|
50
|
+
exports.bchChainId = 'bip122:000000000000000000651ef99cb9fcbe';
|
|
51
|
+
exports.dogeChainId = 'bip122:00000000001a91e3dace36e2be3bf030';
|
|
52
|
+
exports.ltcChainId = 'bip122:12a765e31ffd4059bada1e25190f6e98';
|
|
53
|
+
exports.zecChainId = 'bip122:00040fe8ec8471911baa1db1266ea15d';
|
|
54
|
+
exports.ethChainId = 'eip155:1';
|
|
55
|
+
exports.avalancheChainId = 'eip155:43114';
|
|
56
|
+
exports.optimismChainId = 'eip155:10';
|
|
57
|
+
exports.bscChainId = 'eip155:56';
|
|
58
|
+
exports.polygonChainId = 'eip155:137';
|
|
59
|
+
exports.gnosisChainId = 'eip155:100';
|
|
60
|
+
exports.arbitrumChainId = 'eip155:42161';
|
|
61
|
+
exports.arbitrumNovaChainId = 'eip155:42170';
|
|
62
|
+
exports.baseChainId = 'eip155:8453';
|
|
63
|
+
exports.monadChainId = 'eip155:143';
|
|
64
|
+
exports.hyperEvmChainId = 'eip155:999';
|
|
65
|
+
exports.plasmaChainId = 'eip155:9745';
|
|
66
|
+
exports.katanaChainId = 'eip155:747474';
|
|
67
|
+
exports.cosmosChainId = 'cosmos:cosmoshub-4';
|
|
68
|
+
exports.thorchainChainId = 'cosmos:thorchain-1';
|
|
69
|
+
exports.mayachainChainId = 'cosmos:mayachain-mainnet-v1';
|
|
70
|
+
exports.binanceChainId = 'cosmos:binance-chain-tigris';
|
|
71
|
+
exports.solanaChainId = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp';
|
|
72
|
+
exports.tronChainId = 'tron:0x2b6653dc';
|
|
73
|
+
exports.suiChainId = 'sui:35834a8a';
|
|
74
|
+
exports.nearChainId = 'near:mainnet';
|
|
75
|
+
exports.starknetChainId = 'starknet:SN_MAIN';
|
|
76
|
+
exports.CHAIN_NAMESPACE = {
|
|
77
|
+
Evm: 'eip155',
|
|
78
|
+
Utxo: 'bip122',
|
|
79
|
+
CosmosSdk: 'cosmos',
|
|
80
|
+
Solana: 'solana',
|
|
81
|
+
Tron: 'tron',
|
|
82
|
+
Sui: 'sui',
|
|
83
|
+
Near: 'near',
|
|
84
|
+
Starknet: 'starknet',
|
|
85
|
+
};
|
|
86
|
+
exports.CHAIN_REFERENCE = {
|
|
87
|
+
EthereumMainnet: '1',
|
|
88
|
+
BitcoinMainnet: '000000000019d6689c085ae165831e93',
|
|
89
|
+
BitcoinCashMainnet: '000000000000000000651ef99cb9fcbe',
|
|
90
|
+
DogecoinMainnet: '00000000001a91e3dace36e2be3bf030',
|
|
91
|
+
LitecoinMainnet: '12a765e31ffd4059bada1e25190f6e98',
|
|
92
|
+
ZcashMainnet: '00040fe8ec8471911baa1db1266ea15d',
|
|
93
|
+
CosmosHubMainnet: 'cosmoshub-4',
|
|
94
|
+
ThorchainMainnet: 'thorchain-1',
|
|
95
|
+
MayachainMainnet: 'mayachain-mainnet-v1',
|
|
96
|
+
BinanceMainnet: 'binance-chain-tigris',
|
|
97
|
+
AvalancheCChain: '43114',
|
|
98
|
+
OptimismMainnet: '10',
|
|
99
|
+
BnbSmartChainMainnet: '56',
|
|
100
|
+
PolygonMainnet: '137',
|
|
101
|
+
GnosisMainnet: '100',
|
|
102
|
+
ArbitrumMainnet: '42161',
|
|
103
|
+
ArbitrumNovaMainnet: '42170',
|
|
104
|
+
BaseMainnet: '8453',
|
|
105
|
+
MonadMainnet: '143',
|
|
106
|
+
HyperEvmMainnet: '999',
|
|
107
|
+
PlasmaMainnet: '9745',
|
|
108
|
+
KatanaMainnet: '747474',
|
|
109
|
+
SolanaMainnet: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',
|
|
110
|
+
TronMainnet: '0x2b6653dc',
|
|
111
|
+
SuiMainnet: '35834a8a',
|
|
112
|
+
NearMainnet: 'mainnet',
|
|
113
|
+
StarknetMainnet: 'SN_MAIN', // https://namespaces.chainagnostic.org/starknet/caip2
|
|
114
|
+
};
|
|
115
|
+
exports.ASSET_NAMESPACE = {
|
|
116
|
+
erc20: 'erc20',
|
|
117
|
+
erc721: 'erc721',
|
|
118
|
+
erc1155: 'erc1155',
|
|
119
|
+
slip44: 'slip44',
|
|
120
|
+
splToken: 'token',
|
|
121
|
+
trc20: 'trc20',
|
|
122
|
+
trc10: 'trc10',
|
|
123
|
+
suiCoin: 'coin',
|
|
124
|
+
nep141: 'nep141',
|
|
125
|
+
starknetToken: 'token',
|
|
126
|
+
};
|
|
127
|
+
exports.ASSET_REFERENCE = {
|
|
128
|
+
Bitcoin: '0',
|
|
129
|
+
BitcoinCash: '145',
|
|
130
|
+
Litecoin: '2',
|
|
131
|
+
Dogecoin: '3',
|
|
132
|
+
Zcash: '133',
|
|
133
|
+
Cosmos: '118',
|
|
134
|
+
Thorchain: '931',
|
|
135
|
+
Mayachain: '931',
|
|
136
|
+
Binance: '714',
|
|
137
|
+
Ethereum: '60',
|
|
138
|
+
AvalancheC: '60',
|
|
139
|
+
Optimism: '60',
|
|
140
|
+
BnbSmartChain: '60',
|
|
141
|
+
Polygon: '60',
|
|
142
|
+
Gnosis: '60',
|
|
143
|
+
Arbitrum: '60',
|
|
144
|
+
ArbitrumNova: '60',
|
|
145
|
+
Base: '60',
|
|
146
|
+
Monad: '60',
|
|
147
|
+
HyperEvm: '60',
|
|
148
|
+
Plasma: '60',
|
|
149
|
+
Katana: '60',
|
|
150
|
+
Solana: '501',
|
|
151
|
+
Tron: '195',
|
|
152
|
+
Sui: '784',
|
|
153
|
+
Near: '397',
|
|
154
|
+
Starknet: '9004',
|
|
155
|
+
};
|
|
156
|
+
exports.VALID_CHAIN_IDS = Object.freeze({
|
|
157
|
+
[exports.CHAIN_NAMESPACE.Utxo]: [
|
|
158
|
+
exports.CHAIN_REFERENCE.BitcoinMainnet,
|
|
159
|
+
exports.CHAIN_REFERENCE.BitcoinCashMainnet,
|
|
160
|
+
exports.CHAIN_REFERENCE.DogecoinMainnet,
|
|
161
|
+
exports.CHAIN_REFERENCE.LitecoinMainnet,
|
|
162
|
+
exports.CHAIN_REFERENCE.ZcashMainnet,
|
|
163
|
+
],
|
|
164
|
+
[exports.CHAIN_NAMESPACE.Evm]: [
|
|
165
|
+
exports.CHAIN_REFERENCE.EthereumMainnet,
|
|
166
|
+
exports.CHAIN_REFERENCE.AvalancheCChain,
|
|
167
|
+
exports.CHAIN_REFERENCE.OptimismMainnet,
|
|
168
|
+
exports.CHAIN_REFERENCE.BnbSmartChainMainnet,
|
|
169
|
+
exports.CHAIN_REFERENCE.PolygonMainnet,
|
|
170
|
+
exports.CHAIN_REFERENCE.GnosisMainnet,
|
|
171
|
+
exports.CHAIN_REFERENCE.ArbitrumMainnet,
|
|
172
|
+
exports.CHAIN_REFERENCE.ArbitrumNovaMainnet,
|
|
173
|
+
exports.CHAIN_REFERENCE.BaseMainnet,
|
|
174
|
+
exports.CHAIN_REFERENCE.MonadMainnet,
|
|
175
|
+
exports.CHAIN_REFERENCE.HyperEvmMainnet,
|
|
176
|
+
exports.CHAIN_REFERENCE.PlasmaMainnet,
|
|
177
|
+
exports.CHAIN_REFERENCE.KatanaMainnet,
|
|
178
|
+
],
|
|
179
|
+
[exports.CHAIN_NAMESPACE.CosmosSdk]: [
|
|
180
|
+
exports.CHAIN_REFERENCE.CosmosHubMainnet,
|
|
181
|
+
exports.CHAIN_REFERENCE.ThorchainMainnet,
|
|
182
|
+
exports.CHAIN_REFERENCE.MayachainMainnet,
|
|
183
|
+
exports.CHAIN_REFERENCE.BinanceMainnet,
|
|
184
|
+
],
|
|
185
|
+
[exports.CHAIN_NAMESPACE.Solana]: [exports.CHAIN_REFERENCE.SolanaMainnet],
|
|
186
|
+
[exports.CHAIN_NAMESPACE.Tron]: [exports.CHAIN_REFERENCE.TronMainnet],
|
|
187
|
+
[exports.CHAIN_NAMESPACE.Sui]: [exports.CHAIN_REFERENCE.SuiMainnet],
|
|
188
|
+
[exports.CHAIN_NAMESPACE.Near]: [exports.CHAIN_REFERENCE.NearMainnet],
|
|
189
|
+
[exports.CHAIN_NAMESPACE.Starknet]: [exports.CHAIN_REFERENCE.StarknetMainnet],
|
|
190
|
+
});
|
|
191
|
+
exports.VALID_ASSET_NAMESPACE = Object.freeze({
|
|
192
|
+
[exports.CHAIN_NAMESPACE.Utxo]: [exports.ASSET_NAMESPACE.slip44],
|
|
193
|
+
[exports.CHAIN_NAMESPACE.Evm]: [
|
|
194
|
+
exports.ASSET_NAMESPACE.slip44,
|
|
195
|
+
exports.ASSET_NAMESPACE.erc20,
|
|
196
|
+
exports.ASSET_NAMESPACE.erc721,
|
|
197
|
+
exports.ASSET_NAMESPACE.erc1155,
|
|
198
|
+
],
|
|
199
|
+
[exports.CHAIN_NAMESPACE.CosmosSdk]: [exports.ASSET_NAMESPACE.slip44],
|
|
200
|
+
[exports.CHAIN_NAMESPACE.Solana]: [exports.ASSET_NAMESPACE.splToken, exports.ASSET_NAMESPACE.slip44],
|
|
201
|
+
[exports.CHAIN_NAMESPACE.Tron]: [exports.ASSET_NAMESPACE.slip44, exports.ASSET_NAMESPACE.trc20],
|
|
202
|
+
[exports.CHAIN_NAMESPACE.Sui]: [exports.ASSET_NAMESPACE.slip44, exports.ASSET_NAMESPACE.suiCoin],
|
|
203
|
+
[exports.CHAIN_NAMESPACE.Near]: [exports.ASSET_NAMESPACE.slip44, exports.ASSET_NAMESPACE.nep141],
|
|
204
|
+
[exports.CHAIN_NAMESPACE.Starknet]: [exports.ASSET_NAMESPACE.slip44, exports.ASSET_NAMESPACE.starknetToken],
|
|
205
|
+
});
|
|
206
|
+
// We should prob change this once we add more chains
|
|
207
|
+
exports.FEE_ASSET_IDS = [
|
|
208
|
+
exports.ethAssetId,
|
|
209
|
+
exports.btcAssetId,
|
|
210
|
+
exports.bchAssetId,
|
|
211
|
+
exports.cosmosAssetId,
|
|
212
|
+
exports.thorchainAssetId,
|
|
213
|
+
exports.mayachainAssetId,
|
|
214
|
+
exports.dogeAssetId,
|
|
215
|
+
exports.ltcAssetId,
|
|
216
|
+
exports.avalancheAssetId,
|
|
217
|
+
exports.optimismAssetId,
|
|
218
|
+
exports.bscAssetId,
|
|
219
|
+
exports.polygonAssetId,
|
|
220
|
+
exports.gnosisAssetId,
|
|
221
|
+
exports.arbitrumAssetId,
|
|
222
|
+
exports.arbitrumNovaAssetId,
|
|
223
|
+
exports.baseAssetId,
|
|
224
|
+
exports.monadAssetId,
|
|
225
|
+
exports.solAssetId,
|
|
226
|
+
exports.tronAssetId,
|
|
227
|
+
exports.suiAssetId,
|
|
228
|
+
exports.nearAssetId,
|
|
229
|
+
exports.starknetAssetId,
|
|
230
|
+
exports.zecAssetId,
|
|
231
|
+
];
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
26
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.adapters = void 0;
|
|
30
|
+
exports.adapters = __importStar(require("./adapters"));
|
|
31
|
+
__exportStar(require("./chainId/chainId"), exports);
|
|
32
|
+
__exportStar(require("./accountId/accountId"), exports);
|
|
33
|
+
__exportStar(require("./assetId/assetId"), exports);
|
|
34
|
+
__exportStar(require("./utils"), exports);
|
|
35
|
+
__exportStar(require("./constants"), exports);
|
|
36
|
+
__exportStar(require("./typeGuards"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type": "commonjs"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AssetId, AssetNamespace, AssetReference } from './assetId/assetId';
|
|
2
|
+
import type { ChainId, ChainNamespace, ChainReference } from './chainId/chainId';
|
|
3
|
+
export declare const isChainNamespace: (maybeChainNamespace: ChainNamespace | string) => maybeChainNamespace is ChainNamespace;
|
|
4
|
+
export declare const isChainReference: (maybeChainReference: ChainReference | string) => maybeChainReference is ChainReference;
|
|
5
|
+
export declare const isAssetNamespace: (maybeAssetNamespace: AssetNamespace | string) => maybeAssetNamespace is AssetNamespace;
|
|
6
|
+
export declare const isAssetReference: (maybeAssetReference: AssetReference | string) => maybeAssetReference is AssetReference;
|
|
7
|
+
export declare const isAssetId: (maybeAssetId: AssetId | string) => maybeAssetId is AssetId;
|
|
8
|
+
export declare const isAssetIdParts: (maybeChainNamespace: string, maybeChainReference: string, maybeAssetNamespace: string) => boolean;
|
|
9
|
+
export declare const isChainId: (maybeChainId: ChainId | string) => maybeChainId is ChainId;
|
|
10
|
+
export declare const isChainIdParts: (chainNamespace: string, chainReference: string) => boolean;
|
|
11
|
+
export declare const assertIsChainId: (value: ChainId | string | undefined) => asserts value is ChainId;
|
|
12
|
+
export declare const assertIsChainNamespace: (value: ChainNamespace | string | undefined) => asserts value is ChainNamespace;
|
|
13
|
+
export declare const assertIsChainReference: (value: ChainReference | string | undefined) => asserts value is ChainReference;
|
|
14
|
+
export declare const assertIsAssetNamespace: (value: AssetNamespace | string | undefined) => asserts value is AssetNamespace;
|
|
15
|
+
export declare const assertIsAssetReference: (value: AssetReference | string | undefined) => asserts value is AssetReference;
|
|
16
|
+
export declare const assertValidChainPartsPair: (chainNamespace: ChainNamespace, chainReference: ChainReference) => void;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertValidChainPartsPair = exports.assertIsAssetReference = exports.assertIsAssetNamespace = exports.assertIsChainReference = exports.assertIsChainNamespace = exports.assertIsChainId = exports.isChainIdParts = exports.isChainId = exports.isAssetIdParts = exports.isAssetId = exports.isAssetReference = exports.isAssetNamespace = exports.isChainReference = exports.isChainNamespace = void 0;
|
|
4
|
+
const chainId_1 = require("./chainId/chainId");
|
|
5
|
+
const constants_1 = require("./constants");
|
|
6
|
+
const utils_1 = require("./utils");
|
|
7
|
+
const isChainNamespace = (maybeChainNamespace) => Object.values(constants_1.CHAIN_NAMESPACE).includes(maybeChainNamespace);
|
|
8
|
+
exports.isChainNamespace = isChainNamespace;
|
|
9
|
+
const isChainReference = (maybeChainReference) => Object.values(constants_1.CHAIN_REFERENCE).includes(maybeChainReference);
|
|
10
|
+
exports.isChainReference = isChainReference;
|
|
11
|
+
const isAssetNamespace = (maybeAssetNamespace) => Object.values(constants_1.ASSET_NAMESPACE).includes(maybeAssetNamespace);
|
|
12
|
+
exports.isAssetNamespace = isAssetNamespace;
|
|
13
|
+
const isAssetReference = (maybeAssetReference) => Object.values(constants_1.ASSET_REFERENCE).includes(maybeAssetReference);
|
|
14
|
+
exports.isAssetReference = isAssetReference;
|
|
15
|
+
// NOTE: perf critical - benchmark any changes
|
|
16
|
+
const isAssetId = (maybeAssetId) => {
|
|
17
|
+
const slashIdx = maybeAssetId.indexOf('/');
|
|
18
|
+
const chainId = maybeAssetId.substring(0, slashIdx);
|
|
19
|
+
const assetParts = maybeAssetId.substring(slashIdx + 1);
|
|
20
|
+
const { chainNamespace, chainReference } = (0, chainId_1.fromChainId)(chainId);
|
|
21
|
+
const idx = assetParts.indexOf(':');
|
|
22
|
+
const assetNamespace = assetParts.substring(0, idx);
|
|
23
|
+
return (0, exports.isAssetIdParts)(chainNamespace, chainReference, assetNamespace);
|
|
24
|
+
};
|
|
25
|
+
exports.isAssetId = isAssetId;
|
|
26
|
+
// NOTE: perf critical - benchmark any changes
|
|
27
|
+
const isAssetIdParts = (maybeChainNamespace, maybeChainReference, maybeAssetNamespace) => {
|
|
28
|
+
return (!!constants_1.VALID_CHAIN_IDS[maybeChainNamespace]?.includes(maybeChainReference) && (0, exports.isAssetNamespace)(maybeAssetNamespace));
|
|
29
|
+
};
|
|
30
|
+
exports.isAssetIdParts = isAssetIdParts;
|
|
31
|
+
// NOTE: perf critical - benchmark any changes
|
|
32
|
+
const isChainId = (maybeChainId) => {
|
|
33
|
+
const { chainNamespace, chainReference } = (0, chainId_1.fromChainId)(maybeChainId);
|
|
34
|
+
return !!constants_1.VALID_CHAIN_IDS[chainNamespace]?.includes(chainReference);
|
|
35
|
+
};
|
|
36
|
+
exports.isChainId = isChainId;
|
|
37
|
+
const isChainIdParts = (chainNamespace, chainReference) => {
|
|
38
|
+
return !!constants_1.VALID_CHAIN_IDS[chainNamespace]?.includes(chainReference);
|
|
39
|
+
};
|
|
40
|
+
exports.isChainIdParts = isChainIdParts;
|
|
41
|
+
const getTypeGuardAssertion = (typeGuard, message) => {
|
|
42
|
+
return (value) => {
|
|
43
|
+
if ((value && !typeGuard(value)) || !value)
|
|
44
|
+
throw new Error(`${message}: ${value}`);
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
exports.assertIsChainId = getTypeGuardAssertion(exports.isChainId, 'assertIsChainId: unsupported ChainId');
|
|
48
|
+
exports.assertIsChainNamespace = getTypeGuardAssertion(exports.isChainNamespace, 'assertIsChainNamespace: unsupported ChainNamespace');
|
|
49
|
+
exports.assertIsChainReference = getTypeGuardAssertion(exports.isChainReference, 'assertIsChainReference: unsupported ChainReference');
|
|
50
|
+
exports.assertIsAssetNamespace = getTypeGuardAssertion(exports.isAssetNamespace, 'assertIsAssetNamespace: unsupported AssetNamespace');
|
|
51
|
+
exports.assertIsAssetReference = getTypeGuardAssertion(exports.isAssetReference, 'assertIsAssetReference: unsupported AssetReference');
|
|
52
|
+
const assertValidChainPartsPair = (chainNamespace, chainReference) => {
|
|
53
|
+
if (!(0, utils_1.isValidChainPartsPair)(chainNamespace, chainReference))
|
|
54
|
+
throw new Error(`toAssetId: Chain Reference ${chainReference} not supported for Chain Namespace ${chainNamespace}`);
|
|
55
|
+
};
|
|
56
|
+
exports.assertValidChainPartsPair = assertValidChainPartsPair;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { AccountId } from './accountId/accountId';
|
|
2
|
+
import type { AssetId } from './assetId/assetId';
|
|
3
|
+
import type { ChainId, ChainNamespace, ChainReference } from './chainId/chainId';
|
|
4
|
+
export declare const accountIdToChainId: (accountId: AccountId) => ChainId;
|
|
5
|
+
export declare const accountIdToSpecifier: (accountId: AccountId) => string;
|
|
6
|
+
export declare const isValidChainPartsPair: (chainNamespace: ChainNamespace, chainReference: ChainReference) => boolean;
|
|
7
|
+
export declare const generateAssetIdFromCosmosSdkDenom: (denom: string) => AssetId;
|
|
8
|
+
export declare const bitcoinAssetMap: {
|
|
9
|
+
[x: string]: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const bitcoinCashAssetMap: {
|
|
12
|
+
[x: string]: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const dogecoinAssetMap: {
|
|
15
|
+
[x: string]: string;
|
|
16
|
+
};
|
|
17
|
+
export declare const litecoinAssetMap: {
|
|
18
|
+
[x: string]: string;
|
|
19
|
+
};
|
|
20
|
+
export declare const zcashAssetMap: {
|
|
21
|
+
[x: string]: string;
|
|
22
|
+
};
|
|
23
|
+
export declare const cosmosAssetMap: {
|
|
24
|
+
[x: string]: string;
|
|
25
|
+
};
|
|
26
|
+
export declare const thorchainAssetMap: {
|
|
27
|
+
[x: string]: string;
|
|
28
|
+
};
|
|
29
|
+
export declare const mayachainAssetMap: {
|
|
30
|
+
[x: string]: string;
|
|
31
|
+
};
|
|
32
|
+
interface Flavoring<FlavorT> {
|
|
33
|
+
_type?: FlavorT;
|
|
34
|
+
}
|
|
35
|
+
export type Nominal<T, FlavorT> = T & Flavoring<FlavorT>;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.mayachainAssetMap = exports.thorchainAssetMap = exports.cosmosAssetMap = exports.zcashAssetMap = exports.litecoinAssetMap = exports.dogecoinAssetMap = exports.bitcoinCashAssetMap = exports.bitcoinAssetMap = exports.generateAssetIdFromCosmosSdkDenom = exports.isValidChainPartsPair = exports.accountIdToSpecifier = exports.accountIdToChainId = void 0;
|
|
27
|
+
const accountId_1 = require("./accountId/accountId");
|
|
28
|
+
const constants = __importStar(require("./constants"));
|
|
29
|
+
const constants_1 = require("./constants");
|
|
30
|
+
const mayaTokenAssetId = 'cosmos:mayachain-mainnet-v1/slip44:maya';
|
|
31
|
+
const accountIdToChainId = (accountId) => (0, accountId_1.fromAccountId)(accountId).chainId;
|
|
32
|
+
exports.accountIdToChainId = accountIdToChainId;
|
|
33
|
+
const accountIdToSpecifier = (accountId) => (0, accountId_1.fromAccountId)(accountId).account;
|
|
34
|
+
exports.accountIdToSpecifier = accountIdToSpecifier;
|
|
35
|
+
const isValidChainPartsPair = (chainNamespace, chainReference) => constants.VALID_CHAIN_IDS[chainNamespace]?.includes(chainReference) || false;
|
|
36
|
+
exports.isValidChainPartsPair = isValidChainPartsPair;
|
|
37
|
+
const generateAssetIdFromCosmosSdkDenom = (denom) => {
|
|
38
|
+
switch (denom) {
|
|
39
|
+
case 'tcy':
|
|
40
|
+
return constants_1.tcyAssetId;
|
|
41
|
+
case 'x/ruji':
|
|
42
|
+
return constants_1.rujiAssetId;
|
|
43
|
+
case 'maya':
|
|
44
|
+
return mayaTokenAssetId;
|
|
45
|
+
default:
|
|
46
|
+
throw new Error(`Unsupported denom: ${denom}`);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
exports.generateAssetIdFromCosmosSdkDenom = generateAssetIdFromCosmosSdkDenom;
|
|
50
|
+
exports.bitcoinAssetMap = { [constants.btcAssetId]: 'bitcoin' };
|
|
51
|
+
exports.bitcoinCashAssetMap = { [constants.bchAssetId]: 'bitcoin-cash' };
|
|
52
|
+
exports.dogecoinAssetMap = { [constants.dogeAssetId]: 'dogecoin' };
|
|
53
|
+
exports.litecoinAssetMap = { [constants.ltcAssetId]: 'litecoin' };
|
|
54
|
+
exports.zcashAssetMap = { [constants.zecAssetId]: 'zcash' };
|
|
55
|
+
exports.cosmosAssetMap = { [constants.cosmosAssetId]: 'cosmos' };
|
|
56
|
+
exports.thorchainAssetMap = { [constants.thorchainAssetId]: 'thorchain' };
|
|
57
|
+
exports.mayachainAssetMap = { [constants.mayachainAssetId]: 'cacao' };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
const typeGuards_1 = require("./typeGuards");
|
|
6
|
+
const utils_1 = require("./utils");
|
|
7
|
+
(0, vitest_1.describe)('accountIdToChainId', () => {
|
|
8
|
+
(0, vitest_1.it)('can get eth chainId from accountId', () => {
|
|
9
|
+
const accountId = 'eip155:1:0xdef1cafe';
|
|
10
|
+
const chainId = (0, utils_1.accountIdToChainId)(accountId);
|
|
11
|
+
(0, vitest_1.expect)(chainId).toEqual(constants_1.ethChainId);
|
|
12
|
+
});
|
|
13
|
+
(0, vitest_1.it)('can get btc chainId from accountId', () => {
|
|
14
|
+
const accountId = 'bip122:000000000019d6689c085ae165831e93:xpubfoobarbaz';
|
|
15
|
+
const chainId = (0, utils_1.accountIdToChainId)(accountId);
|
|
16
|
+
(0, vitest_1.expect)(chainId).toEqual(constants_1.btcChainId);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
(0, vitest_1.describe)('accountIdToSpecifier', () => {
|
|
20
|
+
(0, vitest_1.it)('can get eth address from accountId', () => {
|
|
21
|
+
const address = '0xdef1cafe';
|
|
22
|
+
const accountId = 'eip155:1:0xdef1cafe';
|
|
23
|
+
const result = (0, utils_1.accountIdToSpecifier)(accountId);
|
|
24
|
+
(0, vitest_1.expect)(result).toEqual(address);
|
|
25
|
+
});
|
|
26
|
+
(0, vitest_1.it)('can get xpub from accountId', () => {
|
|
27
|
+
const xpub = 'xpubfoobarbaz';
|
|
28
|
+
const accountId = 'bip122:000000000019d6689c085ae165831e93:xpubfoobarbaz';
|
|
29
|
+
const result = (0, utils_1.accountIdToSpecifier)(accountId);
|
|
30
|
+
(0, vitest_1.expect)(result).toEqual(xpub);
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
(0, vitest_1.describe)('isValidChainPartsPair', () => {
|
|
34
|
+
(0, vitest_1.it)('correctly validates pairs', () => {
|
|
35
|
+
(0, vitest_1.expect)((0, utils_1.isValidChainPartsPair)(constants_1.CHAIN_NAMESPACE.Utxo, constants_1.CHAIN_REFERENCE.BitcoinMainnet)).toEqual(true);
|
|
36
|
+
(0, vitest_1.expect)((0, utils_1.isValidChainPartsPair)(constants_1.CHAIN_NAMESPACE.Evm, constants_1.CHAIN_REFERENCE.BitcoinMainnet)).toEqual(false);
|
|
37
|
+
(0, vitest_1.expect)((0, utils_1.isValidChainPartsPair)('invalid', constants_1.CHAIN_REFERENCE.BitcoinMainnet)).toEqual(false);
|
|
38
|
+
(0, vitest_1.expect)((0, utils_1.isValidChainPartsPair)(constants_1.CHAIN_NAMESPACE.Evm, 'invalid')).toEqual(false);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
(0, vitest_1.describe)('type guard', () => {
|
|
42
|
+
(0, vitest_1.describe)('isChainNamespace', () => {
|
|
43
|
+
(0, vitest_1.it)('correctly determines type', () => {
|
|
44
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainNamespace)(constants_1.CHAIN_NAMESPACE.Utxo)).toEqual(true);
|
|
45
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainNamespace)(constants_1.CHAIN_NAMESPACE.Evm)).toEqual(true);
|
|
46
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainNamespace)('invalid')).toEqual(false);
|
|
47
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainNamespace)('')).toEqual(false);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
(0, vitest_1.describe)('isChainReference', () => {
|
|
51
|
+
(0, vitest_1.it)('correctly determines type', () => {
|
|
52
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainReference)(constants_1.CHAIN_REFERENCE.EthereumMainnet)).toEqual(true);
|
|
53
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainReference)(constants_1.CHAIN_REFERENCE.BitcoinMainnet)).toEqual(true);
|
|
54
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainReference)('invalid')).toEqual(false);
|
|
55
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainReference)('')).toEqual(false);
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
(0, vitest_1.describe)('isValidChainId', () => {
|
|
59
|
+
(0, vitest_1.it)('correctly determines type', () => {
|
|
60
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainId)(constants_1.ethChainId)).toEqual(true);
|
|
61
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainId)(constants_1.btcChainId)).toEqual(true);
|
|
62
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainId)(constants_1.cosmosChainId)).toEqual(true);
|
|
63
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainId)('invalid')).toEqual(false);
|
|
64
|
+
(0, vitest_1.expect)((0, typeGuards_1.isChainId)('')).toEqual(false);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
(0, vitest_1.describe)('isAssetNamespace', () => {
|
|
68
|
+
(0, vitest_1.it)('correctly determines type', () => {
|
|
69
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetNamespace)(constants_1.ASSET_NAMESPACE.erc20)).toEqual(true);
|
|
70
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetNamespace)(constants_1.ASSET_NAMESPACE.erc721)).toEqual(true);
|
|
71
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetNamespace)('invalid')).toEqual(false);
|
|
72
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetNamespace)('')).toEqual(false);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
(0, vitest_1.describe)('isAssetReference', () => {
|
|
76
|
+
(0, vitest_1.it)('correctly determines type', () => {
|
|
77
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetReference)(constants_1.ASSET_REFERENCE.Bitcoin)).toEqual(true);
|
|
78
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetReference)(constants_1.ASSET_REFERENCE.Ethereum)).toEqual(true);
|
|
79
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetReference)('invalid')).toEqual(false);
|
|
80
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetReference)('')).toEqual(false);
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
(0, vitest_1.describe)('isAssetId', () => {
|
|
84
|
+
(0, vitest_1.it)('correctly determines type', () => {
|
|
85
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetId)(constants_1.btcAssetId)).toEqual(true);
|
|
86
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetId)(constants_1.ethAssetId)).toEqual(true);
|
|
87
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetId)(constants_1.cosmosAssetId)).toEqual(true);
|
|
88
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetId)('invalid')).toEqual(false);
|
|
89
|
+
(0, vitest_1.expect)((0, typeGuards_1.isAssetId)('')).toEqual(false);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
(0, vitest_1.describe)('type guard assertion', () => {
|
|
94
|
+
(0, vitest_1.describe)('assertIsChainId', () => {
|
|
95
|
+
(0, vitest_1.it)('correctly asserts type', () => {
|
|
96
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainId)(constants_1.ethChainId)).not.toThrow();
|
|
97
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainId)(constants_1.btcChainId)).not.toThrow();
|
|
98
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainId)(constants_1.cosmosChainId)).not.toThrow();
|
|
99
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainId)('invalid')).toThrow();
|
|
100
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainId)('')).toThrow();
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
(0, vitest_1.describe)('assertIsChainNamespace', () => {
|
|
104
|
+
(0, vitest_1.it)('correctly asserts type', () => {
|
|
105
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainNamespace)(constants_1.CHAIN_NAMESPACE.Utxo)).not.toThrow();
|
|
106
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainNamespace)(constants_1.CHAIN_NAMESPACE.Evm)).not.toThrow();
|
|
107
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainNamespace)('invalid')).toThrow();
|
|
108
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainNamespace)('')).toThrow();
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
(0, vitest_1.describe)('assertIsChainReference', () => {
|
|
112
|
+
(0, vitest_1.it)('correctly asserts type', () => {
|
|
113
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainReference)(constants_1.CHAIN_REFERENCE.EthereumMainnet)).not.toThrow();
|
|
114
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainReference)(constants_1.CHAIN_REFERENCE.BitcoinMainnet)).not.toThrow();
|
|
115
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainReference)('invalid')).toThrow();
|
|
116
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsChainReference)('')).toThrow();
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
(0, vitest_1.describe)('assertIsAssetNamespace', () => {
|
|
120
|
+
(0, vitest_1.it)('correctly asserts type', () => {
|
|
121
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetNamespace)(constants_1.ASSET_NAMESPACE.erc20)).not.toThrow();
|
|
122
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetNamespace)(constants_1.ASSET_NAMESPACE.erc721)).not.toThrow();
|
|
123
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetNamespace)('invalid')).toThrow();
|
|
124
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetNamespace)('')).toThrow();
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
(0, vitest_1.describe)('assertIsAssetReference', () => {
|
|
128
|
+
(0, vitest_1.it)('correctly asserts type', () => {
|
|
129
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetReference)(constants_1.ASSET_REFERENCE.Bitcoin)).not.toThrow();
|
|
130
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetReference)(constants_1.ASSET_REFERENCE.Ethereum)).not.toThrow();
|
|
131
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetReference)('invalid')).toThrow();
|
|
132
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertIsAssetReference)('')).toThrow();
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
(0, vitest_1.describe)('assertValidChainPartsPair', () => {
|
|
136
|
+
(0, vitest_1.it)('correctly asserts type', () => {
|
|
137
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertValidChainPartsPair)(constants_1.CHAIN_NAMESPACE.Utxo, constants_1.CHAIN_REFERENCE.BitcoinMainnet)).not.toThrow();
|
|
138
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertValidChainPartsPair)(constants_1.CHAIN_NAMESPACE.Utxo, constants_1.CHAIN_REFERENCE.EthereumMainnet)).toThrow();
|
|
139
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertValidChainPartsPair)('invalid', constants_1.CHAIN_REFERENCE.BitcoinMainnet)).toThrow();
|
|
140
|
+
(0, vitest_1.expect)(() => (0, typeGuards_1.assertValidChainPartsPair)(constants_1.CHAIN_NAMESPACE.Evm, 'invalid')).toThrow();
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
(0, vitest_1.describe)('generateAssetIdFromCosmosDenom', () => {
|
|
144
|
+
(0, vitest_1.it)('correctly generates RUJI AssetId', () => {
|
|
145
|
+
const result = (0, utils_1.generateAssetIdFromCosmosSdkDenom)('x/ruji');
|
|
146
|
+
(0, vitest_1.expect)(result).toEqual(constants_1.rujiAssetId);
|
|
147
|
+
});
|
|
148
|
+
(0, vitest_1.it)('correctly generates TCY AssetId', () => {
|
|
149
|
+
const result = (0, utils_1.generateAssetIdFromCosmosSdkDenom)('tcy');
|
|
150
|
+
(0, vitest_1.expect)(result).toEqual(constants_1.tcyAssetId);
|
|
151
|
+
});
|
|
152
|
+
(0, vitest_1.it)('correctly generates MAYA AssetId', () => {
|
|
153
|
+
const result = (0, utils_1.generateAssetIdFromCosmosSdkDenom)('maya');
|
|
154
|
+
(0, vitest_1.expect)(result).toEqual('cosmos:mayachain-mainnet-v1/slip44:maya');
|
|
155
|
+
});
|
|
156
|
+
(0, vitest_1.it)('throws on unsupported denom', () => {
|
|
157
|
+
(0, vitest_1.expect)(() => (0, utils_1.generateAssetIdFromCosmosSdkDenom)('unsupported')).toThrow();
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
});
|