@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
TypeScript
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>;
}