@tonappchain/sdk 0.6.1-v3.0.1 → 0.6.1-v3.0.3

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 (47) hide show
  1. package/dist/adapters/contractOpener.d.ts +19 -0
  2. package/dist/adapters/contractOpener.js +94 -0
  3. package/dist/errors/errors.d.ts +34 -0
  4. package/dist/errors/errors.js +80 -0
  5. package/dist/errors/index.d.ts +2 -0
  6. package/dist/errors/index.js +30 -0
  7. package/dist/errors/instances.d.ts +17 -0
  8. package/dist/errors/instances.js +29 -0
  9. package/dist/index.d.ts +10 -0
  10. package/dist/index.js +35 -0
  11. package/dist/sdk/Consts.d.ts +7 -0
  12. package/dist/sdk/Consts.js +11 -0
  13. package/dist/sdk/OperationTracker.d.ts +14 -0
  14. package/dist/sdk/OperationTracker.js +151 -0
  15. package/dist/sdk/StartTracking.d.ts +8 -0
  16. package/dist/sdk/StartTracking.js +127 -0
  17. package/dist/sdk/TacSdk.d.ts +53 -0
  18. package/dist/sdk/TacSdk.js +713 -0
  19. package/dist/sdk/Utils.d.ts +18 -0
  20. package/dist/sdk/Utils.js +128 -0
  21. package/dist/sender/RawSender.d.ts +14 -0
  22. package/dist/sender/RawSender.js +70 -0
  23. package/dist/sender/SenderAbstraction.d.ts +20 -0
  24. package/dist/sender/SenderAbstraction.js +5 -0
  25. package/dist/sender/SenderFactory.d.ts +33 -0
  26. package/dist/sender/SenderFactory.js +55 -0
  27. package/dist/sender/TonConnectSender.d.ts +12 -0
  28. package/dist/sender/TonConnectSender.js +55 -0
  29. package/dist/sender/index.d.ts +2 -0
  30. package/dist/sender/index.js +18 -0
  31. package/dist/structs/InternalStruct.d.ts +82 -0
  32. package/dist/structs/InternalStruct.js +10 -0
  33. package/dist/structs/Struct.d.ts +334 -0
  34. package/dist/structs/Struct.js +53 -0
  35. package/dist/wrappers/ContentUtils.d.ts +25 -0
  36. package/dist/wrappers/ContentUtils.js +160 -0
  37. package/dist/wrappers/HighloadQueryId.d.ts +17 -0
  38. package/dist/wrappers/HighloadQueryId.js +72 -0
  39. package/dist/wrappers/HighloadWalletV3.d.ts +61 -0
  40. package/dist/wrappers/HighloadWalletV3.js +161 -0
  41. package/dist/wrappers/JettonMaster.d.ts +24 -0
  42. package/dist/wrappers/JettonMaster.js +53 -0
  43. package/dist/wrappers/JettonWallet.d.ts +47 -0
  44. package/dist/wrappers/JettonWallet.js +107 -0
  45. package/dist/wrappers/Settings.d.ts +10 -0
  46. package/dist/wrappers/Settings.js +38 -0
  47. package/package.json +2 -2
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.startTracking = startTracking;
7
+ const Struct_1 = require("../structs/Struct");
8
+ const Consts_1 = require("./Consts");
9
+ const OperationTracker_1 = require("./OperationTracker");
10
+ const Utils_1 = require("./Utils");
11
+ const cli_table3_1 = __importDefault(require("cli-table3"));
12
+ async function startTracking(transactionLinker, network, options) {
13
+ const { customLiteSequencerEndpoints, delay = 10, maxIterationCount = Consts_1.MAX_ITERATION_COUNT, returnValue = false, tableView = true, } = options || {};
14
+ const tracker = new OperationTracker_1.OperationTracker(network, customLiteSequencerEndpoints);
15
+ console.log('Start tracking operation');
16
+ console.log('caller: ', transactionLinker.caller);
17
+ console.log('shardsKey: ', transactionLinker.shardsKey);
18
+ console.log('shardCount: ', transactionLinker.shardCount);
19
+ console.log('timestamp: ', transactionLinker.timestamp);
20
+ let operationId = '';
21
+ let iteration = 0; // number of iterations
22
+ let operationType = '';
23
+ let ok = true; // finished successfully
24
+ let errorMessage = '';
25
+ while (true) {
26
+ ++iteration;
27
+ if (iteration >= maxIterationCount) {
28
+ ok = false;
29
+ errorMessage = 'maximum number of iterations has been exceeded';
30
+ break;
31
+ }
32
+ if (operationId == '') {
33
+ console.log('request operationId');
34
+ try {
35
+ operationId = await tracker.getOperationId(transactionLinker);
36
+ }
37
+ catch (err) { }
38
+ }
39
+ else {
40
+ try {
41
+ operationType = await tracker.getOperationType(operationId);
42
+ if (operationType != Struct_1.OperationType.PENDING && operationType != Struct_1.OperationType.UNKNOWN) {
43
+ break;
44
+ }
45
+ }
46
+ catch (err) {
47
+ console.log('failed to get operation type:', err);
48
+ }
49
+ console.log(`
50
+ operationId: ${operationId}
51
+ operationType: ${operationType}
52
+ time: ${new Date().toISOString()} (${Math.floor(+new Date() / 1000)})
53
+ `);
54
+ }
55
+ await (0, Utils_1.sleep)(delay * 1000);
56
+ }
57
+ console.log('Tracking finished');
58
+ if (!ok) {
59
+ if (returnValue) {
60
+ throw Error(errorMessage);
61
+ }
62
+ console.log(errorMessage);
63
+ }
64
+ const profilingData = await tracker.getStageProfiling(operationId);
65
+ if (returnValue) {
66
+ return profilingData;
67
+ }
68
+ console.log(profilingData.operationType);
69
+ console.log(profilingData.metaInfo);
70
+ if (tableView) {
71
+ printExecutionStagesTable(profilingData);
72
+ }
73
+ else {
74
+ console.log(formatExecutionStages(profilingData));
75
+ }
76
+ }
77
+ function formatExecutionStages(stages) {
78
+ const { operationType, metaInfo, ...stagesData } = stages;
79
+ return Object.entries(stagesData).map(([stage, data]) => ({
80
+ stage: stage,
81
+ exists: data.exists ? 'Yes' : 'No',
82
+ success: data.exists && data.stageData ? (data.stageData.success ? 'Yes' : 'No') : '-',
83
+ timestamp: data.exists && data.stageData ? new Date(data.stageData.timestamp * 1000).toLocaleString() : '-',
84
+ transactions: data.exists &&
85
+ data.stageData &&
86
+ data.stageData.transactions != null &&
87
+ data.stageData.transactions.length > 0
88
+ ? data.stageData.transactions.map((t) => t.hash).join(' \n')
89
+ : '-',
90
+ noteContent: data.exists && data.stageData && data.stageData.note != null ? data.stageData.note.content : '-',
91
+ errorName: data.exists && data.stageData && data.stageData.note != null ? data.stageData.note.errorName : '-',
92
+ internalMsg: data.exists && data.stageData && data.stageData.note != null ? data.stageData.note.internalMsg : '-',
93
+ bytesError: data.exists && data.stageData && data.stageData.note != null ? data.stageData.note.internalBytesError : '-',
94
+ }));
95
+ }
96
+ function printExecutionStagesTable(stages) {
97
+ const table = new cli_table3_1.default({
98
+ head: [
99
+ 'Stage',
100
+ 'Exists',
101
+ 'Success',
102
+ 'Timestamp',
103
+ 'Transactions',
104
+ 'NoteContent',
105
+ 'ErrorName',
106
+ 'InternalMsg',
107
+ 'BytesError',
108
+ ],
109
+ colWidths: [30, 8, 9, 13, 70, 13, 13, 13, 13],
110
+ wordWrap: true,
111
+ });
112
+ const tableData = formatExecutionStages(stages);
113
+ tableData.forEach((row) => {
114
+ table.push([
115
+ row.stage,
116
+ row.exists,
117
+ row.success,
118
+ row.timestamp,
119
+ row.transactions,
120
+ row.noteContent,
121
+ row.errorName,
122
+ row.internalMsg,
123
+ row.bytesError,
124
+ ]);
125
+ });
126
+ console.log(table.toString());
127
+ }
@@ -0,0 +1,53 @@
1
+ import { Wallet } from 'ethers';
2
+ import type { SenderAbstraction } from '../sender';
3
+ import { AssetBridgingData, EvmProxyMsg, Network, SDKParams, TransactionLinker, RawAssetBridgingData, UserWalletBalanceExtended, TACSimulationResult, TACSimulationRequest, CrossChainTransactionOptions, ExecutionFeeEstimationResult, CrosschainTx, WithAddressNFT_CollectionItem, NFTAddressType, NFTItemData } from '../structs/Struct';
4
+ import { InternalTONParams, InternalTACParams } from '../structs/InternalStruct';
5
+ import { mainnet, testnet } from '@tonappchain/artifacts';
6
+ export declare class TacSdk {
7
+ readonly network: Network;
8
+ readonly delay: number;
9
+ readonly artifacts: typeof testnet | typeof mainnet;
10
+ readonly TONParams: InternalTONParams;
11
+ readonly TACParams: InternalTACParams;
12
+ readonly liteSequencerEndpoints: string[];
13
+ private constructor();
14
+ static create(sdkParams: SDKParams): Promise<TacSdk>;
15
+ private static prepareTONParams;
16
+ private static prepareTACParams;
17
+ closeConnections(): unknown;
18
+ get nativeTONAddress(): string;
19
+ nativeTACAddress(): Promise<string>;
20
+ getUserJettonWalletAddress(userAddress: string, tokenAddress: string): Promise<string>;
21
+ getUserJettonBalance(userAddress: string, tokenAddress: string): Promise<bigint>;
22
+ getUserJettonBalanceExtended(userAddress: string, tokenAddress: string): Promise<UserWalletBalanceExtended>;
23
+ private getJettonTransferPayload;
24
+ private getJettonBurnPayload;
25
+ private getNFTBurnPayload;
26
+ private getNFTTransferPayload;
27
+ private generateFeeData;
28
+ private getTonTransferPayload;
29
+ private getJettonOpType;
30
+ private getNFTOpType;
31
+ private getNFTItemAddressTON;
32
+ getNFTItemData(itemAddress: string): Promise<NFTItemData>;
33
+ private aggregateTokens;
34
+ private generateJettonPayload;
35
+ private generateNFTPayload;
36
+ private generateCrossChainMessages;
37
+ private getRawAmount;
38
+ private convertAssetsToRawFormat;
39
+ private getFeeInfo;
40
+ getTransactionSimulationInfo(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, assets?: AssetBridgingData[]): Promise<ExecutionFeeEstimationResult>;
41
+ private prepareCrossChainTransaction;
42
+ sendCrossChainTransaction(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, assets?: AssetBridgingData[], options?: CrossChainTransactionOptions): Promise<TransactionLinker>;
43
+ sendCrossChainTransactions(sender: SenderAbstraction, txs: CrosschainTx[]): Promise<TransactionLinker[]>;
44
+ bridgeTokensToTON(signer: Wallet, value: bigint, tonTarget: string, assets?: RawAssetBridgingData<WithAddressNFT_CollectionItem>[], tvmExecutorFee?: bigint): Promise<string>;
45
+ get getTrustedTACExecutors(): string[];
46
+ get getTrustedTONExecutors(): string[];
47
+ getEVMTokenAddress(tvmTokenAddress: string): Promise<string>;
48
+ getTVMTokenAddress(evmTokenAddress: string): Promise<string>;
49
+ getTVMNFTAddress(evmNFTAddress: string, tokenId?: bigint): Promise<string>;
50
+ getEVMNFTAddress(tvmNFTAddress: string, addressType: NFTAddressType): Promise<string>;
51
+ isContractDeployedOnTVM(address: string): Promise<boolean>;
52
+ simulateTACMessage(req: TACSimulationRequest): Promise<TACSimulationResult>;
53
+ }