UNPKG

@sei-js/evm

Version:

TypeScript library for EVM interactions on the Sei blockchain

31 lines (30 loc) 1.35 kB
import { Contract, ContractRunner, InterfaceAbi } from 'ethers'; /** * The ABI for the IBC precompile contract, used to create an Ethers contract. * @category Cosmos Interoperability */ export declare const ETHERS_IBC_PRECOMPILE_ABI: InterfaceAbi; /** * Creates and returns a typed Ethers v6 contract instance for the IBC precompile contract. * This contract is used for interoperability between the EVM and Cosmos. * * @example * ```tsx * import { getIbcPrecompileEthersV6Contract } from '@sei-js/evm/ethers'; * import { ethers } from 'ethers'; * * const provider = new ethers.BrowserProvider(window.ethereum); // or any other provider * const signer = await provider.getSigner(); * * const ibcPrecompileContract = getIbcPrecompileEthersV6Contract(signer); * const cosmosAddress = 'cosmos1...'; * * const bool = await ibcPrecompileContract.transfer(cosmosAddress, 'transfer', 'channel-0', 'usei', 100, 1n, 1n, 1n, 'memo'); * console.log('Transfer successful:', bool); * ``` * * @param runner A [Provider](https://docs.ethers.org/v6/api/providers/) (read-only) or ethers.Signer to use with the contract. * @returns The typed contract instance for interacting with the IBC precompile contract. * @category Cosmos Interoperability */ export declare const getIbcPrecompileEthersV6Contract: (runner: ContractRunner) => Contract;