UNPKG

@atomiqlabs/chain-evm

Version:

EVM specific base implementation

686 lines (646 loc) 19.2 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener, } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod, } from "../typechain/common"; export type SpvVaultParametersStruct = { btcRelayContract: AddressLike; token0: AddressLike; token1: AddressLike; token0Multiplier: BigNumberish; token1Multiplier: BigNumberish; confirmations: BigNumberish; }; export type SpvVaultParametersStructOutput = [ btcRelayContract: string, token0: string, token1: string, token0Multiplier: bigint, token1Multiplier: bigint, confirmations: bigint ] & { btcRelayContract: string; token0: string; token1: string; token0Multiplier: bigint; token1Multiplier: bigint; confirmations: bigint; }; export type StoredBlockHeaderStruct = { data: [BytesLike, BytesLike, BytesLike, BytesLike, BytesLike]; }; export type StoredBlockHeaderStructOutput = [ data: [string, string, string, string, string] ] & { data: [string, string, string, string, string] }; export type BitcoinVaultTransactionDataStruct = { recipient: AddressLike; amount0: BigNumberish; amount1: BigNumberish; callerFee0: BigNumberish; callerFee1: BigNumberish; frontingFee0: BigNumberish; frontingFee1: BigNumberish; executionHandlerFeeAmount0: BigNumberish; executionHash: BytesLike; executionExpiry: BigNumberish; }; export type BitcoinVaultTransactionDataStructOutput = [ recipient: string, amount0: bigint, amount1: bigint, callerFee0: bigint, callerFee1: bigint, frontingFee0: bigint, frontingFee1: bigint, executionHandlerFeeAmount0: bigint, executionHash: string, executionExpiry: bigint ] & { recipient: string; amount0: bigint; amount1: bigint; callerFee0: bigint; callerFee1: bigint; frontingFee0: bigint; frontingFee1: bigint; executionHandlerFeeAmount0: bigint; executionHash: string; executionExpiry: bigint; }; export type SpvVaultStateStruct = { spvVaultParametersCommitment: BytesLike; utxoTxHash: BytesLike; utxoVout: BigNumberish; openBlockheight: BigNumberish; withdrawCount: BigNumberish; depositCount: BigNumberish; token0Amount: BigNumberish; token1Amount: BigNumberish; }; export type SpvVaultStateStructOutput = [ spvVaultParametersCommitment: string, utxoTxHash: string, utxoVout: bigint, openBlockheight: bigint, withdrawCount: bigint, depositCount: bigint, token0Amount: bigint, token1Amount: bigint ] & { spvVaultParametersCommitment: string; utxoTxHash: string; utxoVout: bigint; openBlockheight: bigint; withdrawCount: bigint; depositCount: bigint; token0Amount: bigint; token1Amount: bigint; }; export interface SpvVaultManagerInterface extends Interface { getFunction( nameOrSignature: | "claim" | "deposit" | "front" | "getFronterAddress" | "getFronterById" | "getVault" | "open" | "parseBitcoinTx" ): FunctionFragment; getEvent( nameOrSignatureOrTopic: | "Claimed" | "Closed" | "Deposited" | "Fronted" | "Opened" ): EventFragment; encodeFunctionData( functionFragment: "claim", values: [ AddressLike, BigNumberish, SpvVaultParametersStruct, BytesLike, StoredBlockHeaderStruct, BytesLike[], BigNumberish ] ): string; encodeFunctionData( functionFragment: "deposit", values: [ AddressLike, BigNumberish, SpvVaultParametersStruct, BigNumberish, BigNumberish ] ): string; encodeFunctionData( functionFragment: "front", values: [ AddressLike, BigNumberish, SpvVaultParametersStruct, BigNumberish, BytesLike, BitcoinVaultTransactionDataStruct ] ): string; encodeFunctionData( functionFragment: "getFronterAddress", values: [ AddressLike, BigNumberish, BytesLike, BitcoinVaultTransactionDataStruct ] ): string; encodeFunctionData( functionFragment: "getFronterById", values: [AddressLike, BigNumberish, BytesLike] ): string; encodeFunctionData( functionFragment: "getVault", values: [AddressLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "open", values: [BigNumberish, SpvVaultParametersStruct, BytesLike, BigNumberish] ): string; encodeFunctionData( functionFragment: "parseBitcoinTx", values: [BytesLike] ): string; decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "front", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getFronterAddress", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getFronterById", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "getVault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "open", data: BytesLike): Result; decodeFunctionResult( functionFragment: "parseBitcoinTx", data: BytesLike ): Result; } export namespace ClaimedEvent { export type InputTuple = [ ownerAndVaultId: BytesLike, recipient: AddressLike, btcTxHash: BytesLike, caller: AddressLike, executionHash: BytesLike, frontingAddress: AddressLike, withdrawCount: BigNumberish, amount0: BigNumberish, amount1: BigNumberish ]; export type OutputTuple = [ ownerAndVaultId: string, recipient: string, btcTxHash: string, caller: string, executionHash: string, frontingAddress: string, withdrawCount: bigint, amount0: bigint, amount1: bigint ]; export interface OutputObject { ownerAndVaultId: string; recipient: string; btcTxHash: string; caller: string; executionHash: string; frontingAddress: string; withdrawCount: bigint; amount0: bigint; amount1: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace ClosedEvent { export type InputTuple = [ owner: AddressLike, vaultId: BigNumberish, btcTxHash: BytesLike, error: BytesLike ]; export type OutputTuple = [ owner: string, vaultId: bigint, btcTxHash: string, error: string ]; export interface OutputObject { owner: string; vaultId: bigint; btcTxHash: string; error: string; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace DepositedEvent { export type InputTuple = [ ownerAndVaultId: BytesLike, depositCount: BigNumberish, amount0: BigNumberish, amount1: BigNumberish ]; export type OutputTuple = [ ownerAndVaultId: string, depositCount: bigint, amount0: bigint, amount1: bigint ]; export interface OutputObject { ownerAndVaultId: string; depositCount: bigint; amount0: bigint; amount1: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace FrontedEvent { export type InputTuple = [ ownerAndVaultId: BytesLike, recipient: AddressLike, btcTxHash: BytesLike, caller: AddressLike, executionHash: BytesLike, amount0: BigNumberish, amount1: BigNumberish ]; export type OutputTuple = [ ownerAndVaultId: string, recipient: string, btcTxHash: string, caller: string, executionHash: string, amount0: bigint, amount1: bigint ]; export interface OutputObject { ownerAndVaultId: string; recipient: string; btcTxHash: string; caller: string; executionHash: string; amount0: bigint; amount1: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace OpenedEvent { export type InputTuple = [ owner: AddressLike, vaultId: BigNumberish, btcTxHash: BytesLike, vout: BigNumberish, params: SpvVaultParametersStruct ]; export type OutputTuple = [ owner: string, vaultId: bigint, btcTxHash: string, vout: bigint, params: SpvVaultParametersStructOutput ]; export interface OutputObject { owner: string; vaultId: bigint; btcTxHash: string; vout: bigint; params: SpvVaultParametersStructOutput; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export interface SpvVaultManager extends BaseContract { connect(runner?: ContractRunner | null): SpvVaultManager; waitForDeployment(): Promise<this>; interface: SpvVaultManagerInterface; queryFilter<TCEvent extends TypedContractEvent>( event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined ): Promise<Array<TypedEventLog<TCEvent>>>; queryFilter<TCEvent extends TypedContractEvent>( filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined ): Promise<Array<TypedEventLog<TCEvent>>>; on<TCEvent extends TypedContractEvent>( event: TCEvent, listener: TypedListener<TCEvent> ): Promise<this>; on<TCEvent extends TypedContractEvent>( filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent> ): Promise<this>; once<TCEvent extends TypedContractEvent>( event: TCEvent, listener: TypedListener<TCEvent> ): Promise<this>; once<TCEvent extends TypedContractEvent>( filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent> ): Promise<this>; listeners<TCEvent extends TypedContractEvent>( event: TCEvent ): Promise<Array<TypedListener<TCEvent>>>; listeners(eventName?: string): Promise<Array<Listener>>; removeAllListeners<TCEvent extends TypedContractEvent>( event?: TCEvent ): Promise<this>; claim: TypedContractMethod< [ owner: AddressLike, vaultId: BigNumberish, vaultParams: SpvVaultParametersStruct, transaction: BytesLike, blockheader: StoredBlockHeaderStruct, merkleProof: BytesLike[], position: BigNumberish ], [void], "nonpayable" >; deposit: TypedContractMethod< [ owner: AddressLike, vaultId: BigNumberish, vaultParams: SpvVaultParametersStruct, rawToken0: BigNumberish, rawToken1: BigNumberish ], [void], "payable" >; front: TypedContractMethod< [ owner: AddressLike, vaultId: BigNumberish, vaultParams: SpvVaultParametersStruct, withdrawalSequence: BigNumberish, btcTxHash: BytesLike, data: BitcoinVaultTransactionDataStruct ], [void], "payable" >; getFronterAddress: TypedContractMethod< [ owner: AddressLike, vaultId: BigNumberish, btcTxHash: BytesLike, data: BitcoinVaultTransactionDataStruct ], [string], "view" >; getFronterById: TypedContractMethod< [owner: AddressLike, vaultId: BigNumberish, frontingId: BytesLike], [string], "view" >; getVault: TypedContractMethod< [owner: AddressLike, vaultId: BigNumberish], [SpvVaultStateStructOutput], "view" >; open: TypedContractMethod< [ vaultId: BigNumberish, vaultParams: SpvVaultParametersStruct, utxoTxHash: BytesLike, utxoVout: BigNumberish ], [void], "nonpayable" >; parseBitcoinTx: TypedContractMethod< [transaction: BytesLike], [BitcoinVaultTransactionDataStructOutput], "view" >; getFunction<T extends ContractMethod = ContractMethod>( key: string | FunctionFragment ): T; getFunction( nameOrSignature: "claim" ): TypedContractMethod< [ owner: AddressLike, vaultId: BigNumberish, vaultParams: SpvVaultParametersStruct, transaction: BytesLike, blockheader: StoredBlockHeaderStruct, merkleProof: BytesLike[], position: BigNumberish ], [void], "nonpayable" >; getFunction( nameOrSignature: "deposit" ): TypedContractMethod< [ owner: AddressLike, vaultId: BigNumberish, vaultParams: SpvVaultParametersStruct, rawToken0: BigNumberish, rawToken1: BigNumberish ], [void], "payable" >; getFunction( nameOrSignature: "front" ): TypedContractMethod< [ owner: AddressLike, vaultId: BigNumberish, vaultParams: SpvVaultParametersStruct, withdrawalSequence: BigNumberish, btcTxHash: BytesLike, data: BitcoinVaultTransactionDataStruct ], [void], "payable" >; getFunction( nameOrSignature: "getFronterAddress" ): TypedContractMethod< [ owner: AddressLike, vaultId: BigNumberish, btcTxHash: BytesLike, data: BitcoinVaultTransactionDataStruct ], [string], "view" >; getFunction( nameOrSignature: "getFronterById" ): TypedContractMethod< [owner: AddressLike, vaultId: BigNumberish, frontingId: BytesLike], [string], "view" >; getFunction( nameOrSignature: "getVault" ): TypedContractMethod< [owner: AddressLike, vaultId: BigNumberish], [SpvVaultStateStructOutput], "view" >; getFunction( nameOrSignature: "open" ): TypedContractMethod< [ vaultId: BigNumberish, vaultParams: SpvVaultParametersStruct, utxoTxHash: BytesLike, utxoVout: BigNumberish ], [void], "nonpayable" >; getFunction( nameOrSignature: "parseBitcoinTx" ): TypedContractMethod< [transaction: BytesLike], [BitcoinVaultTransactionDataStructOutput], "view" >; getEvent( key: "Claimed" ): TypedContractEvent< ClaimedEvent.InputTuple, ClaimedEvent.OutputTuple, ClaimedEvent.OutputObject >; getEvent( key: "Closed" ): TypedContractEvent< ClosedEvent.InputTuple, ClosedEvent.OutputTuple, ClosedEvent.OutputObject >; getEvent( key: "Deposited" ): TypedContractEvent< DepositedEvent.InputTuple, DepositedEvent.OutputTuple, DepositedEvent.OutputObject >; getEvent( key: "Fronted" ): TypedContractEvent< FrontedEvent.InputTuple, FrontedEvent.OutputTuple, FrontedEvent.OutputObject >; getEvent( key: "Opened" ): TypedContractEvent< OpenedEvent.InputTuple, OpenedEvent.OutputTuple, OpenedEvent.OutputObject >; filters: { "Claimed(bytes32,address,bytes32,address,bytes32,address,uint32,uint64,uint64)": TypedContractEvent< ClaimedEvent.InputTuple, ClaimedEvent.OutputTuple, ClaimedEvent.OutputObject >; Claimed: TypedContractEvent< ClaimedEvent.InputTuple, ClaimedEvent.OutputTuple, ClaimedEvent.OutputObject >; "Closed(address,uint96,bytes32,bytes)": TypedContractEvent< ClosedEvent.InputTuple, ClosedEvent.OutputTuple, ClosedEvent.OutputObject >; Closed: TypedContractEvent< ClosedEvent.InputTuple, ClosedEvent.OutputTuple, ClosedEvent.OutputObject >; "Deposited(bytes32,uint32,uint64,uint64)": TypedContractEvent< DepositedEvent.InputTuple, DepositedEvent.OutputTuple, DepositedEvent.OutputObject >; Deposited: TypedContractEvent< DepositedEvent.InputTuple, DepositedEvent.OutputTuple, DepositedEvent.OutputObject >; "Fronted(bytes32,address,bytes32,address,bytes32,uint64,uint64)": TypedContractEvent< FrontedEvent.InputTuple, FrontedEvent.OutputTuple, FrontedEvent.OutputObject >; Fronted: TypedContractEvent< FrontedEvent.InputTuple, FrontedEvent.OutputTuple, FrontedEvent.OutputObject >; "Opened(address,uint96,bytes32,uint32,tuple)": TypedContractEvent< OpenedEvent.InputTuple, OpenedEvent.OutputTuple, OpenedEvent.OutputObject >; Opened: TypedContractEvent< OpenedEvent.InputTuple, OpenedEvent.OutputTuple, OpenedEvent.OutputObject >; }; }