UNPKG

@cenoa/waas-js-sdk

Version:

Official Cenoa Wallet as a Service SDK

120 lines (119 loc) 3.35 kB
import { BytesLike } from 'ethers'; declare namespace Types { enum SigningType { APPROVE = "APPROVE", PERMIT = "PERMIT", DEPOSIT = "DEPOSIT", WITHDRAW = "WITHDRAW", DEPOSIT_V2 = "DEPOSIT_V2", WITHDRAW_V2 = "WITHDRAW_V2", TRANSFER = "TRANSFER", META_TRANSACTION = "META_TRANSACTION", META_TRANSACTION_V2 = "META_TRANSACTION_V2", SIGN_HASH = "SIGN_HASH" } interface ApproveTxSigningParams { from: string; spender: string; value: string; validAfter: number; validBefore: number; nonce: string; } interface PermitTxSigningParams { owner: string; spender: string; value: string; deadline: number; nonce: number; } interface DepositTxSigningParams { from: string; token: string; amount: string; receiver: string; validAfter: number; validBefore: number; nonce: string; } interface WithdrawTxSigningParams { from: string; amount: string; tokenAddress: string; receiver: string; validAfter: number; validBefore: number; nonce: string; } interface TransferTxSigningParams { from: string; to: string; value: string; validAfter: number; validBefore: number; nonce: string; } interface MetaTransactionParams { nonce: string; from: string; functionSignature: string; } interface ReinvestParams { nonce: string; from: string; managedAccountId: number; tokenAddress: string; newPool: string; validAfter: number; validBefore: number; } interface SignHashParams { request: ReinvestParams | ApproveTxSigningParams | PermitTxSigningParams | DepositTxSigningParams | WithdrawTxSigningParams | TransferTxSigningParams | MetaTransactionParams; hash: string; } interface PaymasterConfigDto { rpcUrl: string; context: { type: string; }; } type PaymentOptions = { fiatAmount: number; fiatCurrency: string; diaFiatAmount: number; diaFiatCurrency: string; estimatedConversionPrice?: number; }; type SignCredentialPayload = ApproveTxSigningParams | PermitTxSigningParams | DepositTxSigningParams | WithdrawTxSigningParams | TransferTxSigningParams | MetaTransactionParams | SignHashParams; type Signature = { v: number; r: string; s: string; signature: BytesLike; }; interface SignCredential { type: SigningType; network: string; url: string; groupId?: string; contractAddress: string; currency?: string; payload: SignCredentialPayload; paymentOptions?: PaymentOptions; } type SignCredentials = { signs: SignCredential[]; }; type SignedCredential = { amount?: string; currency?: string; contractAddress: string; groupId?: string; paymentOptions?: PaymentOptions; request: { type: SigningType; } & SignCredentialPayload; signature: Signature; }; } export default Types;