UNPKG

@sei-js/evm

Version:

TypeScript library for EVM interactions on the Sei blockchain

37 lines (36 loc) 1.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getPointerviewPrecompileEthersV6Contract = exports.ETHERS_POINTERVIEW_PRECOMPILE_ABI = void 0; const ethers_1 = require("ethers"); const precompiles_1 = require("../precompiles"); /** * The ABI for the Pointerview precompile contract, used to create an Ethers contract. * @category Cosmos Interoperability */ exports.ETHERS_POINTERVIEW_PRECOMPILE_ABI = precompiles_1.POINTERVIEW_PRECOMPILE_ABI; /** * Creates and returns a typed Ethers v6 contract instance for the Pointerview precompile contract. * This contract is used for interoperability between the EVM and Cosmos. * * @example * ```tsx * import { getPointerviewPrecompileEthersV6Contract } 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 pointerviewPrecompileContract = getPointerviewPrecompileEthersV6Contract(signer); * * const pointer = await pointerviewPrecompileContract.getCW20Pointer('CW20_CONTRACT_ADDRESS'); * console.log('Pointer:', pointer); * ``` * * @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 Pointerview precompile contract. * @category Cosmos Interoperability */ const getPointerviewPrecompileEthersV6Contract = (runner) => { return new ethers_1.Contract(precompiles_1.POINTERVIEW_PRECOMPILE_ADDRESS, exports.ETHERS_POINTERVIEW_PRECOMPILE_ABI, runner); }; exports.getPointerviewPrecompileEthersV6Contract = getPointerviewPrecompileEthersV6Contract;