@tonappchain/sdk 0.7.2-payload-builder-0.2 → 0.7.2-scaled-ui-support-1
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.
- package/dist/artifacts/dev/ton/internal/build/Executor.compiled.json +1 -1
- package/dist/artifacts/dev/ton/internal/wrappers/JettonMinter.d.ts +4 -0
- package/dist/artifacts/dev/ton/internal/wrappers/JettonMinter.js +7 -0
- package/dist/artifacts/mainnet/ton/internal/build/CrossChainLayer.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/Executor.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/JettonMinter.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/JettonProxy.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/JettonWallet.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/NFTItem.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/build/NFTProxy.compiled.json +1 -1
- package/dist/artifacts/mainnet/ton/internal/wrappers/CrossChainLayer.d.ts +13 -1
- package/dist/artifacts/mainnet/ton/internal/wrappers/CrossChainLayer.js +45 -7
- package/dist/artifacts/mainnet/ton/internal/wrappers/JettonMinter.d.ts +6 -2
- package/dist/artifacts/mainnet/ton/internal/wrappers/JettonMinter.js +9 -2
- package/dist/artifacts/testnet/ton/internal/build/CrossChainLayer.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/Executor.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/JettonMinter.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/JettonProxy.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/JettonWallet.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/NFTItem.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/build/NFTProxy.compiled.json +1 -1
- package/dist/artifacts/testnet/ton/internal/wrappers/CrossChainLayer.d.ts +13 -1
- package/dist/artifacts/testnet/ton/internal/wrappers/CrossChainLayer.js +45 -7
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonMinter.d.ts +6 -2
- package/dist/artifacts/testnet/ton/internal/wrappers/JettonMinter.js +9 -2
- package/dist/src/assets/AssetFactory.js +2 -8
- package/dist/src/assets/FT.d.ts +10 -0
- package/dist/src/assets/FT.js +47 -0
- package/dist/src/assets/TON.d.ts +1 -2
- package/dist/src/assets/TON.js +0 -1
- package/dist/src/interfaces/Asset.d.ts +1 -2
- package/dist/src/interfaces/ISimulator.d.ts +0 -7
- package/dist/src/interfaces/ITONTransactionManager.d.ts +1 -20
- package/dist/src/interfaces/ITacSDK.d.ts +1 -10
- package/dist/src/sdk/Consts.d.ts +0 -1
- package/dist/src/sdk/Consts.js +1 -2
- package/dist/src/sdk/Simulator.d.ts +1 -20
- package/dist/src/sdk/Simulator.js +0 -160
- package/dist/src/sdk/StartTracking.d.ts +0 -1
- package/dist/src/sdk/StartTracking.js +33 -55
- package/dist/src/sdk/TONTransactionManager.d.ts +3 -4
- package/dist/src/sdk/TONTransactionManager.js +0 -23
- package/dist/src/sdk/TacSdk.d.ts +1 -2
- package/dist/src/sdk/TacSdk.js +0 -4
- package/dist/src/sdk/Utils.d.ts +5 -0
- package/dist/src/sdk/Utils.js +11 -0
- package/dist/src/structs/InternalStruct.d.ts +0 -3
- package/dist/src/structs/Struct.d.ts +1 -7
- package/package.json +2 -1
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.startTracking = startTracking;
|
|
4
7
|
exports.startTrackingMultiple = startTrackingMultiple;
|
|
5
|
-
|
|
8
|
+
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
6
9
|
const Struct_1 = require("../structs/Struct");
|
|
7
10
|
const Consts_1 = require("./Consts");
|
|
8
11
|
const Logger_1 = require("./Logger");
|
|
@@ -157,60 +160,35 @@ function formatExecutionStages(stages) {
|
|
|
157
160
|
bytesError: data.exists && data.stageData && data.stageData.note != null ? data.stageData.note.internalBytesError : '-',
|
|
158
161
|
}));
|
|
159
162
|
}
|
|
160
|
-
/**
|
|
161
|
-
* Simple table formatter that works in both browser and Node.js without external dependencies
|
|
162
|
-
*/
|
|
163
|
-
function createSimpleTable(headers, rows, colWidths) {
|
|
164
|
-
const lines = [];
|
|
165
|
-
// Helper to truncate and pad text to fit column width
|
|
166
|
-
const fitToWidth = (text, width) => {
|
|
167
|
-
// Handle multi-line text by taking only the first line for table cell
|
|
168
|
-
const firstLine = text.split('\n')[0];
|
|
169
|
-
if (firstLine.length > width - 2) {
|
|
170
|
-
return firstLine.substring(0, width - 5) + '...';
|
|
171
|
-
}
|
|
172
|
-
return firstLine.padEnd(width, ' ');
|
|
173
|
-
};
|
|
174
|
-
// Create separator line
|
|
175
|
-
const separator = '+' + colWidths.map((w) => '-'.repeat(w)).join('+') + '+';
|
|
176
|
-
// Create header row
|
|
177
|
-
const headerRow = '|' + headers.map((h, i) => fitToWidth(h, colWidths[i])).join('|') + '|';
|
|
178
|
-
lines.push(separator);
|
|
179
|
-
lines.push(headerRow);
|
|
180
|
-
lines.push(separator);
|
|
181
|
-
// Create data rows
|
|
182
|
-
rows.forEach((row) => {
|
|
183
|
-
const dataRow = '|' + row.map((cell, i) => fitToWidth(cell, colWidths[i])).join('|') + '|';
|
|
184
|
-
lines.push(dataRow);
|
|
185
|
-
});
|
|
186
|
-
lines.push(separator);
|
|
187
|
-
return lines.join('\n');
|
|
188
|
-
}
|
|
189
163
|
function printExecutionStagesTable(stages, logger) {
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
164
|
+
const table = new cli_table3_1.default({
|
|
165
|
+
head: [
|
|
166
|
+
'Stage',
|
|
167
|
+
'Exists',
|
|
168
|
+
'Success',
|
|
169
|
+
'Timestamp',
|
|
170
|
+
'Transactions',
|
|
171
|
+
'NoteContent',
|
|
172
|
+
'ErrorName',
|
|
173
|
+
'InternalMsg',
|
|
174
|
+
'BytesError',
|
|
175
|
+
],
|
|
176
|
+
colWidths: [30, 8, 9, 13, 70, 13, 13, 13, 13],
|
|
177
|
+
wordWrap: true,
|
|
178
|
+
});
|
|
202
179
|
const tableData = formatExecutionStages(stages);
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
180
|
+
tableData.forEach((row) => {
|
|
181
|
+
table.push([
|
|
182
|
+
row.stage,
|
|
183
|
+
row.exists,
|
|
184
|
+
row.success,
|
|
185
|
+
row.timestamp,
|
|
186
|
+
row.transactions,
|
|
187
|
+
row.noteContent,
|
|
188
|
+
row.errorName,
|
|
189
|
+
row.internalMsg,
|
|
190
|
+
row.bytesError,
|
|
191
|
+
]);
|
|
192
|
+
});
|
|
193
|
+
logger.debug(table.toString());
|
|
216
194
|
}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IConfiguration, ILogger, IOperationTracker, ISimulator, ITONTransactionManager } from '../interfaces';
|
|
2
2
|
import type { SenderAbstraction } from '../sender';
|
|
3
|
-
import { BatchCrossChainTx,
|
|
3
|
+
import { BatchCrossChainTx, CrossChainTransactionOptions, CrossChainTransactionsOptions, CrosschainTx, EvmProxyMsg, FeeParams, TransactionLinkerWithOperationId } from '../structs/Struct';
|
|
4
4
|
export declare class TONTransactionManager implements ITONTransactionManager {
|
|
5
5
|
private readonly config;
|
|
6
6
|
private readonly simulator;
|
|
7
7
|
private readonly operationTracker;
|
|
8
8
|
private readonly logger;
|
|
9
9
|
constructor(config: IConfiguration, simulator: ISimulator, operationTracker: IOperationTracker, logger?: ILogger);
|
|
10
|
-
buildFeeParams(options: CrossChainTransactionOptions, evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, tx: CrosschainTx): Promise<FeeParams>;
|
|
10
|
+
protected buildFeeParams(options: CrossChainTransactionOptions, evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, tx: CrosschainTx): Promise<FeeParams>;
|
|
11
11
|
private prepareCrossChainTransaction;
|
|
12
12
|
private generateCrossChainMessages;
|
|
13
13
|
sendCrossChainTransaction(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, tx: CrosschainTx): Promise<TransactionLinkerWithOperationId>;
|
|
14
14
|
sendCrossChainTransactions(sender: SenderAbstraction, txs: BatchCrossChainTx[], options?: CrossChainTransactionsOptions): Promise<TransactionLinkerWithOperationId[]>;
|
|
15
15
|
private prepareBatchTransactions;
|
|
16
16
|
private waitForOperationIds;
|
|
17
|
-
prepareCrossChainTransactionPayload(evmProxyMsg: EvmProxyMsg, senderAddress: string, assets?: Asset[], options?: CrossChainTransactionOptions): Promise<CrossChainPayloadResult[]>;
|
|
18
17
|
}
|
|
@@ -111,9 +111,6 @@ class TONTransactionManager {
|
|
|
111
111
|
address: this.config.TONParams.crossChainLayerAddress,
|
|
112
112
|
value: crossChainTonAmount + feeTonAmount + Consts_1.TRANSACTION_TON_AMOUNT,
|
|
113
113
|
payload: await ton.generatePayload({ excessReceiver: caller, evmData, feeParams }),
|
|
114
|
-
extra: {
|
|
115
|
-
networkFeeIncluded: Consts_1.TRANSACTION_TON_AMOUNT,
|
|
116
|
-
},
|
|
117
114
|
},
|
|
118
115
|
];
|
|
119
116
|
}
|
|
@@ -132,9 +129,6 @@ class TONTransactionManager {
|
|
|
132
129
|
address,
|
|
133
130
|
value: crossChainTonAmount + feeTonAmount + Consts_1.TRANSACTION_TON_AMOUNT,
|
|
134
131
|
payload,
|
|
135
|
-
extra: {
|
|
136
|
-
networkFeeIncluded: Consts_1.TRANSACTION_TON_AMOUNT,
|
|
137
|
-
},
|
|
138
132
|
});
|
|
139
133
|
crossChainTonAmount = 0n;
|
|
140
134
|
feeTonAmount = 0n;
|
|
@@ -222,22 +216,5 @@ class TONTransactionManager {
|
|
|
222
216
|
return transactionLinkers;
|
|
223
217
|
}
|
|
224
218
|
}
|
|
225
|
-
async prepareCrossChainTransactionPayload(evmProxyMsg, senderAddress, assets = [], options) {
|
|
226
|
-
this.logger.debug('Preparing cross-chain transaction payload');
|
|
227
|
-
const mockSender = {
|
|
228
|
-
getSenderAddress: () => senderAddress,
|
|
229
|
-
sendShardTransaction: async () => ({ success: true }),
|
|
230
|
-
sendShardTransactions: async () => [],
|
|
231
|
-
getBalance: async () => 0n,
|
|
232
|
-
getBalanceOf: async () => 0n,
|
|
233
|
-
};
|
|
234
|
-
const result = await this.prepareCrossChainTransaction(evmProxyMsg, mockSender, assets, options, true);
|
|
235
|
-
return result.transaction.messages.map((r) => ({
|
|
236
|
-
body: r.payload,
|
|
237
|
-
destinationAddress: r.address,
|
|
238
|
-
tonAmount: r.value,
|
|
239
|
-
networkFee: r.extra.networkFeeIncluded,
|
|
240
|
-
}));
|
|
241
|
-
}
|
|
242
219
|
}
|
|
243
220
|
exports.TONTransactionManager = TONTransactionManager;
|
package/dist/src/sdk/TacSdk.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { JettonMinterData, NFTItemData } from '../../artifacts/tonTypes';
|
|
|
3
3
|
import { FT, NFT } from '../assets';
|
|
4
4
|
import { IConfiguration, ILogger, IOperationTracker, ITacSDK } from '../interfaces';
|
|
5
5
|
import type { SenderAbstraction } from '../sender';
|
|
6
|
-
import { AssetFromFTArg, AssetFromNFTCollectionArg, AssetFromNFTItemArg, AssetLike, BatchCrossChainTxWithAssetLike,
|
|
6
|
+
import { AssetFromFTArg, AssetFromNFTCollectionArg, AssetFromNFTItemArg, AssetLike, BatchCrossChainTxWithAssetLike, CrossChainTransactionOptions, CrossChainTransactionsOptions, CrosschainTx, EVMAddress, EvmProxyMsg, ExecutionFeeEstimationResult, NFTAddressType, SDKParams, SuggestedTVMExecutorFee, TACSimulationParams, TACSimulationResult, TransactionLinkerWithOperationId, TVMAddress, UserWalletBalanceExtended } from '../structs/Struct';
|
|
7
7
|
export declare class TacSdk implements ITacSDK {
|
|
8
8
|
readonly config: IConfiguration;
|
|
9
9
|
readonly operationTracker: IOperationTracker;
|
|
@@ -41,5 +41,4 @@ export declare class TacSdk implements ITacSDK {
|
|
|
41
41
|
getTVMNFTAddress(evmNFTAddress: string, tokenId?: number | bigint): Promise<string>;
|
|
42
42
|
getEVMNFTAddress(tvmNFTAddress: string, addressType: NFTAddressType): Promise<string>;
|
|
43
43
|
getOperationTracker(): IOperationTracker;
|
|
44
|
-
prepareCrossChainTransactionPayload(evmProxyMsg: EvmProxyMsg, senderAddress: string, assets?: AssetLike[], options?: CrossChainTransactionOptions): Promise<CrossChainPayloadResult[]>;
|
|
45
44
|
}
|
package/dist/src/sdk/TacSdk.js
CHANGED
|
@@ -177,9 +177,5 @@ class TacSdk {
|
|
|
177
177
|
getOperationTracker() {
|
|
178
178
|
return this.operationTracker;
|
|
179
179
|
}
|
|
180
|
-
async prepareCrossChainTransactionPayload(evmProxyMsg, senderAddress, assets = [], options) {
|
|
181
|
-
const normalizedAssets = await (0, Utils_1.normalizeAssets)(this.config, assets);
|
|
182
|
-
return this.tonTransactionManager.prepareCrossChainTransactionPayload(evmProxyMsg, senderAddress, normalizedAssets, options);
|
|
183
|
-
}
|
|
184
180
|
}
|
|
185
181
|
exports.TacSdk = TacSdk;
|
package/dist/src/sdk/Utils.d.ts
CHANGED
|
@@ -32,3 +32,8 @@ export declare function normalizeAssets(config: IConfiguration, assets?: AssetLi
|
|
|
32
32
|
export declare function getAddressString(cell?: Cell): string;
|
|
33
33
|
export declare function getNumber(len: number, cell?: Cell): number;
|
|
34
34
|
export declare function getString(cell?: Cell): string;
|
|
35
|
+
/**
|
|
36
|
+
* Multiply-divide with rounding (muldivr)
|
|
37
|
+
* Calculates (a * b + c / 2) / c with proper rounding
|
|
38
|
+
*/
|
|
39
|
+
export declare function muldivr(a: bigint, b: bigint, c: bigint): bigint;
|
package/dist/src/sdk/Utils.js
CHANGED
|
@@ -19,6 +19,7 @@ exports.normalizeAssets = normalizeAssets;
|
|
|
19
19
|
exports.getAddressString = getAddressString;
|
|
20
20
|
exports.getNumber = getNumber;
|
|
21
21
|
exports.getString = getString;
|
|
22
|
+
exports.muldivr = muldivr;
|
|
22
23
|
const ton_1 = require("@ton/ton");
|
|
23
24
|
const ethers_1 = require("ethers");
|
|
24
25
|
const ton_crypto_1 = require("ton-crypto");
|
|
@@ -299,3 +300,13 @@ function getNumber(len, cell) {
|
|
|
299
300
|
function getString(cell) {
|
|
300
301
|
return cell?.beginParse().loadStringTail() ?? '';
|
|
301
302
|
}
|
|
303
|
+
/**
|
|
304
|
+
* Multiply-divide with rounding (muldivr)
|
|
305
|
+
* Calculates (a * b + c / 2) / c with proper rounding
|
|
306
|
+
*/
|
|
307
|
+
function muldivr(a, b, c) {
|
|
308
|
+
if (c === 0n) {
|
|
309
|
+
throw new Error('Division by zero in muldivr');
|
|
310
|
+
}
|
|
311
|
+
return (a * b + c / 2n) / c;
|
|
312
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SandboxContract } from '@ton/sandbox';
|
|
2
|
-
import {
|
|
2
|
+
import { OpenedContract } from '@ton/ton';
|
|
3
3
|
import { AbstractProvider } from 'ethers';
|
|
4
4
|
import { JettonMinter, JettonMinterData } from '../../artifacts/tonTypes';
|
|
5
5
|
import type { FT, NFT } from '../assets';
|
|
@@ -418,9 +418,3 @@ export type FTOriginAndData = {
|
|
|
418
418
|
evmAddress?: string;
|
|
419
419
|
jettonData?: JettonMinterData;
|
|
420
420
|
};
|
|
421
|
-
export type CrossChainPayloadResult = {
|
|
422
|
-
body: Cell;
|
|
423
|
-
destinationAddress: string;
|
|
424
|
-
tonAmount: bigint;
|
|
425
|
-
networkFee: bigint;
|
|
426
|
-
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tonappchain/sdk",
|
|
3
|
-
"version": "0.7.2-
|
|
3
|
+
"version": "0.7.2-scaled-ui-support-1",
|
|
4
4
|
"repository": "https://github.com/TacBuild/tac-sdk.git",
|
|
5
5
|
"author": "TAC. <developers@tac>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -73,6 +73,7 @@
|
|
|
73
73
|
"@tonappchain/ton-lite-client": "3.0.6",
|
|
74
74
|
"@tonconnect/ui": "^2.0.11",
|
|
75
75
|
"bn.js": "^5.2.1",
|
|
76
|
+
"cli-table3": "^0.6.5",
|
|
76
77
|
"dotenv": "^16.4.7",
|
|
77
78
|
"ethers": "^6.13.5",
|
|
78
79
|
"ton-crypto": "^3.2.0"
|