@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
package/CHANGELOG.md CHANGED
@@ -8,6 +8,74 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.7.0] — 2026-10-21
12
+
13
+ TON: a chain, W5 wallets, and requests one wallet signs and another delivers and pays for. Mainnet only. See `docs/ton.md`.
14
+
15
+ ### Added
16
+
17
+ - **`TonChain` and `TonMainnet`** (`@getomnichain/omnichain/ton`), read through TON Center v3 with TonAPI as the fallback. A call goes to TonAPI only when TON Center failed without an answer (transport, timeout, 429, 5xx). Every provider needs a key; a missing one is read from `TONCENTER_API_KEY` / `TONAPI_API_KEY`. A trace whose receivers disagree with their senders, or with a transaction left out, is refused as a provider failure and read from TonAPI instead.
18
+ - **`ChainErrorKinds.BroadcastUncertain`** and `isBroadcastUncertainError`: a broadcast that may have reached the network.
19
+ - **`TonBroadcastUncertainError`** (kind `BroadcastUncertain`): a broadcast that may have reached the network although it failed — a provider failed without an answer, with no fallback or with the fallback then refusing it. It carries `meta.txHash`; before signing again, wait for `getRequestState` to say `expired` (`consumed`: it landed). The lite server refusing a message on W5's seqno check is `NonceTooLow` (it, or another request with its seqno, landed — what a resend of a landed message gets); any other refusal is `BroadcastRejected`; "duplicate message" counts as sent. All come as HTTP 500 and are read by their text. A TON Center trace that is finished but leaves a transaction out is read from TonAPI. The masterchain head and a deployed wallet's seqno are never read as 0 or `NaN` on a failed or malformed reply, and an account is `nonexist` only when the provider says so. `getSeqno` reads the wallet's get-method live rather than gating on the indexed state, which can trail a deploy.
20
+ - **`TonChain.getRequestState({ wallet, seqno, validUntil, hash? })`** → `live | expired | consumed`, the check before signing a replacement. `consumed`: the wallet's seqno moved past the request, or it has a trace — never re-sign. `expired`: chain time (the masterchain head's) a minute past `validUntil`, the seqno not past it and no trace — safe to replace. `live`: it can still execute — a relayed (internal) request that failed included, since W5 keeps its seqno only when the transaction succeeds and anyone can deliver it again until `validUntil`. All reads come from one provider; a failed read throws.
21
+ - **Signed requests keep what they commit to**: `createInternalRequest` returns `{ body, seqno, validUntil }` (`tonRelayMessage` takes it); `TonSignedTransaction` reads `walletAddress`, `seqno` and `validUntil` from its signed body, and round-trips through `toJson` / `fromJson` (registered). `tonW5RequestFields` / `tonInternalRequestOf` read them from any signed W5 body.
22
+ - **`assertTraceConsistent`** runs in both providers and in the judgment: a trace with a gap — a transaction without an incoming message or a parent, or in a complete trace a sent message no transaction received — is a retryable provider error read from TonAPI, never an undelivered message. An emulation cut short is refused the same way. Transaction ids are refused unless 64 lowercase hex, everywhere; "no trace" is read only from the providers' explicit answers. A TonAPI trace that is its prediction for a message in flight (`emulated`) is never read as on chain.
23
+ - **Jetton assets and metadata**: `TonChain.resolveAsset` reads a jetton's symbol and decimals from its TEP-64 metadata (`get_jetton_data`, on-chain and off-chain over https), as Python and the Tron and Stellar ports do; `getJettonMetadata`, `createAsset`, `getJettonAsset`, `getAssetExplorerUrl`; `ton_assets.ts` with `TON_TON`, `TON_USDT`, `TON_MAINNET_STABLECOINS_PEG`. Providers gain `getJettonContent` and `getJettonWalletData`.
24
+ - **Transfers** (`TonTransferOptions`): `amountHr` for jettons; `isFullBalance` (native: send mode 130, value 0; jettons: the whole jetton balance); overrides for `bounce`, `sendMode`, `jettonAttachedNanoton`, `forwardTonAmountNanoton`. Native bounce defaults to bounceable only for an `EQ…` address that is deployed.
25
+ - **Jetton balance changes** in the status and `emulate`, per owner in the jetton asset, each transfer checked against its master. `jettonCredits` counts a credit unless the jetton wallet aborted.
26
+ - **`TonChain.verifySignature(publicKey, message, signature)`**: a TON message signature checked with the public key only, as on Tron and Stellar; strict 128-hex signatures.
27
+ - **Reads never fail open**: missing phase data (TON Center's `description`, TonAPI judged from the transaction BOC) is a retryable malformed reply, never a successful transaction; a jetton wallet reads 0 only when it has no code; a trace must be the requested message's.
28
+ - **The jetton explorer link** uses the master's bounceable (`EQ…`) form.
29
+ - **`TonWallet.signMessage` / `verifySignature`** sign `tonMessageHash(message)`, SHA-256 of `"TON Signed Message:\n"` and the message (as SEP-53 does for Stellar), so a signed message can never pass for a W5 request signature.
30
+ - **Workchain -1** (`TonWallet` / `fromMnemonic` `workchain`), with the Python SDK's wallet ids on both workchains (W5's context names workchain 0; v3r2 / v4r2 use 698983191), so -1 wallets match the Python SDK's addresses.
31
+ - **Wallet versions v4r2 and v3r2** (`TonWallet` / `fromMnemonic` `version`), as the Python SDK has them: external requests (up to 4 messages, "ignore errors" on each); relayed (gasless) requests stay W5-only and are refused for them. Their broadcast refusals are read by their check order (seqno 33 → `NonceTooLow`; expiry 35 / 36 → `BroadcastUncertain`), and a refusal "before smart-contract execution" (an account that cannot pay) is `BroadcastUncertain` on every version. `tonWalletRequestFields` reads any of the three bodies.
32
+ - **`TonWallet.fromMnemonic` without a path** uses TON's own mnemonic scheme — the key and W5 address the Python SDK and TON wallets give for the same words (`deriveTonNativeSeed`); Python's marker path `m/44'/607'/0'/0/0` means the same, and a passphrase is refused there. With a path it derives BIP-39 / SLIP-0010 as before.
33
+ - **`TonWallet`**: W5R1 on workchain 0, its key derived from a BIP-39 mnemonic with SLIP-0010 ed25519 at `m/44'/607'/<account>'`. `createExternalRequest` (sent and paid by the wallet itself) and `createInternalRequest` (signed for a relayer, op `0x73696e74`).
34
+ - **Relaying:** `tonRelayMessage({ wallet, request, value, deploy })` delivers a wallet's signed request and, with `deploy`, its StateInit, so the relayer deploys it on first use and pays every fee.
35
+ - **Messages:** `TonOutMessage`, `tonCommentBody`, `tonJettonTransferBody` (TEP-74), `tonNormalizedExternalHash` (TEP-467, the transaction id).
36
+ - **Reads:** account state, seqno, TON and jetton balances, `getJettonWalletAddress`.
37
+ - **`TonChain.emulate`**: the whole trace of an external message, signature ignored — fees, success, failed transactions, bounced messages, TON balance changes and jetton credits.
38
+ - **`TonTransactionStatus`**: final once the trace is complete and every transaction is in a masterchain-referenced block, with no confirmation count. `Failed` when the request did not do what it was signed for — the sending (or relayed) wallet failed, skipped a message or did not execute the request, or a message it sent bounced, or (a jetton transfer) was not sent on, or reached a receiver that failed without sending it back (`failed`, code `receiver_failed`: nothing returned); `bounced` only when the trace has the bounce. `summary.deliveries` gives each message's outcome. Failures further down the trace do not fail it.
39
+
40
+ ### Changed
41
+
42
+ - **`TonAddress.canonical()`** is the raw form with a lowercase hash, so every form of one account compares equal (it returned the input before). It also converts to either user-friendly form and reports the input's flags.
43
+ - **The root entry exports only `TonAddress`** from the TON family, so it loads no `@ton/*` dependency.
44
+
45
+ ### Dependencies
46
+
47
+ - `@ton/core` ^0.63, `@ton/crypto` ^3.3, `@ton/ton` ^16.3.
48
+
49
+ ## [0.6.3] — 2026-10-05
50
+
51
+ Tron: a transaction status rango-intents can trust, and local signing for depositron (RIN-317). No new node calls; building a transaction makes one fewer.
52
+
53
+ ### Added
54
+
55
+ - **`TronTransactionStatus.blockNumber`, `.signers`, `.memo`, `.memoHex`**, filled on successful and failed statuses from the two replies the status already reads:
56
+ - `blockNumber` is the including block;
57
+ - `signers` is the contract's owner account as a `T…` address (`[]` without the raw transaction);
58
+ - `memoHex` is `raw_data.data` in lowercase, and `memo` is its strict-UTF-8 decoding.
59
+ Pending and not-found statuses carry `null`, `[]`, `null`, `null`. All four are optional in the init, so existing constructors compile unchanged.
60
+ - **`decodeTronMemo(memoHex)`**: the memo decoder, identical to Clydner's `memoOf` (strict UTF-8, a leading byte-order mark dropped, `null` for empty, odd-length, non-hex or invalid UTF-8 input).
61
+ - **`TronTransaction.rawDataHex`**: the locally serialized `raw_data`.
62
+
63
+ ### Changed
64
+
65
+ - **Balance changes count only real money moves.**
66
+ - Internal transactions count as TRX only when not `rejected`, with a `call` or `suicide` note, summing every `callValueInfo` entry without a `tokenId`.
67
+ - `TriggerSmartContract` `call_value` is debited from the owner and credited to the contract.
68
+ - A `Transfer` log counts as TRC-20 only with exactly three topics and one 32-byte data word.
69
+ Before, rejected entries, staking and delegation entries, and TRC-10 amounts were counted as TRX.
70
+ - **The txID is computed locally.**
71
+ - `build()` hashes the protobuf-encoded `raw_data` (`TransferContract`, `TriggerSmartContract`, `FreezeBalanceV2Contract`, `DelegateResourceContract`) instead of asking `wallet/getsignweight`, which is now called only when a permission id is set, and must agree.
72
+ - `sign()` / `TronWallet.signTransaction()` recompute the txID and refuse a carried `txID` or `raw_data_hex` that does not match, or an unsupported contract type, before the key is used.
73
+ - `broadcast()` / `broadcastSignedTransaction()` re-check the txID before sending (so an altered stored transaction never reaches the node, and is reported as `InvalidArgument`) and require the node's reply to name the same txID (`RpcError` otherwise).
74
+
75
+ ### Note
76
+
77
+ - TypeScript-only. omnichain-py's side of both fixes is on RIN-328; `docs/tron.md` lists them under "Differences from omnichain-py".
78
+
11
79
  ## [0.6.2] — 2026-10-04
