UNPKG

opnet

Version:

The perfect library for building Bitcoin-based applications.

26 lines (25 loc) 1.23 kB
import { Address } from '../../../../../node_modules/@btc-vision/transaction/build/index.js'; import { CallResult } from '../../../../contracts/CallResult.js'; import { OPNetEvent } from '../../../../contracts/OPNetEvent.js'; import { BurnedEvent } from '../opnet/IOP20Contract.js'; import { IOP20SContract } from '../opnet/IOP20SContract.js'; export type CustodianChangedEventPegged = { readonly previousCustodian: Address; readonly newCustodian: Address; }; export type BurnFromPegged = CallResult<{}, [OPNetEvent<BurnedEvent>]>; export type TransferCustodianPegged = CallResult<{}, []>; export type AcceptCustodianPegged = CallResult<{}, [OPNetEvent<CustodianChangedEventPegged>]>; export type CustodianPegged = CallResult<{ custodian: Address; }, []>; export type PendingCustodianPegged = CallResult<{ pendingCustodian: Address; }, []>; export interface IPeggedTokenContract extends IOP20SContract { burnFrom(from: Address, amount: bigint): Promise<BurnFromPegged>; transferCustodian(newCustodian: Address): Promise<TransferCustodianPegged>; acceptCustodian(): Promise<AcceptCustodianPegged>; custodian(): Promise<CustodianPegged>; pendingCustodian(): Promise<PendingCustodianPegged>; }