@tonappchain/sdk 0.6.6-mainnet-alpha → 0.7.0-rc10
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/LICENSE +20 -20
- package/README.md +191 -191
- package/dist/adapters/contractOpener.d.ts +6 -5
- package/dist/adapters/contractOpener.js +6 -6
- package/dist/adapters/retryableContractOpener.d.ts +9 -5
- package/dist/adapters/retryableContractOpener.js +2 -2
- package/dist/assets/AssetCache.d.ts +23 -0
- package/dist/assets/AssetCache.js +36 -0
- package/dist/assets/AssetFactory.d.ts +7 -0
- package/dist/assets/AssetFactory.js +46 -0
- package/dist/assets/FT.d.ts +58 -0
- package/dist/assets/FT.js +231 -0
- package/dist/assets/NFT.d.ts +65 -0
- package/dist/assets/NFT.js +210 -0
- package/dist/assets/TON.d.ts +38 -0
- package/dist/assets/TON.js +91 -0
- package/dist/assets/index.d.ts +4 -0
- package/dist/assets/index.js +11 -0
- package/dist/errors/errors.d.ts +6 -0
- package/dist/errors/errors.js +15 -1
- package/dist/errors/index.d.ts +2 -2
- package/dist/errors/index.js +26 -22
- package/dist/errors/instances.d.ts +4 -1
- package/dist/errors/instances.js +11 -2
- package/dist/index.d.ts +7 -0
- package/dist/index.js +14 -1
- package/dist/interfaces/IAsset.d.ts +73 -0
- package/dist/interfaces/IAsset.js +2 -0
- package/dist/interfaces/IConfiguration.d.ts +35 -0
- package/dist/interfaces/IConfiguration.js +2 -0
- package/dist/interfaces/IContractOpener.d.ts +21 -0
- package/dist/interfaces/IContractOpener.js +2 -0
- package/dist/interfaces/IHttpClient.d.ts +16 -0
- package/dist/interfaces/IHttpClient.js +2 -0
- package/dist/interfaces/ILiteSequencerClient.d.ts +30 -0
- package/dist/interfaces/ILiteSequencerClient.js +2 -0
- package/dist/interfaces/ILiteSequencerClientFactory.d.ts +9 -0
- package/dist/interfaces/ILiteSequencerClientFactory.js +2 -0
- package/dist/interfaces/ILogger.d.ts +10 -0
- package/dist/interfaces/ILogger.js +2 -0
- package/dist/interfaces/IOperationTracker.d.ts +66 -0
- package/dist/interfaces/IOperationTracker.js +2 -0
- package/dist/interfaces/ISender.d.ts +35 -0
- package/dist/interfaces/ISender.js +2 -0
- package/dist/interfaces/ISimulator.d.ts +47 -0
- package/dist/interfaces/ISimulator.js +2 -0
- package/dist/interfaces/ITacSDK.d.ts +147 -0
- package/dist/interfaces/ITacSDK.js +2 -0
- package/dist/interfaces/ITransactionManager.d.ts +35 -0
- package/dist/interfaces/ITransactionManager.js +2 -0
- package/dist/interfaces/IWallet.d.ts +20 -0
- package/dist/interfaces/IWallet.js +2 -0
- package/dist/interfaces/index.d.ts +13 -0
- package/dist/interfaces/index.js +29 -0
- package/dist/sdk/AxiosHttpClient.d.ts +12 -0
- package/dist/sdk/AxiosHttpClient.js +23 -0
- package/dist/sdk/Configuration.d.ts +21 -0
- package/dist/sdk/Configuration.js +90 -0
- package/dist/sdk/LiteSequencerClient.d.ts +6 -2
- package/dist/sdk/LiteSequencerClient.js +58 -14
- package/dist/sdk/Logger.d.ts +13 -0
- package/dist/sdk/Logger.js +25 -0
- package/dist/sdk/OperationTracker.d.ts +10 -5
- package/dist/sdk/OperationTracker.js +87 -45
- package/dist/sdk/Simulator.d.ts +17 -0
- package/dist/sdk/Simulator.js +163 -0
- package/dist/sdk/StartTracking.d.ts +6 -0
- package/dist/sdk/StartTracking.js +69 -32
- package/dist/sdk/TacSdk.d.ts +27 -44
- package/dist/sdk/TacSdk.js +121 -816
- package/dist/sdk/TransactionManager.d.ts +22 -0
- package/dist/sdk/TransactionManager.js +272 -0
- package/dist/sdk/TxFinalizer.d.ts +10 -0
- package/dist/sdk/TxFinalizer.js +104 -0
- package/dist/sdk/Utils.d.ts +7 -2
- package/dist/sdk/Utils.js +43 -24
- package/dist/sdk/Validator.d.ts +9 -0
- package/dist/sdk/Validator.js +43 -0
- package/dist/sender/BatchSender.d.ts +7 -5
- package/dist/sender/BatchSender.js +18 -6
- package/dist/sender/RawSender.d.ts +11 -6
- package/dist/sender/RawSender.js +46 -18
- package/dist/sender/SenderFactory.d.ts +2 -2
- package/dist/sender/SenderFactory.js +5 -4
- package/dist/sender/TonConnectSender.d.ts +7 -5
- package/dist/sender/TonConnectSender.js +14 -10
- package/dist/sender/index.d.ts +2 -2
- package/dist/sender/index.js +2 -2
- package/dist/structs/InternalStruct.d.ts +52 -33
- package/dist/structs/Struct.d.ts +92 -94
- package/dist/structs/Struct.js +11 -1
- package/dist/wrappers/HighloadQueryId.js +0 -1
- package/dist/wrappers/HighloadWalletV3.d.ts +4 -3
- package/dist/wrappers/HighloadWalletV3.js +5 -2
- package/package.json +67 -67
- package/dist/sender/SenderAbstraction.d.ts +0 -20
- package/dist/sender/SenderAbstraction.js +0 -5
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { TxFinalizerConfig } from '../structs/InternalStruct';
|
|
2
|
+
import { ILogger } from '../interfaces';
|
|
1
3
|
import { ExecutionStages, Network, TransactionLinker } from '../structs/Struct';
|
|
2
4
|
export declare function startTracking(transactionLinker: TransactionLinker, network: Network, options?: {
|
|
3
5
|
customLiteSequencerEndpoints?: string[];
|
|
@@ -5,6 +7,8 @@ export declare function startTracking(transactionLinker: TransactionLinker, netw
|
|
|
5
7
|
maxIterationCount?: number;
|
|
6
8
|
returnValue?: boolean;
|
|
7
9
|
tableView?: boolean;
|
|
10
|
+
txFinalizerConfig?: TxFinalizerConfig;
|
|
11
|
+
logger?: ILogger;
|
|
8
12
|
}): Promise<void | ExecutionStages>;
|
|
9
13
|
export declare function startTrackingMultiple(transactionLinkers: TransactionLinker[], network: Network, options?: {
|
|
10
14
|
customLiteSequencerEndpoints?: string[];
|
|
@@ -12,4 +16,6 @@ export declare function startTrackingMultiple(transactionLinkers: TransactionLin
|
|
|
12
16
|
maxIterationCount?: number;
|
|
13
17
|
returnValue?: boolean;
|
|
14
18
|
tableView?: boolean;
|
|
19
|
+
txFinalizerConfig?: TxFinalizerConfig;
|
|
20
|
+
logger?: ILogger;
|
|
15
21
|
}): Promise<void | ExecutionStages[]>;
|
|
@@ -5,19 +5,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.startTracking = startTracking;
|
|
7
7
|
exports.startTrackingMultiple = startTrackingMultiple;
|
|
8
|
+
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
8
9
|
const Struct_1 = require("../structs/Struct");
|
|
9
10
|
const Consts_1 = require("./Consts");
|
|
11
|
+
const Logger_1 = require("./Logger");
|
|
10
12
|
const OperationTracker_1 = require("./OperationTracker");
|
|
13
|
+
const TxFinalizer_1 = require("./TxFinalizer");
|
|
11
14
|
const Utils_1 = require("./Utils");
|
|
12
|
-
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
13
15
|
async function startTracking(transactionLinker, network, options) {
|
|
14
|
-
const { customLiteSequencerEndpoints, delay = 10, maxIterationCount = Consts_1.MAX_ITERATION_COUNT, returnValue = false, tableView = true, } = options || {};
|
|
15
|
-
const tracker = new OperationTracker_1.OperationTracker(network, customLiteSequencerEndpoints);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
const { customLiteSequencerEndpoints, delay = 10, maxIterationCount = Consts_1.MAX_ITERATION_COUNT, returnValue = false, tableView = true, txFinalizerConfig, logger = new Logger_1.NoopLogger(), } = options || {};
|
|
17
|
+
const tracker = new OperationTracker_1.OperationTracker(network, customLiteSequencerEndpoints, logger);
|
|
18
|
+
logger.debug('Start tracking operation');
|
|
19
|
+
logger.debug('caller: ' + transactionLinker.caller);
|
|
20
|
+
logger.debug('shardsKey: ' + transactionLinker.shardsKey);
|
|
21
|
+
logger.debug('shardCount: ' + transactionLinker.shardCount);
|
|
22
|
+
logger.debug('timestamp: ' + transactionLinker.timestamp);
|
|
21
23
|
let operationId = '';
|
|
22
24
|
let iteration = 0; // number of iterations
|
|
23
25
|
let operationType = '';
|
|
@@ -31,11 +33,13 @@ async function startTracking(transactionLinker, network, options) {
|
|
|
31
33
|
break;
|
|
32
34
|
}
|
|
33
35
|
if (operationId == '') {
|
|
34
|
-
|
|
36
|
+
logger.debug('request operationId');
|
|
35
37
|
try {
|
|
36
38
|
operationId = await tracker.getOperationId(transactionLinker);
|
|
37
39
|
}
|
|
38
|
-
catch
|
|
40
|
+
catch {
|
|
41
|
+
// Ignore error and continue
|
|
42
|
+
}
|
|
39
43
|
}
|
|
40
44
|
else {
|
|
41
45
|
try {
|
|
@@ -45,47 +49,73 @@ async function startTracking(transactionLinker, network, options) {
|
|
|
45
49
|
}
|
|
46
50
|
}
|
|
47
51
|
catch (err) {
|
|
48
|
-
|
|
52
|
+
logger.debug('failed to get operation type: ' + err);
|
|
49
53
|
}
|
|
50
|
-
|
|
51
|
-
operationId: ${operationId}
|
|
52
|
-
operationType: ${operationType}
|
|
53
|
-
time: ${new Date().toISOString()} (${Math.floor(+new Date() / 1000)})
|
|
54
|
+
logger.debug(`
|
|
55
|
+
operationId: ${operationId}
|
|
56
|
+
operationType: ${operationType}
|
|
57
|
+
time: ${new Date().toISOString()} (${Math.floor(+new Date() / 1000)})
|
|
54
58
|
`);
|
|
55
59
|
}
|
|
56
60
|
await (0, Utils_1.sleep)(delay * 1000);
|
|
57
61
|
}
|
|
58
|
-
|
|
62
|
+
logger.debug('Tracking finished');
|
|
59
63
|
if (!ok) {
|
|
60
64
|
if (returnValue) {
|
|
61
65
|
throw Error(errorMessage);
|
|
62
66
|
}
|
|
63
|
-
|
|
67
|
+
logger.debug(errorMessage);
|
|
64
68
|
}
|
|
65
69
|
const profilingData = await tracker.getStageProfiling(operationId);
|
|
70
|
+
// Check if EXECUTED_IN_TON stage exists and use TxFinalizer to verify transaction success
|
|
71
|
+
if (profilingData.executedInTON.exists && profilingData.executedInTON.stageData?.transactions) {
|
|
72
|
+
logger.debug('EXECUTED_IN_TON stage found, verifying transaction success in TON...');
|
|
73
|
+
if (txFinalizerConfig) {
|
|
74
|
+
const txFinalizer = new TxFinalizer_1.TonTxFinalizer(txFinalizerConfig, logger);
|
|
75
|
+
const transactions = profilingData.executedInTON.stageData.transactions;
|
|
76
|
+
for (const tx of transactions) {
|
|
77
|
+
try {
|
|
78
|
+
logger.debug(`Verifying transaction: ${tx.hash}`);
|
|
79
|
+
await txFinalizer.trackTransactionTree(tx.hash);
|
|
80
|
+
logger.debug(`Transaction ${tx.hash} verified successfully in TON`);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
logger.debug(`Transaction ${tx.hash} failed verification in TON: ${error}`);
|
|
84
|
+
if (returnValue) {
|
|
85
|
+
throw error;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
logger.debug('TxFinalizer config not provided, skipping TON transaction verification');
|
|
92
|
+
}
|
|
93
|
+
}
|
|
66
94
|
if (returnValue) {
|
|
67
95
|
return profilingData;
|
|
68
96
|
}
|
|
69
|
-
|
|
70
|
-
|
|
97
|
+
logger.debug(profilingData.operationType);
|
|
98
|
+
logger.debug(profilingData.metaInfo);
|
|
71
99
|
if (tableView) {
|
|
72
|
-
printExecutionStagesTable(profilingData);
|
|
100
|
+
printExecutionStagesTable(profilingData, logger);
|
|
73
101
|
}
|
|
74
102
|
else {
|
|
75
|
-
|
|
103
|
+
logger.debug(formatExecutionStages(profilingData));
|
|
76
104
|
}
|
|
77
105
|
}
|
|
78
106
|
async function startTrackingMultiple(transactionLinkers, network, options) {
|
|
79
|
-
const { customLiteSequencerEndpoints, delay = 10, maxIterationCount = Consts_1.MAX_ITERATION_COUNT, returnValue = false, tableView = true, } = options || {};
|
|
80
|
-
|
|
107
|
+
const { customLiteSequencerEndpoints, delay = 10, maxIterationCount = Consts_1.MAX_ITERATION_COUNT, returnValue = false, tableView = true, txFinalizerConfig, logger = new Logger_1.NoopLogger(), } = options || {};
|
|
108
|
+
logger.debug(`Start tracking ${transactionLinkers.length} operations`);
|
|
81
109
|
const results = await Promise.all(transactionLinkers.map((linker, index) => {
|
|
82
|
-
|
|
110
|
+
logger.debug(`\nProcessing operation ${index + 1}/${transactionLinkers.length}`);
|
|
83
111
|
return startTracking(linker, network, {
|
|
84
112
|
customLiteSequencerEndpoints,
|
|
85
113
|
delay,
|
|
86
114
|
maxIterationCount,
|
|
87
115
|
returnValue: true,
|
|
88
116
|
tableView: false,
|
|
117
|
+
txFinalizerConfig,
|
|
118
|
+
logger,
|
|
89
119
|
});
|
|
90
120
|
}));
|
|
91
121
|
if (returnValue) {
|
|
@@ -93,20 +123,27 @@ async function startTrackingMultiple(transactionLinkers, network, options) {
|
|
|
93
123
|
}
|
|
94
124
|
if (tableView) {
|
|
95
125
|
results.forEach((result, index) => {
|
|
96
|
-
|
|
97
|
-
printExecutionStagesTable(result);
|
|
126
|
+
logger.debug(`\nResults for operation ${index + 1}:`);
|
|
127
|
+
printExecutionStagesTable(result, logger);
|
|
98
128
|
});
|
|
99
129
|
}
|
|
100
130
|
else {
|
|
101
131
|
results.forEach((result, index) => {
|
|
102
|
-
|
|
103
|
-
|
|
132
|
+
logger.debug(`\nResults for operation ${index + 1}:`);
|
|
133
|
+
logger.debug(formatExecutionStages(result));
|
|
104
134
|
});
|
|
105
135
|
}
|
|
106
136
|
}
|
|
107
137
|
function formatExecutionStages(stages) {
|
|
108
|
-
const {
|
|
109
|
-
return Object.entries(
|
|
138
|
+
const { collectedInTAC, includedInTACConsensus, executedInTAC, collectedInTON, includedInTONConsensus, executedInTON, } = stages;
|
|
139
|
+
return Object.entries({
|
|
140
|
+
collectedInTAC,
|
|
141
|
+
includedInTACConsensus,
|
|
142
|
+
executedInTAC,
|
|
143
|
+
collectedInTON,
|
|
144
|
+
includedInTONConsensus,
|
|
145
|
+
executedInTON,
|
|
146
|
+
}).map(([stage, data]) => ({
|
|
110
147
|
stage: stage,
|
|
111
148
|
exists: data.exists ? 'Yes' : 'No',
|
|
112
149
|
success: data.exists && data.stageData ? (data.stageData.success ? 'Yes' : 'No') : '-',
|
|
@@ -123,7 +160,7 @@ function formatExecutionStages(stages) {
|
|
|
123
160
|
bytesError: data.exists && data.stageData && data.stageData.note != null ? data.stageData.note.internalBytesError : '-',
|
|
124
161
|
}));
|
|
125
162
|
}
|
|
126
|
-
function printExecutionStagesTable(stages) {
|
|
163
|
+
function printExecutionStagesTable(stages, logger) {
|
|
127
164
|
const table = new cli_table3_1.default({
|
|
128
165
|
head: [
|
|
129
166
|
'Stage',
|
|
@@ -153,5 +190,5 @@ function printExecutionStagesTable(stages) {
|
|
|
153
190
|
row.bytesError,
|
|
154
191
|
]);
|
|
155
192
|
});
|
|
156
|
-
|
|
193
|
+
logger.debug(table.toString());
|
|
157
194
|
}
|
package/dist/sdk/TacSdk.d.ts
CHANGED
|
@@ -1,57 +1,40 @@
|
|
|
1
|
-
import { mainnet, testnet } from '@tonappchain/artifacts';
|
|
2
1
|
import { Wallet } from 'ethers';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
readonly
|
|
10
|
-
readonly
|
|
11
|
-
readonly
|
|
12
|
-
readonly TACParams: InternalTACParams;
|
|
13
|
-
readonly liteSequencerEndpoints: string[];
|
|
14
|
-
readonly operationTracker: OperationTracker;
|
|
15
|
-
readonly debug: boolean;
|
|
2
|
+
import { FT, NFT } from '../assets';
|
|
3
|
+
import type { ISender } from '../sender';
|
|
4
|
+
import { IAsset, CrossChainTransactionOptions, CrosschainTx, EVMAddress, EvmProxyMsg, ExecutionFeeEstimationResult, NFTAddressType, NFTItemData, OperationIdsByShardsKey, SDKParams, SuggestedTONExecutorFee, TACSimulationRequest, TACSimulationResult, TransactionLinkerWithOperationId, TVMAddress, UserWalletBalanceExtended, WaitOptions, AssetFromFTArg, AssetFromNFTCollectionArg, AssetFromNFTItemArg } from '../structs/Struct';
|
|
5
|
+
import { IConfiguration, ILogger, ITacSDK } from '../interfaces';
|
|
6
|
+
import { JettonMasterData } from '../wrappers/JettonMaster';
|
|
7
|
+
export declare class TacSdk implements ITacSDK {
|
|
8
|
+
readonly config: IConfiguration;
|
|
9
|
+
private readonly simulator;
|
|
10
|
+
private readonly transactionManager;
|
|
16
11
|
private constructor();
|
|
17
|
-
static create(sdkParams: SDKParams): Promise<TacSdk>;
|
|
18
|
-
private static prepareTONParams;
|
|
19
|
-
private static prepareTACParams;
|
|
12
|
+
static create(sdkParams: SDKParams, logger?: ILogger): Promise<TacSdk>;
|
|
20
13
|
closeConnections(): unknown;
|
|
21
14
|
get nativeTONAddress(): string;
|
|
22
15
|
nativeTACAddress(): Promise<string>;
|
|
16
|
+
get getTrustedTACExecutors(): string[];
|
|
17
|
+
get getTrustedTONExecutors(): string[];
|
|
18
|
+
getTransactionSimulationInfo(evmProxyMsg: EvmProxyMsg, sender: ISender, assets?: IAsset[]): Promise<ExecutionFeeEstimationResult>;
|
|
19
|
+
getTVMExecutorFeeInfo(assets: IAsset[], feeSymbol: string, tvmValidExecutors?: string[]): Promise<SuggestedTONExecutorFee>;
|
|
20
|
+
sendCrossChainTransaction(evmProxyMsg: EvmProxyMsg, sender: ISender, assets?: IAsset[], options?: CrossChainTransactionOptions, waitOptions?: WaitOptions<string>): Promise<TransactionLinkerWithOperationId>;
|
|
21
|
+
sendCrossChainTransactions(sender: ISender, txs: CrosschainTx[], waitOptions?: WaitOptions<OperationIdsByShardsKey>): Promise<TransactionLinkerWithOperationId[]>;
|
|
22
|
+
bridgeTokensToTON(signer: Wallet, value: bigint, tonTarget: string, assets?: IAsset[], tvmExecutorFee?: bigint, tvmValidExecutors?: string[]): Promise<string>;
|
|
23
|
+
isContractDeployedOnTVM(address: string): Promise<boolean>;
|
|
24
|
+
simulateTACMessage(req: TACSimulationRequest): Promise<TACSimulationResult>;
|
|
25
|
+
simulateTransactions(sender: ISender, txs: CrosschainTx[]): Promise<TACSimulationResult[]>;
|
|
26
|
+
getAsset(args: AssetFromFTArg): Promise<FT>;
|
|
27
|
+
getAsset(args: AssetFromNFTCollectionArg): Promise<NFT>;
|
|
28
|
+
getAsset(args: AssetFromNFTItemArg): Promise<NFT>;
|
|
23
29
|
getUserJettonWalletAddress(userAddress: string, tokenAddress: string): Promise<string>;
|
|
24
30
|
getUserJettonBalance(userAddress: string, tokenAddress: string): Promise<bigint>;
|
|
25
31
|
getUserJettonBalanceExtended(userAddress: string, tokenAddress: string): Promise<UserWalletBalanceExtended>;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
private getTonTransferPayload;
|
|
31
|
-
private debugLog;
|
|
32
|
-
private getJettonOpType;
|
|
33
|
-
private getNFTOpType;
|
|
34
|
-
private getNFTItemAddressTON;
|
|
35
|
-
getNFTItemData(itemAddress: string): Promise<NFTItemData>;
|
|
36
|
-
private aggregateTokens;
|
|
37
|
-
private generateJettonPayload;
|
|
38
|
-
private generateNFTPayload;
|
|
39
|
-
private generateCrossChainMessages;
|
|
40
|
-
private getRawAmount;
|
|
41
|
-
private convertAssetsToRawFormat;
|
|
42
|
-
private getFeeInfo;
|
|
43
|
-
getTransactionSimulationInfo(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, assets?: AssetBridgingData[]): Promise<ExecutionFeeEstimationResult>;
|
|
44
|
-
getTVMExecutorFeeInfo(assets: AssetBridgingData[], feeSymbol: string): Promise<SuggestedTONExecutorFee>;
|
|
45
|
-
private prepareCrossChainTransaction;
|
|
46
|
-
sendCrossChainTransaction(evmProxyMsg: EvmProxyMsg, sender: SenderAbstraction, assets?: AssetBridgingData[], options?: CrossChainTransactionOptions, waitOptions?: WaitOptions<string>): Promise<TransactionLinkerWithOperationId>;
|
|
47
|
-
sendCrossChainTransactions(sender: SenderAbstraction, txs: CrosschainTx[], waitOptions?: WaitOptions<OperationIdsByShardsKey>): Promise<TransactionLinkerWithOperationId[]>;
|
|
48
|
-
bridgeTokensToTON(signer: Wallet, value: bigint, tonTarget: string, assets?: RawAssetBridgingData<WithAddressNFTCollectionItem>[], tvmExecutorFee?: bigint): Promise<string>;
|
|
49
|
-
get getTrustedTACExecutors(): string[];
|
|
50
|
-
get getTrustedTONExecutors(): string[];
|
|
32
|
+
getJettonData(itemAddress: TVMAddress): Promise<JettonMasterData>;
|
|
33
|
+
getFT(address: TVMAddress | EVMAddress): Promise<FT>;
|
|
34
|
+
getNFTItemData(itemAddress: TVMAddress): Promise<NFTItemData>;
|
|
35
|
+
getNFT(args: AssetFromNFTCollectionArg | AssetFromNFTItemArg): Promise<NFT>;
|
|
51
36
|
getEVMTokenAddress(tvmTokenAddress: string): Promise<string>;
|
|
52
37
|
getTVMTokenAddress(evmTokenAddress: string): Promise<string>;
|
|
53
38
|
getTVMNFTAddress(evmNFTAddress: string, tokenId?: number | bigint): Promise<string>;
|
|
54
39
|
getEVMNFTAddress(tvmNFTAddress: string, addressType: NFTAddressType): Promise<string>;
|
|
55
|
-
isContractDeployedOnTVM(address: string): Promise<boolean>;
|
|
56
|
-
simulateTACMessage(req: TACSimulationRequest): Promise<TACSimulationResult>;
|
|
57
40
|
}
|