@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.
64 lines (63 loc) • 1.92 kB
TypeScript
import { CHAIN, PUSH_NETWORK, VM } from './enums';
/**
* Maps VM type to its namespace
* References -
* https://chainagnostic.org/CAIPs/caip-2
*/
export declare const VM_NAMESPACE: Record<VM, string>;
/**
* Maps Push Network → VM → UEA implementation address.
*/
export declare const UEA_PROXY: Record<PUSH_NETWORK, `0x${string}`>;
/**
* Addresses for wrapped ETH/SOL/ARBITRUM assets by Push network.
* Includes pETH and PUSDT bridged from origin on test networks.
*/
export declare const SYNTHETIC_PUSH_ERC20: Record<PUSH_NETWORK, {
pETH: `0x${string}`;
pETH_ARB: `0x${string}`;
pETH_BASE: `0x${string}`;
pETH_BNB: `0x${string}`;
pSOL: `0x${string}`;
USDT_ETH: `0x${string}`;
USDC_ETH: `0x${string}`;
USDT_ARB: `0x${string}`;
USDC_ARB: `0x${string}`;
USDT_SOL: `0x${string}`;
USDC_SOL: `0x${string}`;
USDT_BNB: `0x${string}`;
USDT_BASE: `0x${string}`;
USDC_BASE: `0x${string}`;
}>;
/**
* 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
*/
export declare const CHAIN_INFO: Record<CHAIN, {
chainId: string;
vm: VM;
lockerContract?: string;
defaultRPC: string[];
confirmations: number;
timeout: number;
dex?: {
uniV3Factory?: `0x${string}`;
uniV3QuoterV2?: `0x${string}`;
weth?: `0x${string}`;
};
}>;
/**
* Extra required info regarding Push Chain
*/
export declare const PUSH_CHAIN_INFO: Record<CHAIN.PUSH_MAINNET | CHAIN.PUSH_TESTNET_DONUT | CHAIN.PUSH_LOCALNET, (typeof CHAIN_INFO)[CHAIN.PUSH_MAINNET] & {
denom: string;
tendermintRpc: string;
prefix: string;
factoryAddress: `0x${string}`;
pushDecimals: bigint;
usdcDecimals: bigint;
pushToUsdcNumerator: bigint;
pushToUsdcDenominator: bigint;
}>;