UNPKG

@pushchain/core

Version:

Push Chain is a true universal L1 that is 100% EVM compatible. It allows developers to deploy once and make their apps instantly compatible with users from all other L1s (Ethereum, Solana, etc) with zero on-chain code change.

219 lines 8.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PUSH_CHAIN_INFO = exports.CHAIN_INFO = exports.SYNTHETIC_PUSH_ERC20 = exports.UEA_PROXY = exports.VM_NAMESPACE = void 0; const enums_1 = require("./enums"); const chains_1 = require("viem/chains"); /** * Maps VM type to its namespace * References - * https://chainagnostic.org/CAIPs/caip-2 */ exports.VM_NAMESPACE = { [enums_1.VM.EVM]: 'eip155', [enums_1.VM.SVM]: 'solana', }; /** * Maps Push Network → VM → UEA implementation address. */ exports.UEA_PROXY = { [enums_1.PUSH_NETWORK.MAINNET]: '0xTBD', [enums_1.PUSH_NETWORK.TESTNET_DONUT]: '0x53179F638eC4613015EC1aA83e89B48BE6ed6d6d', [enums_1.PUSH_NETWORK.TESTNET]: '0x53179F638eC4613015EC1aA83e89B48BE6ed6d6d', [enums_1.PUSH_NETWORK.LOCALNET]: '0x2FE70447492307108Bdc7Ff6BaB33Ff37Dacc479', }; /** * Addresses for wrapped ETH/SOL/ARBITRUM assets by Push network. * Includes pETH and PUSDT bridged from origin on test networks. */ exports.SYNTHETIC_PUSH_ERC20 = { [enums_1.PUSH_NETWORK.TESTNET_DONUT]: { pETH: '0x2971824Db68229D087931155C2b8bB820B275809', pETH_ARB: '0xc0a821a1AfEd1322c5e15f1F4586C0B8cE65400e', pETH_BASE: '0xc7007af2B24D4eb963fc9633B0c66e1d2D90Fc21', pETH_BNB: '0x7a9082dA308f3fa005beA7dB0d203b3b86664E36', pSOL: '0x5D525Df2bD99a6e7ec58b76aF2fd95F39874EBed', USDT_ETH: '0xCA0C5E6F002A389E1580F0DB7cd06e4549B5F9d3', USDC_ETH: '0x387b9C8Db60E74999aAAC5A2b7825b400F12d68E', USDT_ARB: '0x76Ad08339dF606BeEDe06f90e3FaF82c5b2fb2E9', USDC_ARB: '0xa261A10e94aE4bA88EE8c5845CbE7266bD679DD6', USDT_SOL: '0x4f1A3D22d170a2F4Bddb37845a962322e24f4e34', USDC_SOL: '0x04B8F634ABC7C879763F623e0f0550a4b5c4426F', USDT_BNB: '0x2f98B4235FD2BA0173a2B056D722879360B12E7b', USDT_BASE: '0x2C455189D2af6643B924A981a9080CcC63d5a567', USDC_BASE: '0x84B62e44F667F692F7739Ca6040cD17DA02068A8', }, [enums_1.PUSH_NETWORK.TESTNET]: { pETH: '0x2971824Db68229D087931155C2b8bB820B275809', pETH_ARB: '0xc0a821a1AfEd1322c5e15f1F4586C0B8cE65400e', pETH_BASE: '0xc7007af2B24D4eb963fc9633B0c66e1d2D90Fc21', pETH_BNB: '0x7a9082dA308f3fa005beA7dB0d203b3b86664E36', pSOL: '0x5D525Df2bD99a6e7ec58b76aF2fd95F39874EBed', USDT_ETH: '0xCA0C5E6F002A389E1580F0DB7cd06e4549B5F9d3', USDC_ETH: '0x387b9C8Db60E74999aAAC5A2b7825b400F12d68E', USDT_ARB: '0x76Ad08339dF606BeEDe06f90e3FaF82c5b2fb2E9', USDC_ARB: '0xa261A10e94aE4bA88EE8c5845CbE7266bD679DD6', USDT_SOL: '0x4f1A3D22d170a2F4Bddb37845a962322e24f4e34', USDC_SOL: '0x04B8F634ABC7C879763F623e0f0550a4b5c4426F', USDT_BNB: '0x2f98B4235FD2BA0173a2B056D722879360B12E7b', USDT_BASE: '0x2C455189D2af6643B924A981a9080CcC63d5a567', USDC_BASE: '0x84B62e44F667F692F7739Ca6040cD17DA02068A8', }, [enums_1.PUSH_NETWORK.LOCALNET]: { pETH: '0xTBD', pETH_ARB: '0xTBD', pETH_BASE: '0xTBD', pETH_BNB: '0xTBD', pSOL: '0xTBD', USDT_ETH: '0xTBD', USDC_ETH: '0xTBD', USDT_ARB: '0xTBD', USDC_ARB: '0xTBD', USDT_SOL: '0xTBD', USDC_SOL: '0xTBD', USDT_BNB: '0xTBD', USDT_BASE: '0xTBD', USDC_BASE: '0xTBD', }, [enums_1.PUSH_NETWORK.MAINNET]: { pETH: '0xTBD', pETH_ARB: '0xTBD', pETH_BASE: '0xTBD', pETH_BNB: '0xTBD', pSOL: '0xTBD', USDT_ETH: '0xTBD', USDC_ETH: '0xTBD', USDT_ARB: '0xTBD', USDC_ARB: '0xTBD', USDT_SOL: '0xTBD', USDC_SOL: '0xTBD', USDT_BNB: '0xTBD', USDT_BASE: '0xTBD', USDC_BASE: '0xTBD', }, }; /** * Canonical metadata for each chain supported by the SDK. * Acts as a single source of truth for chainId, vm type, locker contract, etc. * References - * https://namespaces.chainagnostic.org/solana/caip2 */ exports.CHAIN_INFO = { // Push [enums_1.CHAIN.PUSH_MAINNET]: { chainId: 'TBD', vm: enums_1.VM.EVM, defaultRPC: [''], confirmations: 6, timeout: 30000, }, [enums_1.CHAIN.PUSH_TESTNET_DONUT]: { chainId: '42101', vm: enums_1.VM.EVM, defaultRPC: ['https://evm.donut.rpc.push.org/'], confirmations: 3, timeout: 30000, // Push Chain AMM - Uniswap V3 dex: { uniV3Factory: '0x81b8Bca02580C7d6b636051FDb7baAC436bFb454', uniV3QuoterV2: '0x83316275f7C2F79BC4E26f089333e88E89093037', weth: '0xE17DD2E0509f99E9ee9469Cf6634048Ec5a3ADe9', }, }, [enums_1.CHAIN.PUSH_LOCALNET]: { chainId: '9000', vm: enums_1.VM.EVM, defaultRPC: ['http://localhost:8545'], confirmations: 3, timeout: 30000, }, // Ethereum [enums_1.CHAIN.ETHEREUM_MAINNET]: { chainId: '1', vm: enums_1.VM.EVM, lockerContract: 'TBD', defaultRPC: [chains_1.mainnet.rpcUrls.default.http[0]], confirmations: 2, timeout: 60000, }, [enums_1.CHAIN.ETHEREUM_SEPOLIA]: { chainId: '11155111', vm: enums_1.VM.EVM, lockerContract: '0x05bD7a3D18324c1F7e216f7fBF2b15985aE5281A', defaultRPC: [chains_1.sepolia.rpcUrls.default.http[0]], confirmations: 2, timeout: 120000, dex: { uniV3Factory: '0x0227628f3F023bb0B980b67D528571c95c6DaC1c', uniV3QuoterV2: '0xEd1f6473345F45b75F8179591dd5bA1888cf2FB3', weth: '0xfff9976782d46cc05630d1f6ebab18b2324d6b14', }, }, [enums_1.CHAIN.ARBITRUM_SEPOLIA]: { chainId: '421614', vm: enums_1.VM.EVM, lockerContract: '0x2cd870e0166Ba458dEC615168Fd659AacD795f34', defaultRPC: [chains_1.arbitrumSepolia.rpcUrls.default.http[0]], confirmations: 2, timeout: 30000, dex: { uniV3Factory: '0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24', uniV3QuoterV2: '0xTBD', weth: '0x980B62Da83eFf3D4576C647993b0c1D7faf17c73', }, }, [enums_1.CHAIN.BASE_SEPOLIA]: { chainId: '84532', vm: enums_1.VM.EVM, lockerContract: '0xFD4fef1F43aFEc8b5bcdEEc47f35a1431479aC16', defaultRPC: [chains_1.baseSepolia.rpcUrls.default.http[0]], confirmations: 2, timeout: 30000, dex: { uniV3Factory: '0x4752ba5DBc23f44D87826276BF6Fd6b1C372aD24', uniV3QuoterV2: '0xTBD', weth: '0x4200000000000000000000000000000000000006', }, }, [enums_1.CHAIN.BNB_TESTNET]: { chainId: '97', vm: enums_1.VM.EVM, lockerContract: '0x44aFFC61983F4348DdddB886349eb992C061EaC0', defaultRPC: [chains_1.bscTestnet.rpcUrls.default.http[0]], confirmations: 2, timeout: 30000, }, // Solana [enums_1.CHAIN.SOLANA_MAINNET]: { chainId: '5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp', vm: enums_1.VM.SVM, lockerContract: 'TBD', defaultRPC: [''], confirmations: 12, timeout: 15000, }, [enums_1.CHAIN.SOLANA_TESTNET]: { chainId: '4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z', vm: enums_1.VM.SVM, lockerContract: '', defaultRPC: ['https://api.testnet.solana.com'], confirmations: 12, timeout: 55000, }, [enums_1.CHAIN.SOLANA_DEVNET]: { chainId: 'EtWTRABZaYq6iMfeYKouRu166VU2xqa1', vm: enums_1.VM.SVM, lockerContract: 'CFVSincHYbETh2k7w6u1ENEkjbSLtveRCEBupKidw2VS', defaultRPC: ['https://api.devnet.solana.com'], confirmations: 12, timeout: 120000, }, }; /** * Extra required info regarding Push Chain */ exports.PUSH_CHAIN_INFO = { [enums_1.CHAIN.PUSH_MAINNET]: Object.assign(Object.assign({}, exports.CHAIN_INFO[enums_1.CHAIN.PUSH_MAINNET]), { denom: 'upc', tendermintRpc: 'TBD', prefix: 'push', factoryAddress: '0xTBD', pushDecimals: BigInt(1e18), usdcDecimals: BigInt(1e8), pushToUsdcNumerator: BigInt(1e7), pushToUsdcDenominator: BigInt(1e18) }), [enums_1.CHAIN.PUSH_TESTNET_DONUT]: Object.assign(Object.assign({}, exports.CHAIN_INFO[enums_1.CHAIN.PUSH_TESTNET_DONUT]), { denom: 'upc', tendermintRpc: 'https://donut.rpc.push.org/', prefix: 'push', factoryAddress: '0x00000000000000000000000000000000000000eA', pushDecimals: BigInt(1e18), usdcDecimals: BigInt(1e8), pushToUsdcNumerator: BigInt(1e7), pushToUsdcDenominator: BigInt(1e18) }), [enums_1.CHAIN.PUSH_LOCALNET]: Object.assign(Object.assign({}, exports.CHAIN_INFO[enums_1.CHAIN.PUSH_LOCALNET]), { denom: 'upc', tendermintRpc: 'http://localhost:26657', prefix: 'push', factoryAddress: '0x00000000000000000000000000000000000000eA', pushDecimals: BigInt(1e18), usdcDecimals: BigInt(1e8), pushToUsdcNumerator: BigInt(1e7), pushToUsdcDenominator: BigInt(1e18) }), }; //# sourceMappingURL=chain.js.map