UNPKG

@crtxio/bproto-contract-call

Version:

@crtxio/bproto-contract-call is a Nuxt3 layer which provides a Nuxt 3 component to purchase and register BProto domains and Nuxt 3 composables to call BProto standard and bridged zone contracts.

29 lines (23 loc) 1 kB
import { ethers } from "ethers"; import standardZoneABI from "../assets/contracts/zones/standard/abi.json" export const register = async (contractAddress: string, parent: string, label: string, signer: ethers.Signer) => { const parentHash = ethers.namehash(parent); const contract = new ethers.Contract(contractAddress, standardZoneABI, signer) const account = await signer.getAddress() try { const tx = await contract.register(account, parentHash, label) return tx; } catch (error) { return error.message; } } export const callStandardZone = async (args: Array<String>, contractAddress: string, functionName: string, provider: ethers.Provider | ethers.Signer) => { const contract = new ethers.Contract(contractAddress, standardZoneABI, provider); try { const result = await contract[functionName](...args); return result; } catch (error) { console.error(error); return error.reason; } }