UNPKG

@0xsplits/splits-sdk

Version:

SDK for the 0xSplits protocol

89 lines (88 loc) 4.34 kB
import { Address, GetContractReturnType, Hash, Hex, Log } from 'viem'; import { BaseClientMixin, BaseGasEstimatesMixin, BaseTransactions } from './base'; import { ls1155CloneAbi } from '../constants/abi/ls1155Clone'; import type { SplitsClientConfig, CreateLiquidSplitConfig, DistributeLiquidSplitTokenConfig, TransferLiquidSplitOwnershipConfig, CallData, TransactionConfig, TransactionFormat, ReadContractArgs, SplitsPublicClient } from '../types'; type LS1155Abi = typeof ls1155CloneAbi; declare class LiquidSplitTransactions extends BaseTransactions { constructor(transactionClientArgs: SplitsClientConfig & TransactionConfig); protected _createLiquidSplitTransaction({ recipients, distributorFeePercent, owner, chainId, transactionOverrides, }: CreateLiquidSplitConfig): Promise<TransactionFormat>; protected _distributeTokenTransaction({ liquidSplitAddress, token, distributorAddress, chainId, transactionOverrides, }: DistributeLiquidSplitTokenConfig): Promise<TransactionFormat>; protected _transferOwnershipTransaction({ liquidSplitAddress, newOwner, transactionOverrides, }: TransferLiquidSplitOwnershipConfig): Promise<TransactionFormat>; private _requireOwner; protected _getLiquidSplitContract(liquidSplit: string, chainId: number): GetContractReturnType<LS1155Abi, SplitsPublicClient>; } export declare class LiquidSplitClient extends LiquidSplitTransactions { readonly eventTopics: { [key: string]: Hex[]; }; readonly callData: LiquidSplitCallData; readonly estimateGas: LiquidSplitGasEstimates; constructor(clientArgs: SplitsClientConfig); _submitCreateLiquidSplitTransaction(createLiquidSplitArgs: CreateLiquidSplitConfig): Promise<{ txHash: Hash; }>; createLiquidSplit(createLiquidSplitArgs: CreateLiquidSplitConfig): Promise<{ liquidSplitAddress: Address; event: Log; }>; _submitDistributeTokenTransaction(distributeTokenArgs: DistributeLiquidSplitTokenConfig): Promise<{ txHash: Hash; }>; distributeToken(distributeTokenArgs: DistributeLiquidSplitTokenConfig): Promise<{ event: Log; }>; _submitTransferOwnershipTransaction(transferOwnershipArgs: TransferLiquidSplitOwnershipConfig): Promise<{ txHash: Hash; }>; transferOwnership(transferOwnershipArgs: TransferLiquidSplitOwnershipConfig): Promise<{ event: Log; }>; getDistributorFee({ liquidSplitAddress, chainId, }: ReadContractArgs & { liquidSplitAddress: string; }): Promise<{ distributorFee: number; }>; getPayoutSplit({ liquidSplitAddress, chainId, }: ReadContractArgs & { liquidSplitAddress: string; }): Promise<{ payoutSplitAddress: Address; }>; getOwner({ liquidSplitAddress, chainId, }: ReadContractArgs & { liquidSplitAddress: string; }): Promise<{ owner: Address; }>; getUri({ liquidSplitAddress, chainId, }: ReadContractArgs & { liquidSplitAddress: string; }): Promise<{ uri: string; }>; getScaledPercentBalanceOf({ liquidSplitAddress, address, chainId, }: ReadContractArgs & { liquidSplitAddress: string; address: string; }): Promise<{ scaledPercentBalance: number; }>; getNftImage({ liquidSplitAddress, }: { liquidSplitAddress: string; }): Promise<{ image: string; }>; } export interface LiquidSplitClient extends BaseClientMixin { } declare class LiquidSplitGasEstimates extends LiquidSplitTransactions { constructor(clientArgs: SplitsClientConfig); createLiquidSplit(createLiquidSplitArgs: CreateLiquidSplitConfig): Promise<bigint>; distributeToken(distributeTokenArgs: DistributeLiquidSplitTokenConfig): Promise<bigint>; transferOwnership(transferOwnershipArgs: TransferLiquidSplitOwnershipConfig): Promise<bigint>; } interface LiquidSplitGasEstimates extends BaseGasEstimatesMixin { } declare class LiquidSplitCallData extends LiquidSplitTransactions { constructor(clientArgs: SplitsClientConfig); createLiquidSplit(createLiquidSplitArgs: CreateLiquidSplitConfig): Promise<CallData>; distributeToken(distributeTokenArgs: DistributeLiquidSplitTokenConfig): Promise<CallData>; transferOwnership(transferOwnershipArgs: TransferLiquidSplitOwnershipConfig): Promise<CallData>; } export {};