UNPKG

@crestfi/crest-bnb-sdk

Version:

1. [StreamClient](#crestfistreamclient) 1. [Installation](#installation) 2. [Environment Setup](#environment-setup) 3. [Run tests](#run-tests) 4. [Contracts](#contracts) 5. [Usage](#usage) 1. [Getting Signer Address](#getting-si

156 lines (155 loc) 7.15 kB
import { BigNumber, BytesLike, ethers, Signer } from "ethers"; import { StandardMerkleTree } from "@openzeppelin/merkle-tree"; import { ICrestFiBulkTransfer } from "./definitions"; export declare class CrestFiBulkClient implements ICrestFiBulkTransfer { private _contract; private _core_contract; constructor(signer: Signer | ethers.providers.Provider, bulkContractAddress?: string, coreContractAddress?: string); /** * Get Stream Attributes * @param ownerAddress * @returns Stream Attributes: * @throws error if contract call fails */ getStreamAttribute(ownerAddress: string): Promise<[BigNumber, BigNumber] & { createTime: BigNumber; streamCount: BigNumber; }>; /** * get Stream Bytes of a owner address * @param ownerAddress address of the owner * @returns stream bytes * @throws error if contract call fails * */ getLatestStreamBytes(ownerAddress: string): Promise<BytesLike>; getBulkTransferRoot(bulkTransferBytes: string): Promise<string>; /** * Get Streamed Amount * @param streamBytes stream bytes * @returns streamed amount * @throws error if contract call fails * */ getWithdrawableAmounts(streamBytes: BytesLike): Promise<BigNumber>; /** * Get Lateest Bulk Count * @param userAddress user address * @returns bulk count * @throws error if contract call fails * */ getLatestBulkCount(userAddress: string): Promise<BigNumber>; /** * Get Lateest Bulk Bytes * @param userAddress user address * @returns bulk bytes * @throws error if contract call fails * */ calculateLatestBulkBytes(userAddress: string): Promise<string>; /** * Update Bulk Transfer * @param bulkName Transaction Name * @param bulkBytes Bulk Stream Bytes/id * @param merkleRoot Merkle Root * @param startTime New Start Time * @param smallestStreamStartTime Smallest Stream Start Time * @param overrides * @returns Transaction Receipt * @throws error if contract call fails * */ updateBulkTransfer(bulkName: string, bulkTransferIndex: number, merkleRoot: string, startTimes: BigNumber[], recurringFrequency: number, overrides?: ethers.Overrides): Promise<ethers.ContractReceipt>; /** * Get Bulk Stream Root * @param tokenAddress Token Address * @param amounts Amounts * @param receivers Receivers * @param startTimes Start Times * @param endTimes End Times * @param streamParams Stream Params (0: pausable, 1: cancelable, 2: pausable & cancelable, 3: none) * @returns Merkle Tree and Smallest Stream Start Time * @throws error if contract call fails * */ getBulkStreamRoot(tokenAddress: string, amounts: string[], receivers: string[], startTimes: number[], endTimes: number[], streamParams: number[]): Promise<[StandardMerkleTree<any>, number]>; /** * Get Bulk Instant Transfer Root * @param tokenAddress Token Address * @param amounts Amounts * @param receivers Receivers * @returns Merkle Tree * @throws error if contract call fails * */ getBulkInstantTransferRoot(tokenAddress: string, amounts: string[], receivers: string[]): Promise<StandardMerkleTree<any>>; /** * Update Bulk Stream * @param tokenAddress Token Address * @param amounts Amounts * @param receivers Receivers * @param bulkTransferIndex Bulk Count * @returns Merkle Tree * @throws error if contract call fails * */ updateBulkInstantTransferRoot(tokenAddress: string, amounts: string[], receivers: string[], bulkTransferIndex: BigNumber): Promise<StandardMerkleTree<any>>; /** * Initialize Bulk Stream * @param bulkStreamName Transactin Name * @param bulkTree Merkle Tree * @param startTime Start Time * @param smallestStreamStartTime Smallest Stream Start Time * @param overrides * @returns Transaction Receipt * @throws error if contract call fails * */ initBlulkStream(bulkStreamName: string, bulkTreeRoot: string, smallestStreamStartTime: number, startTimes: BigNumber[], recurringFrequency: number, overrides?: ethers.Overrides): Promise<ethers.ContractReceipt>; /** * Initialize Bulk Instant Transfer * @param bulkInstantName Transactin Name * @param bulkTree Merkle Tree * @param startTime Start Time * @param overrides * @returns Transaction Receipt * @throws error if contract call fails * */ initBlulkInstantTransfer(bulkInstantName: string, bulkTreeRoot: string, startTimes: BigNumber[], recurringFrequency: number, overrides?: ethers.Overrides): Promise<ethers.ContractReceipt>; /** Withdraw Bulk Stream * @param index Bulk Stream Index * @param amount Amount * @param tokenAddress Token Address * @param sender Sender * @param receiver Receiver * @param startTime Start Time * @param endTime End Time * @param streamParam Stream Param (0: pausable, 1: cancelable, 2: pausable & cancelable, 3: none) * @param proofs Merkle Proofs * @param withdrawAmount Withdraw Amount * @param crestfiWalletWithdraw CrestFi Wallet Withdraw * @param overrides * @returns Transaction Receipt * @throws error if contract call fails * */ withdrawBulkStream(index: number, amount: string, tokenAddress: string, sender: string, receiver: string, startTime: number, endTime: number, streamParam: number, proofs: string[], withdrawAmount: BigNumber, crestfiWalletWithdraw: boolean, overrides?: ethers.Overrides): Promise<ethers.ContractReceipt>; /** Withdraw Bulk Instant Transfer * @param index Bulk Stream Index * @param amount Amount * @param tokenAddress Token Address * @param sender Sender * @param receiver Receiver * @param proofs Merkle Proofs * @param crestfiWalletTransfer CrestFi Wallet Transfer * @param overrides * @returns Transaction Receipt * @throws error if contract call fails * */ verifyBulkInstantTransfer(index: number, amount: string, tokenAddress: string, sender: string, receiver: string, proofs: string[]): Promise<boolean>; /** Withdraw Bulk Instant Transfer * @param index Bulk Stream Index * @param amount Amount * @param tokenAddress Token Address * @param sender Sender * @param receiver Receiver * @param proofs Merkle Proofs * @param crestfiWalletTransfer CrestFi Wallet Transfer * @param overrides * @returns Transaction Receipt * @throws error if contract call fails * */ withdrawBulkInstantTransfer(index: number, amount: string, tokenAddress: string, sender: string, receiver: string, proofs: string[], crestfiWalletTransfer: boolean, overrides?: ethers.Overrides): Promise<ethers.ContractReceipt>; cancelBulkInstantTransfer(index: number, overrides?: ethers.Overrides): Promise<ethers.ContractReceipt>; }