UNPKG

dp-contract-proxy-kit

Version:

Enable batched transactions and contract account interactions using a unique deterministic Gnosis Safe.

75 lines (74 loc) 2.13 kB
import { Address, NumberLike } from './basicTypes'; export declare enum OperationType { Call = 0, DelegateCall = 1 } interface GasLimitOptions { gas?: NumberLike; gasLimit?: NumberLike; safeTxGas?: number; } interface BaseTxOptions extends GasLimitOptions { gasPrice?: NumberLike; } export interface ExecOptions extends BaseTxOptions { nonce?: NumberLike; } export interface CallOptions extends BaseTxOptions { from?: Address; } export interface SendOptions extends ExecOptions { from: Address; } export interface EthTx { to: string; value?: NumberLike; data?: string; } export interface EthCallTx extends EthTx, CallOptions { } export interface EthSendTx extends EthTx, SendOptions { } export interface Transaction extends EthTx { operation?: OperationType; } export interface SimpleTransactionResult { hash?: string; safeTxHash?: string; } export interface Web3TransactionResult extends SimpleTransactionResult { sendOptions?: SendOptions; promiEvent: Promise<any>; } export interface EthersTransactionResult extends SimpleTransactionResult { transactionResponse: Record<string, any>; } export interface TransactionResult extends SimpleTransactionResult { sendOptions?: SendOptions; promiEvent?: any; transactionResponse?: Record<string, any>; } export declare class TransactionError extends Error { revertData?: string; revertMessage?: string; constructor(message: string, revertData?: string, revertMessage?: string); } export interface StandardTransaction { operation: OperationType; to: Address; value: string; data: string; } export declare function standardizeTransaction(tx: Transaction): StandardTransaction; export declare type NormalizeGas<T> = Pick<T, Exclude<keyof T, 'gasLimit'>>; export declare function normalizeGasLimit<T extends GasLimitOptions>(options: T): NormalizeGas<T>; export interface RpcCallTx { from?: Address; to: Address; gas?: string; gasPrice?: string; value?: string; data?: string; } export declare function formatCallTx(tx: EthCallTx): RpcCallTx; export {};