123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- // NOTE: this file defines some examples of CAIP-2 and CAIP-10 identifiers.
- // The following listing does not pretend to be exhaustive or even accurate. It SHOULD NOT be used in production.
- const { ethers } = require('hardhat');
- const { mapValues } = require('./iterate');
- // EVM (https://axelarscan.io/resources/chains?type=evm)
- const ethereum = {
- Ethereum: '1',
- optimism: '10',
- binance: '56',
- Polygon: '137',
- Fantom: '250',
- fraxtal: '252',
- filecoin: '314',
- Moonbeam: '1284',
- centrifuge: '2031',
- kava: '2222',
- mantle: '5000',
- base: '8453',
- immutable: '13371',
- arbitrum: '42161',
- celo: '42220',
- Avalanche: '43114',
- linea: '59144',
- blast: '81457',
- scroll: '534352',
- aurora: '1313161554',
- };
- // Cosmos (https://axelarscan.io/resources/chains?type=cosmos)
- const cosmos = {
- Axelarnet: 'axelar-dojo-1',
- osmosis: 'osmosis-1',
- cosmoshub: 'cosmoshub-4',
- juno: 'juno-1',
- 'e-money': 'emoney-3',
- injective: 'injective-1',
- crescent: 'crescent-1',
- kujira: 'kaiyo-1',
- 'secret-snip': 'secret-4',
- secret: 'secret-4',
- sei: 'pacific-1',
- stargaze: 'stargaze-1',
- assetmantle: 'mantle-1',
- fetch: 'fetchhub-4',
- ki: 'kichain-2',
- evmos: 'evmos_9001-2',
- aura: 'xstaxy-1',
- comdex: 'comdex-1',
- persistence: 'core-1',
- regen: 'regen-1',
- umee: 'umee-1',
- agoric: 'agoric-3',
- xpla: 'dimension_37-1',
- acre: 'acre_9052-1',
- stride: 'stride-1',
- carbon: 'carbon-1',
- sommelier: 'sommelier-3',
- neutron: 'neutron-1',
- rebus: 'reb_1111-1',
- archway: 'archway-1',
- provenance: 'pio-mainnet-1',
- ixo: 'ixo-5',
- migaloo: 'migaloo-1',
- teritori: 'teritori-1',
- haqq: 'haqq_11235-1',
- celestia: 'celestia',
- ojo: 'agamotto',
- chihuahua: 'chihuahua-1',
- saga: 'ssc-1',
- dymension: 'dymension_1100-1',
- fxcore: 'fxcore',
- c4e: 'perun-1',
- bitsong: 'bitsong-2b',
- nolus: 'pirin-1',
- lava: 'lava-mainnet-1',
- 'terra-2': 'phoenix-1',
- terra: 'columbus-5',
- };
- const makeCAIP = ({ namespace, reference, account }) => ({
- namespace,
- reference,
- account,
- caip2: `${namespace}:${reference}`,
- caip10: `${namespace}:${reference}:${account}`,
- toCaip10: other => `${namespace}:${reference}:${ethers.getAddress(other.target ?? other.address ?? other)}`,
- });
- module.exports = {
- CHAINS: mapValues(
- Object.assign(
- mapValues(ethereum, reference => ({
- namespace: 'eip155',
- reference,
- account: ethers.Wallet.createRandom().address,
- })),
- mapValues(cosmos, reference => ({
- namespace: 'cosmos',
- reference,
- account: ethers.encodeBase58(ethers.randomBytes(32)),
- })),
- ),
- makeCAIP,
- ),
- getLocalCAIP: account =>
- ethers.provider.getNetwork().then(({ chainId }) => makeCAIP({ namespace: 'eip155', reference: chainId, account })),
- };
|