12
80
 
13
81
  Adds multi-signer UTXO transactions (RIN-267). A consumer that spends pre-selected inputs owned by several keys can now assemble, sign per key, finalize and broadcast without importing `bitcoinjs-lib`. Keys stay with the consumer; the SDK receives signer objects.
@@ -539,6 +607,7 @@ Initial npm release of `@getomnichain/omnichain`. Replaces prior vendored-submod
539
607
 
540
608
  ---
541
609
 
610
+ [0.6.3]: https://github.com/getomnichain/omnichain/releases/tag/v0.6.3
542
611
  [0.6.2]: https://github.com/getomnichain/omnichain/releases/tag/v0.6.2
543
612
  [0.6.1]: https://github.com/getomnichain/omnichain/releases/tag/v0.6.1
544
613
  [0.5.1]: https://github.com/getomnichain/omnichain/releases/tag/v0.5.1
@@ -105,8 +105,8 @@ function isStellar(chainId) {
105
105
  return exports.CHAIN_FAMILY_STELLAR.has(chainId);
106
106
  }
107
107
  // -----------------------------------------------------------------------------
108
- // TON family (mirrors chain_ids.py:92-100) — not implemented on TS v0
109
- // (only TonAddress is exported; TonChain deferred).
108
+ // TON family (mirrors chain_ids.py:92-100). TonChain serves mainnet only
109
+ // (`@getomnichain/omnichain/ton`).
110
110
  // -----------------------------------------------------------------------------
