@getomnichain/omnichain 0.6.2 → 0.7.0

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 (145) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/cjs/chain_ids.js +2 -2
  3. package/dist/cjs/chain_ids.js.map +1 -1
  4. package/dist/cjs/errors.js +6 -0
  5. package/dist/cjs/errors.js.map +1 -1
  6. package/dist/cjs/index.js +1 -1
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/ton/index.js +12 -0
  9. package/dist/cjs/ton/index.js.map +1 -1
  10. package/dist/cjs/ton/ton_address.js +72 -14
  11. package/dist/cjs/ton/ton_address.js.map +1 -1
  12. package/dist/cjs/ton/ton_asset.js +21 -0
  13. package/dist/cjs/ton/ton_asset.js.map +1 -0
  14. package/dist/cjs/ton/ton_assets.js +10 -0
  15. package/dist/cjs/ton/ton_assets.js.map +1 -0
  16. package/dist/cjs/ton/ton_chain.js +483 -0
  17. package/dist/cjs/ton/ton_chain.js.map +1 -0
  18. package/dist/cjs/ton/ton_chains.js +21 -0
  19. package/dist/cjs/ton/ton_chains.js.map +1 -0
  20. package/dist/cjs/ton/ton_jetton_metadata.js +107 -0
  21. package/dist/cjs/ton/ton_jetton_metadata.js.map +1 -0
  22. package/dist/cjs/ton/ton_messages.js +174 -0
  23. package/dist/cjs/ton/ton_messages.js.map +1 -0
  24. package/dist/cjs/ton/ton_provider.js +456 -0
  25. package/dist/cjs/ton/ton_provider.js.map +1 -0
  26. package/dist/cjs/ton/ton_tonapi.js +243 -0
  27. package/dist/cjs/ton/ton_tonapi.js.map +1 -0
  28. package/dist/cjs/ton/ton_toncenter.js +252 -0
  29. package/dist/cjs/ton/ton_toncenter.js.map +1 -0
  30. package/dist/cjs/ton/ton_transaction_status.js +231 -0
  31. package/dist/cjs/ton/ton_transaction_status.js.map +1 -0
  32. package/dist/cjs/ton/ton_transactions.js +107 -0
  33. package/dist/cjs/ton/ton_transactions.js.map +1 -0
  34. package/dist/cjs/ton/ton_wallet.js +285 -0
  35. package/dist/cjs/ton/ton_wallet.js.map +1 -0
  36. package/dist/cjs/tron/index.js +1 -0
  37. package/dist/cjs/tron/index.js.map +1 -1
  38. package/dist/cjs/tron/tron_chain.js +88 -45
  39. package/dist/cjs/tron/tron_chain.js.map +1 -1
  40. package/dist/cjs/tron/tron_memo.js +17 -0
  41. package/dist/cjs/tron/tron_memo.js.map +1 -0
  42. package/dist/cjs/tron/tron_raw_data.js +213 -0
  43. package/dist/cjs/tron/tron_raw_data.js.map +1 -0
  44. package/dist/cjs/tron/tron_transaction_builder.js +34 -13
  45. package/dist/cjs/tron/tron_transaction_builder.js.map +1 -1
  46. package/dist/cjs/tron/tron_transaction_status.js +10 -7
  47. package/dist/cjs/tron/tron_transaction_status.js.map +1 -1
  48. package/dist/cjs/tron/tron_transactions.js +1 -1
  49. package/dist/cjs/tron/tron_transactions.js.map +1 -1
  50. package/dist/esm/chain_ids.js +2 -2
  51. package/dist/esm/chain_ids.js.map +1 -1
  52. package/dist/esm/errors.d.ts +3 -0
  53. package/dist/esm/errors.d.ts.map +1 -1
  54. package/dist/esm/errors.js +5 -0
  55. package/dist/esm/errors.js.map +1 -1
  56. package/dist/esm/index.d.ts +1 -1
  57. package/dist/esm/index.d.ts.map +1 -1
  58. package/dist/esm/index.js +1 -1
  59. package/dist/esm/index.js.map +1 -1
  60. package/dist/esm/ton/index.d.ts +12 -0
  61. package/dist/esm/ton/index.d.ts.map +1 -1
  62. package/dist/esm/ton/index.js +12 -0
  63. package/dist/esm/ton/index.js.map +1 -1
  64. package/dist/esm/ton/ton_address.d.ts +26 -2
  65. package/dist/esm/ton/ton_address.d.ts.map +1 -1
  66. package/dist/esm/ton/ton_address.js +70 -14
  67. package/dist/esm/ton/ton_address.js.map +1 -1
  68. package/dist/esm/ton/ton_asset.d.ts +12 -0
  69. package/dist/esm/ton/ton_asset.d.ts.map +1 -0
  70. package/dist/esm/ton/ton_asset.js +17 -0
  71. package/dist/esm/ton/ton_asset.js.map +1 -0
  72. package/dist/esm/ton/ton_assets.d.ts +6 -0
  73. package/dist/esm/ton/ton_assets.d.ts.map +1 -0
  74. package/dist/esm/ton/ton_assets.js +7 -0
  75. package/dist/esm/ton/ton_assets.js.map +1 -0
  76. package/dist/esm/ton/ton_chain.d.ts +205 -0
  77. package/dist/esm/ton/ton_chain.d.ts.map +1 -0
  78. package/dist/esm/ton/ton_chain.js +479 -0
  79. package/dist/esm/ton/ton_chain.js.map +1 -0
  80. package/dist/esm/ton/ton_chains.d.ts +11 -0
  81. package/dist/esm/ton/ton_chains.d.ts.map +1 -0
  82. package/dist/esm/ton/ton_chains.js +18 -0
  83. package/dist/esm/ton/ton_chains.js.map +1 -0
  84. package/dist/esm/ton/ton_jetton_metadata.d.ts +36 -0
  85. package/dist/esm/ton/ton_jetton_metadata.d.ts.map +1 -0
  86. package/dist/esm/ton/ton_jetton_metadata.js +103 -0
  87. package/dist/esm/ton/ton_jetton_metadata.js.map +1 -0
  88. package/dist/esm/ton/ton_messages.d.ts +133 -0
  89. package/dist/esm/ton/ton_messages.d.ts.map +1 -0
  90. package/dist/esm/ton/ton_messages.js +159 -0
  91. package/dist/esm/ton/ton_messages.js.map +1 -0
  92. package/dist/esm/ton/ton_provider.d.ts +261 -0
  93. package/dist/esm/ton/ton_provider.d.ts.map +1 -0
  94. package/dist/esm/ton/ton_provider.js +432 -0
  95. package/dist/esm/ton/ton_provider.js.map +1 -0
  96. package/dist/esm/ton/ton_tonapi.d.ts +39 -0
  97. package/dist/esm/ton/ton_tonapi.d.ts.map +1 -0
  98. package/dist/esm/ton/ton_tonapi.js +239 -0
  99. package/dist/esm/ton/ton_tonapi.js.map +1 -0
  100. package/dist/esm/ton/ton_toncenter.d.ts +25 -0
  101. package/dist/esm/ton/ton_toncenter.d.ts.map +1 -0
  102. package/dist/esm/ton/ton_toncenter.js +248 -0
  103. package/dist/esm/ton/ton_toncenter.js.map +1 -0
  104. package/dist/esm/ton/ton_transaction_status.d.ts +116 -0
  105. package/dist/esm/ton/ton_transaction_status.d.ts.map +1 -0
  106. package/dist/esm/ton/ton_transaction_status.js +226 -0
  107. package/dist/esm/ton/ton_transaction_status.js.map +1 -0
  108. package/dist/esm/ton/ton_transactions.d.ts +54 -0
  109. package/dist/esm/ton/ton_transactions.d.ts.map +1 -0
  110. package/dist/esm/ton/ton_transactions.js +100 -0
  111. package/dist/esm/ton/ton_transactions.js.map +1 -0
  112. package/dist/esm/ton/ton_wallet.d.ts +134 -0
  113. package/dist/esm/ton/ton_wallet.d.ts.map +1 -0
  114. package/dist/esm/ton/ton_wallet.js +278 -0
  115. package/dist/esm/ton/ton_wallet.js.map +1 -0
  116. package/dist/esm/tron/index.d.ts +1 -0
  117. package/dist/esm/tron/index.d.ts.map +1 -1
  118. package/dist/esm/tron/index.js +1 -0
  119. package/dist/esm/tron/index.js.map +1 -1
  120. package/dist/esm/tron/tron_chain.d.ts +13 -1
  121. package/dist/esm/tron/tron_chain.d.ts.map +1 -1
  122. package/dist/esm/tron/tron_chain.js +89 -46
  123. package/dist/esm/tron/tron_chain.js.map +1 -1
  124. package/dist/esm/tron/tron_memo.d.ts +2 -0
  125. package/dist/esm/tron/tron_memo.d.ts.map +1 -0
  126. package/dist/esm/tron/tron_memo.js +14 -0
  127. package/dist/esm/tron/tron_memo.js.map +1 -0
  128. package/dist/esm/tron/tron_raw_data.d.ts +4 -0
  129. package/dist/esm/tron/tron_raw_data.d.ts.map +1 -0
  130. package/dist/esm/tron/tron_raw_data.js +209 -0
  131. package/dist/esm/tron/tron_raw_data.js.map +1 -0
  132. package/dist/esm/tron/tron_transaction_builder.d.ts +4 -0
  133. package/dist/esm/tron/tron_transaction_builder.d.ts.map +1 -1
  134. package/dist/esm/tron/tron_transaction_builder.js +34 -13
  135. package/dist/esm/tron/tron_transaction_builder.js.map +1 -1
  136. package/dist/esm/tron/tron_transaction_status.d.ts +16 -2
  137. package/dist/esm/tron/tron_transaction_status.d.ts.map +1 -1
  138. package/dist/esm/tron/tron_transaction_status.js +10 -7
  139. package/dist/esm/tron/tron_transaction_status.js.map +1 -1
  140. package/dist/esm/tron/tron_transactions.js +1 -1
  141. package/dist/esm/tron/tron_transactions.js.map +1 -1
  142. package/docs/README.md +2 -1
  143. package/docs/ton.md +164 -0
  144. package/docs/tron.md +21 -11
  145. package/package.json +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ton_provider.js","sourceRoot":"","sources":["../../../ton/ton_provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TonapiProvider = void 0;
