onesec-bridge
Version:
A library for interacting with the onesec.to bridge
64 lines (63 loc) • 2.35 kB
TypeScript
import { Deployment, EvmChain, OperatingMode, Token } from './types';
export interface TokenConfig {
evmMode: OperatingMode;
erc20?: string;
erc20Mainnet?: string;
erc20MainnetBase?: string;
erc20MainnetArbitrum?: string;
erc20MainnetEthereum?: string;
erc20Testnet?: string;
erc20TestnetBase?: string;
erc20TestnetArbitrum?: string;
erc20TestnetEthereum?: string;
erc20Local?: string;
erc20LocalBase?: string;
erc20LocalArbitrum?: string;
erc20LocalEthereum?: string;
locker?: string;
lockerMainnet?: string;
lockerMainnetBase?: string;
lockerMainnetArbitrum?: string;
lockerMainnetEthereum?: string;
lockerTestnet?: string;
lockerTestnetBase?: string;
lockerTestnetArbitrum?: string;
lockerTestnetEthereum?: string;
lockerLocal?: string;
lockerLocalBase?: string;
lockerLocalArbitrum?: string;
lockerLocalEthereum?: string;
ledger?: string;
ledgerMainnet?: string;
ledgerTestnet?: string;
ledgerLocal?: string;
ledgerFee: bigint;
decimals: number;
}
export interface IcpConfig {
hosts: Map<Deployment, string>;
onesec: Map<Deployment, string>;
pollDelayMs: Map<Deployment, number>;
}
export interface EvmConfig {
confirmBlocks: number;
blockTimeMs: Map<Deployment, number>;
}
export interface Config {
tokens: Map<Token, TokenConfig>;
icp: IcpConfig;
evm: Map<EvmChain, EvmConfig>;
abi: {
erc20_and_minter: string[];
erc20: string[];
locker: string[];
};
}
export declare const DEFAULT_CONFIG: Config;
export declare function getTokenErc20Address(config: Config, token: Token, deployment: Deployment, chain: EvmChain): string | undefined;
export declare function getTokenLockerAddress(config: Config, token: Token, deployment: Deployment, chain: EvmChain): string | undefined;
export declare function getTokenLedgerCanister(config: Config, token: Token, deployment: Deployment): string | undefined;
export declare function getTokenDecimals(config: Config, token: Token): number;
export declare function getTokenEvmMode(config: Config, token: Token): OperatingMode;
export declare function getTokenConfig(config: Config, token: Token): TokenConfig | undefined;
export declare function getIcpPollDelayMs(config: Config, deployment: Deployment): number;