UNPKG

@hashflow/contracts-evm

Version:

EVM Smart Contracts for Solidity

293 lines (292 loc) 12.4 kB
/// <reference types="node" /> import { Signer, BigNumberish, TransactionResponse } from 'ethers'; export declare const MAIN_NETWORK_NAMES: readonly ["ethereum", "optimism", "arbitrum", "polygon", "bnb", "avalanche", "base"]; export declare const TEST_NETWORK_NAMES: readonly ["mumbai", "goerli", "bnb-testnet", "zksync-testnet", "sepolia", "monad-testnet"]; export declare const WORMHOLE_NETWORK_NAMES: readonly ["wormhole1", "wormhole2"]; export declare const NETWORK_NAMES: readonly ["ethereum", "optimism", "arbitrum", "polygon", "bnb", "avalanche", "base", "mumbai", "goerli", "bnb-testnet", "zksync-testnet", "sepolia", "monad-testnet"]; export declare const NETWORK_NAMES_EXTENDED: readonly ["ethereum", "optimism", "arbitrum", "polygon", "bnb", "avalanche", "base", "mumbai", "goerli", "bnb-testnet", "zksync-testnet", "sepolia", "monad-testnet", "wormhole1", "wormhole2", "localhost"]; export type NetworkName = (typeof NETWORK_NAMES)[number]; export type NetworkNameExtended = NetworkName | (typeof WORMHOLE_NETWORK_NAMES)[number] | 'localhost'; type MainnetChainId = 1 | 137 | 56 | 42161 | 10 | 43114 | 8453; type TestnetChainId = 5 | 80001 | 97 | 280 | 11155111 | 10143; export type ChainId = MainnetChainId | TestnetChainId; export type ChainIdExtended = ChainId | 1337 | 31337 | 1397 | 1338; export declare const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000"; interface NetworkConfigBase { nativeTokenSymbol: string; nativeTokenName: string; nativeTokenDecimals: number; hashflowChainId: number; testTokens: boolean; weth?: string; wormholeEndpoint?: string; wormholeChainId?: number; wormholeConsistency?: number; wormholeFastConsistency?: number; layerZeroEndpoint?: string; layerZeroChainId?: number; layerZeroNonceContract?: string; zksync: boolean; } export type NetworkConfig = NetworkConfigBase & { name: NetworkName; chainId: ChainId; }; export type NetworkConfigExtended = NetworkConfigBase & { name: NetworkNameExtended; chainId: ChainIdExtended; }; export declare const LOCALHOST: { readonly chainId: 31337; readonly name: "localhost"; readonly nativeTokenSymbol: "ETH"; readonly nativeTokenName: "Ether"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 31337; readonly testTokens: true; readonly zksync: false; }; export declare const ETHEREUM: { readonly chainId: 1; readonly name: "ethereum"; readonly nativeTokenSymbol: "ETH"; readonly nativeTokenName: "Ether"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 1; readonly testTokens: false; readonly weth: "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"; readonly layerZeroEndpoint: "0x66A71Dcef29A0fFBDBE3c6a460a3B5BC225Cd675"; readonly layerZeroChainId: 101; readonly layerZeroNonceContract: "0x5B905fE05F81F3a8ad8B28C6E17779CFAbf76068"; readonly wormholeChainId: 2; readonly wormholeEndpoint: "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B"; readonly wormholeConsistency: 1; readonly wormholeFastConsistency: 200; readonly zksync: false; }; export declare const ARBITRUM: { readonly chainId: 42161; readonly name: "arbitrum"; readonly nativeTokenSymbol: "ETH"; readonly nativeTokenName: "Ether"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 2; readonly testTokens: false; readonly weth: "0x82af49447d8a07e3bd95bd0d56f35241523fbab1"; readonly layerZeroEndpoint: "0x3c2269811836af69497E5F486A85D7316753cf62"; readonly layerZeroChainId: 110; readonly layerZeroNonceContract: "0x5B905fE05F81F3a8ad8B28C6E17779CFAbf76068"; readonly wormholeChainId: 23; readonly wormholeEndpoint: "0xa5f208e072434bC67592E4C49C1B991BA79BCA46"; readonly wormholeConsistency: 1; readonly wormholeFastConsistency: 200; readonly zksync: false; }; export declare const OPTIMISM: { readonly chainId: 10; readonly name: "optimism"; readonly nativeTokenSymbol: "ETH"; readonly nativeTokenName: "Ether"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 3; readonly testTokens: false; readonly weth: "0x4200000000000000000000000000000000000006"; readonly layerZeroEndpoint: "0x3c2269811836af69497E5F486A85D7316753cf62"; readonly layerZeroChainId: 111; readonly layerZeroNonceContract: "0x5B905fE05F81F3a8ad8B28C6E17779CFAbf76068"; readonly zksync: false; readonly wormholeChainId: 24; readonly wormholeConsistency: 1; readonly wormholeEndpoint: "0xEe91C335eab126dF5fDB3797EA9d6aD93aeC9722"; }; export declare const AVALANCHE: { readonly chainId: 43114; readonly name: "avalanche"; readonly nativeTokenSymbol: "AVAX"; readonly nativeTokenName: "Avax"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 4; readonly testTokens: false; readonly weth: "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7"; readonly layerZeroEndpoint: "0x3c2269811836af69497E5F486A85D7316753cf62"; readonly layerZeroChainId: 106; readonly layerZeroNonceContract: "0x5B905fE05F81F3a8ad8B28C6E17779CFAbf76068"; readonly wormholeChainId: 6; readonly wormholeEndpoint: "0x54a8e5f9c4CbA08F9943965859F6c34eAF03E26c"; readonly wormholeConsistency: 1; readonly zksync: false; }; export declare const POLYGON: { readonly chainId: 137; readonly name: "polygon"; readonly nativeTokenSymbol: "MATIC"; readonly nativeTokenName: "Matic"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 5; readonly testTokens: false; readonly weth: "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270"; readonly layerZeroEndpoint: "0x3c2269811836af69497E5F486A85D7316753cf62"; readonly layerZeroChainId: 109; readonly layerZeroNonceContract: "0x5B905fE05F81F3a8ad8B28C6E17779CFAbf76068"; readonly wormholeChainId: 5; readonly wormholeEndpoint: "0x7A4B5a56256163F07b2C80A7cA55aBE66c4ec4d7"; readonly wormholeConsistency: 1; readonly wormholeFastConsistency: 200; readonly zksync: false; }; export declare const BNB: { readonly chainId: 56; readonly name: "bnb"; readonly nativeTokenSymbol: "BNB"; readonly nativeTokenName: "BNB"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 6; readonly testTokens: false; readonly weth: "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c"; readonly layerZeroEndpoint: "0x3c2269811836af69497E5F486A85D7316753cf62"; readonly layerZeroChainId: 102; readonly layerZeroNonceContract: "0x5B905fE05F81F3a8ad8B28C6E17779CFAbf76068"; readonly wormholeChainId: 4; readonly wormholeEndpoint: "0x98f3c9e6E3fAce36bAAd05FE09d375Ef1464288B"; readonly wormholeConsistency: 15; readonly zksync: false; }; export declare const BASE: { readonly chainId: 8453; readonly name: "base"; readonly nativeTokenSymbol: "ETH"; readonly nativeTokenName: "Ether"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 7; readonly testTokens: false; readonly weth: "0x4200000000000000000000000000000000000006"; readonly wormholeChainId: 30; readonly wormholeEndpoint: "0xbebdb6C8ddC678FfA9f8748f85C815C556Dd8ac6"; readonly wormholeConsistency: 1; readonly wormholeFastConsistency: 200; readonly zksync: false; }; export declare const GOERLI: { readonly chainId: 5; readonly name: "goerli"; readonly nativeTokenSymbol: "ETH"; readonly nativeTokenName: "Ether"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 101; readonly testTokens: false; readonly weth: "0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6"; readonly layerZeroChainId: 10121; readonly layerZeroEndpoint: "0xbfD2135BFfbb0B5378b56643c2Df8a87552Bfa23"; readonly layerZeroNonceContract: "0xe931419cE7f9Ad7Bf9ec8e2657eF6C805A92089c"; readonly wormholeChainId: 2; readonly wormholeEndpoint: "0x706abc4E45D419950511e474C7B9Ed348A4a716c"; readonly wormholeConsistency: 1; readonly wormholeFastConsistency: 200; readonly zksync: false; }; export declare const MUMBAI: { readonly chainId: 80001; readonly name: "mumbai"; readonly nativeTokenSymbol: "MATIC"; readonly nativeTokenName: "Matic"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 103; readonly testTokens: false; readonly weth: "0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889"; readonly layerZeroEndpoint: "0xf69186dfBa60DdB133E91E9A4B5673624293d8F8"; readonly layerZeroChainId: 10109; readonly layerZeroNonceContract: "0xB3b1f3dB03f7f3A0E49e0F4EEd0fb175B8A2cE15"; readonly wormholeChainId: 5; readonly wormholeEndpoint: "0x0CBE91CF822c73C2315FB05100C2F714765d5c20"; readonly wormholeConsistency: 1; readonly zksync: false; }; export declare const BNB_TESTNET: { readonly chainId: 97; readonly name: "bnb-testnet"; readonly nativeTokenSymbol: "BNB"; readonly nativeTokenName: "BNB"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 104; readonly testTokens: false; readonly weth: "0xae13d989dac2f0debff460ac112a837c89baa7cd"; readonly layerZeroEndpoint: "0x6Fcb97553D41516Cb228ac03FdC8B9a0a9df04A1"; readonly layerZeroChainId: 10102; readonly layerZeroNonceContract: "0x318b10788404E23dE2e02d52fA1329BDf6efD1FE"; readonly wormholeChainId: 4; readonly wormholeEndpoint: "0x68605AD7b15c732a30b1BbC62BE8F2A509D74b4D"; readonly wormholeConsistency: 1; readonly zksync: false; }; export declare const ZKSYNC_TESTNET: { readonly chainId: 280; readonly name: "zksync-testnet"; readonly nativeTokenSymbol: "ETH"; readonly nativeTokenName: "Ether"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 105; readonly testTokens: false; readonly weth: "0x2da10a1e27bf85cedd8ffb1abbe97e53391c0295"; readonly zksync: true; }; export declare const SEPOLIA: { readonly chainId: 11155111; readonly name: "sepolia"; readonly nativeTokenSymbol: "ETH"; readonly nativeTokenName: "Ether"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 106; readonly testTokens: false; readonly wormholeChainId: 10002; readonly wormholeEndpoint: "0x4a8bc80Ed5a4067f1CCf107057b8270E0cC11A78"; readonly wormholeConsistency: 1; readonly wormholeFastConsistency: 200; readonly weth: "0xfFf9976782d46CC05630D1f6eBAb18b2324d6B14"; readonly zksync: false; }; export declare const MONAD_TESTNET: { readonly chainId: 10143; readonly name: "monad-testnet"; readonly nativeTokenSymbol: "MON"; readonly nativeTokenName: "Monad"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 107; readonly testTokens: false; readonly weth: "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701"; readonly zksync: false; }; export declare const WORMHOLE1: { readonly chainId: 1338; readonly name: "wormhole1"; readonly nativeTokenSymbol: "ETH"; readonly nativeTokenName: "Ether"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 20001; readonly testTokens: true; readonly weth: "0xDDb64fE46a91D46ee29420539FC25FD07c5FEa3E"; readonly wormholeEndpoint: "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550"; readonly wormholeChainId: 2; readonly wormholeConsistency: 1; readonly wormholeFastConsistency: 1; readonly zksync: false; }; export declare const WORMHOLE2: { readonly chainId: 1397; readonly name: "wormhole2"; readonly nativeTokenSymbol: "BNB"; readonly nativeTokenName: "BNB"; readonly nativeTokenDecimals: 18; readonly hashflowChainId: 20002; readonly testTokens: true; readonly weth: "0xDDb64fE46a91D46ee29420539FC25FD07c5FEa3E"; readonly wormholeEndpoint: "0xC89Ce4735882C9F0f0FE26686c53074E09B0D550"; readonly wormholeChainId: 4; readonly wormholeConsistency: 1; readonly wormholeFastConsistency: 1; readonly zksync: false; }; export declare const NETWORK_CONFIG_BY_NAME: Record<NetworkName, NetworkConfig>; export declare const HARDHAT_NETWORK_CONFIG_BY_NAME: Record<NetworkNameExtended, NetworkConfigExtended>; export declare function padAddressTo32Bytes(address: string | Buffer): Buffer; export declare function sendETH(signer: Signer, value: BigNumberish, recipient: string): Promise<TransactionResponse>; export {};