4
+ const core_1 = require("@ton/core");
5
+ const errors_ts_1 = require("../errors.js");
6
+ const ton_address_ts_1 = require("./ton_address.js");
7
+ const ton_provider_ts_1 = require("./ton_provider.js");
8
+ const NAME = 'TonAPI';
9
+ /** The get-method exit code for an account with no code to run. */
10
+ const NO_CODE_EXIT_CODE = -13;
11
+ const BLOCK_ID_REGEX = /^\((-?\d+),([0-9a-fA-F]+),(\d+)\)$/;
12
+ /** TonAPI (`/v2`), the fallback provider. */
13
+ class TonapiProvider {
14
+ endpoint;
15
+ name = NAME;
16
+ constructor(endpoint) {
17
+ this.endpoint = endpoint;
18
+ }
19
+ async getAccountState(address) {
20
+ // TonAPI states `nonexist` for a never-used address; no reply says nothing.
21
+ const reply = await this.get(`/v2/accounts/${encodeURIComponent((0, ton_address_ts_1.tonRawAddress)(address))}`);
22
+ if (reply === null)
23
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} returned no account for ${address}`, true);
24
+ const account = (0, ton_provider_ts_1.asRecord)(reply, 'account');
25
+ return {
26
+ status: (0, ton_provider_ts_1.asStatedAccountStatus)(account.status),
27
+ balance: (0, ton_provider_ts_1.asBigInt)(account.balance, 'balance'),
28
+ codeHash: typeof account.code_hash === 'string' ? account.code_hash : null,
29
+ };
30
+ }
31
+ async getSeqno(address) {
32
+ const reply = await this.get(`/v2/wallet/${encodeURIComponent((0, ton_address_ts_1.tonRawAddress)(address))}/seqno`);
33
+ if (reply === null)
34
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} has no seqno for ${address}`, true);
35
+ return (0, ton_provider_ts_1.asRequiredInteger)((0, ton_provider_ts_1.asRecord)(reply, 'seqno').seqno, 'seqno');
36
+ }
37
+ async getJettonWalletAddress(jettonMaster, owner) {
38
+ const result = await this.runGetMethod(jettonMaster, 'get_wallet_address', [(0, ton_address_ts_1.tonRawAddress)(owner)]);
39
+ const decoded = result === null ? null : result.decoded;
40
+ if (decoded === null || typeof decoded !== 'object' || typeof decoded.jetton_wallet_address !== 'string') {
41
+ throw (0, ton_provider_ts_1.definiteError)(errors_ts_1.ChainErrorKinds.InvalidTokenIdentifier, `${jettonMaster} is not a jetton master`);
42
+ }
43
+ return (0, ton_address_ts_1.tonRawAddress)(String(decoded.jetton_wallet_address));
44
+ }
45
+ /**
46
+ * 0 only for a jetton wallet with no code: TonAPI answers a get-method on
47
+ * one with 404 (or exit code -13), which other failures can also produce, so
48
+ * the account state confirms it. Any other failure throws.
49
+ */
50
+ async getJettonBalance(jettonWallet) {
51
+ const reply = await this.get(this.getMethodPath(jettonWallet, 'get_wallet_data', []));
52
+ const result = reply === null ? null : (0, ton_provider_ts_1.asRecord)(reply, 'get_wallet_data');
53
+ if (result === null || (result.success !== true && Number(result.exit_code) === NO_CODE_EXIT_CODE)) {
54
+ const state = await this.getAccountState(jettonWallet);
55
+ if (state.status === 'nonexist' || state.status === 'uninit')
56
+ return 0n;
57
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} could not run get_wallet_data on ${jettonWallet}, which is ${state.status}`, true);
58
+ }
59
+ if (result.success !== true || Number(result.exit_code ?? 0) !== 0) {
60
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} could not run get_wallet_data on ${jettonWallet}`, true);
61
+ }
62
+ const stack = Array.isArray(result.stack) ? result.stack : [];
63
+ const first = stack[0] === undefined ? null : (0, ton_provider_ts_1.asRecord)(stack[0], 'stack item');
64
+ if (first === null || first.type !== 'num')
65
+ throw (0, ton_provider_ts_1.definiteError)(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} returned no jetton balance`);
66
+ return (0, ton_provider_ts_1.asBigInt)(first.num, 'jetton balance');
67
+ }
68
+ async getJettonContent(jettonMaster) {
69
+ const reply = await this.get(this.getMethodPath(jettonMaster, 'get_jetton_data', []));
70
+ const result = reply === null ? null : (0, ton_provider_ts_1.asRecord)(reply, 'get_jetton_data');
71
+ if (result === null || result.success !== true || Number(result.exit_code ?? 0) !== 0) {
72
+ throw (0, ton_provider_ts_1.definiteError)(errors_ts_1.ChainErrorKinds.InvalidTokenIdentifier, `${jettonMaster} is not a jetton master`);
73
+ }
74
+ return (0, ton_provider_ts_1.stackCellOf)((Array.isArray(result.stack) ? result.stack : [])[3], 'jetton content');
75
+ }
76
+ /** `null` only for a jetton wallet with no code, confirmed by the account state as for the balance. */
77
+ async getJettonWalletData(jettonWallet) {
78
+ const reply = await this.get(this.getMethodPath(jettonWallet, 'get_wallet_data', []));
79
+ const result = reply === null ? null : (0, ton_provider_ts_1.asRecord)(reply, 'get_wallet_data');
80
+ if (result === null || (result.success !== true && Number(result.exit_code) === NO_CODE_EXIT_CODE)) {
81
+ const state = await this.getAccountState(jettonWallet);
82
+ if (state.status === 'nonexist' || state.status === 'uninit')
83
+ return null;
84
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} could not run get_wallet_data on ${jettonWallet}, which is ${state.status}`, true);
85
+ }
86
+ if (result.success !== true || Number(result.exit_code ?? 0) !== 0) {
87
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} could not run get_wallet_data on ${jettonWallet}`, true);
88
+ }
89
+ return (0, ton_provider_ts_1.jettonWalletDataOf)(result.stack);
90
+ }
91
+ async sendBoc(boc) {
92
+ const reply = await (0, ton_provider_ts_1.tonBroadcastReply)(NAME, (0, ton_provider_ts_1.tonHttpJson)(NAME, this.endpoint, '/v2/blockchain/message', { method: 'POST', body: { boc }, headers: this.headers() }));
93
+ const error = (0, ton_provider_ts_1.errorMessageOf)(reply);
94
+ if (error !== null)
95
+ throw (0, ton_provider_ts_1.definiteError)(errors_ts_1.ChainErrorKinds.BroadcastRejected, `${NAME} refused the message: ${error}`);
96
+ }
97
+ async getTrace(hash) {
98
+ // TonAPI answers a hash it has no trace for with 404.
99
+ const reply = await this.get(`/v2/traces/${encodeURIComponent((0, ton_provider_ts_1.assertTonTxHash)(hash))}`);
100
+ if (reply === null)
101
+ return null;
102
+ // TonAPI answers a message still in flight with its emulation; only what
103
+ // is on chain counts, and a predicted hop leaves the trace incomplete.
104
+ if (reply.emulated === true)
105
+ return null;
106
+ const root = withoutEmulated(reply);
107
+ const transactions = await this.withMasterchainSeqnos(flatten(root));
108
+ return (0, ton_provider_ts_1.assertTraceOf)(NAME, hash, (0, ton_provider_ts_1.assertTraceConsistent)(NAME, { complete: isComplete(root), transactions }));
109
+ }
110
+ async emulate(boc) {
111
+ const reply = await (0, ton_provider_ts_1.tonHttpJson)(NAME, this.endpoint, '/v2/traces/emulate?ignore_signature_check=true', {
112
+ method: 'POST',
113
+ body: { boc },
114
+ headers: this.headers(),
115
+ });
116
+ const error = (0, ton_provider_ts_1.errorMessageOf)(reply);
117
+ if (error !== null)
118
+ throw (0, ton_provider_ts_1.definiteError)(errors_ts_1.ChainErrorKinds.SimulationFailed, `${NAME} emulation failed: ${error}`);
119
+ const root = reply;
120
+ // An emulation is judged whole or not at all.
121
+ if (!isComplete(root))
122
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} returned an emulation cut short`, true);
123
+ return (0, ton_provider_ts_1.assertTraceConsistent)(NAME, { complete: true, transactions: flatten(root).map(({ tx, parent }) => toTransaction(tx, parent, null)) });
124
+ }
125
+ async getMasterchainHead() {
126
+ const reply = (0, ton_provider_ts_1.asRecord)(await this.get('/v2/blockchain/masterchain-head'), 'masterchain-head');
127
+ return { seqno: (0, ton_provider_ts_1.asRequiredInteger)(reply.seqno, 'masterchain seqno'), utime: (0, ton_provider_ts_1.asRequiredInteger)(reply.gen_utime, 'masterchain gen_utime') };
128
+ }
129
+ /**
130
+ * Resolves each transaction's masterchain block: its own block on the
131
+ * masterchain, the shard block's `master_ref` otherwise. TonAPI serves only
132
+ * committed blocks, so a transaction it returns is final; `master_ref` is the
133
+ * masterchain block the shard block points back to, which can be a few
134
+ * blocks before the one TON Center reports as committing it.
135
+ */
136
+ async withMasterchainSeqnos(transactions) {
137
+ const masterRefs = new Map();
138
+ for (const { tx } of transactions) {
139
+ const block = String(tx.block ?? '');
140
+ if (!masterRefs.has(block))
141
+ masterRefs.set(block, await this.masterchainSeqnoOf(block));
142
+ }
143
+ return transactions.map(({ tx, parent }) => toTransaction(tx, parent, masterRefs.get(String(tx.block ?? '')) ?? null));
144
+ }
145
+ async masterchainSeqnoOf(block) {
146
+ const match = BLOCK_ID_REGEX.exec(block);
147
+ if (match === null)
148
+ return null;
149
+ if (Number(match[1]) === -1)
150
+ return Number(match[3]);
151
+ const reply = await this.get(`/v2/blockchain/blocks/${encodeURIComponent(block)}`);
152
+ const masterRef = reply === null ? null : BLOCK_ID_REGEX.exec(String((0, ton_provider_ts_1.asRecord)(reply, 'block').master_ref ?? ''));
153
+ return masterRef === null ? null : Number(masterRef[3]);
154
+ }
155
+ /** The reply of a get-method that ran, or `null` when the account has no code to run it. */
156
+ async runGetMethod(address, method, args) {
157
+ const reply = await this.get(this.getMethodPath(address, method, args));
158
+ if (reply === null)
159
+ return null;
160
+ const result = (0, ton_provider_ts_1.asRecord)(reply, method);
161
+ return result.success === true && Number(result.exit_code ?? 0) === 0 ? result : null;
162
+ }
163
+ getMethodPath(address, method, args) {
164
+ const query = args.map((arg) => `args=${encodeURIComponent(arg)}`).join('&');
165
+ return `/v2/blockchain/accounts/${encodeURIComponent((0, ton_address_ts_1.tonRawAddress)(address))}/methods/${method}${query.length > 0 ? `?${query}` : ''}`;
166
+ }
167
+ get(path) {
168
+ return (0, ton_provider_ts_1.tonHttpJson)(NAME, this.endpoint, path, { headers: this.headers() });
169
+ }
170
+ headers() {
171
+ return { authorization: `Bearer ${this.endpoint.apiKey}` };
172
+ }
173
+ }
174
+ exports.TonapiProvider = TonapiProvider;
175
+ function flatten(root) {
176
+ const ordered = [];
177
+ const queue = [{ node: root, parent: null }];
178
+ while (queue.length > 0) {
179
+ const { node, parent } = queue.shift();
180
+ const tx = (0, ton_provider_ts_1.asRecord)(node.transaction, 'transaction');
181
+ ordered.push({ tx, parent });
182
+ const hash = rawTransactionOf(tx).hash().toString('hex');
183
+ queue.push(...(node.children ?? []).map((child) => ({ node: child, parent: hash })));
184
+ }
185
+ return ordered;
186
+ }
187
+ function withoutEmulated(node) {
188
+ return { ...node, children: (node.children ?? []).filter((child) => child.emulated !== true).map(withoutEmulated) };
189
+ }
190
+ /** Every internal message a transaction sent has reached its destination's transaction. */
191
+ function isComplete(node) {
192
+ const children = node.children ?? [];
193
+ const sent = rawTransactionOf((0, ton_provider_ts_1.asRecord)(node.transaction, 'transaction'))
194
+ .outMessages.values()
195
+ .filter((message) => message.info.type === 'internal').length;
196
+ return sent <= children.length && children.every(isComplete);
197
+ }
198
+ /**
199
+ * TonAPI's trace transactions carry no `out_msgs`; the messages are read from
200
+ * the transaction's own BOC (`raw`), which also gives the exact values and
201
+ * forward fees.
202
+ */
203
+ function rawTransactionOf(tx) {
204
+ if (typeof tx.raw !== 'string')
205
+ throw (0, ton_provider_ts_1.definiteError)(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} trace transaction has no raw BOC`);
206
+ return (0, core_1.loadTransaction)(core_1.Cell.fromBoc(Buffer.from(tx.raw, 'hex'))[0].beginParse());
207
+ }
208
+ /**
209
+ * The phases from the transaction's own BOC, the chain's record — not
210
+ * TonAPI's JSON phase fields, which are optional.
211
+ */
212
+ function phasesOf(raw) {
213
+ const description = raw.description;
214
+ if (description.type !== 'generic' && description.type !== 'tick-tock') {
215
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} trace holds a ${description.type} transaction`, true);
216
+ }
217
+ const compute = description.computePhase;
218
+ const action = description.actionPhase ?? null;
219
+ return {
220
+ computeSkipped: compute.type === 'skipped' ? compute.reason.replace('-', '_') : null,
221
+ computeSuccess: compute.type === 'vm' && compute.success,
222
+ computeExitCode: compute.type === 'vm' ? compute.exitCode : null,
223
+ action: action === null ? null : { success: action.success, resultCode: action.resultCode, skippedActions: action.skippedActions },
224
+ aborted: description.aborted,
225
+ };
226
+ }
227
+ function toTransaction(tx, parent, mcSeqno) {
228
+ const raw = rawTransactionOf(tx);
229
+ return {
230
+ hash: raw.hash().toString('hex'),
231
+ parent,
232
+ account: (0, ton_address_ts_1.tonRawAddress)(String((0, ton_provider_ts_1.asRecord)(tx.account, 'account').address)),
233
+ ...(0, ton_provider_ts_1.tonTransactionOutcome)(phasesOf(raw)),
234
+ totalFees: raw.totalFees.coins,
235
+ origStatus: (0, ton_provider_ts_1.asAccountStatus)(tx.orig_status),
236
+ endStatus: (0, ton_provider_ts_1.asAccountStatus)(tx.end_status),
237
+ inMsg: raw.inMessage === undefined || raw.inMessage === null ? null : (0, ton_provider_ts_1.tonTraceMessageOf)(raw.inMessage),
238
+ outMsgs: raw.outMessages.values().map(ton_provider_ts_1.tonTraceMessageOf),
239
+ mcSeqno,
240
+ utime: raw.now,
241
+ };
242
+ }
243
+ //# sourceMappingURL=ton_tonapi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ton_tonapi.js","sourceRoot":"","sources":["../../../ton/ton_tonapi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ToncenterProvider = void 0;
4
+ const core_1 = require("@ton/core");
5
+ const errors_ts_1 = require("../errors.js");
6
+ const ton_address_ts_1 = require("./ton_address.js");
7
+ const ton_messages_ts_1 = require("./ton_messages.js");
8
+ const ton_provider_ts_1 = require("./ton_provider.js");
9
+ const NAME = 'TON Center';
10
+ /** TON Center's get-method exit code for an account with no code to run. */
11
+ const NO_CODE_EXIT_CODE = -13;
12
+ /** TON Center's indexer API (`/api/v3`) and its emulator (`/api/emulate/v1`). */
13
+ class ToncenterProvider {
14
+ endpoint;
15
+ name = NAME;
16
+ constructor(endpoint) {
17
+ this.endpoint = endpoint;
18
+ }
19
+ async getAccountState(address) {
20
+ const path = `/api/v3/accountStates?address=${encodeURIComponent((0, ton_address_ts_1.tonRawAddress)(address))}&include_boc=false`;
21
+ const reply = await (0, ton_provider_ts_1.tonHttpJson)(NAME, this.endpoint, path, { headers: this.headers() });
22
+ // Only an explicit empty list means a never-used address.
23
+ if (reply === null || !Array.isArray(reply.accounts)) {
24
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} returned no account list for ${address}`, true);
25
+ }
26
+ const accounts = reply.accounts;
27
+ if (accounts.length === 0)
28
+ return { status: 'nonexist', balance: 0n, codeHash: null };
29
+ const account = (0, ton_provider_ts_1.asRecord)(accounts[0], 'account');
30
+ const balance = (0, ton_provider_ts_1.asBigInt)(account.balance, 'balance');
31
+ let status = (0, ton_provider_ts_1.asStatedAccountStatus)(account.status);
32
+ // TON Center reports a never-touched address as `uninit`; it has no history.
33
+ if (status === 'uninit' && balance === 0n && (account.last_transaction_lt ?? '0') === '0')
34
+ status = 'nonexist';
35
+ return { status, balance, codeHash: typeof account.code_hash === 'string' ? account.code_hash : null };
36
+ }
37
+ async getSeqno(address) {
38
+ const reply = await this.runGetMethodReply(address, 'seqno', []);
39
+ const exitCode = Number(reply.exit_code);
40
+ if ((0, ton_provider_ts_1.errorMessageOf)(reply) === null && exitCode === NO_CODE_EXIT_CODE)
41
+ return 0;
42
+ if ((0, ton_provider_ts_1.errorMessageOf)(reply) !== null || exitCode !== 0 || !Array.isArray(reply.stack)) {
43
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} could not run seqno on ${address}`, true);
44
+ }
45
+ return (0, ton_provider_ts_1.asRequiredInteger)(String(numAt(reply.stack, 0, 'seqno')), 'seqno');
46
+ }
47
+ async getJettonWalletAddress(jettonMaster, owner) {
48
+ const ownerSlice = (0, core_1.beginCell)().storeAddress((0, ton_messages_ts_1.parseTonAddress)(owner)).endCell().toBoc().toString('base64');
49
+ const result = await this.runGetMethod(jettonMaster, 'get_wallet_address', [{ type: 'slice', value: ownerSlice }]);
50
+ if (result === null)
51
+ throw (0, ton_provider_ts_1.definiteError)(errors_ts_1.ChainErrorKinds.InvalidTokenIdentifier, `${jettonMaster} is not a jetton master`);
52
+ const item = result[0];
53
+ if (item === undefined || (item.type !== 'cell' && item.type !== 'slice')) {
54
+ throw (0, ton_provider_ts_1.definiteError)(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} get_wallet_address returned no address`);
55
+ }
56
+ return core_1.Cell.fromBase64(item.value).beginParse().loadAddress().toRawString();
57
+ }
58
+ /** 0 only on the explicit answer that the jetton wallet has no code; a failed read throws. */
59
+ async getJettonBalance(jettonWallet) {
60
+ const reply = await this.runGetMethodReply(jettonWallet, 'get_wallet_data', []);
61
+ const exitCode = Number(reply.exit_code);
62
+ if ((0, ton_provider_ts_1.errorMessageOf)(reply) === null && exitCode === NO_CODE_EXIT_CODE)
63
+ return 0n;
64
+ if ((0, ton_provider_ts_1.errorMessageOf)(reply) !== null || exitCode !== 0 || !Array.isArray(reply.stack)) {
65
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} could not run get_wallet_data on ${jettonWallet}`, true);
66
+ }
67
+ return numAt(reply.stack, 0, 'jetton balance');
68
+ }
69
+ async getJettonContent(jettonMaster) {
70
+ const reply = await this.runGetMethodReply(jettonMaster, 'get_jetton_data', []);
71
+ if ((0, ton_provider_ts_1.errorMessageOf)(reply) !== null) {
72
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} could not run get_jetton_data on ${jettonMaster}`, true);
73
+ }
74
+ // A VM exit code is the chain's answer: no code (-13), or no such get-method.
75
+ if (Number(reply.exit_code) !== 0)
76
+ throw (0, ton_provider_ts_1.definiteError)(errors_ts_1.ChainErrorKinds.InvalidTokenIdentifier, `${jettonMaster} is not a jetton master`);
77
+ const stack = Array.isArray(reply.stack) ? reply.stack : [];
78
+ return (0, ton_provider_ts_1.stackCellOf)(stack[3], 'jetton content');
79
+ }
80
+ async getJettonWalletData(jettonWallet) {
81
+ const reply = await this.runGetMethodReply(jettonWallet, 'get_wallet_data', []);
82
+ const exitCode = Number(reply.exit_code);
83
+ if ((0, ton_provider_ts_1.errorMessageOf)(reply) === null && exitCode === NO_CODE_EXIT_CODE)
84
+ return null;
85
+ if ((0, ton_provider_ts_1.errorMessageOf)(reply) !== null || exitCode !== 0) {
86
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} could not run get_wallet_data on ${jettonWallet}`, true);
87
+ }
88
+ return (0, ton_provider_ts_1.jettonWalletDataOf)(reply.stack);
89
+ }
90
+ async sendBoc(boc) {
91
+ const reply = await (0, ton_provider_ts_1.tonBroadcastReply)(NAME, (0, ton_provider_ts_1.tonHttpJson)(NAME, this.endpoint, '/api/v3/message', { method: 'POST', body: { boc }, headers: this.headers() }));
92
+ const error = (0, ton_provider_ts_1.errorMessageOf)(reply);
93
+ if (error !== null)
94
+ throw (0, ton_provider_ts_1.definiteError)(errors_ts_1.ChainErrorKinds.BroadcastRejected, `${NAME} refused the message: ${error}`);
95
+ }
96
+ async getTrace(hash) {
97
+ const reply = await (0, ton_provider_ts_1.tonHttpJson)(NAME, this.endpoint, `/api/v3/traces?msg_hash=${encodeURIComponent(hexToBase64((0, ton_provider_ts_1.assertTonTxHash)(hash)))}`, {
98
+ headers: this.headers(),
99
+ });
100
+ // Only an explicit empty list means no trace; anything else says nothing.
101
+ if (reply === null || !Array.isArray(reply.traces)) {
102
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} returned no trace list for ${hash}`, true);
103
+ }
104
+ const traces = reply.traces;
105
+ if (traces.length === 0)
106
+ return null;
107
+ const trace = (0, ton_provider_ts_1.asRecord)(traces[0], 'trace');
108
+ const info = (0, ton_provider_ts_1.asRecord)(trace.trace_info ?? {}, 'trace_info');
109
+ const { transactions, missing } = orderedTransactions(trace.trace, (0, ton_provider_ts_1.asRecord)(trace.transactions, 'transactions'));
110
+ const finished = trace.is_incomplete !== true && info.trace_state === 'complete' && Number(info.pending_messages ?? 0) === 0;
111
+ // A trace still running may not have every transaction yet; a finished one
112
+ // without them never will, so TonAPI is asked instead.
113
+ if (finished && missing) {
114
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} returned a finished trace with transactions left out`, true);
115
+ }
116
+ return (0, ton_provider_ts_1.assertTraceOf)(NAME, hash, (0, ton_provider_ts_1.assertTraceConsistent)(NAME, { complete: finished && !missing, transactions }));
117
+ }
118
+ async emulate(boc) {
119
+ const reply = await (0, ton_provider_ts_1.tonHttpJson)(NAME, this.endpoint, '/api/emulate/v1/emulateTrace', {
120
+ method: 'POST',
121
+ body: { boc, ignore_chksig: true },
122
+ headers: this.headers(),
123
+ });
124
+ const error = (0, ton_provider_ts_1.errorMessageOf)(reply);
125
+ if (error !== null)
126
+ throw (0, ton_provider_ts_1.definiteError)(errors_ts_1.ChainErrorKinds.SimulationFailed, `${NAME} emulation failed: ${error}`);
127
+ const result = (0, ton_provider_ts_1.asRecord)(reply, 'emulation');
128
+ const { transactions, missing } = orderedTransactions(result.trace, (0, ton_provider_ts_1.asRecord)(result.transactions, 'transactions'));
129
+ // An emulation is judged whole or not at all; one cut short is asked of TonAPI.
130
+ if (missing || result.is_incomplete === true) {
131
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} returned an emulation cut short`, true);
132
+ }
133
+ return (0, ton_provider_ts_1.assertTraceConsistent)(NAME, { complete: true, transactions });
134
+ }
135
+ async getMasterchainHead() {
136
+ const reply = (0, ton_provider_ts_1.asRecord)(await this.get('/api/v3/masterchainInfo'), 'masterchainInfo');
137
+ const last = (0, ton_provider_ts_1.asRecord)(reply.last, 'last');
138
+ return { seqno: (0, ton_provider_ts_1.asRequiredInteger)(last.seqno, 'masterchain seqno'), utime: (0, ton_provider_ts_1.asRequiredInteger)(last.gen_utime, 'masterchain gen_utime') };
139
+ }
140
+ /** The stack of a get-method that ran, or `null` when the account has no code to run it. */
141
+ async runGetMethod(address, method, stack) {
142
+ const reply = await this.runGetMethodReply(address, method, stack);
143
+ if ((0, ton_provider_ts_1.errorMessageOf)(reply) !== null || Number(reply.exit_code ?? 0) !== 0)
144
+ return null;
145
+ return Array.isArray(reply.stack) ? reply.stack : [];
146
+ }
147
+ async runGetMethodReply(address, method, stack) {
148
+ const reply = await (0, ton_provider_ts_1.tonHttpJson)(NAME, this.endpoint, '/api/v3/runGetMethod', {
149
+ method: 'POST',
150
+ body: { address: (0, ton_address_ts_1.tonRawAddress)(address), method, stack },
151
+ headers: this.headers(),
152
+ });
153
+ if (reply === null)
154
+ throw new ton_provider_ts_1.TonProviderError(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} runGetMethod returned nothing`, true);
155
+ return (0, ton_provider_ts_1.asRecord)(reply, 'runGetMethod');
156
+ }
157
+ async get(path) {
158
+ return (await (0, ton_provider_ts_1.tonHttpJson)(NAME, this.endpoint, path, { headers: this.headers() })) ?? {};
159
+ }
160
+ headers() {
161
+ return { 'X-API-Key': this.endpoint.apiKey };
162
+ }
163
+ }
164
+ exports.ToncenterProvider = ToncenterProvider;
165
+ function numAt(stack, index, what) {
166
+ const item = stack[index];
167
+ if (item === undefined || item.type !== 'num')
168
+ throw (0, ton_provider_ts_1.definiteError)(errors_ts_1.ChainErrorKinds.RpcError, `${NAME} returned no ${what}`);
169
+ return (0, ton_provider_ts_1.asBigInt)(item.value, what);
170
+ }
171
+ /**
172
+ * The trace's transactions, root first then breadth-first along the trace
173
+ * tree. A node whose transaction the reply left out stays the parent of its
174
+ * children, and makes the trace `missing` a part.
175
+ */
176
+ function orderedTransactions(tree, byHash) {
177
+ const ordered = [];
178
+ let missing = false;
179
+ const queue = tree === undefined || tree === null ? [] : [{ node: tree, parent: null }];
180
+ while (queue.length > 0) {
181
+ const { node: raw, parent } = queue.shift();
182
+ const node = (0, ton_provider_ts_1.asRecord)(raw, 'trace node');
183
+ const tx = byHash[String(node.tx_hash)];
184
+ if (tx === undefined)
185
+ missing = true;
186
+ else
187
+ ordered.push(toTransaction((0, ton_provider_ts_1.asRecord)(tx, 'transaction'), parent));
188
+ const children = Array.isArray(node.children) ? node.children : [];
189
+ queue.push(...children.map((child) => ({ node: child, parent: base64ToHex(String(node.tx_hash)) })));
190
+ }
191
+ return { transactions: ordered, missing };
192
+ }
193
+ /** The phases from TON Center's `description`, every field the judgment reads required. */
194
+ function phasesOf(tx) {
195
+ const description = (0, ton_provider_ts_1.asRequiredRecord)(tx.description, 'transaction description');
196
+ const compute = (0, ton_provider_ts_1.asRequiredRecord)(description.compute_ph, 'compute_ph');
197
+ const skipped = (0, ton_provider_ts_1.asRequiredBoolean)(compute.skipped, 'compute_ph.skipped');
198
+ const action = description.action === undefined || description.action === null ? null : (0, ton_provider_ts_1.asRequiredRecord)(description.action, 'action');
199
+ return {
200
+ computeSkipped: skipped ? String(compute.reason) : null,
201
+ computeSuccess: skipped ? false : (0, ton_provider_ts_1.asRequiredBoolean)(compute.success, 'compute_ph.success'),
202
+ computeExitCode: skipped ? null : (0, ton_provider_ts_1.asRequiredInteger)(compute.exit_code, 'compute_ph.exit_code'),
203
+ action: action === null
204
+ ? null
205
+ : {
206
+ success: (0, ton_provider_ts_1.asRequiredBoolean)(action.success, 'action.success'),
207
+ resultCode: (0, ton_provider_ts_1.asRequiredInteger)(action.result_code, 'action.result_code'),
208
+ skippedActions: (0, ton_provider_ts_1.asRequiredInteger)(action.skipped_actions, 'action.skipped_actions'),
209
+ },
210
+ aborted: (0, ton_provider_ts_1.asRequiredBoolean)(description.aborted, 'description.aborted'),
211
+ };
212
+ }
213
+ function toTransaction(tx, parent) {
214
+ const finalized = tx.finality === undefined || tx.finality === 'finalized';
215
+ return {
216
+ hash: base64ToHex(String(tx.hash)),
217
+ parent,
218
+ account: (0, ton_address_ts_1.tonRawAddress)(String(tx.account)),
219
+ ...(0, ton_provider_ts_1.tonTransactionOutcome)(phasesOf(tx)),
220
+ totalFees: (0, ton_provider_ts_1.asBigInt)(tx.total_fees, 'total_fees'),
221
+ origStatus: (0, ton_provider_ts_1.asAccountStatus)(tx.orig_status),
222
+ endStatus: (0, ton_provider_ts_1.asAccountStatus)(tx.end_status),
223
+ inMsg: tx.in_msg === null || tx.in_msg === undefined ? null : toMessage((0, ton_provider_ts_1.asRecord)(tx.in_msg, 'in_msg')),
224
+ outMsgs: (Array.isArray(tx.out_msgs) ? tx.out_msgs : []).map((m) => toMessage((0, ton_provider_ts_1.asRecord)(m, 'out_msg'))),
225
+ mcSeqno: finalized && typeof tx.mc_block_seqno === 'number' ? tx.mc_block_seqno : null,
226
+ utime: Number(tx.now ?? 0),
227
+ };
228
+ }
229
+ function toMessage(msg) {
230
+ const content = msg.message_content === null || msg.message_content === undefined ? null : (0, ton_provider_ts_1.asRecord)(msg.message_content, 'message_content');
231
+ const cell = content !== null && typeof content.body === 'string' ? core_1.Cell.fromBase64(content.body) : null;
232
+ // An empty body is no body, as TonAPI's decoded messages read it.
233
+ const body = cell === null || (cell.bits.length === 0 && cell.refs.length === 0) ? null : cell;
234
+ return {
235
+ source: typeof msg.source === 'string' ? (0, ton_address_ts_1.tonRawAddress)(msg.source) : null,
236
+ destination: typeof msg.destination === 'string' ? (0, ton_address_ts_1.tonRawAddress)(msg.destination) : null,
237
+ value: (0, ton_provider_ts_1.asBigInt)(msg.value, 'value'),
238
+ fwdFee: (0, ton_provider_ts_1.asBigInt)(msg.fwd_fee, 'fwd_fee'),
239
+ bounce: msg.bounce === true,
240
+ bounced: msg.bounced === true,
241
+ opcode: typeof msg.opcode === 'string' ? Number(BigInt(msg.opcode)) >>> 0 : null,
242
+ createdLt: msg.created_lt === null || msg.created_lt === undefined ? null : (0, ton_provider_ts_1.asBigInt)(msg.created_lt, 'created_lt'),
243
+ body,
244
+ };
245
+ }
246
+ function hexToBase64(hex) {
247
+ return Buffer.from(hex, 'hex').toString('base64');
248
+ }
249
+ function base64ToHex(base64) {
250
+ return Buffer.from(base64, 'base64').toString('hex');
251
+ }
252
+ //# sourceMappingURL=ton_toncenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ton_toncenter.js","sourceRoot":"","sources":["../../../ton/ton_toncenter.ts"],"names":[],"mappings":"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"}