@tonappchain/sdk 0.7.3-rc7 → 0.8.0-aa-alpha-test

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/README.md +0 -3
  2. package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/ICrossChainLayer.sol/ICrossChainLayer.json +0 -7
  3. package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/ISettings.sol/ISettings.json +0 -7
  4. package/dist/artifacts/dev/tac/internal/artifacts/contracts/interfaces/ITokenUtils.sol/ITokenUtils.json +0 -7
  5. package/dist/artifacts/dev/tac/internal/artifacts/contracts/smart-account/interfaces/ISAFactory.sol/ISAFactory.json +0 -7
  6. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.d.ts +1 -5
  7. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ISettings.d.ts +1 -5
  8. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.d.ts +1 -5
  9. package/dist/artifacts/dev/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.d.ts +1 -5
  10. package/dist/artifacts/dev/ton/internal/build/Settings.compiled.json +1 -1
  11. package/dist/artifacts/dev/ton/internal/wrappers/Settings.d.ts +1 -0
  12. package/dist/artifacts/dev/ton/internal/wrappers/Settings.js +11 -7
  13. package/dist/artifacts/index.d.ts +5 -3
  14. package/dist/artifacts/index.js +6 -3
  15. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/ICrossChainLayer.sol/ICrossChainLayer.json +0 -7
  16. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/ISettings.sol/ISettings.json +0 -7
  17. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/interfaces/ITokenUtils.sol/ITokenUtils.json +0 -7
  18. package/dist/artifacts/mainnet/tac/internal/artifacts/contracts/smart-account/interfaces/ISAFactory.sol/ISAFactory.json +0 -7
  19. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.d.ts +1 -5
  20. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ISettings.d.ts +1 -5
  21. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.d.ts +1 -5
  22. package/dist/artifacts/mainnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.d.ts +1 -5
  23. package/dist/artifacts/mainnet/ton/internal/build/CrossChainLayer.compiled.json +1 -1
  24. package/dist/artifacts/mainnet/ton/internal/build/Executor.compiled.json +1 -1
  25. package/dist/artifacts/mainnet/ton/internal/build/JettonMinter.compiled.json +1 -1
  26. package/dist/artifacts/mainnet/ton/internal/build/JettonProxy.compiled.json +1 -1
  27. package/dist/artifacts/mainnet/ton/internal/build/JettonWallet.compiled.json +1 -1
  28. package/dist/artifacts/mainnet/ton/internal/build/NFTCollection.compiled.json +1 -1
  29. package/dist/artifacts/mainnet/ton/internal/build/NFTItem.compiled.json +1 -1
  30. package/dist/artifacts/mainnet/ton/internal/build/NFTProxy.compiled.json +1 -1
  31. package/dist/artifacts/mainnet/ton/internal/build/Settings.compiled.json +1 -1
  32. package/dist/artifacts/mainnet/ton/internal/wrappers/CrossChainLayer.d.ts +65 -6
  33. package/dist/artifacts/mainnet/ton/internal/wrappers/CrossChainLayer.js +169 -18
  34. package/dist/artifacts/mainnet/ton/internal/wrappers/JettonMinter.d.ts +4 -2
  35. package/dist/artifacts/mainnet/ton/internal/wrappers/JettonMinter.js +5 -3
  36. package/dist/artifacts/mainnet/ton/internal/wrappers/JettonProxy.d.ts +9 -0
  37. package/dist/artifacts/mainnet/ton/internal/wrappers/JettonProxy.js +11 -2
  38. package/dist/artifacts/mainnet/ton/internal/wrappers/JettonWallet.d.ts +7 -0
  39. package/dist/artifacts/mainnet/ton/internal/wrappers/JettonWallet.js +9 -2
  40. package/dist/artifacts/mainnet/ton/internal/wrappers/NFTCollection.d.ts +11 -1
  41. package/dist/artifacts/mainnet/ton/internal/wrappers/NFTCollection.js +17 -5
  42. package/dist/artifacts/mainnet/ton/internal/wrappers/NFTItem.d.ts +9 -1
  43. package/dist/artifacts/mainnet/ton/internal/wrappers/NFTItem.js +15 -5
  44. package/dist/artifacts/mainnet/ton/internal/wrappers/NFTProxy.d.ts +9 -1
  45. package/dist/artifacts/mainnet/ton/internal/wrappers/NFTProxy.js +16 -6
  46. package/dist/artifacts/mainnet/ton/internal/wrappers/Settings.d.ts +2 -0
  47. package/dist/artifacts/mainnet/ton/internal/wrappers/Settings.js +11 -6
  48. package/dist/artifacts/mainnet/ton/internal/wrappers/utils/CrossChainLayerPayload.d.ts +10 -0
  49. package/dist/artifacts/mainnet/ton/internal/wrappers/utils/CrossChainLayerPayload.js +24 -0
  50. package/dist/artifacts/mainnet/ton/internal/wrappers/utils/MerkleRoots.d.ts +2 -1
  51. package/dist/artifacts/mainnet/ton/internal/wrappers/utils/MerkleRoots.js +9 -1
  52. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/ICrossChainLayer.sol/ICrossChainLayer.json +0 -7
  53. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/ISettings.sol/ISettings.json +0 -7
  54. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/interfaces/ITokenUtils.sol/ITokenUtils.json +0 -7
  55. package/dist/artifacts/testnet/tac/internal/artifacts/contracts/smart-account/interfaces/ISAFactory.sol/ISAFactory.json +0 -7
  56. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ICrossChainLayer.d.ts +1 -5
  57. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ISettings.d.ts +1 -5
  58. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/interfaces/ITokenUtils.d.ts +1 -5
  59. package/dist/artifacts/testnet/tac/internal/typechain-types/contracts/smart-account/interfaces/ISAFactory.d.ts +1 -5
  60. package/dist/artifacts/testnet/ton/internal/build/Settings.compiled.json +1 -1
  61. package/dist/artifacts/testnet/ton/internal/wrappers/Settings.d.ts +1 -0
  62. package/dist/artifacts/testnet/ton/internal/wrappers/Settings.js +11 -7
  63. package/dist/src/accountAbstraction/BaseAccountAPI.d.ts +62 -0
  64. package/dist/src/accountAbstraction/BaseAccountAPI.js +163 -0
  65. package/dist/src/accountAbstraction/Ed25519.d.ts +47 -0
  66. package/dist/src/accountAbstraction/Ed25519.js +100 -0
  67. package/dist/src/accountAbstraction/HttpRpcClient.d.ts +26 -0
  68. package/dist/src/accountAbstraction/HttpRpcClient.js +45 -0
  69. package/dist/src/accountAbstraction/PaymasterAPI.d.ts +21 -0
  70. package/dist/src/accountAbstraction/PaymasterAPI.js +18 -0
  71. package/dist/src/accountAbstraction/Permit2.d.ts +37 -0
  72. package/dist/src/accountAbstraction/Permit2.js +41 -0
  73. package/dist/src/accountAbstraction/PermitFlow.d.ts +43 -0
  74. package/dist/src/accountAbstraction/PermitFlow.js +80 -0
  75. package/dist/src/accountAbstraction/TacAccountAPI.d.ts +53 -0
  76. package/dist/src/accountAbstraction/TacAccountAPI.js +84 -0
  77. package/dist/src/accountAbstraction/TacAccountSdk.d.ts +101 -0
  78. package/dist/src/accountAbstraction/TacAccountSdk.js +163 -0
  79. package/dist/src/accountAbstraction/TacERC20PaymasterAPI.d.ts +59 -0
  80. package/dist/src/accountAbstraction/TacERC20PaymasterAPI.js +88 -0
  81. package/dist/src/accountAbstraction/TransactionDetailsForUserOp.d.ts +10 -0
  82. package/dist/src/accountAbstraction/TransactionDetailsForUserOp.js +2 -0
  83. package/dist/src/accountAbstraction/abi.d.ts +3 -0
  84. package/dist/src/accountAbstraction/abi.js +32 -0
  85. package/dist/src/accountAbstraction/index.d.ts +24 -0
  86. package/dist/src/accountAbstraction/index.js +44 -0
  87. package/dist/src/accountAbstraction/internal/entryPointAbi.d.ts +1 -0
  88. package/dist/src/accountAbstraction/internal/entryPointAbi.js +16 -0
  89. package/dist/src/accountAbstraction/internal/userOp.d.ts +54 -0
  90. package/dist/src/accountAbstraction/internal/userOp.js +72 -0
  91. package/dist/src/accountAbstraction/networks.d.ts +22 -0
  92. package/dist/src/accountAbstraction/networks.js +19 -0
  93. package/dist/src/accountAbstraction/signer.d.ts +12 -0
  94. package/dist/src/accountAbstraction/signer.js +14 -0
  95. package/dist/src/adapters/RetryableContractOpener.js +5 -2
  96. package/dist/src/adapters/ToncenterV3Indexer.js +1 -1
  97. package/dist/src/assets/AssetCache.d.ts +4 -4
  98. package/dist/src/assets/AssetCache.js +11 -6
  99. package/dist/src/assets/AssetFactory.js +2 -2
  100. package/dist/src/errors/index.d.ts +1 -1
  101. package/dist/src/errors/index.js +5 -3
  102. package/dist/src/errors/instances.d.ts +2 -0
  103. package/dist/src/errors/instances.js +4 -1
  104. package/dist/src/index.d.ts +2 -0
  105. package/dist/src/index.js +4 -1
  106. package/dist/src/interfaces/IConfiguration.d.ts +2 -2
  107. package/dist/src/interfaces/IOperationTracker.d.ts +14 -1
  108. package/dist/src/interfaces/ITacSDK.d.ts +1 -21
  109. package/dist/src/sdk/Artifacts.d.ts +3 -0
  110. package/dist/src/sdk/Artifacts.js +17 -0
  111. package/dist/src/sdk/Configuration.d.ts +4 -4
  112. package/dist/src/sdk/Configuration.js +8 -3
  113. package/dist/src/sdk/Consts.d.ts +0 -1
  114. package/dist/src/sdk/Consts.js +1 -2
  115. package/dist/src/sdk/LiteSequencerClient.js +2 -1
  116. package/dist/src/sdk/OperationTracker.d.ts +6 -3
  117. package/dist/src/sdk/OperationTracker.js +44 -19
  118. package/dist/src/sdk/StartTracking.d.ts +8 -0
  119. package/dist/src/sdk/StartTracking.js +19 -1
  120. package/dist/src/sdk/TACTransactionManager.js +5 -5
  121. package/dist/src/sdk/TONTransactionManager.d.ts +1 -0
  122. package/dist/src/sdk/TONTransactionManager.js +29 -16
  123. package/dist/src/sdk/TacExplorerClient.js +4 -3
  124. package/dist/src/sdk/TacSdk.d.ts +1 -5
  125. package/dist/src/sdk/TacSdk.js +5 -52
  126. package/dist/src/sdk/TxFinalizer.js +1 -1
  127. package/dist/src/sdk/Utils.js +37 -4
  128. package/dist/src/structs/InternalStruct.d.ts +2 -1
  129. package/dist/src/structs/Struct.d.ts +4 -4
  130. package/package.json +1 -1
