TransactionBuilder.d.ts 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import { TronWeb } from '../../tronweb.js';
  2. import { CreateSmartContractTransaction, SignedTransaction, Transaction, TransactionWrapper } from '../../types/Transaction.js';
  3. import { AccountCreateContract, AccountPermissionUpdateContract, AccountUpdateContract, AssetIssueContract, CancelFreezeBalanceV2Contract, ClearABIContract, ContractParamter, DelegateResourceContract, ExchangeCreateContract, ExchangeInjectContract, ExchangeTransactionContract, ExchangeWithdrawContract, FreezeBalanceContract, FreezeBalanceV2Contract, ParticipateAssetIssueContract, Permission, ProposalCreateContract, ProposalDeleteContract, SetAccountIdContract, TransferAssetContract, TransferContract, TriggerSmartContract, UnDelegateResourceContract, UnfreezeBalanceContract, UnfreezeBalanceV2Contract, UpdateAssetContract, UpdateBrokerageContract, UpdateEnergyLimitContract, UpdateSettingContract, VoteProposalContract, VoteWitnessContract, WithdrawBalanceContract, WithdrawExpireUnfreezeContract, WitnessCreateContract } from '../../types/Contract.js';
  4. import { AlterTransactionOptions, CreateSmartContractOptions, CreateTokenOptions, DeployConstantContractOptions, TriggerConstantContractOptions, TransactionCommonOptions, Resource, ContractFunctionParameter, TriggerSmartContractOptions, TxLocal, UpdateTokenOptions, VoteInfo } from '../../types/TransactionBuilder.js';
  5. interface IArgs extends TriggerSmartContract {
  6. function_selector?: string;
  7. parameter?: string;
  8. fee_limit?: number;
  9. Permission_id?: number;
  10. }
  11. export declare class TransactionBuilder {
  12. private tronWeb;
  13. private validator;
  14. constructor(tronWeb?: TronWeb);
  15. sendTrx(to: string, amount?: number, from?: string, options?: TransactionCommonOptions): Promise<Transaction<TransferContract>>;
  16. sendToken(to: string, amount: number | undefined, tokenId: string, from?: string, options?: TransactionCommonOptions): Promise<Transaction<TransferAssetContract>>;
  17. purchaseToken(issuerAddress: string, tokenId: string, amount?: number, buyer?: string, options?: TransactionCommonOptions): Promise<Transaction<ParticipateAssetIssueContract>>;
  18. freezeBalance(amount?: number, duration?: number, resource?: Resource, ownerAddress?: string, receiverAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<FreezeBalanceContract>>;
  19. unfreezeBalance(resource?: Resource, address?: string, receiverAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<UnfreezeBalanceContract>>;
  20. freezeBalanceV2(amount?: number, resource?: Resource, address?: string, options?: TransactionCommonOptions): Promise<Transaction<FreezeBalanceV2Contract>>;
  21. unfreezeBalanceV2(amount?: number, resource?: Resource, address?: string, options?: TransactionCommonOptions): Promise<Transaction<UnfreezeBalanceV2Contract>>;
  22. cancelUnfreezeBalanceV2(address?: string, options?: TransactionCommonOptions): Promise<Transaction<CancelFreezeBalanceV2Contract>>;
  23. delegateResource(amount: number | undefined, receiverAddress: string, resource?: Resource, address?: string, lock?: boolean, lockPeriod?: number, options?: TransactionCommonOptions): Promise<Transaction<DelegateResourceContract>>;
  24. undelegateResource(amount: number | undefined, receiverAddress: string, resource?: Resource, address?: string, options?: TransactionCommonOptions): Promise<Transaction<UnDelegateResourceContract>>;
  25. withdrawExpireUnfreeze(address?: string, options?: TransactionCommonOptions): Promise<Transaction<WithdrawExpireUnfreezeContract>>;
  26. withdrawBlockRewards(address?: string, options?: TransactionCommonOptions): Promise<Transaction<WithdrawBalanceContract>>;
  27. applyForSR(address?: string, url?: string, options?: TransactionCommonOptions): Promise<Transaction<WitnessCreateContract>>;
  28. vote(votes?: VoteInfo, voterAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<VoteWitnessContract>>;
  29. createSmartContract(options?: CreateSmartContractOptions, issuerAddress?: string): Promise<CreateSmartContractTransaction>;
  30. triggerSmartContract(contractAddress: string, functionSelector: string, options?: TriggerSmartContractOptions, parameters?: ContractFunctionParameter[], issuerAddress?: string): Promise<TransactionWrapper>;
  31. triggerConstantContract(contractAddress: string, functionSelector: string, options?: TriggerConstantContractOptions, parameters?: ContractFunctionParameter[], issuerAddress?: string): Promise<TransactionWrapper>;
  32. triggerConfirmedConstantContract(contractAddress: string, functionSelector: string, options?: TriggerConstantContractOptions, parameters?: ContractFunctionParameter[], issuerAddress?: string): Promise<TransactionWrapper>;
  33. estimateEnergy(contractAddress: string, functionSelector: string, options?: TriggerConstantContractOptions, parameters?: ContractFunctionParameter[], issuerAddress?: string): Promise<{
  34. result: {
  35. result: boolean;
  36. };
  37. energy_required: number;
  38. }>;
  39. deployConstantContract(options?: DeployConstantContractOptions): Promise<{
  40. result: {
  41. result: boolean;
  42. };
  43. energy_required: number;
  44. }>;
  45. _getTriggerSmartContractArgs(contractAddress: string, functionSelector: string, options: TriggerConstantContractOptions, parameters: ContractFunctionParameter[], issuerAddress: string, tokenValue?: number, tokenId?: string, callValue?: number, feeLimit?: number): IArgs;
  46. _triggerSmartContractLocal(contractAddress: string, functionSelector: string, options?: TriggerConstantContractOptions, parameters?: ContractFunctionParameter[], issuerAddress?: string): Promise<{
  47. result: {
  48. result: boolean;
  49. };
  50. transaction: Transaction<TriggerSmartContract>;
  51. }>;
  52. _triggerSmartContract(contractAddress: string, functionSelector: string, options?: TriggerConstantContractOptions, parameters?: ContractFunctionParameter[], issuerAddress?: string): Promise<TransactionWrapper>;
  53. clearABI(contractAddress: string, ownerAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<ClearABIContract>>;
  54. updateBrokerage(brokerage: number, ownerAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<UpdateBrokerageContract>>;
  55. createToken(options?: CreateTokenOptions, issuerAddress?: string): Promise<Transaction<AssetIssueContract>>;
  56. createAccount(accountAddress: string, address?: string, options?: TransactionCommonOptions): Promise<Transaction<AccountCreateContract>>;
  57. updateAccount(accountName: string, address?: string, options?: TransactionCommonOptions): Promise<Transaction<AccountUpdateContract>>;
  58. setAccountId(accountId: string, address?: string, options?: TransactionCommonOptions): Promise<Transaction<SetAccountIdContract>>;
  59. updateToken(options?: UpdateTokenOptions, issuerAddress?: string): Promise<Transaction<UpdateAssetContract>>;
  60. sendAsset(to: string, amount: number | undefined, tokenId: string, from?: string, options?: TransactionCommonOptions): Promise<Transaction<TransferAssetContract>>;
  61. purchaseAsset(issuerAddress: string, tokenId: string, amount?: number, buyer?: string, options?: TransactionCommonOptions): Promise<Transaction<ParticipateAssetIssueContract>>;
  62. createAsset(options: CreateTokenOptions, issuerAddress: string): Promise<Transaction<AssetIssueContract>>;
  63. updateAsset(options?: UpdateTokenOptions, issuerAddress?: string): Promise<Transaction<UpdateAssetContract>>;
  64. /**
  65. * Creates a proposal to modify the network.
  66. * Can only be created by a current Super Representative.
  67. */
  68. createProposal(parameters: Record<string, string | number> | Record<string, string | number>[], issuerAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<ProposalCreateContract>>;
  69. /**
  70. * Deletes a network modification proposal that the owner issued.
  71. * Only current Super Representative can vote on a proposal.
  72. */
  73. deleteProposal(proposalID: number, issuerAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<ProposalDeleteContract>>;
  74. /**
  75. * Adds a vote to an issued network modification proposal.
  76. * Only current Super Representative can vote on a proposal.
  77. */
  78. voteProposal(proposalID: number, isApproval?: boolean, voterAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<VoteProposalContract>>;
  79. /**
  80. * Create an exchange between a token and TRX.
  81. * Token Name should be a CASE SENSITIVE string.
  82. * PLEASE VERIFY THIS ON TRONSCAN.
  83. */
  84. createTRXExchange(tokenName: string, tokenBalance: number, trxBalance: number, ownerAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<ExchangeCreateContract>>;
  85. /**
  86. * Create an exchange between a token and another token.
  87. * DO NOT USE THIS FOR TRX.
  88. * Token Names should be a CASE SENSITIVE string.
  89. * PLEASE VERIFY THIS ON TRONSCAN.
  90. */
  91. createTokenExchange(firstTokenName: string, firstTokenBalance: number, secondTokenName: string, secondTokenBalance: number, ownerAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<ExchangeCreateContract>>;
  92. /**
  93. * Adds tokens into a bancor style exchange.
  94. * Will add both tokens at market rate.
  95. * Use "_" for the constant value for TRX.
  96. */
  97. injectExchangeTokens(exchangeID: number, tokenName: string, tokenAmount: number, ownerAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<ExchangeInjectContract>>;
  98. /**
  99. * Withdraws tokens from a bancor style exchange.
  100. * Will withdraw at market rate both tokens.
  101. * Use "_" for the constant value for TRX.
  102. */
  103. withdrawExchangeTokens(exchangeID: number, tokenName: string, tokenAmount: number, ownerAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<ExchangeWithdrawContract>>;
  104. /**
  105. * Trade tokens on a bancor style exchange.
  106. * Expected value is a validation and used to cap the total amt of token 2 spent.
  107. * Use "_" for the constant value for TRX.
  108. */
  109. tradeExchangeTokens(exchangeID: number, tokenName: string, tokenAmountSold: number, tokenAmountExpected: number, ownerAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<ExchangeTransactionContract>>;
  110. /**
  111. * Update userFeePercentage.
  112. */
  113. updateSetting(contractAddress: string, userFeePercentage: number, ownerAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<UpdateSettingContract>>;
  114. /**
  115. * Update energy limit.
  116. */
  117. updateEnergyLimit(contractAddress: string, originEnergyLimit?: number, ownerAddress?: string, options?: TransactionCommonOptions): Promise<Transaction<UpdateEnergyLimitContract>>;
  118. private checkPermissions;
  119. updateAccountPermissions(ownerAddress: string | undefined, ownerPermission: Permission, witnessPermission?: Permission, activesPermissions?: Permission | Permission[], options?: TransactionCommonOptions): Promise<Transaction<AccountPermissionUpdateContract>>;
  120. newTxID<T extends ContractParamter, U extends (SignedTransaction<T> | Transaction<T>)>(transaction: U, options?: {
  121. txLocal?: boolean;
  122. }): Promise<U>;
  123. alterTransaction(transaction: Transaction, options?: AlterTransactionOptions): Promise<Transaction<ContractParamter>>;
  124. extendExpiration(transaction: Transaction, extension: number, options?: TxLocal): Promise<Transaction<ContractParamter>>;
  125. addUpdateData(transaction: Transaction, data: string, dataFormat?: 'utf8' | 'hex', options?: TxLocal): Promise<Transaction<ContractParamter>>;
  126. }
  127. export {};