@flaunch/sdk
Version:
Flaunch SDK to easily interact with the Flaunch protocol
50 lines • 2.64 kB
TypeScript
import { type Address, type Drift, type HexString, type ReadContract, type ReadWriteAdapter, type ReadWriteContract } from "@delvtech/drift";
import { DynamicAddressFeeSplitManagerAbi } from "../abi/DynamicAddressFeeSplitManager";
import type { FlaunchToken } from "./TreasuryManagerClient";
export type DynamicAddressFeeSplitManagerABI = typeof DynamicAddressFeeSplitManagerAbi;
export type RecipientShare = {
recipient: Address;
share: bigint;
};
export type DynamicRecipientInfo = {
share: bigint;
debtPerShare: bigint;
snapshotBalance: bigint;
claimed: bigint;
};
export declare class ReadDynamicAddressFeeSplitManager {
readonly contract: ReadContract<DynamicAddressFeeSplitManagerABI>;
constructor(address: Address, drift?: Drift);
permissions(): Promise<`0x${string}`>;
managerOwner(): Promise<`0x${string}`>;
moderator(): Promise<`0x${string}`>;
creatorShare(): Promise<bigint>;
ownerShare(): Promise<bigint>;
totalActiveShares(): Promise<bigint>;
accumulatorPerShare(): Promise<bigint>;
lastProcessedManagerFees(): Promise<bigint>;
recipientCount(): Promise<bigint>;
recipientAt(index: bigint): Promise<`0x${string}`>;
recipients(recipient: Address): Promise<DynamicRecipientInfo>;
balances(recipient: Address): Promise<bigint>;
recipientShare(recipient: Address, data?: HexString): Promise<bigint>;
pendingCreatorFees(recipient: Address): Promise<bigint>;
pendingOwnerFees(): Promise<bigint>;
claimableOwnerFees(): Promise<bigint>;
allRecipients(includeInactive?: boolean): Promise<`0x${string}`[]>;
}
export declare class ReadWriteDynamicAddressFeeSplitManager extends ReadDynamicAddressFeeSplitManager {
contract: ReadWriteContract<DynamicAddressFeeSplitManagerABI>;
constructor(address: Address, drift?: Drift<ReadWriteAdapter>);
setPermissions(permissions: Address): Promise<`0x${string}`>;
transferManagerOwnership(newManagerOwner: Address): Promise<`0x${string}`>;
setModerator(moderator: Address): Promise<`0x${string}`>;
updateRecipients(recipients: RecipientShare[]): Promise<`0x${string}`>;
transferRecipientShare(newRecipient: Address): Promise<`0x${string}`>;
claim(): Promise<`0x${string}`>;
claimForData(data: HexString): Promise<`0x${string}`>;
deposit(flaunchToken: FlaunchToken, creator: Address, data: HexString): Promise<`0x${string}`>;
setCreator(flaunchToken: FlaunchToken, creator: Address): Promise<`0x${string}`>;
rescue(flaunchToken: FlaunchToken, recipient: Address): Promise<`0x${string}`>;
}
//# sourceMappingURL=DynamicAddressFeeSplitManagerClient.d.ts.map