@@ -7,7 +7,7 @@ const Consts_1 = require("./Consts");
7
7
  const Logger_1 = require("./Logger");
8
8
  const Utils_1 = require("./Utils");
9
9
  class TonTxFinalizer {
10
- constructor(apiConfig, logger = new Logger_1.NoopLogger(), httpClient = new AxiosHttpClient_1.AxiosHttpClient()) {
10
+ constructor(apiConfig, logger = new Logger_1.NoopLogger(), httpClient = new AxiosHttpClient_1.AxiosHttpClient({ timeout: Consts_1.DEFAULT_HTTP_CLIENT_TIMEOUT_MS })) {
11
11
  this.apiConfig = apiConfig;
12
12
  this.logger = logger;
13
13
  this.httpClient = httpClient;
@@ -108,11 +108,44 @@ const convertKeysToCamelCase = (data) => {
108
108
  return data;
109
109
  };
110
110
  exports.convertKeysToCamelCase = convertKeysToCamelCase;
111
+ function formatFiniteNumber(amount) {
112
+ const amountString = amount.toString();
113
+ if (!amountString.includes('e')) {
114
+ return amountString;
115
+ }
116
+ const [coefficient, exponentString] = amountString.split('e');
117
+ const exponent = Number(exponentString);
118
+ const [integerPart, fractionalPart = ''] = coefficient.split('.');
119
+ const digits = integerPart + fractionalPart;
120
+ const decimalIndex = integerPart.length + exponent;
121
+ let expanded;
122
+ if (decimalIndex <= 0) {
123
+ expanded = `0.${'0'.repeat(-decimalIndex)}${digits}`;
124
+ }
125
+ else if (decimalIndex >= digits.length) {
126
+ expanded = `${digits}${'0'.repeat(decimalIndex - digits.length)}`;
127
+ }
128
+ else {
129
+ expanded = `${digits.slice(0, decimalIndex)}.${digits.slice(decimalIndex)}`;
130
+ }
131
+ return expanded;
132
+ }
111
133
  const calculateRawAmount = (amount, decimals) => {
112
- const [integerPart, fractionalPart = ''] = amount.toString().split('.');
113
- // Ensure the fractional part has enough digits
114
- const paddedFraction = fractionalPart.padEnd(decimals, '0').slice(0, decimals);
115
- return BigInt(integerPart + paddedFraction);
134
+ if (!Number.isFinite(amount)) {
135
+ throw (0, errors_1.invalidAmountError)('Amount must be finite');
136
+ }
137
+ if (amount < 0) {
138
+ throw (0, errors_1.invalidAmountError)('Amount must be non-negative');
139
+ }
140
+ if (!Number.isInteger(decimals) || decimals < 0) {
141
+ throw (0, errors_1.invalidAmountError)('Token decimals must be a non-negative integer');
142
+ }
143
+ const amountString = formatFiniteNumber(amount);
144
+ const [integerPart, fractionalPart = ''] = amountString.split('.');
145
+ if (fractionalPart.length > decimals) {
146
+ throw (0, errors_1.invalidAmountError)('Amount has more fractional digits than token decimals');
147
+ }
148
+ return BigInt(integerPart + fractionalPart.padEnd(decimals, '0'));
116
149
  };
117
150
  exports.calculateRawAmount = calculateRawAmount;
118
151
  const calculateAmount = (rawAmount, decimals) => {
@@ -1,7 +1,7 @@
1
1
  import type { Address, Cell, Message } from '@ton/ton';
2
2
  import { AbstractProvider, ethers } from 'ethers';
3
3
  import { ICrossChainLayer, ISAFactory, ISettings, ITokenUtils } from '../../artifacts/tacTypes';
4
- import { ContractOpener } from '../interfaces';
4
+ import { ContractOpener, IToncenterV3Indexer } from '../interfaces';
5
5
  import { CurrencyType, ExecutionStagesByOperationId, ExecutionStagesV2ByOperationId, Network, OperationIdsByShardsKey, OperationIdWithLogIndex, OperationType, OperationTypeV2Info, StatusInfosByOperationId, SuggestedTVMExecutorFee, TACSimulationResult, ToncenterV3IndexedTransaction, TransactionLinker } from './Struct';
6
6
  export type ShardMessage = {
7
7
  address: string;
@@ -37,6 +37,7 @@ export type RandomNumberByTimestamp = {
37
37
  };
38
38
  export type InternalTONParams = {
39
39
  contractOpener: ContractOpener;
40
+ tonIndexer?: IToncenterV3Indexer;
40
41
  jettonProxyAddress: string;
41
42
  nftProxyAddress: string;
42
43
  crossChainLayerAddress: string;
@@ -468,7 +468,7 @@ export type CrossChainTransactionOptions = {
468
468
  * Retry policy used while resolving the operation ID.
469
469
  * Use this to control timeout, attempts, delay, logger, callbacks, and success criteria.
470
470
  */
471
- waitOptions?: WaitOptions<string>;
471
+ waitOperationIdOptions?: WaitOptions<string>;
472
472
  /**
473
473
  * If true, waits for full cross-chain finalization after the operation ID is known:
474
474
  * the SDK waits for a final operation type, fetches stage profiling, and validates
@@ -489,10 +489,10 @@ export type CrossChainTransactionOptions = {
489
489
  */
490
490
  evmDataBuilder?: evmDataBuilder;
491
491
  };
492
- export type BatchCrossChainTransactionOptions = Omit<CrossChainTransactionOptions, 'waitOperationId' | 'waitOptions' | 'ensureTxExecuted' | 'waitFinalization' | 'finalizationWaitOptions'>;
492
+ export type BatchCrossChainTransactionOptions = Omit<CrossChainTransactionOptions, 'waitOperationId' | 'waitOperationIdOptions' | 'ensureTxExecuted' | 'waitFinalization' | 'finalizationWaitOptions'>;
493
493
  export type CrossChainTransactionsOptions = {
494
494
  waitOperationIds?: boolean;
495
- waitOptions?: WaitOptions<OperationIdsByShardsKey>;
495
+ waitOperationIdOptions?: WaitOptions<OperationIdsByShardsKey>;
496
496
  };
497
497
  export type CrossChainTransactionToTONOptions = {
498
498
  /**
@@ -522,7 +522,7 @@ export type CrossChainTransactionToTONOptions = {
522
522
  * Retry policy used while resolving the operation ID.
523
523
  * Use this to control timeout, attempts, delay, logger, callbacks, and success criteria.
524
524
  */
525
- waitOptions?: WaitOptions<string>;
525
+ waitOperationIdOptions?: WaitOptions<string>;
526
526
  /**
527
527
  * Wait options used to finalize the cross-chain operation after operationId resolution.
528
528
  * Use this to configure retries, delay, logger, successCheck, and onSuccess callback
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tonappchain/sdk",
3
- "version": "0.7.3-rc7",
3
+ "version": "0.8.0-aa-alpha-test",
4
4
  "repository": "https://github.com/TacBuild/tac-sdk.git",
5
5
  "author": "TAC. <developers@tac>",
6
6
  "license": "MIT",