@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
JavaScript
"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