UNPKG

@renex/renex

Version:

The official RenEx Software Development Kit in typescript.

88 lines (87 loc) 2.82 kB
import Web3 from "web3"; import { TokenCode } from "../types"; export declare enum SwapperConnectionStatus { NotConnected = "not_connected", ConnectedUnlocked = "connected_unlocked", ConnectedLocked = "connected_locked", NotAuthorized = "not_authorized" } interface BalanceObject { address: string; balance: string; } export interface BalancesResponse { [token: string]: BalanceObject; } export declare const fetchSwapperVersion: (network: string) => Promise<string>; export declare const fetchSwapperAddress: (network: string) => Promise<string>; export declare function fetchSwapperStatus(network: string, ingress: string, getSwapperID: () => Promise<string>): Promise<SwapperConnectionStatus>; export declare enum SwapStatus { INACTIVE = "inactive", INITIATED = "initiated", AUDITED = "audited", AUDIT_PENDING = "audit_pending", AUDIT_FAILED = "audit_failed", REDEEMED = "redeemed", AUDITED_SECRET = "audited_secret", REFUNDED = "refunded", REFUND_FAILED = "refund_failed", CANCELLED = "cancelled", EXPIRED = "expired" } interface SwapCore { id?: string; sendToken: string; receiveToken: string; sendAmount: string; receiveAmount: string; delay?: boolean; delayInfo?: any; } export interface SwapBlob extends SwapCore { minimumReceiveAmount?: string; sendTo?: string; receiveFrom?: string; timeLock?: number; secretHash?: string; shouldInitiateFirst?: boolean; delayCallbackUrl?: string; brokerFee?: number; sendFee?: string; receiveFee?: string; brokerSendTokenAddr?: string; brokerReceiveTokenAddr?: string; } export interface SubmitImmediateResponse { swap: SwapBlob; signature: string; id: string; } interface InnerSwapReceipt extends SwapCore { sendCost: any; receiveCost: any; timestamp: number; timeLock: number; status: number; } /** * This replaces the InnerSwapReceipt status from type number to type SwapStatus */ export interface SwapReceipt extends Pick<InnerSwapReceipt, Exclude<keyof InnerSwapReceipt, "status">> { status: SwapStatus; } export declare function submitSwap(swap: SwapBlob, network: string): Promise<boolean | SubmitImmediateResponse>; export declare function findMatchingSwapReceipt(check: (swap: SwapReceipt) => boolean, network: string): Promise<SwapReceipt>; export declare function getSwapperdAddresses(tokens: TokenCode[], options: { network: string; }): Promise<string[]>; export declare function getSwapperdBalances(options: { network: string; }): Promise<BalancesResponse>; export declare function generateSignature(web3: Web3, address: string, message: { orderID: string; kycAddr: string; sendTokenAddr: string; receiveTokenAddr: string; }): Promise<string>; export {};