@hashgraph/sdk
Version:
194 lines (193 loc) • 10.1 kB
TypeScript
/**
* @namespace proto
* @typedef {import("@hiero-ledger/proto").proto.ITransaction} HieroProto.proto.ITransaction
* @typedef {import("@hiero-ledger/proto").proto.ISignedTransaction} HieroProto.proto.ISignedTransaction
* @typedef {import("@hiero-ledger/proto").proto.TransactionBody} HieroProto.proto.TransactionBody
* @typedef {import("@hiero-ledger/proto").proto.ITransactionBody} HieroProto.proto.ITransactionBody
* @typedef {import("@hiero-ledger/proto").proto.ITransactionResponse} HieroProto.proto.ITransactionResponse
* @typedef {import("@hiero-ledger/proto").proto.ICryptoApproveAllowanceTransactionBody} HieroProto.proto.ICryptoApproveAllowanceTransactionBody
* @typedef {import("@hiero-ledger/proto").proto.IAccountID} HieroProto.proto.IAccountID
* @typedef {import("@hiero-ledger/proto").proto.IContractID} HieroProto.proto.IContractID
*/
/**
* @typedef {import("../channel/Channel.js").default} Channel
* @typedef {import("../client/Client.js").default<*, *>} Client
* @typedef {import("../transaction/TransactionId.js").default} TransactionId
* @typedef {import("bignumber.js").default} BigNumber
* @typedef {import("../long.js").LongObject} LongObject
*/
/**
* Change properties for the given account.
*/
export default class AccountAllowanceApproveTransaction extends Transaction {
/**
* @internal
* @param {HieroProto.proto.ITransaction[]} transactions
* @param {HieroProto.proto.ISignedTransaction[]} signedTransactions
* @param {TransactionId[]} transactionIds
* @param {AccountId[]} nodeIds
* @param {HieroProto.proto.ITransactionBody[]} bodies
* @returns {AccountAllowanceApproveTransaction}
*/
static _fromProtobuf(transactions: HieroProto.proto.ITransaction[], signedTransactions: HieroProto.proto.ISignedTransaction[], transactionIds: TransactionId[], nodeIds: AccountId[], bodies: HieroProto.proto.ITransactionBody[]): AccountAllowanceApproveTransaction;
/**
* @param {object} [props]
* @param {HbarAllowance[]} [props.hbarApprovals]
* @param {TokenAllowance[]} [props.tokenApprovals]
* @param {TokenNftAllowance[]} [props.nftApprovals]
*/
constructor(props?: {
hbarApprovals?: HbarAllowance[] | undefined;
tokenApprovals?: TokenAllowance[] | undefined;
nftApprovals?: TokenNftAllowance[] | undefined;
});
/**
* @private
* @type {HbarAllowance[]}
*/
private _hbarApprovals;
/**
* @private
* @type {TokenAllowance[]}
*/
private _tokenApprovals;
/**
* @private
* @type {TokenNftAllowance[]}
*/
private _nftApprovals;
/**
* @returns {HbarAllowance[]}
*/
get hbarApprovals(): HbarAllowance[];
/**
* @param {AccountId | string} ownerAccountId
* @param {AccountId | ContractId | string} spenderAccountId
* @param {number | string | Long | LongObject | BigNumber | Hbar} amount
* @returns {AccountAllowanceApproveTransaction}
*/
approveHbarAllowance(ownerAccountId: AccountId | string, spenderAccountId: AccountId | ContractId | string, amount: number | string | Long | LongObject | BigNumber | Hbar): AccountAllowanceApproveTransaction;
/**
* @deprecated - Use `approveHbarAllowance()` instead
* @param {AccountId | string} spenderAccountId
* @param {number | string | Long | LongObject | BigNumber | Hbar} amount
* @returns {AccountAllowanceApproveTransaction}
*/
addHbarAllowance(spenderAccountId: AccountId | string, amount: number | string | Long | LongObject | BigNumber | Hbar): AccountAllowanceApproveTransaction;
/**
* @returns {TokenAllowance[]}
*/
get tokenApprovals(): TokenAllowance[];
/**
* @param {TokenId | string} tokenId
* @param {AccountId | string} ownerAccountId
* @param {AccountId | ContractId | string} spenderAccountId
* @param {Long | number | BigNumber | bigint} amount
* @returns {AccountAllowanceApproveTransaction}
*/
approveTokenAllowance(tokenId: TokenId | string, ownerAccountId: AccountId | string, spenderAccountId: AccountId | ContractId | string, amount: Long | number | BigNumber | bigint): AccountAllowanceApproveTransaction;
/**
* @deprecated - Use `approveTokenAllowance()` instead
* @param {TokenId | string} tokenId
* @param {AccountId | string} spenderAccountId
* @param {Long | number | BigNumber | bigint} amount
* @returns {AccountAllowanceApproveTransaction}
*/
addTokenAllowance(tokenId: TokenId | string, spenderAccountId: AccountId | string, amount: Long | number | BigNumber | bigint): AccountAllowanceApproveTransaction;
/**
* @deprecated - Use `approveTokenNftAllowance()` instead
* @param {NftId | string} nftId
* @param {AccountId | ContractId | string} spenderAccountId
* @returns {AccountAllowanceApproveTransaction}
*/
addTokenNftAllowance(nftId: NftId | string, spenderAccountId: AccountId | ContractId | string): AccountAllowanceApproveTransaction;
/**
* @returns {TokenNftAllowance[]}
*/
get tokenNftApprovals(): TokenNftAllowance[];
/**
* @param {NftId | string} nftId
* @param {AccountId | string | null} ownerAccountId
* @param {AccountId | ContractId | string} spenderAccountId
* @param {AccountId | string | null} delegatingSpender
* @returns {AccountAllowanceApproveTransaction}
*/
_approveTokenNftAllowance(nftId: NftId | string, ownerAccountId: AccountId | string | null, spenderAccountId: AccountId | ContractId | string, delegatingSpender: AccountId | string | null): AccountAllowanceApproveTransaction;
/**
* @param {NftId | string} nftId
* @param {AccountId | string} ownerAccountId
* @param {AccountId | ContractId | string} spenderAccountId
* @returns {AccountAllowanceApproveTransaction}
*/
approveTokenNftAllowance(nftId: NftId | string, ownerAccountId: AccountId | string, spenderAccountId: AccountId | ContractId | string): AccountAllowanceApproveTransaction;
/**
* @param {NftId | string} nftId
* @param {AccountId | string} ownerAccountId
* @param {AccountId | ContractId | string} spenderAccountId
* @param {AccountId | string} delegatingSpender
* @returns {AccountAllowanceApproveTransaction}
*/
approveTokenNftAllowanceWithDelegatingSpender(nftId: NftId | string, ownerAccountId: AccountId | string, spenderAccountId: AccountId | ContractId | string, delegatingSpender: AccountId | string): AccountAllowanceApproveTransaction;
/**
* @param {TokenId | string} tokenId
* @param {AccountId | string | null} ownerAccountId
* @param {AccountId | ContractId | string} spenderAccountId
* @param {boolean} allSerials
* @returns {AccountAllowanceApproveTransaction}
*/
_approveAllTokenNftAllowance(tokenId: TokenId | string, ownerAccountId: AccountId | string | null, spenderAccountId: AccountId | ContractId | string, allSerials: boolean): AccountAllowanceApproveTransaction;
/**
* @deprecated - Use `approveTokenNftAllowanceAllSerials()` instead
* @param {TokenId | string} tokenId
* @param {AccountId | string} ownerAccountId
* @param {AccountId | string} spenderAccountId
* @returns {AccountAllowanceApproveTransaction}
*/
addAllTokenNftAllowance(tokenId: TokenId | string, ownerAccountId: AccountId | string, spenderAccountId: AccountId | string): AccountAllowanceApproveTransaction;
/**
* @param {TokenId | string} tokenId
* @param {AccountId | string} ownerAccountId
* @param {AccountId | ContractId | string} spenderAccountId
* @returns {AccountAllowanceApproveTransaction}
*/
approveTokenNftAllowanceAllSerials(tokenId: TokenId | string, ownerAccountId: AccountId | string, spenderAccountId: AccountId | ContractId | string): AccountAllowanceApproveTransaction;
/**
* @param {TokenId | string} tokenId
* @param {AccountId | string} ownerAccountId
* @param {AccountId | ContractId | string} spenderAccountId
* @returns {AccountAllowanceApproveTransaction}
*/
deleteTokenNftAllowanceAllSerials(tokenId: TokenId | string, ownerAccountId: AccountId | string, spenderAccountId: AccountId | ContractId | string): AccountAllowanceApproveTransaction;
/**
* @override
* @protected
* @returns {HieroProto.proto.ICryptoApproveAllowanceTransactionBody}
*/
protected override _makeTransactionData(): HieroProto.proto.ICryptoApproveAllowanceTransactionBody;
}
export namespace HieroProto {
namespace proto {
type ITransaction = import("@hiero-ledger/proto").proto.ITransaction;
type ISignedTransaction = import("@hiero-ledger/proto").proto.ISignedTransaction;
type TransactionBody = import("@hiero-ledger/proto").proto.TransactionBody;
type ITransactionBody = import("@hiero-ledger/proto").proto.ITransactionBody;
type ITransactionResponse = import("@hiero-ledger/proto").proto.ITransactionResponse;
type ICryptoApproveAllowanceTransactionBody = import("@hiero-ledger/proto").proto.ICryptoApproveAllowanceTransactionBody;
type IAccountID = import("@hiero-ledger/proto").proto.IAccountID;
type IContractID = import("@hiero-ledger/proto").proto.IContractID;
}
}
export type Channel = import("../channel/Channel.js").default;
export type Client = import("../client/Client.js").default<any, any>;
export type TransactionId = import("../transaction/TransactionId.js").default;
export type BigNumber = import("bignumber.js").default;
export type LongObject = import("../long.js").LongObject;
import Transaction from "../transaction/Transaction.js";
import HbarAllowance from "./HbarAllowance.js";
import AccountId from "./AccountId.js";
import ContractId from "../contract/ContractId.js";
import Hbar from "../Hbar.js";
import TokenAllowance from "./TokenAllowance.js";
import TokenId from "../token/TokenId.js";
import NftId from "../token/NftId.js";
import TokenNftAllowance from "./TokenNftAllowance.js";