@tonappchain/sdk 0.6.5-mainnet-alpha → 0.7.0-rc7

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 (68) hide show
  1. package/dist/adapters/contractOpener.d.ts +1 -1
  2. package/dist/adapters/contractOpener.js +7 -8
  3. package/dist/adapters/retryableContractOpener.d.ts +21 -0
  4. package/dist/adapters/retryableContractOpener.js +101 -0
  5. package/dist/assets/AssetCache.d.ts +23 -0
  6. package/dist/assets/AssetCache.js +36 -0
  7. package/dist/assets/AssetFactory.d.ts +19 -0
  8. package/dist/assets/AssetFactory.js +45 -0
  9. package/dist/assets/FT.d.ts +55 -0
  10. package/dist/assets/FT.js +206 -0
  11. package/dist/assets/NFT.d.ts +69 -0
  12. package/dist/assets/NFT.js +200 -0
  13. package/dist/assets/TON.d.ts +38 -0
  14. package/dist/assets/TON.js +91 -0
  15. package/dist/assets/index.d.ts +4 -0
  16. package/dist/assets/index.js +11 -0
  17. package/dist/errors/errors.d.ts +6 -0
  18. package/dist/errors/errors.js +15 -1
  19. package/dist/errors/index.d.ts +2 -2
  20. package/dist/errors/index.js +26 -21
  21. package/dist/errors/instances.d.ts +9 -4
  22. package/dist/errors/instances.js +19 -5
  23. package/dist/index.d.ts +12 -6
  24. package/dist/index.js +24 -13
  25. package/dist/sdk/Configuration.d.ts +21 -0
  26. package/dist/sdk/Configuration.js +90 -0
  27. package/dist/sdk/LiteSequencerClient.d.ts +1 -1
  28. package/dist/sdk/LiteSequencerClient.js +5 -11
  29. package/dist/sdk/Logger.d.ts +13 -0
  30. package/dist/sdk/Logger.js +25 -0
  31. package/dist/sdk/OperationTracker.d.ts +21 -6
  32. package/dist/sdk/OperationTracker.js +155 -75
  33. package/dist/sdk/Simulator.d.ts +23 -0
  34. package/dist/sdk/Simulator.js +169 -0
  35. package/dist/sdk/StartTracking.d.ts +6 -0
  36. package/dist/sdk/StartTracking.js +66 -29
  37. package/dist/sdk/TacSdk.d.ts +12 -41
  38. package/dist/sdk/TacSdk.js +69 -712
  39. package/dist/sdk/TransactionManager.d.ts +22 -0
  40. package/dist/sdk/TransactionManager.js +264 -0
  41. package/dist/sdk/TxFinalizer.d.ts +10 -0
  42. package/dist/sdk/TxFinalizer.js +104 -0
  43. package/dist/sdk/Utils.d.ts +12 -4
  44. package/dist/sdk/Utils.js +80 -16
  45. package/dist/sdk/Validator.d.ts +9 -0
  46. package/dist/sdk/Validator.js +43 -0
  47. package/dist/sender/BatchSender.d.ts +7 -4
  48. package/dist/sender/BatchSender.js +18 -6
  49. package/dist/sender/RawSender.d.ts +9 -4
  50. package/dist/sender/RawSender.js +46 -18
  51. package/dist/sender/SenderAbstraction.d.ts +5 -3
  52. package/dist/sender/SenderFactory.d.ts +1 -1
  53. package/dist/sender/SenderFactory.js +5 -4
  54. package/dist/sender/TonConnectSender.d.ts +5 -3
  55. package/dist/sender/TonConnectSender.js +12 -8
  56. package/dist/sender/index.d.ts +1 -1
  57. package/dist/sender/index.js +1 -1
  58. package/dist/structs/InternalStruct.d.ts +36 -33
  59. package/dist/structs/Services.d.ts +40 -0
  60. package/dist/structs/Services.js +2 -0
  61. package/dist/structs/Struct.d.ts +100 -79
  62. package/dist/structs/Struct.js +11 -1
  63. package/dist/wrappers/HighloadQueryId.js +0 -1
  64. package/dist/wrappers/HighloadWalletV3.d.ts +3 -2
  65. package/dist/wrappers/HighloadWalletV3.js +5 -2
  66. package/dist/wrappers/JettonWallet.d.ts +11 -2
  67. package/dist/wrappers/JettonWallet.js +33 -16
  68. package/package.json +2 -2
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NFT = void 0;
4
+ const ton_1 = require("@ton/ton");
5
+ const wrappers_1 = require("@tonappchain/artifacts/dist/src/ton/wrappers");
6
+ const ethers_1 = require("ethers");
7
+ const errors_1 = require("../errors");
8
+ const Consts_1 = require("../sdk/Consts");
9
+ const Utils_1 = require("../sdk/Utils");
10
+ const Validator_1 = require("../sdk/Validator");
11
+ const InternalStruct_1 = require("../structs/InternalStruct");
12
+ const Struct_1 = require("../structs/Struct");
13
+ class NFT {
14
+ /**
15
+ * @description Create NFT from item address. Item MUST BE deployed on TON.
16
+ * @param configuration - Configuration
17
+ * @param item - Item address (TVM address)
18
+ * @param origin - Origin
19
+ * @returns NFT
20
+ */
21
+ static async fromItem(configuration, item) {
22
+ Validator_1.Validator.validateTVMAddress(item);
23
+ const nftItem = configuration.TONParams.contractOpener.open(wrappers_1.NFTItem.createFromAddress(ton_1.Address.parse(item)));
24
+ const { collectionAddress, index } = await nftItem.getNFTData();
25
+ const origin = await NFT.getOrigin(configuration, item);
26
+ return new NFT({ item, collection: collectionAddress.toString(), index: BigInt(index) }, origin, configuration);
27
+ }
28
+ /**
29
+ * @description Create NFT from collection address. TON-native assets MUST BE deployed on TON.
30
+ * @param configuration - Configuration
31
+ * @param item - Item address (TVM address)
32
+ * @param origin - Origin
33
+ * @returns NFT
34
+ */
35
+ static async fromCollection(configuration, item) {
36
+ const tvmCollectionAddress = (0, ethers_1.isAddress)(item.collection)
37
+ ? await this.getTVMAddress(configuration, item.collection)
38
+ : item.collection;
39
+ const origin = await NFT.getOrigin(configuration, tvmCollectionAddress).catch((e) => {
40
+ if (e instanceof errors_1.ContractError) {
41
+ return Struct_1.Origin.TAC;
42
+ }
43
+ throw e;
44
+ });
45
+ const nftCollection = configuration.TONParams.contractOpener.open(wrappers_1.NFTCollection.createFromAddress(ton_1.Address.parse(tvmCollectionAddress)));
46
+ const itemAddress = origin === Struct_1.Origin.TAC
47
+ ? wrappers_1.NFTItem.createFromConfig({
48
+ collectionAddress: nftCollection.address,
49
+ cclAddress: ton_1.Address.parse(configuration.TONParams.crossChainLayerAddress),
50
+ // @ts-expect-error // bigint can be used, wrapper is not typed properly
51
+ index: item.index,
52
+ }, configuration.TONParams.nftItemCode).address
53
+ : await nftCollection.getNFTAddressByIndex(item.index);
54
+ return new NFT({
55
+ item: itemAddress.toString(),
56
+ collection: tvmCollectionAddress,
57
+ index: item.index,
58
+ evmAddress: (0, ethers_1.isAddress)(item.collection) ? item.collection : undefined,
59
+ }, origin, configuration);
60
+ }
61
+ static async getItemData(contractOpener, itemAddress) {
62
+ Validator_1.Validator.validateTVMAddress(itemAddress);
63
+ const nftItem = contractOpener.open(wrappers_1.NFTItem.createFromAddress(ton_1.Address.parse(itemAddress)));
64
+ return nftItem.getNFTData();
65
+ }
66
+ static async getCollectionData(contractOpener, collectionAddress) {
67
+ Validator_1.Validator.validateTVMAddress(collectionAddress);
68
+ const nftCollection = contractOpener.open(wrappers_1.NFTCollection.createFromAddress(ton_1.Address.parse(collectionAddress)));
69
+ return nftCollection.getCollectionData();
70
+ }
71
+ static async getOrigin(configuration, itemOrCollection) {
72
+ const { nftItemCode, nftCollectionCode } = configuration.TONParams;
73
+ const { code: givenCodeBOC } = await configuration.TONParams.contractOpener.getContractState(ton_1.Address.parse(itemOrCollection));
74
+ if (!givenCodeBOC) {
75
+ throw errors_1.emptyContractError;
76
+ }
77
+ const givenNFTCode = ton_1.Cell.fromBoc(givenCodeBOC)[0];
78
+ if (nftItemCode.equals(givenNFTCode) || nftCollectionCode.equals(givenNFTCode)) {
79
+ return Struct_1.Origin.TAC;
80
+ }
81
+ return Struct_1.Origin.TON;
82
+ }
83
+ static getItemAddress(contractOpener, collectionAddress, index) {
84
+ Validator_1.Validator.validateTVMAddress(collectionAddress);
85
+ const nftCollection = contractOpener.open(wrappers_1.NFTCollection.createFromAddress(ton_1.Address.parse(collectionAddress)));
86
+ return nftCollection.getNFTAddressByIndex(index).then(toString);
87
+ }
88
+ static async getTVMAddress(configuration, collectionAddress, tokenId) {
89
+ Validator_1.Validator.validateEVMAddress(collectionAddress);
90
+ const exists = await configuration.TACParams.tokenUtils['exists(address)'](collectionAddress);
91
+ if (exists) {
92
+ const erc721Token = configuration.artifacts.tac.wrappers.CrossChainLayerERC721FactoryTAC.connect(collectionAddress, configuration.TACParams.provider);
93
+ const info = await erc721Token.getInfo();
94
+ const nftCollection = configuration.TONParams.contractOpener.open(wrappers_1.NFTCollection.createFromAddress((0, ton_1.address)(info.tvmAddress)));
95
+ return tokenId == undefined
96
+ ? nftCollection.address.toString()
97
+ : (await nftCollection.getNFTAddressByIndex(tokenId)).toString();
98
+ }
99
+ else {
100
+ const nftCollection = configuration.TONParams.contractOpener.open(wrappers_1.NFTCollection.createFromConfig({
101
+ ownerAddress: ton_1.Address.parse(configuration.TONParams.crossChainLayerAddress),
102
+ content: (0, ton_1.beginCell)().endCell(),
103
+ nftItemCode: configuration.TONParams.nftItemCode,
104
+ originalAddress: collectionAddress,
105
+ }, configuration.TONParams.nftCollectionCode));
106
+ return tokenId == undefined
107
+ ? nftCollection.address.toString()
108
+ : wrappers_1.NFTItem.createFromConfig({
109
+ collectionAddress: nftCollection.address,
110
+ cclAddress: ton_1.Address.parse(configuration.TONParams.crossChainLayerAddress),
111
+ // @ts-expect-error // bigint can be used, wrapper is not typed properly
112
+ index: tokenId,
113
+ }, configuration.TONParams.nftItemCode).address.toString();
114
+ }
115
+ }
116
+ constructor(nftAddress, origin, configuration) {
117
+ this.type = Struct_1.AssetType.NFT;
118
+ this._addresses = nftAddress;
119
+ this._configuration = configuration;
120
+ this.origin = origin;
121
+ this._nftCollection = configuration.TONParams.contractOpener.open(wrappers_1.NFTCollection.createFromAddress(ton_1.Address.parse(this._addresses.collection)));
122
+ }
123
+ get addresses() {
124
+ return this._addresses;
125
+ }
126
+ get address() {
127
+ return this._addresses.item;
128
+ }
129
+ get rawAmount() {
130
+ return 1n;
131
+ }
132
+ get clone() {
133
+ return new NFT(this._addresses, this.origin, this._configuration);
134
+ }
135
+ async withAmount() {
136
+ return this;
137
+ }
138
+ async addAmount() {
139
+ return this;
140
+ }
141
+ async getEVMAddress() {
142
+ if (this._addresses.evmAddress) {
143
+ return this._addresses.evmAddress;
144
+ }
145
+ if (this.origin === Struct_1.Origin.TAC) {
146
+ this._addresses.evmAddress = await this._nftCollection.getOriginalAddress().toString();
147
+ }
148
+ else {
149
+ this._addresses.evmAddress = await this._configuration.TACParams.tokenUtils.computeAddressERC721(this._nftCollection.address.toString({ bounceable: true }));
150
+ }
151
+ return this._addresses.evmAddress;
152
+ }
153
+ async getTVMAddress() {
154
+ return this.address.toString();
155
+ }
156
+ async generatePayload(params) {
157
+ const { excessReceiver, evmData, crossChainTonAmount = 0n, forwardFeeTonAmount = 0n, feeParams } = params;
158
+ const opType = this.origin === Struct_1.Origin.TAC ? InternalStruct_1.AssetOpType.NFT_BURN : InternalStruct_1.AssetOpType.NFT_TRANSFER;
159
+ const feeData = (0, Utils_1.generateFeeData)(feeParams);
160
+ let payload;
161
+ switch (opType) {
162
+ case InternalStruct_1.AssetOpType.NFT_BURN:
163
+ payload = this.getBurnPayload(this._configuration.TONParams.crossChainLayerAddress, evmData, crossChainTonAmount, feeData);
164
+ break;
165
+ case InternalStruct_1.AssetOpType.NFT_TRANSFER:
166
+ payload = this.getTransferPayload(this._configuration.TONParams.nftProxyAddress, excessReceiver, forwardFeeTonAmount, evmData, crossChainTonAmount, feeData);
167
+ break;
168
+ }
169
+ return payload;
170
+ }
171
+ async isOwnedBy(userAddress) {
172
+ const nftData = await NFT.getItemData(this._configuration.TONParams.contractOpener, this.address.toString());
173
+ if (nftData.ownerAddress?.equals(ton_1.Address.parse(userAddress))) {
174
+ return true;
175
+ }
176
+ return false;
177
+ }
178
+ async checkCanBeTransferedBy(userAddress) {
179
+ if (!(await this.isOwnedBy(userAddress))) {
180
+ throw (0, errors_1.insufficientBalanceError)(this.address.toString());
181
+ }
182
+ }
183
+ async getBalanceOf(userAddress) {
184
+ return (await this.isOwnedBy(userAddress)) ? 1n : 0n;
185
+ }
186
+ getBurnPayload(crossChainLayerAddress, evmData, crossChainTonAmount, feeData) {
187
+ const queryId = (0, Utils_1.generateRandomNumberByTimestamp)().randomNumber;
188
+ return wrappers_1.NFTItem.burnMessage(queryId, (0, ton_1.address)(crossChainLayerAddress), crossChainTonAmount, evmData, feeData);
189
+ }
190
+ getTransferPayload(to, responseAddress, forwardFeeAmount, evmData, crossChainTonAmount, feeData) {
191
+ const queryId = (0, Utils_1.generateRandomNumberByTimestamp)().randomNumber;
192
+ const forwardPayload = (0, ton_1.beginCell)()
193
+ .storeCoins(crossChainTonAmount)
194
+ .storeMaybeRef(feeData)
195
+ .storeMaybeRef(evmData)
196
+ .endCell();
197
+ return wrappers_1.NFTItem.transferMessage(queryId, (0, ton_1.address)(to), (0, ton_1.address)(responseAddress), Number((0, ton_1.fromNano)(Consts_1.NFT_TRANSFER_FORWARD_TON_AMOUNT + forwardFeeAmount + crossChainTonAmount)), forwardPayload);
198
+ }
199
+ }
200
+ exports.NFT = NFT;
@@ -0,0 +1,38 @@
1
+ import { Cell } from '@ton/ton';
2
+ import type { SenderAbstraction } from '../sender';
3
+ import type { ShardTransaction } from '../structs/InternalStruct';
4
+ import { IConfiguration } from '../structs/Services';
5
+ import { Asset, AssetType, FeeParams } from '../structs/Struct';
6
+ export declare class TON implements Asset {
7
+ readonly address: string;
8
+ readonly type: AssetType;
9
+ private _rawAmount;
10
+ private _config;
11
+ constructor(config: IConfiguration);
12
+ static create(config: IConfiguration): TON;
13
+ get rawAmount(): bigint;
14
+ get clone(): TON;
15
+ withAmount(amount: {
16
+ rawAmount: bigint;
17
+ } | {
18
+ amount: number;
19
+ }): Promise<TON>;
20
+ addAmount(amount: {
21
+ rawAmount: bigint;
22
+ } | {
23
+ amount: number;
24
+ }): Promise<TON>;
25
+ getEVMAddress(): Promise<string>;
26
+ getTVMAddress(): Promise<string>;
27
+ generatePayload(params: {
28
+ excessReceiver: string;
29
+ evmData: Cell;
30
+ crossChainTonAmount?: bigint;
31
+ forwardFeeTonAmount?: bigint;
32
+ feeParams?: FeeParams;
33
+ }): Promise<Cell>;
34
+ getUserBalance(userAddress: string): Promise<bigint>;
35
+ static checkBalance(sender: SenderAbstraction, config: IConfiguration, transactions: ShardTransaction[]): Promise<void>;
36
+ checkCanBeTransferedBy(userAddress: string): Promise<void>;
37
+ getBalanceOf(userAddress: string): Promise<bigint>;
38
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TON = void 0;
4
+ const ton_1 = require("@ton/ton");
5
+ const instances_1 = require("../errors/instances");
6
+ const Consts_1 = require("../sdk/Consts");
7
+ const Utils_1 = require("../sdk/Utils");
8
+ const Struct_1 = require("../structs/Struct");
9
+ class TON {
10
+ constructor(config) {
11
+ this.type = Struct_1.AssetType.FT;
12
+ this.address = '';
13
+ this._config = config;
14
+ this._rawAmount = 0n;
15
+ }
16
+ static create(config) {
17
+ return new TON(config);
18
+ }
19
+ get rawAmount() {
20
+ return this._rawAmount;
21
+ }
22
+ get clone() {
23
+ const ton = new TON(this._config);
24
+ ton._rawAmount = this._rawAmount;
25
+ return ton;
26
+ }
27
+ async withAmount(amount) {
28
+ if (this._rawAmount > 0n) {
29
+ // clone token if withAmount set before to avoid changing the original token
30
+ const newToken = this.clone;
31
+ newToken._rawAmount = 'rawAmount' in amount ? amount.rawAmount : (0, Utils_1.calculateRawAmount)(amount.amount, 9);
32
+ return newToken;
33
+ }
34
+ if ('rawAmount' in amount) {
35
+ this._rawAmount = amount.rawAmount;
36
+ }
37
+ else {
38
+ this._rawAmount = (0, Utils_1.calculateRawAmount)(amount.amount, 9);
39
+ }
40
+ return this;
41
+ }
42
+ async addAmount(amount) {
43
+ if ('rawAmount' in amount) {
44
+ this._rawAmount = this._rawAmount + amount.rawAmount;
45
+ }
46
+ else {
47
+ this._rawAmount = this._rawAmount + (0, Utils_1.calculateRawAmount)(amount.amount, 9);
48
+ }
49
+ return this;
50
+ }
51
+ async getEVMAddress() {
52
+ return this._config.TACParams.tokenUtils.computeAddress(this._config.nativeTONAddress);
53
+ }
54
+ async getTVMAddress() {
55
+ return '';
56
+ }
57
+ async generatePayload(params) {
58
+ const { excessReceiver, evmData, feeParams } = params;
59
+ const queryId = (0, Utils_1.generateRandomNumberByTimestamp)().randomNumber;
60
+ const feeData = (0, Utils_1.generateFeeData)(feeParams);
61
+ return (0, ton_1.beginCell)()
62
+ .storeUint(this._config.artifacts.ton.wrappers.CrossChainLayerOpCodes.anyone_tvmMsgToEVM, 32)
63
+ .storeUint(queryId, 64)
64
+ .storeUint(this._config.artifacts.ton.wrappers.OperationType.tonTransfer, 32)
65
+ .storeCoins(this._rawAmount)
66
+ .storeMaybeRef(feeData)
67
+ .storeAddress(ton_1.Address.parse(excessReceiver))
68
+ .storeMaybeRef(evmData)
69
+ .endCell();
70
+ }
71
+ async getUserBalance(userAddress) {
72
+ return (await this._config.TONParams.contractOpener.getContractState(ton_1.Address.parse(userAddress))).balance;
73
+ }
74
+ static async checkBalance(sender, config, transactions) {
75
+ const totalValue = transactions.reduce((acc, transaction) => acc + transaction.messages.reduce((acc, message) => acc + message.value, 0n), 0n);
76
+ const balance = await sender.getBalance(config.TONParams.contractOpener);
77
+ if (balance < totalValue) {
78
+ throw (0, instances_1.insufficientBalanceError)(Consts_1.TON_SYMBOL);
79
+ }
80
+ }
81
+ async checkCanBeTransferedBy(userAddress) {
82
+ const balance = await this.getUserBalance(userAddress);
83
+ if (balance < this._rawAmount) {
84
+ throw (0, instances_1.insufficientBalanceError)(Consts_1.TON_SYMBOL);
85
+ }
86
+ }
87
+ async getBalanceOf(userAddress) {
88
+ return this.getUserBalance(userAddress);
89
+ }
90
+ }
91
+ exports.TON = TON;
@@ -0,0 +1,4 @@
1
+ export { AssetFactory } from './AssetFactory';
2
+ export { FT } from './FT';
3
+ export { NFT } from './NFT';
4
+ export { TON } from './TON';
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TON = exports.NFT = exports.FT = exports.AssetFactory = void 0;
4
+ var AssetFactory_1 = require("./AssetFactory");
5
+ Object.defineProperty(exports, "AssetFactory", { enumerable: true, get: function () { return AssetFactory_1.AssetFactory; } });
6
+ var FT_1 = require("./FT");
7
+ Object.defineProperty(exports, "FT", { enumerable: true, get: function () { return FT_1.FT; } });
8
+ var NFT_1 = require("./NFT");
9
+ Object.defineProperty(exports, "NFT", { enumerable: true, get: function () { return NFT_1.NFT; } });
10
+ var TON_1 = require("./TON");
11
+ Object.defineProperty(exports, "TON", { enumerable: true, get: function () { return TON_1.TON; } });
@@ -39,3 +39,9 @@ export declare class PrepareMessageGroupError extends ErrorWithStatusCode {
39
39
  export declare class NoValidGroupFoundError extends ErrorWithStatusCode {
40
40
  constructor(message: string, errorCode: number);
41
41
  }
42
+ export declare class InsufficientBalanceError extends ErrorWithStatusCode {
43
+ constructor(message: string, errorCode: number);
44
+ }
45
+ export declare class TokenError extends ErrorWithStatusCode {
46
+ constructor(message: string, errorCode: number);
47
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NoValidGroupFoundError = exports.PrepareMessageGroupError = exports.EVMCallError = exports.SettingError = exports.MetadataError = exports.BitError = exports.FormatError = exports.KeyError = exports.WalletError = exports.AddressError = exports.FetchError = exports.ContractError = exports.ErrorWithStatusCode = void 0;
3
+ exports.TokenError = exports.InsufficientBalanceError = exports.NoValidGroupFoundError = exports.PrepareMessageGroupError = exports.EVMCallError = exports.SettingError = exports.MetadataError = exports.BitError = exports.FormatError = exports.KeyError = exports.WalletError = exports.AddressError = exports.FetchError = exports.ContractError = exports.ErrorWithStatusCode = void 0;
4
4
  class ErrorWithStatusCode extends Error {
5
5
  constructor(message, errorCode) {
6
6
  super(message);
@@ -93,3 +93,17 @@ class NoValidGroupFoundError extends ErrorWithStatusCode {
93
93
  }
94
94
  }
95
95
  exports.NoValidGroupFoundError = NoValidGroupFoundError;
96
+ class InsufficientBalanceError extends ErrorWithStatusCode {
97
+ constructor(message, errorCode) {
98
+ super(message, errorCode);
99
+ this.name = 'InsufficientBalanceError';
100
+ }
101
+ }
102
+ exports.InsufficientBalanceError = InsufficientBalanceError;
103
+ class TokenError extends ErrorWithStatusCode {
104
+ constructor(message, errorCode) {
105
+ super(message, errorCode);
106
+ this.name = 'TokenError';
107
+ }
108
+ }
109
+ exports.TokenError = TokenError;
@@ -1,2 +1,2 @@
1
- export { emptyContractError, operationFetchError, statusFetchError, tvmAddressError, evmAddressError, unknownWalletError, unsupportedKeyError, unsupportedFormatError, notMultiplyOf8Error, prefixError, emptySettingError, invalidMethodNameError, simulationError, emptyArrayError, profilingFetchError, } from './instances';
2
- export { ContractError, FetchError, AddressError, WalletError, KeyError, FormatError, BitError, MetadataError, SettingError, EVMCallError, } from './errors';
1
+ export { AddressError, BitError, ContractError, EVMCallError, FetchError, FormatError, KeyError, MetadataError, SettingError, TokenError, WalletError, } from './errors';
2
+ export { allEndpointsFailedError, emptyArrayError, emptyContractError, emptySettingError, evmAddressError, indexRequiredError, insufficientBalanceError, invalidMethodNameError, notMultiplyOf8Error, operationFetchError, prefixError, profilingFetchError, simulationError, statusFetchError, tvmAddressError, unknownTokenTypeError, unknownWalletError, unsupportedFormatError, unsupportedKeyError, } from './instances';
@@ -1,30 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EVMCallError = exports.SettingError = exports.MetadataError = exports.BitError = exports.FormatError = exports.KeyError = exports.WalletError = exports.AddressError = exports.FetchError = exports.ContractError = exports.profilingFetchError = exports.emptyArrayError = exports.simulationError = exports.invalidMethodNameError = exports.emptySettingError = exports.prefixError = exports.notMultiplyOf8Error = exports.unsupportedFormatError = exports.unsupportedKeyError = exports.unknownWalletError = exports.evmAddressError = exports.tvmAddressError = exports.statusFetchError = exports.operationFetchError = exports.emptyContractError = void 0;
3
+ exports.unsupportedKeyError = exports.unsupportedFormatError = exports.unknownWalletError = exports.unknownTokenTypeError = exports.tvmAddressError = exports.statusFetchError = exports.simulationError = exports.profilingFetchError = exports.prefixError = exports.operationFetchError = exports.notMultiplyOf8Error = exports.invalidMethodNameError = exports.insufficientBalanceError = exports.indexRequiredError = exports.evmAddressError = exports.emptySettingError = exports.emptyContractError = exports.emptyArrayError = exports.allEndpointsFailedError = exports.WalletError = exports.TokenError = exports.SettingError = exports.MetadataError = exports.KeyError = exports.FormatError = exports.FetchError = exports.EVMCallError = exports.ContractError = exports.BitError = exports.AddressError = void 0;
4
+ var errors_1 = require("./errors");
5
+ Object.defineProperty(exports, "AddressError", { enumerable: true, get: function () { return errors_1.AddressError; } });
6
+ Object.defineProperty(exports, "BitError", { enumerable: true, get: function () { return errors_1.BitError; } });
7
+ Object.defineProperty(exports, "ContractError", { enumerable: true, get: function () { return errors_1.ContractError; } });
8
+ Object.defineProperty(exports, "EVMCallError", { enumerable: true, get: function () { return errors_1.EVMCallError; } });
9
+ Object.defineProperty(exports, "FetchError", { enumerable: true, get: function () { return errors_1.FetchError; } });
10
+ Object.defineProperty(exports, "FormatError", { enumerable: true, get: function () { return errors_1.FormatError; } });
11
+ Object.defineProperty(exports, "KeyError", { enumerable: true, get: function () { return errors_1.KeyError; } });
12
+ Object.defineProperty(exports, "MetadataError", { enumerable: true, get: function () { return errors_1.MetadataError; } });
13
+ Object.defineProperty(exports, "SettingError", { enumerable: true, get: function () { return errors_1.SettingError; } });
14
+ Object.defineProperty(exports, "TokenError", { enumerable: true, get: function () { return errors_1.TokenError; } });
15
+ Object.defineProperty(exports, "WalletError", { enumerable: true, get: function () { return errors_1.WalletError; } });
4
16
  var instances_1 = require("./instances");
17
+ Object.defineProperty(exports, "allEndpointsFailedError", { enumerable: true, get: function () { return instances_1.allEndpointsFailedError; } });
18
+ Object.defineProperty(exports, "emptyArrayError", { enumerable: true, get: function () { return instances_1.emptyArrayError; } });
5
19
  Object.defineProperty(exports, "emptyContractError", { enumerable: true, get: function () { return instances_1.emptyContractError; } });
20
+ Object.defineProperty(exports, "emptySettingError", { enumerable: true, get: function () { return instances_1.emptySettingError; } });
21
+ Object.defineProperty(exports, "evmAddressError", { enumerable: true, get: function () { return instances_1.evmAddressError; } });
22
+ Object.defineProperty(exports, "indexRequiredError", { enumerable: true, get: function () { return instances_1.indexRequiredError; } });
23
+ Object.defineProperty(exports, "insufficientBalanceError", { enumerable: true, get: function () { return instances_1.insufficientBalanceError; } });
24
+ Object.defineProperty(exports, "invalidMethodNameError", { enumerable: true, get: function () { return instances_1.invalidMethodNameError; } });
25
+ Object.defineProperty(exports, "notMultiplyOf8Error", { enumerable: true, get: function () { return instances_1.notMultiplyOf8Error; } });
6
26
  Object.defineProperty(exports, "operationFetchError", { enumerable: true, get: function () { return instances_1.operationFetchError; } });
27
+ Object.defineProperty(exports, "prefixError", { enumerable: true, get: function () { return instances_1.prefixError; } });
28
+ Object.defineProperty(exports, "profilingFetchError", { enumerable: true, get: function () { return instances_1.profilingFetchError; } });
29
+ Object.defineProperty(exports, "simulationError", { enumerable: true, get: function () { return instances_1.simulationError; } });
7
30
  Object.defineProperty(exports, "statusFetchError", { enumerable: true, get: function () { return instances_1.statusFetchError; } });
8
31
  Object.defineProperty(exports, "tvmAddressError", { enumerable: true, get: function () { return instances_1.tvmAddressError; } });
9
- Object.defineProperty(exports, "evmAddressError", { enumerable: true, get: function () { return instances_1.evmAddressError; } });
32
+ Object.defineProperty(exports, "unknownTokenTypeError", { enumerable: true, get: function () { return instances_1.unknownTokenTypeError; } });
10
33
  Object.defineProperty(exports, "unknownWalletError", { enumerable: true, get: function () { return instances_1.unknownWalletError; } });
11
- Object.defineProperty(exports, "unsupportedKeyError", { enumerable: true, get: function () { return instances_1.unsupportedKeyError; } });
12
34
  Object.defineProperty(exports, "unsupportedFormatError", { enumerable: true, get: function () { return instances_1.unsupportedFormatError; } });
13
- Object.defineProperty(exports, "notMultiplyOf8Error", { enumerable: true, get: function () { return instances_1.notMultiplyOf8Error; } });
14
- Object.defineProperty(exports, "prefixError", { enumerable: true, get: function () { return instances_1.prefixError; } });
15
- Object.defineProperty(exports, "emptySettingError", { enumerable: true, get: function () { return instances_1.emptySettingError; } });
16
- Object.defineProperty(exports, "invalidMethodNameError", { enumerable: true, get: function () { return instances_1.invalidMethodNameError; } });
17
- Object.defineProperty(exports, "simulationError", { enumerable: true, get: function () { return instances_1.simulationError; } });
18
- Object.defineProperty(exports, "emptyArrayError", { enumerable: true, get: function () { return instances_1.emptyArrayError; } });
19
- Object.defineProperty(exports, "profilingFetchError", { enumerable: true, get: function () { return instances_1.profilingFetchError; } });
20
- var errors_1 = require("./errors");
21
- Object.defineProperty(exports, "ContractError", { enumerable: true, get: function () { return errors_1.ContractError; } });
22
- Object.defineProperty(exports, "FetchError", { enumerable: true, get: function () { return errors_1.FetchError; } });
23
- Object.defineProperty(exports, "AddressError", { enumerable: true, get: function () { return errors_1.AddressError; } });
24
- Object.defineProperty(exports, "WalletError", { enumerable: true, get: function () { return errors_1.WalletError; } });
25
- Object.defineProperty(exports, "KeyError", { enumerable: true, get: function () { return errors_1.KeyError; } });
26
- Object.defineProperty(exports, "FormatError", { enumerable: true, get: function () { return errors_1.FormatError; } });
27
- Object.defineProperty(exports, "BitError", { enumerable: true, get: function () { return errors_1.BitError; } });
28
- Object.defineProperty(exports, "MetadataError", { enumerable: true, get: function () { return errors_1.MetadataError; } });
29
- Object.defineProperty(exports, "SettingError", { enumerable: true, get: function () { return errors_1.SettingError; } });
30
- Object.defineProperty(exports, "EVMCallError", { enumerable: true, get: function () { return errors_1.EVMCallError; } });
35
+ Object.defineProperty(exports, "unsupportedKeyError", { enumerable: true, get: function () { return instances_1.unsupportedKeyError; } });
@@ -1,7 +1,7 @@
1
- import { ContractError, FetchError, AddressError, WalletError, KeyError, FormatError, BitError, MetadataError, SettingError, EVMCallError, NoValidGroupFoundError, PrepareMessageGroupError } from './errors';
1
+ import { AddressError, BitError, ContractError, EVMCallError, FetchError, FormatError, InsufficientBalanceError, KeyError, MetadataError, NoValidGroupFoundError, PrepareMessageGroupError, SettingError, TokenError, WalletError } from './errors';
2
2
  export declare const emptyContractError: ContractError;
3
- export declare const operationFetchError: FetchError;
4
- export declare const statusFetchError: (msg: string) => FetchError;
3
+ export declare const operationFetchError: (msg: string, inner?: unknown) => FetchError;
4
+ export declare const statusFetchError: (msg: string, inner?: unknown) => FetchError;
5
5
  export declare const tvmAddressError: (addr: string) => AddressError;
6
6
  export declare const evmAddressError: (addr: string) => AddressError;
7
7
  export declare const unknownWalletError: (version: string) => WalletError;
@@ -12,8 +12,13 @@ export declare const prefixError: MetadataError;
12
12
  export declare const emptySettingError: (setting: string) => SettingError;
13
13
  export declare const invalidMethodNameError: (methodName: string) => EVMCallError;
14
14
  export declare const simulationError: (inner: unknown) => FetchError;
15
- export declare const profilingFetchError: (msg: string) => FetchError;
15
+ export declare const profilingFetchError: (msg: string, inner?: unknown) => FetchError;
16
16
  export declare const emptyArrayError: (msg: string) => FetchError;
17
17
  export declare const invalidAssetType: FormatError;
18
18
  export declare const prepareMessageGroupError: (isBocSizeValid: boolean, isDepthValid: boolean) => PrepareMessageGroupError;
19
19
  export declare const noValidGroupFoundError: NoValidGroupFoundError;
20
+ export declare const allEndpointsFailedError: (inner: unknown) => FetchError;
21
+ export declare const allContractOpenerFailedError: (inner: unknown) => FetchError;
22
+ export declare const insufficientBalanceError: (token: string) => InsufficientBalanceError;
23
+ export declare const unknownTokenTypeError: (token: string, reason?: string) => TokenError;
24
+ export declare const indexRequiredError: (token: string) => TokenError;
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.noValidGroupFoundError = exports.prepareMessageGroupError = exports.invalidAssetType = exports.emptyArrayError = exports.profilingFetchError = exports.simulationError = exports.invalidMethodNameError = exports.emptySettingError = exports.prefixError = exports.notMultiplyOf8Error = exports.unsupportedFormatError = exports.unsupportedKeyError = exports.unknownWalletError = exports.evmAddressError = exports.tvmAddressError = exports.statusFetchError = exports.operationFetchError = exports.emptyContractError = void 0;
3
+ exports.indexRequiredError = exports.unknownTokenTypeError = exports.insufficientBalanceError = exports.allContractOpenerFailedError = exports.allEndpointsFailedError = exports.noValidGroupFoundError = exports.prepareMessageGroupError = exports.invalidAssetType = exports.emptyArrayError = exports.profilingFetchError = exports.simulationError = exports.invalidMethodNameError = exports.emptySettingError = exports.prefixError = exports.notMultiplyOf8Error = exports.unsupportedFormatError = exports.unsupportedKeyError = exports.unknownWalletError = exports.evmAddressError = exports.tvmAddressError = exports.statusFetchError = exports.operationFetchError = exports.emptyContractError = void 0;
4
4
  const errors_1 = require("./errors");
5
5
  exports.emptyContractError = new errors_1.ContractError('unexpected empty contract code of given jetton.', 100);
6
- exports.operationFetchError = new errors_1.FetchError('failed to fetch OperationId', 101);
7
- const statusFetchError = (msg) => new errors_1.FetchError(`failed to fetch status transaction: ${msg}`, 102);
6
+ const operationFetchError = (msg, inner) => new errors_1.FetchError(`failed to fetch OperationId: ${msg}`, 101, inner);
7
+ exports.operationFetchError = operationFetchError;
8
+ const statusFetchError = (msg, inner) => new errors_1.FetchError(`failed to fetch status transaction: ${msg}`, 102, inner);
8
9
  exports.statusFetchError = statusFetchError;
9
10
  const tvmAddressError = (addr) => new errors_1.AddressError(`invalid tvm address ${addr}`, 103);
10
11
  exports.tvmAddressError = tvmAddressError;
@@ -21,9 +22,12 @@ const emptySettingError = (setting) => new errors_1.SettingError(`unexpected emp
21
22
  exports.emptySettingError = emptySettingError;
22
23
  const invalidMethodNameError = (methodName) => new errors_1.EVMCallError(`Invalid Solidity method name: "${methodName}". Method must be either a valid identifier or have parameters (bytes,bytes).`, 111);
23
24
  exports.invalidMethodNameError = invalidMethodNameError;
24
- const simulationError = (inner) => new errors_1.FetchError(`Failed to simulate EVM call: ${inner}`, 112, inner);
25
+ const simulationError = (inner) =>
26
+ // try to get meaningful error message from axios error
27
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
+ new errors_1.FetchError(`Failed to simulate EVM call: ${inner?.response?.data?.error}`, 112, inner);
25
29
  exports.simulationError = simulationError;
26
- const profilingFetchError = (msg) => new errors_1.FetchError(`failed to fetch stage profiling: ${msg}`, 113);
30
+ const profilingFetchError = (msg, inner) => new errors_1.FetchError(`failed to fetch stage profiling: ${msg}`, 113, inner);
27
31
  exports.profilingFetchError = profilingFetchError;
28
32
  const emptyArrayError = (msg) => new errors_1.FetchError(`empty array: ${msg}`, 114);
29
33
  exports.emptyArrayError = emptyArrayError;
@@ -31,3 +35,13 @@ exports.invalidAssetType = new errors_1.FormatError('Invalid asset type', 115);
31
35
  const prepareMessageGroupError = (isBocSizeValid, isDepthValid) => new errors_1.PrepareMessageGroupError(`Failed to prepare message group: BOC size valid: ${isBocSizeValid}, depth valid: ${isDepthValid}`, 116);
32
36
  exports.prepareMessageGroupError = prepareMessageGroupError;
33
37
  exports.noValidGroupFoundError = new errors_1.NoValidGroupFoundError('Failed to prepare valid message group', 117);
38
+ const allEndpointsFailedError = (inner) => new errors_1.FetchError('All endpoints failed', 118, inner);
39
+ exports.allEndpointsFailedError = allEndpointsFailedError;
40
+ const allContractOpenerFailedError = (inner) => new errors_1.FetchError('All contract opener failed', 119, inner);
41
+ exports.allContractOpenerFailedError = allContractOpenerFailedError;
42
+ const insufficientBalanceError = (token) => new errors_1.InsufficientBalanceError(`Insufficient balance of ${token}`, 120);
43
+ exports.insufficientBalanceError = insufficientBalanceError;
44
+ const unknownTokenTypeError = (token, reason) => new errors_1.TokenError(`Unknown token type of ${token}: ${reason}`, 121);
45
+ exports.unknownTokenTypeError = unknownTokenTypeError;
46
+ const indexRequiredError = (token) => new errors_1.TokenError(`Index is required for collection ${token}`, 122);
47
+ exports.indexRequiredError = indexRequiredError;
package/dist/index.d.ts CHANGED
@@ -1,13 +1,19 @@
1
- export { TacSdk } from './sdk/TacSdk';
1
+ export { liteClientOpener, orbsOpener } from './adapters/contractOpener';
2
+ export * from './errors';
3
+ export { Configuration } from './sdk/Configuration';
4
+ export { LiteSequencerClient } from './sdk/LiteSequencerClient';
5
+ export { ConsoleLogger, NoopLogger } from './sdk/Logger';
2
6
  export { OperationTracker } from './sdk/OperationTracker';
7
+ export { Simulator } from './sdk/Simulator';
3
8
  export { startTracking, startTrackingMultiple } from './sdk/StartTracking';
9
+ export { TacSdk } from './sdk/TacSdk';
10
+ export { TransactionManager } from './sdk/TransactionManager';
4
11
  export * from './sender';
12
+ export * from './structs/Services';
5
13
  export * from './structs/Struct';
6
14
  export { Network, SimplifiedStatuses } from './structs/Struct';
15
+ export * from './assets';
16
+ export { readJettonMetadata } from './wrappers/ContentUtils';
17
+ export { HighloadWalletV3 } from './wrappers/HighloadWalletV3';
7
18
  export type { JettonWalletData } from './wrappers/JettonWallet';
8
19
  export { JettonWallet, JettonWalletOpCodes } from './wrappers/JettonWallet';
9
- export { HighloadWalletV3 } from './wrappers/HighloadWalletV3';
10
- export { orbsOpener, liteClientOpener } from './adapters/contractOpener';
11
- export * from './errors';
12
- export { readJettonMetadata } from './wrappers/ContentUtils';
13
- export { LiteSequencerClient } from './sdk/LiteSequencerClient';
package/dist/index.js CHANGED
@@ -14,29 +14,40 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.LiteSequencerClient = exports.readJettonMetadata = exports.liteClientOpener = exports.orbsOpener = exports.HighloadWalletV3 = exports.JettonWalletOpCodes = exports.JettonWallet = exports.SimplifiedStatuses = exports.Network = exports.startTrackingMultiple = exports.startTracking = exports.OperationTracker = exports.TacSdk = void 0;
18
- var TacSdk_1 = require("./sdk/TacSdk");
19
- Object.defineProperty(exports, "TacSdk", { enumerable: true, get: function () { return TacSdk_1.TacSdk; } });
17
+ exports.JettonWalletOpCodes = exports.JettonWallet = exports.HighloadWalletV3 = exports.readJettonMetadata = exports.SimplifiedStatuses = exports.Network = exports.TransactionManager = exports.TacSdk = exports.startTrackingMultiple = exports.startTracking = exports.Simulator = exports.OperationTracker = exports.NoopLogger = exports.ConsoleLogger = exports.LiteSequencerClient = exports.Configuration = exports.orbsOpener = exports.liteClientOpener = void 0;
18
+ var contractOpener_1 = require("./adapters/contractOpener");
19
+ Object.defineProperty(exports, "liteClientOpener", { enumerable: true, get: function () { return contractOpener_1.liteClientOpener; } });
20
+ Object.defineProperty(exports, "orbsOpener", { enumerable: true, get: function () { return contractOpener_1.orbsOpener; } });
21
+ __exportStar(require("./errors"), exports);
22
+ var Configuration_1 = require("./sdk/Configuration");
23
+ Object.defineProperty(exports, "Configuration", { enumerable: true, get: function () { return Configuration_1.Configuration; } });
24
+ var LiteSequencerClient_1 = require("./sdk/LiteSequencerClient");
25
+ Object.defineProperty(exports, "LiteSequencerClient", { enumerable: true, get: function () { return LiteSequencerClient_1.LiteSequencerClient; } });
26
+ var Logger_1 = require("./sdk/Logger");
27
+ Object.defineProperty(exports, "ConsoleLogger", { enumerable: true, get: function () { return Logger_1.ConsoleLogger; } });
28
+ Object.defineProperty(exports, "NoopLogger", { enumerable: true, get: function () { return Logger_1.NoopLogger; } });
20
29
  var OperationTracker_1 = require("./sdk/OperationTracker");
21
30
  Object.defineProperty(exports, "OperationTracker", { enumerable: true, get: function () { return OperationTracker_1.OperationTracker; } });
31
+ var Simulator_1 = require("./sdk/Simulator");
32
+ Object.defineProperty(exports, "Simulator", { enumerable: true, get: function () { return Simulator_1.Simulator; } });
22
33
  var StartTracking_1 = require("./sdk/StartTracking");
23
34
  Object.defineProperty(exports, "startTracking", { enumerable: true, get: function () { return StartTracking_1.startTracking; } });
24
35
  Object.defineProperty(exports, "startTrackingMultiple", { enumerable: true, get: function () { return StartTracking_1.startTrackingMultiple; } });
36
+ var TacSdk_1 = require("./sdk/TacSdk");
37
+ Object.defineProperty(exports, "TacSdk", { enumerable: true, get: function () { return TacSdk_1.TacSdk; } });
38
+ var TransactionManager_1 = require("./sdk/TransactionManager");
39
+ Object.defineProperty(exports, "TransactionManager", { enumerable: true, get: function () { return TransactionManager_1.TransactionManager; } });
25
40
  __exportStar(require("./sender"), exports);
41
+ __exportStar(require("./structs/Services"), exports);
26
42
  __exportStar(require("./structs/Struct"), exports);
27
43
  var Struct_1 = require("./structs/Struct");
28
44
  Object.defineProperty(exports, "Network", { enumerable: true, get: function () { return Struct_1.Network; } });
29
45
  Object.defineProperty(exports, "SimplifiedStatuses", { enumerable: true, get: function () { return Struct_1.SimplifiedStatuses; } });
46
+ __exportStar(require("./assets"), exports);
47
+ var ContentUtils_1 = require("./wrappers/ContentUtils");
48
+ Object.defineProperty(exports, "readJettonMetadata", { enumerable: true, get: function () { return ContentUtils_1.readJettonMetadata; } });
49
+ var HighloadWalletV3_1 = require("./wrappers/HighloadWalletV3");
50
+ Object.defineProperty(exports, "HighloadWalletV3", { enumerable: true, get: function () { return HighloadWalletV3_1.HighloadWalletV3; } });
30
51
  var JettonWallet_1 = require("./wrappers/JettonWallet");
31
52
  Object.defineProperty(exports, "JettonWallet", { enumerable: true, get: function () { return JettonWallet_1.JettonWallet; } });
32
53
  Object.defineProperty(exports, "JettonWalletOpCodes", { enumerable: true, get: function () { return JettonWallet_1.JettonWalletOpCodes; } });
33
- var HighloadWalletV3_1 = require("./wrappers/HighloadWalletV3");
34
- Object.defineProperty(exports, "HighloadWalletV3", { enumerable: true, get: function () { return HighloadWalletV3_1.HighloadWalletV3; } });
35
- var contractOpener_1 = require("./adapters/contractOpener");
36
- Object.defineProperty(exports, "orbsOpener", { enumerable: true, get: function () { return contractOpener_1.orbsOpener; } });
37
- Object.defineProperty(exports, "liteClientOpener", { enumerable: true, get: function () { return contractOpener_1.liteClientOpener; } });
38
- __exportStar(require("./errors"), exports);
39
- var ContentUtils_1 = require("./wrappers/ContentUtils");
40
- Object.defineProperty(exports, "readJettonMetadata", { enumerable: true, get: function () { return ContentUtils_1.readJettonMetadata; } });
41
- var LiteSequencerClient_1 = require("./sdk/LiteSequencerClient");
42
- Object.defineProperty(exports, "LiteSequencerClient", { enumerable: true, get: function () { return LiteSequencerClient_1.LiteSequencerClient; } });
@@ -0,0 +1,21 @@
1
+ import { mainnet, testnet } from '@tonappchain/artifacts';
2
+ import { InternalTACParams, InternalTONParams } from '../structs/InternalStruct';
3
+ import { IConfiguration } from '../structs/Services';
4
+ import { Network, TACParams, TONParams } from '../structs/Struct';
5
+ export declare class Configuration implements IConfiguration {
6
+ readonly network: Network;
7
+ readonly artifacts: typeof testnet | typeof mainnet;
8
+ readonly TONParams: InternalTONParams;
9
+ readonly TACParams: InternalTACParams;
10
+ readonly liteSequencerEndpoints: string[];
11
+ constructor(network: Network, artifacts: typeof testnet | typeof mainnet, TONParams: InternalTONParams, TACParams: InternalTACParams, liteSequencerEndpoints: string[]);
12
+ static create(network: Network, artifacts: typeof testnet | typeof mainnet, TONParams?: TONParams, TACParams?: TACParams, customLiteSequencerEndpoints?: string[], delay?: number): Promise<Configuration>;
13
+ private static prepareTONParams;
14
+ private static prepareTACParams;
15
+ get nativeTONAddress(): string;
16
+ nativeTACAddress(): Promise<string>;
17
+ get getTrustedTACExecutors(): string[];
18
+ get getTrustedTONExecutors(): string[];
19
+ closeConnections(): unknown;
20
+ isContractDeployedOnTVM(address: string): Promise<boolean>;
21
+ }