UNPKG

pegasys-orchestrate

Version:

The PegaSys Orchestrate library provides convenient access to the Codefi Orchestrate API from applications written in server-side JavaScript

84 lines (83 loc) 2.27 kB
import { ParsedQs } from 'qs'; import { IGasPricePolicy } from './IGasPricePolicy'; import { IJobResponse } from './IJob'; import { ProtocolType } from './ProtocolType'; interface IBaseRequest { chain: string; labels?: object; } export interface ISendTransactionRequest extends IBaseRequest { params: ITransactionParams; } interface ITransactionParams extends IBaseTransactionParams, IPrivateTransactionParams { to: string; contractName: string; contractTag?: string; methodSignature: string; gasPricePolicy?: IGasPricePolicy; oneTimeKey?: boolean; } export interface IDeployContractRequest extends IBaseRequest { params: IDeployContractParams; } interface IDeployContractParams extends IBaseTransactionParams, IPrivateTransactionParams { contractName: string; contractTag?: string; gasPricePolicy?: IGasPricePolicy; oneTimeKey?: boolean; } export interface ISendRawRequest extends IBaseRequest { params: { raw: string; retryPolicy?: { interval: string; }; }; } export interface ITransferRequest extends IBaseRequest { params: { from: string; to: string; value: string; gas?: number; gasPrice?: string; maxFeePerGas?: string; maxPriorityFeePerGas?: string; transactionType?: string; gasPricePolicy?: IGasPricePolicy; }; } export interface ISearchTransactionRequest extends ParsedQs { idempotency_keys: string[]; } export interface ITransaction { uuid: string; idempotencyKey: string; chain: string; params: IETHTransactionParams; jobs: IJobResponse[]; createdAt: Date; } export interface IETHTransactionParams extends IBaseTransactionParams, IPrivateTransactionParams { raw?: string; } interface IBaseTransactionParams { from?: string; value?: string; gas?: number; gasPrice?: string; maxFeePerGas?: string; maxPriorityFeePerGas?: string; transactionType?: string; accessList?: any[]; args?: any[]; } interface IPrivateTransactionParams { protocol?: ProtocolType; privateFrom?: string; privateFor?: string[]; mandatoryFor?: string[]; privacyGroupId?: string; privacyFlag?: number; } export {};