111
111
  exports.CHAIN_ID_TON_MAINNET = -4000;
112
112
  exports.CHAIN_ID_TON_TESTNET = -4001;
@@ -1 +1 @@
1
- {"version":3,"file":"chain_ids.js","sourceRoot":"","sources":["../../chain_ids.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain_ids.js","sourceRoot":"","sources":["../../chain_ids.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ exports.sanitizeCause = sanitizeCause;
6
6
  exports.isChainError = isChainError;
7
7
  exports.isBlockhashExpiredError = isBlockhashExpiredError;
8
8
  exports.isSimulationError = isSimulationError;
9
+ exports.isBroadcastUncertainError = isBroadcastUncertainError;
9
10
  exports.isNonceError = isNonceError;
10
11
  exports.isTransactionTooLargeError = isTransactionTooLargeError;
11
12
  /**
@@ -80,6 +81,8 @@ exports.ChainErrorKinds = {
80
81
  InvalidTokenIdentifier: 'invalid_token_identifier',
81
82
  InvalidArgument: 'invalid_argument',
82
83
  BroadcastRejected: 'broadcast_rejected',
84
+ /** The broadcast failed in a way that does not tell whether the transaction reached the network; read its status before signing again. */
85
+ BroadcastUncertain: 'broadcast_uncertain',
83
86
  NonceTooLow: 'nonce_too_low',
84
87
  InsufficientFunds: 'insufficient_funds',
85
88
  BlockhashExpired: 'blockhash_expired',
@@ -109,6 +112,9 @@ function isBlockhashExpiredError(err) {
109
112
  function isSimulationError(err) {
110
113
  return isChainError(err, exports.ChainErrorKinds.SimulationFailed);
111
114
  }
115
+ function isBroadcastUncertainError(err) {
116
+ return isChainError(err, exports.ChainErrorKinds.BroadcastUncertain);
117
+ }
112
118
  function isNonceError(err) {
113
119
  return isChainError(err, exports.ChainErrorKinds.NonceTooLow);
114
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../errors.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -42,6 +42,6 @@ __exportStar(require("./unsigned_transaction.js"), exports);
42
42
  __exportStar(require("./wallet.base.js"), exports);
43
43
  __exportStar(require("./evm/index.js"), exports);
44
44
  __exportStar(require("./solana/index.js"), exports);
45
- __exportStar(require("./ton/index.js"), exports);
45
+ __exportStar(require("./ton/ton_address.js"), exports);
46
46
  __exportStar(require("./utxo/index.js"), exports);
47
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,+CAA6B;AAC7B,uDAAqC;AACrC,+DAA6C;AAC7C,qDAAmC;AACnC,iDAA+B;AAC/B,sDAAoC;AACpC,6CAA2B;AAC3B,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,8CAA4B;AAC5B,4DAA0C;AAC1C,oDAAkC;AAClC,gDAA8B;AAC9B,mDAAiC;AACjC,mDAAiC;AACjC,yDAAuC;AACvC,0DAAwC;AACxC,6CAA2B;AAC3B,wDAAsC;AACtC,gEAA8C;AAC9C,8DAA4C;AAC5C,0DAAwC;AACxC,4DAA0C;AAC1C,mDAAiC;AACjC,iDAA+B;AAC/B,oDAAkC;AAClC,iDAA+B;AAC/B,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,+CAA6B;AAC7B,uDAAqC;AACrC,+DAA6C;AAC7C,qDAAmC;AACnC,iDAA+B;AAC/B,sDAAoC;AACpC,6CAA2B;AAC3B,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,8CAA4B;AAC5B,4DAA0C;AAC1C,oDAAkC;AAClC,gDAA8B;AAC9B,mDAAiC;AACjC,mDAAiC;AACjC,yDAAuC;AACvC,0DAAwC;AACxC,6CAA2B;AAC3B,wDAAsC;AACtC,gEAA8C;AAC9C,8DAA4C;AAC5C,0DAAwC;AACxC,4DAA0C;AAC1C,mDAAiC;AACjC,iDAA+B;AAC/B,oDAAkC;AAClC,uDAAqC;AACrC,kDAAgC"}
@@ -15,4 +15,16 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./ton_address.js"), exports);
18
+ __exportStar(require("./ton_asset.js"), exports);
19
+ __exportStar(require("./ton_assets.js"), exports);
20
+ __exportStar(require("./ton_chain.js"), exports);
21
+ __exportStar(require("./ton_chains.js"), exports);
22
+ __exportStar(require("./ton_jetton_metadata.js"), exports);
23
+ __exportStar(require("./ton_messages.js"), exports);
24
+ __exportStar(require("./ton_provider.js"), exports);
25
+ __exportStar(require("./ton_tonapi.js"), exports);
26
+ __exportStar(require("./ton_toncenter.js"), exports);
27
+ __exportStar(require("./ton_transaction_status.js"), exports);
28
+ __exportStar(require("./ton_transactions.js"), exports);
29
+ __exportStar(require("./ton_wallet.js"), exports);
18
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ton/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ton/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,iDAA+B;AAC/B,kDAAgC;AAChC,iDAA+B;AAC/B,kDAAgC;AAChC,2DAAyC;AACzC,oDAAkC;AAClC,oDAAkC;AAClC,kDAAgC;AAChC,qDAAmC;AACnC,8DAA4C;AAC5C,wDAAsC;AACtC,kDAAgC"}
@@ -1,48 +1,106 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TonAddress = void 0;
4
+ exports.tonRawAddress = tonRawAddress;
5
+ exports.tonUserFriendlyAddress = tonUserFriendlyAddress;
4
6
  const network_type_ts_1 = require("../network_type.js");
5
7
  const address_ts_1 = require("../address.js");
6
8
  const TON_USER_FRIENDLY_REGEX = /^[A-Za-z0-9_-]{48}$/;
7
- const TON_RAW_REGEX = /^-?\d+:[a-fA-F0-9]{64}$/;
9
+ const TON_RAW_REGEX = /^(-?\d+):([a-fA-F0-9]{64})$/;
8
10
  const USER_FRIENDLY_BYTE_LENGTH = 36;
9
11
  const CRC_POLYNOMIAL = 0x1021;
12
+ const FLAG_BOUNCEABLE = 0x11;
13
+ const FLAG_NON_BOUNCEABLE = 0x51;
14
+ const FLAG_TEST_ONLY = 0x80;
15
+ /**
16
+ * A TON address in any of its forms: raw `<workchain>:<64 hex>` or the 48-char
17
+ * user-friendly base64url form. `canonical()` is the raw form with a lowercase
18
+ * hash, so every form of one account compares equal.
19
+ *
20
+ * Self-contained (no `@ton/core`) so the root entry keeps loading no TON
21
+ * dependency.
22
+ */
10
23
  class TonAddress extends address_ts_1.Address {
24
+ #parsed;
11
25
  constructor(raw) {
12
26
  super(raw);
13
- TonAddress.assertValid(raw);
27
+ this.#parsed = TonAddress.parse(raw);
14
28
  }
15
29
  canonical() {
16
- return this.raw;
30
+ return `${this.#parsed.workchain}:${this.#parsed.hash.toString('hex')}`;
17
31
  }
18
32
  get networkType() {
19
33
  return network_type_ts_1.NetworkType.TON;
20
34
  }
21
- static assertValid(raw) {
35
+ get workchain() {
36
+ return this.#parsed.workchain;
37
+ }
38
+ /** The flag the input carried; `null` for a raw address, which has none. */
39
+ get isBounceable() {
40
+ return this.#parsed.bounceable;
41
+ }
42
+ get isTestOnly() {
43
+ return this.#parsed.testOnly;
44
+ }
45
+ toUserFriendly(opts = {}) {
46
+ const bounceable = opts.bounceable ?? true;
47
+ let tag = bounceable ? FLAG_BOUNCEABLE : FLAG_NON_BOUNCEABLE;
48
+ if (opts.testOnly === true)
49
+ tag |= FLAG_TEST_ONLY;
50
+ const bytes = Buffer.alloc(USER_FRIENDLY_BYTE_LENGTH);
51
+ bytes[0] = tag;
52
+ bytes[1] = this.#parsed.workchain & 0xff;
53
+ this.#parsed.hash.copy(bytes, 2);
54
+ bytes.writeUInt16BE(crc16CcittXmodem(bytes.subarray(0, 34)), 34);
55
+ return bytes.toString('base64url');
56
+ }
57
+ static parse(raw) {
22
58
  if (typeof raw !== 'string') {
23
59
  throw new Error(`Invalid TON address: not a string`);
24
60
  }
25
- if (TON_RAW_REGEX.test(raw))
26
- return;
27
- if (TON_USER_FRIENDLY_REGEX.test(raw)) {
28
- TonAddress.assertUserFriendlyChecksum(raw);
29
- return;
61
+ const rawMatch = TON_RAW_REGEX.exec(raw);
62
+ if (rawMatch !== null) {
63
+ const workchain = Number(rawMatch[1]);
64
+ if (!Number.isSafeInteger(workchain) || workchain < -128 || workchain > 127) {
65
+ throw new Error(`Invalid TON address workchain: "${raw}"`);
66
+ }
67
+ return { workchain, hash: Buffer.from(rawMatch[2], 'hex'), bounceable: null, testOnly: false };
30
68
  }
69
+ if (TON_USER_FRIENDLY_REGEX.test(raw))
70
+ return TonAddress.parseUserFriendly(raw);
31
71
  throw new Error(`Invalid TON address: "${raw}"`);
32
72
  }
33
- static assertUserFriendlyChecksum(userFriendly) {
34
- const bytes = Buffer.from(userFriendly.replace(/-/g, '+').replace(/_/g, '/'), 'base64');
73
+ static parseUserFriendly(userFriendly) {
74
+ const bytes = Buffer.from(userFriendly, 'base64url');
35
75
  if (bytes.length !== USER_FRIENDLY_BYTE_LENGTH) {
36
76
  throw new Error(`Invalid TON address: "${userFriendly}"`);
37
77
  }
38
- const claimedCrc = (bytes[34] << 8) | bytes[35];
39
- const computedCrc = crc16CcittXmodem(bytes.subarray(0, 34));
40
- if (claimedCrc !== computedCrc) {
78
+ const claimedCrc = bytes.readUInt16BE(34);
79
+ if (claimedCrc !== crc16CcittXmodem(bytes.subarray(0, 34))) {
41
80
  throw new Error(`Invalid TON address checksum: "${userFriendly}"`);
42
81
  }
82
+ const testOnly = (bytes[0] & FLAG_TEST_ONLY) !== 0;
83
+ const tag = bytes[0] & ~FLAG_TEST_ONLY;
84
+ if (tag !== FLAG_BOUNCEABLE && tag !== FLAG_NON_BOUNCEABLE) {
85
+ throw new Error(`Invalid TON address flags: "${userFriendly}"`);
86
+ }
87
+ return {
88
+ workchain: bytes.readInt8(1),
89
+ hash: Buffer.from(bytes.subarray(2, 34)),
90
+ bounceable: tag === FLAG_BOUNCEABLE,
91
+ testOnly,
92
+ };
43
93
  }
44
94
  }
45
95
  exports.TonAddress = TonAddress;
96
+ /** The canonical raw form (`0:<lowercase hex>`) of any TON address form. */
97
+ function tonRawAddress(address) {
98
+ return new TonAddress(address).canonical();
99
+ }
100
+ /** The user-friendly form of any TON address form; bounceable unless told otherwise. */
101
+ function tonUserFriendlyAddress(address, opts = {}) {
102
+ return new TonAddress(address).toUserFriendly(opts);
103
+ }
46
104
  function crc16CcittXmodem(bytes) {
47
105
  let crc = 0;
48
106
  for (const byte of bytes) {
@@ -1 +1 @@
1
- {"version":3,"file":"ton_address.js","sourceRoot":"","sources":["../../../ton/ton_address.ts"],"names":[],"mappings":";;;AAAA,wDAAiD;AAEjD,8CAAwC;AAExC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AACtD,MAAM,aAAa,GAAG,yBAAyB,CAAC;AAChD,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,MAAM,cAAc,GAAG,MAAM,CAAC;AAE9B,MAAa,UAAW,SAAQ,oBAAO;IACrC,YAAY,GAAW;QACrB,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,6BAAW,CAAC,GAAG,CAAC;IACzB,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,GAAW;QACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO;QACpC,IAAI,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,UAAU,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC;IACnD,CAAC;IAEO,MAAM,CAAC,0BAA0B,CAAC,YAAoB;QAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACvB,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAClD,QAAQ,CACT,CAAC;QACF,IAAI,KAAK,CAAC,MAAM,KAAK,yBAAyB,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,GAAG,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5D,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,GAAG,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF;AAxCD,gCAwCC;AAED,SAAS,gBAAgB,CAAC,KAAiB;IACzC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC;QACjB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;YACjC,GAAG;gBACD,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,cAAc,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;QACxF,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"ton_address.js","sourceRoot":"","sources":["../../../ton/ton_address.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TonAsset = void 0;
4
+ const token_ts_1 = require("../token.js");
5
+ const ton_address_ts_1 = require("./ton_address.js");
6
+ /**
7
+ * Native TON (`identifier` undefined, 9 decimals) or a jetton, identified by
8
+ * its master contract in canonical raw form.
9
+ */
10
+ class TonAsset extends token_ts_1.Token {
11
+ static NATIVE_DECIMALS = 9;
12
+ constructor(chainId, symbol, jettonMaster, decimals) {
13
+ super(chainId, symbol, jettonMaster === null ? undefined : (0, ton_address_ts_1.tonRawAddress)(jettonMaster), decimals);
14
+ }
15
+ /** The jetton master's raw address, or `null` for native TON. */
16
+ get jettonMaster() {
17
+ return this.identifier ?? null;
18
+ }
19
+ }
20
+ exports.TonAsset = TonAsset;
21
+ //# sourceMappingURL=ton_asset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ton_asset.js","sourceRoot":"","sources":["../../../ton/ton_asset.ts"],"names":[],"mappings":";;;AAAA,0CAAoC;AACpC,qDAAiD;AAEjD;;;GAGG;AACH,MAAa,QAAS,SAAQ,gBAAK;IACjC,MAAM,CAAU,eAAe,GAAG,CAAC,CAAC;IAEpC,YAAY,OAAe,EAAE,MAAc,EAAE,YAA2B,EAAE,QAAgB;QACxF,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,8BAAa,EAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;IACpG,CAAC;IAED,iEAAiE;IACjE,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;IACjC,CAAC;;AAVH,4BAWC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TON_MAINNET_STABLECOINS_PEG = exports.TON_USDT = exports.TON_TON = void 0;
4
+ const asset_map_ts_1 = require("../asset_map.js");
5
+ const chain_type_ts_1 = require("../chain_type.js");
6
+ const ton_chains_ts_1 = require("./ton_chains.js");
7
+ exports.TON_TON = ton_chains_ts_1.TonMainnet.nativeAsset;
8
+ exports.TON_USDT = ton_chains_ts_1.TonMainnet.getJettonAsset('USD₮', 'EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs', 6);
9
+ exports.TON_MAINNET_STABLECOINS_PEG = new asset_map_ts_1.AssetMap([[exports.TON_USDT, chain_type_ts_1.FiatCurrency.USD]]);
10
+ //# sourceMappingURL=ton_assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ton_assets.js","sourceRoot":"","sources":["../../../ton/ton_assets.ts"],"names":[],"mappings":";;;AAAA,kDAA2C;AAC3C,oDAAgD;AAEhD,mDAA6C;AAEhC,QAAA,OAAO,GAAG,0BAAU,CAAC,WAAW,CAAC;AAEjC,QAAA,QAAQ,GAAG,0BAAU,CAAC,cAAc,CAAC,MAAM,EAAE,kDAAkD,EAAE,CAAC,CAAC,CAAC;AAEpG,QAAA,2BAA2B,GAAwC,IAAI,uBAAQ,CAAyB,CAAC,CAAC,gBAAQ,EAAE,4BAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC"}