@hashgraphonline/hedera-agent-kit
Version:
Build LLM-powered applications that interact with the Hedera Network. Create conversational agents that can understand user requests in natural language and execute Hedera transactions, or build backend systems that leverage AI for on-chain operations.
150 lines (148 loc) • 6.04 kB
TypeScript
import { FTCreateParams, NFTCreateParams, MintFTParams, BurnFTParams, MintNFTParams, BurnNFTParams, TransferNFTParams, AssociateTokensParams, DissociateTokensParams, TransferTokensParams, WipeTokenAccountParams, FreezeTokenAccountParams, UnfreezeTokenAccountParams, GrantKycTokenParams, RevokeKycTokenParams, PauseTokenParams, UnpauseTokenParams, UpdateTokenParams, DeleteTokenParams, TokenFeeScheduleUpdateParams, AirdropTokenParams, ClaimAirdropParams, CancelAirdropParams, RejectAirdropParams } from '../../types';
import { BaseServiceBuilder } from '../base-service-builder';
import { HederaAgentKit } from '../../agent/agent';
/**
* HtsBuilder facilitates the construction and execution of Hedera Token Service (HTS) transactions.
*/
export declare class HtsBuilder extends BaseServiceBuilder {
constructor(hederaKit: HederaAgentKit);
/**
* @param {FTCreateParams} params
* @returns {Promise<this>}
* @throws {Error}
*/
createFungibleToken(params: FTCreateParams): Promise<this>;
/**
* Creates a non-fungible token. If the supply key is not provided, the operator's public key will be used.
* @param {NFTCreateParams} params
* @returns {Promise<this>}
* @throws {Error}
*/
createNonFungibleToken(params: NFTCreateParams): Promise<this>;
/**
* @param {MintFTParams} params
* @returns {this}
*/
mintFungibleToken(params: MintFTParams): this;
/**
* @param {BurnFTParams} params
* @returns {this}
*/
burnFungibleToken(params: BurnFTParams): this;
/**
* @param {MintNFTParams} params
* @returns {this}
* @throws {Error}
*/
mintNonFungibleToken(params: MintNFTParams): this;
/**
* @param {BurnNFTParams} params
* @returns {this}
*/
burnNonFungibleToken(params: BurnNFTParams): this;
/**
* @param {TransferNFTParams} params - Parameters for transferring a single NFT.
* @returns {this}
*/
transferNft(params: TransferNFTParams): this;
/**
* @param {AssociateTokensParams} params
* @returns {this}
*/
associateTokens(params: AssociateTokensParams): this;
/**
* @param {DissociateTokensParams} params
* @returns {this}
*/
dissociateTokens(params: DissociateTokensParams): this;
/**
* @param {TransferTokensParams} params - Parameters for transferring fungible tokens, NFTs, and/or HBAR.
* @returns {this}
*/
transferTokens(params: TransferTokensParams): this;
/**
* @param {WipeTokenAccountParams} params
* @returns {this}
* @throws {Error}
*/
wipeTokenAccount(params: WipeTokenAccountParams): this;
/**
* @param {FreezeTokenAccountParams} params
* @returns {this}
*/
freezeTokenAccount(params: FreezeTokenAccountParams): this;
/**
* @param {UnfreezeTokenAccountParams} params
* @returns {this}
*/
unfreezeTokenAccount(params: UnfreezeTokenAccountParams): this;
/**
* @param {GrantKycTokenParams} params
* @returns {this}
*/
grantKycToken(params: GrantKycTokenParams): this;
/**
* @param {RevokeKycTokenParams} params
* @returns {this}
*/
revokeKycToken(params: RevokeKycTokenParams): this;
/**
* @param {PauseTokenParams} params
* @returns {this}
*/
pauseToken(params: PauseTokenParams): this;
/**
* @param {UnpauseTokenParams} params
* @returns {this}
*/
unpauseToken(params: UnpauseTokenParams): this;
/**
* @param {UpdateTokenParams} params
* @returns {Promise<this>}
* @throws {Error}
*/
updateToken(params: UpdateTokenParams): Promise<this>;
/**
* @param {DeleteTokenParams} params
* @returns {this}
*/
deleteToken(params: DeleteTokenParams): this;
/**
* @param {TokenFeeScheduleUpdateParams} params
* @returns {this}
*/
feeScheduleUpdate(params: TokenFeeScheduleUpdateParams): Promise<this>;
/**
* Configures a transaction to airdrop fungible tokens from the operator's account to multiple recipients.
* This method uses the `TokenAirdropTransaction`.
* @param {AirdropTokenParams} params - Parameters for the airdrop.
* @returns {this} The HtsBuilder instance for fluent chaining.
* @throws {Error} If no recipients are provided or if amounts are invalid.
*/
airdropToken(params: AirdropTokenParams): this;
/**
* Configures a transaction to claim pending airdrops.
* The operator (signer) is the recipient of the claim.
* @param {ClaimAirdropParams} params - Parameters specifying which pending airdrops to claim.
* The `pendingAirdropIds` should be valid `PendingAirdropId` instances from the SDK.
* @returns {this} The HtsBuilder instance for fluent chaining.
* @throws {Error} If no `pendingAirdropIds` are provided.
*/
claimAirdrop(params: ClaimAirdropParams): this;
/**
* Configures a transaction to cancel pending airdrops sent by the operator.
* @param {CancelAirdropParams} params - Parameters specifying which pending airdrops to cancel.
* The `pendingAirdropIds` should be valid `PendingAirdropId` instances from the SDK.
* @returns {this} The HtsBuilder instance for fluent chaining.
* @throws {Error} If no `pendingAirdropIds` are provided.
*/
cancelAirdrop(params: CancelAirdropParams): this;
/**
* Configures a transaction for the operator to reject future auto-associations with specified token types.
* @param {RejectAirdropParams} params - Parameters specifying which tokens to reject.
* Note: `senderAccountId` and `serials` from `RejectAirdropParams` are currently ignored by this method
* as `TokenRejectTransaction` operates on token types for the owner.
* @returns {this} The HtsBuilder instance for fluent chaining.
*/
rejectTokens(params: RejectAirdropParams): this;
}