UNPKG

@cheethas/splits-sdk

Version:

Fork of the splits SDK for the 0xSplits protocol, testing experimental features

93 lines (92 loc) 3.4 kB
import { BigNumber } from '@ethersproject/bignumber'; import { Event } from '@ethersproject/contracts'; import type { SplitsClientConfig, CreateSplitConfig, UpdateSplitConfig, DistributeTokenConfig, WithdrawFundsConfig, InititateControlTransferConfig, CancelControlTransferConfig, AcceptControlTransferConfig, MakeSplitImmutableConfig, GetSplitBalanceConfig, UpdateSplitAndDistributeTokenConfig, SplitRecipient, Split, TokenBalances } from './types'; export declare class SplitsClient { private readonly _chainId; private readonly _signer; private readonly _splitMain; private readonly _graphqlClient; private readonly _includeEnsNames; constructor({ chainId, provider, signer, host, includeEnsNames, }: SplitsClientConfig); createSplit({ recipients, distributorFeePercent, controller, }: CreateSplitConfig): Promise<{ splitId: string; event: Event; }>; updateSplit({ splitId, recipients, distributorFeePercent, }: UpdateSplitConfig): Promise<{ event: Event; }>; distributeToken({ splitId, token, distributorAddress, }: DistributeTokenConfig): Promise<{ event: Event; }>; updateSplitAndDistributeToken({ splitId, token, recipients, distributorFeePercent, distributorAddress, }: UpdateSplitAndDistributeTokenConfig): Promise<{ event: Event; }>; withdrawFunds({ address, tokens }: WithdrawFundsConfig): Promise<{ event: Event; }>; initiateControlTransfer({ splitId, newController, }: InititateControlTransferConfig): Promise<{ event: Event; }>; cancelControlTransfer({ splitId, }: CancelControlTransferConfig): Promise<{ event: Event; }>; acceptControlTransfer({ splitId, }: AcceptControlTransferConfig): Promise<{ event: Event; }>; makeSplitImmutable({ splitId }: MakeSplitImmutableConfig): Promise<{ event: Event; }>; getSplitBalance({ splitId, token, }: GetSplitBalanceConfig): Promise<{ balance: BigNumber; }>; predictImmutableSplitAddress({ recipients, distributorFeePercent, }: { recipients: SplitRecipient[]; distributorFeePercent: number; }): Promise<{ splitId: string; }>; getController({ splitId }: { splitId: string; }): Promise<{ controller: string; }>; getNewPotentialController({ splitId }: { splitId: string; }): Promise<{ newPotentialController: string; }>; getHash({ splitId }: { splitId: string; }): Promise<{ hash: string; }>; getSplitMetadata({ splitId }: { splitId: string; }): Promise<Split>; getRelatedSplits({ address }: { address: string; }): Promise<{ receivingFrom: Split[]; controlling: Split[]; pendingControl: Split[]; }>; getSplitEarnings({ splitId, includeActiveBalances, }: { splitId: string; includeActiveBalances?: boolean; }): Promise<{ activeBalances?: TokenBalances; distributed: TokenBalances; }>; getUserEarnings({ userId }: { userId: string; }): Promise<{ withdrawn: TokenBalances; activeBalances: TokenBalances; }>; private _requireSplitMain; private _requireSigner; private _requireController; private _requireNewPotentialController; private _makeGqlRequest; private _formatSplit; }