@getomnichain/omnichain 0.6.3 → 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.
- package/CHANGELOG.md +38 -0
- package/dist/cjs/chain_ids.js +2 -2
- package/dist/cjs/chain_ids.js.map +1 -1
- package/dist/cjs/errors.js +6 -0
- package/dist/cjs/errors.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/ton/index.js +12 -0
- package/dist/cjs/ton/index.js.map +1 -1
- package/dist/cjs/ton/ton_address.js +72 -14
- package/dist/cjs/ton/ton_address.js.map +1 -1
- package/dist/cjs/ton/ton_asset.js +21 -0
- package/dist/cjs/ton/ton_asset.js.map +1 -0
- package/dist/cjs/ton/ton_assets.js +10 -0
- package/dist/cjs/ton/ton_assets.js.map +1 -0
- package/dist/cjs/ton/ton_chain.js +483 -0
- package/dist/cjs/ton/ton_chain.js.map +1 -0
- package/dist/cjs/ton/ton_chains.js +21 -0
- package/dist/cjs/ton/ton_chains.js.map +1 -0
- package/dist/cjs/ton/ton_jetton_metadata.js +107 -0
- package/dist/cjs/ton/ton_jetton_metadata.js.map +1 -0
- package/dist/cjs/ton/ton_messages.js +174 -0
- package/dist/cjs/ton/ton_messages.js.map +1 -0
- package/dist/cjs/ton/ton_provider.js +456 -0
- package/dist/cjs/ton/ton_provider.js.map +1 -0
- package/dist/cjs/ton/ton_tonapi.js +243 -0
- package/dist/cjs/ton/ton_tonapi.js.map +1 -0
- package/dist/cjs/ton/ton_toncenter.js +252 -0
- package/dist/cjs/ton/ton_toncenter.js.map +1 -0
- package/dist/cjs/ton/ton_transaction_status.js +231 -0
- package/dist/cjs/ton/ton_transaction_status.js.map +1 -0
- package/dist/cjs/ton/ton_transactions.js +107 -0
- package/dist/cjs/ton/ton_transactions.js.map +1 -0
- package/dist/cjs/ton/ton_wallet.js +285 -0
- package/dist/cjs/ton/ton_wallet.js.map +1 -0
- package/dist/esm/chain_ids.js +2 -2
- package/dist/esm/chain_ids.js.map +1 -1
- package/dist/esm/errors.d.ts +3 -0
- package/dist/esm/errors.d.ts.map +1 -1
- package/dist/esm/errors.js +5 -0
- package/dist/esm/errors.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ton/index.d.ts +12 -0
- package/dist/esm/ton/index.d.ts.map +1 -1
- package/dist/esm/ton/index.js +12 -0
- package/dist/esm/ton/index.js.map +1 -1
- package/dist/esm/ton/ton_address.d.ts +26 -2
- package/dist/esm/ton/ton_address.d.ts.map +1 -1
- package/dist/esm/ton/ton_address.js +70 -14
- package/dist/esm/ton/ton_address.js.map +1 -1
- package/dist/esm/ton/ton_asset.d.ts +12 -0
- package/dist/esm/ton/ton_asset.d.ts.map +1 -0
- package/dist/esm/ton/ton_asset.js +17 -0
- package/dist/esm/ton/ton_asset.js.map +1 -0
- package/dist/esm/ton/ton_assets.d.ts +6 -0
- package/dist/esm/ton/ton_assets.d.ts.map +1 -0
- package/dist/esm/ton/ton_assets.js +7 -0
- package/dist/esm/ton/ton_assets.js.map +1 -0
- package/dist/esm/ton/ton_chain.d.ts +205 -0
- package/dist/esm/ton/ton_chain.d.ts.map +1 -0
- package/dist/esm/ton/ton_chain.js +479 -0
- package/dist/esm/ton/ton_chain.js.map +1 -0
- package/dist/esm/ton/ton_chains.d.ts +11 -0
- package/dist/esm/ton/ton_chains.d.ts.map +1 -0
- package/dist/esm/ton/ton_chains.js +18 -0
- package/dist/esm/ton/ton_chains.js.map +1 -0
- package/dist/esm/ton/ton_jetton_metadata.d.ts +36 -0
- package/dist/esm/ton/ton_jetton_metadata.d.ts.map +1 -0
- package/dist/esm/ton/ton_jetton_metadata.js +103 -0
- package/dist/esm/ton/ton_jetton_metadata.js.map +1 -0
- package/dist/esm/ton/ton_messages.d.ts +133 -0
- package/dist/esm/ton/ton_messages.d.ts.map +1 -0
- package/dist/esm/ton/ton_messages.js +159 -0
- package/dist/esm/ton/ton_messages.js.map +1 -0
- package/dist/esm/ton/ton_provider.d.ts +261 -0
- package/dist/esm/ton/ton_provider.d.ts.map +1 -0
- package/dist/esm/ton/ton_provider.js +432 -0
- package/dist/esm/ton/ton_provider.js.map +1 -0
- package/dist/esm/ton/ton_tonapi.d.ts +39 -0
- package/dist/esm/ton/ton_tonapi.d.ts.map +1 -0
- package/dist/esm/ton/ton_tonapi.js +239 -0
- package/dist/esm/ton/ton_tonapi.js.map +1 -0
- package/dist/esm/ton/ton_toncenter.d.ts +25 -0
- package/dist/esm/ton/ton_toncenter.d.ts.map +1 -0
- package/dist/esm/ton/ton_toncenter.js +248 -0
- package/dist/esm/ton/ton_toncenter.js.map +1 -0
- package/dist/esm/ton/ton_transaction_status.d.ts +116 -0
- package/dist/esm/ton/ton_transaction_status.d.ts.map +1 -0
- package/dist/esm/ton/ton_transaction_status.js +226 -0
- package/dist/esm/ton/ton_transaction_status.js.map +1 -0
- package/dist/esm/ton/ton_transactions.d.ts +54 -0
- package/dist/esm/ton/ton_transactions.d.ts.map +1 -0
- package/dist/esm/ton/ton_transactions.js +100 -0
- package/dist/esm/ton/ton_transactions.js.map +1 -0
- package/dist/esm/ton/ton_wallet.d.ts +134 -0
- package/dist/esm/ton/ton_wallet.d.ts.map +1 -0
- package/dist/esm/ton/ton_wallet.js +278 -0
- package/dist/esm/ton/ton_wallet.js.map +1 -0
- package/docs/README.md +2 -1
- package/docs/ton.md +164 -0
- package/package.json +5 -1
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { type BroadcastOpts, Chain, type CreateTransferRequest, type GetTransactionStatusOpts, type VerifyMessageSignatureRequest } from '../chain.base.ts';
|
|
2
|
+
import { ChainType } from '../chain_type.ts';
|
|
3
|
+
import type { AbstractSignedMessage } from '../wallet.base.ts';
|
|
4
|
+
import { TonAsset } from './ton_asset.ts';
|
|
5
|
+
import { type TonJettonMetadata, type TonMetadataFetcher } from './ton_jetton_metadata.ts';
|
|
6
|
+
import { type TonAccountState, type TonProvider, type TonTrace } from './ton_provider.ts';
|
|
7
|
+
import { type TonTraceSummary, TonTransactionStatus } from './ton_transaction_status.ts';
|
|
8
|
+
import { TonSignedTransaction, TonUnsignedTransaction } from './ton_transactions.ts';
|
|
9
|
+
/** TON a jetton transfer carries to the sender's jetton wallet; the excess returns to `responseDestination`. */
|
|
10
|
+
export declare const DEFAULT_JETTON_TRANSFER_ATTACHED_NANOTON = 50000000n;
|
|
11
|
+
/** TON forwarded to the jetton recipient with the transfer notification. */
|
|
12
|
+
export declare const DEFAULT_JETTON_FORWARD_NANOTON = 1n;
|
|
13
|
+
/**
|
|
14
|
+
* How far past a request's `validUntil` the masterchain must be before the
|
|
15
|
+
* request counts as expired; shard blocks and the provider's state can trail
|
|
16
|
+
* the masterchain head by a few seconds.
|
|
17
|
+
*/
|
|
18
|
+
export declare const REQUEST_EXPIRY_MARGIN_SECONDS = 60;
|
|
19
|
+
/** Where a signed request stands; see `TonChain.getRequestState`. */
|
|
20
|
+
export type TonRequestState = 'live' | 'expired' | 'consumed';
|
|
21
|
+
export interface TonProviderEndpoint {
|
|
22
|
+
url: string;
|
|
23
|
+
/**
|
|
24
|
+
* Required: the family never calls a provider without a key. When absent it
|
|
25
|
+
* is read at first use from `TONCENTER_API_KEY` / `TONAPI_API_KEY`.
|
|
26
|
+
*/
|
|
27
|
+
apiKey?: string | null;
|
|
28
|
+
timeoutMs?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface TonChainInit {
|
|
31
|
+
chainId: number;
|
|
32
|
+
name: string;
|
|
33
|
+
explorerUrl: string;
|
|
34
|
+
/** The main provider, TON Center v3. */
|
|
35
|
+
toncenter: TonProviderEndpoint;
|
|
36
|
+
/** The fallback, TonAPI; without a key there is no fallback. */
|
|
37
|
+
tonapi?: TonProviderEndpoint | null;
|
|
38
|
+
/** Replaces both, e.g. in tests. */
|
|
39
|
+
provider?: TonProvider;
|
|
40
|
+
/** Fetches a jetton's off-chain metadata JSON (https); replaceable, e.g. in tests. */
|
|
41
|
+
fetchMetadata?: TonMetadataFetcher;
|
|
42
|
+
}
|
|
43
|
+
/** A transfer, with TON's own options; see `TonChain.createTransferUnsignedTransaction`. */
|
|
44
|
+
export interface TonTransferOptions extends CreateTransferRequest {
|
|
45
|
+
/** Overrides the message's bounce flag. */
|
|
46
|
+
bounce?: boolean;
|
|
47
|
+
/** Overrides the send mode. */
|
|
48
|
+
sendMode?: number;
|
|
49
|
+
/** Jetton transfers: TON attached to the sender's jetton wallet. */
|
|
50
|
+
jettonAttachedNanoton?: bigint;
|
|
51
|
+
/** Jetton transfers: TON forwarded to the recipient with the transfer notification. */
|
|
52
|
+
forwardTonAmountNanoton?: bigint;
|
|
53
|
+
}
|
|
54
|
+
export interface TonGetTransactionStatusOpts extends GetTransactionStatusOpts {
|
|
55
|
+
/** Masterchain blocks required after the trace is final. 0 by default: TON finality needs none. */
|
|
56
|
+
minMasterchainDepth?: number;
|
|
57
|
+
}
|
|
58
|
+
export interface TonEmulationResult extends TonTraceSummary {
|
|
59
|
+
trace: TonTrace;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* A TON chain, read through TON Center v3 with TonAPI as the fallback.
|
|
63
|
+
*
|
|
64
|
+
* Transaction ids are normalized external-message hashes (lowercase hex), and
|
|
65
|
+
* a transaction's status covers its whole trace.
|
|
66
|
+
*/
|
|
67
|
+
export declare class TonChain extends Chain {
|
|
68
|
+
#private;
|
|
69
|
+
private readonly _nativeAsset;
|
|
70
|
+
constructor(init: TonChainInit);
|
|
71
|
+
/** The configured provider, built on first use so a chain without keys can still be constructed. */
|
|
72
|
+
get provider(): TonProvider;
|
|
73
|
+
get chainType(): ChainType;
|
|
74
|
+
get nativeToken(): TonAsset;
|
|
75
|
+
get nativeAsset(): TonAsset;
|
|
76
|
+
getWalletExplorerUrl(address: string): string;
|
|
77
|
+
/** A jetton master is a contract, so its link uses the bounceable (`EQ…`) form. */
|
|
78
|
+
getTokenExplorerUrl(tokenIdentifier?: string): string;
|
|
79
|
+
/** `null` for native TON. */
|
|
80
|
+
getAssetExplorerUrl(asset: TonAsset): string | null;
|
|
81
|
+
getTransactionExplorerUrl(txHash: string): string;
|
|
82
|
+
validateAddress(raw: string): boolean;
|
|
83
|
+
validateTokenIdentifier(raw: string | undefined): boolean;
|
|
84
|
+
getAccountState(address: string): Promise<TonAccountState>;
|
|
85
|
+
/**
|
|
86
|
+
* The wallet's seqno, read live from its get-method rather than from the
|
|
87
|
+
* indexed account state, which can trail a deploy; 0 while it has no code.
|
|
88
|
+
*/
|
|
89
|
+
getSeqno(address: string): Promise<number>;
|
|
90
|
+
/**
|
|
91
|
+
* Native TON for no identifier; otherwise the jetton whose master
|
|
92
|
+
* `identifier` names, its symbol and decimals read from its TEP-64
|
|
93
|
+
* metadata ({@link getJettonMetadata}). Resolved jettons are kept for the
|
|
94
|
+
* chain's lifetime.
|
|
95
|
+
*/
|
|
96
|
+
resolveAsset(identifier: string | null | undefined): Promise<TonAsset>;
|
|
97
|
+
/**
|
|
98
|
+
* A jetton's TEP-64 metadata: the master's `get_jetton_data` content, and the
|
|
99
|
+
* off-chain JSON its URI names (https) for what the content lacks. Throws
|
|
100
|
+
* `InvalidTokenIdentifier` for anything that is not a jetton master, and
|
|
101
|
+
* (retryably) when the decimals cannot be read.
|
|
102
|
+
*/
|
|
103
|
+
getJettonMetadata(jettonMaster: string): Promise<TonJettonMetadata>;
|
|
104
|
+
createAsset(symbol: string, identifier: string | null | undefined, decimals: number): TonAsset;
|
|
105
|
+
getJettonAsset(symbol: string, jettonMaster: string, decimals: number): TonAsset;
|
|
106
|
+
/** The jetton wallet `owner` has (or will have) for `jettonMaster`, raw. */
|
|
107
|
+
getJettonWalletAddress(jettonMaster: string, owner: string): Promise<string>;
|
|
108
|
+
/** Nanotons, or the jetton's smallest unit when `tokenIdentifier` is a jetton master. */
|
|
109
|
+
getBalance(owner: string, tokenIdentifier?: string): Promise<bigint>;
|
|
110
|
+
/**
|
|
111
|
+
* A transfer from `from`: native TON (with `memo` as a text comment), or a
|
|
112
|
+
* jetton through the sender's jetton wallet, the excess returned to the
|
|
113
|
+
* sender. `amountHr` takes the jetton's decimals from its metadata.
|
|
114
|
+
*
|
|
115
|
+
* - `isFullBalance`: native TON sends everything the wallet holds (send mode
|
|
116
|
+
* 128 + 2, value 0); a jetton sends the jetton wallet's whole balance.
|
|
117
|
+
* - Native `bounce`, unless given: only to a bounceable (`EQ…`) address
|
|
118
|
+
* that is deployed — a contract that fails then returns the TON, and a
|
|
119
|
+
* wallet not deployed yet still receives it, as TON wallets send.
|
|
120
|
+
* - Jetton transfers are always bounceable unless `bounce` says otherwise,
|
|
121
|
+
* carry {@link DEFAULT_JETTON_TRANSFER_ATTACHED_NANOTON} and forward
|
|
122
|
+
* {@link DEFAULT_JETTON_FORWARD_NANOTON}; `jettonAttachedNanoton`,
|
|
123
|
+
* `forwardTonAmountNanoton` and `sendMode` override.
|
|
124
|
+
*/
|
|
125
|
+
createTransferUnsignedTransaction(req: TonTransferOptions): Promise<TonUnsignedTransaction>;
|
|
126
|
+
/**
|
|
127
|
+
* Emulates the whole trace of an external message (signature ignored): what
|
|
128
|
+
* it would cost, and whether every transaction would succeed with nothing
|
|
129
|
+
* bounced. Throws `SimulationFailed` when the message would be refused
|
|
130
|
+
* outright.
|
|
131
|
+
*/
|
|
132
|
+
emulate(boc: string): Promise<TonEmulationResult>;
|
|
133
|
+
/**
|
|
134
|
+
* Sends an external message (base64 BOC or bytes) and returns its normalized
|
|
135
|
+
* hash. Throws `TonBroadcastUncertainError` when the message may have reached
|
|
136
|
+
* the network anyway; re-signing then can pay twice.
|
|
137
|
+
*/
|
|
138
|
+
broadcast(signed: string | Uint8Array, opts?: BroadcastOpts): Promise<string>;
|
|
139
|
+
broadcastSignedTransaction(signed: TonSignedTransaction): Promise<string>;
|
|
140
|
+
getTransactionStatus(txHash: string, opts?: TonGetTransactionStatusOpts): Promise<TonTransactionStatus>;
|
|
141
|
+
getTransactionStatus(txHashes: string[], opts?: TonGetTransactionStatusOpts): Promise<TonTransactionStatus[]>;
|
|
142
|
+
/** The masterchain's latest block. */
|
|
143
|
+
getChainTipHeight(): Promise<number>;
|
|
144
|
+
/**
|
|
145
|
+
* Where a signed request stands, so it is never replaced while it can still
|
|
146
|
+
* execute — the one check to make before signing a replacement, after a
|
|
147
|
+
* `Failed` relayed request or an uncertain broadcast:
|
|
148
|
+
* - `consumed`: the wallet's seqno has moved past the request's, or (given
|
|
149
|
+
* `hash`, for an external request) the request has a trace. It executed —
|
|
150
|
+
* or another request signed with the same seqno did. Do not re-sign it;
|
|
151
|
+
* read its status (`getTransactionStatus(hash)`, or the relay's).
|
|
152
|
+
* - `expired`: the chain's own time (not this machine's) is past
|
|
153
|
+
* `validUntil` by {@link REQUEST_EXPIRY_MARGIN_SECONDS}, with the seqno
|
|
154
|
+
* not moved past it and no trace. It can never execute; replacing it is
|
|
155
|
+
* safe.
|
|
156
|
+
* - `live`: neither yet. It can still execute — a relayed request that
|
|
157
|
+
* failed included: W5 keeps an internal request's seqno only when the
|
|
158
|
+
* transaction succeeds, so anyone can deliver it again from the trace
|
|
159
|
+
* until `validUntil`.
|
|
160
|
+
*
|
|
161
|
+
* `wallet` is the wallet that signed it: the sender of an external request,
|
|
162
|
+
* the target of a relayed one (pass no `hash` for a relayed request; a
|
|
163
|
+
* relay's own hash is the relayer's request). All reads come from one
|
|
164
|
+
* provider.
|
|
165
|
+
*/
|
|
166
|
+
getRequestState(args: {
|
|
167
|
+
wallet: string;
|
|
168
|
+
seqno: number;
|
|
169
|
+
validUntil: number;
|
|
170
|
+
hash?: string;
|
|
171
|
+
}): Promise<TonRequestState>;
|
|
172
|
+
/** Native TON bounces only to a bounceable (`EQ…`) address that is deployed. */
|
|
173
|
+
private bouncesByDefault;
|
|
174
|
+
private assertTxHash;
|
|
175
|
+
private onOneProvider;
|
|
176
|
+
/**
|
|
177
|
+
* Whether `signedMessage` is `publicKey`'s signature of `message`
|
|
178
|
+
* (`TonWallet.signMessage`: ed25519 over {@link tonMessageHash}). Needs only
|
|
179
|
+
* the public key — 32 bytes, or 64 hex characters — as Tron's and
|
|
180
|
+
* Stellar's do. A signature must be exactly 128 hex characters.
|
|
181
|
+
*/
|
|
182
|
+
static verifySignature(publicKey: Uint8Array | string, message: string, signedMessage: AbstractSignedMessage): boolean;
|
|
183
|
+
/**
|
|
184
|
+
* TON addresses do not reveal their key, so a signature cannot be checked
|
|
185
|
+
* against an address alone: use `TonChain.verifySignature` with the
|
|
186
|
+
* signer's public key (its W5 address is `WalletContractV5R1.create({
|
|
187
|
+
* publicKey, workchain: 0 }).address`).
|
|
188
|
+
*/
|
|
189
|
+
verifyMessageSignature(_req: VerifyMessageSignatureRequest): Promise<boolean>;
|
|
190
|
+
private statusOf;
|
|
191
|
+
/**
|
|
192
|
+
* Adds the jetton balance changes of the trace's wallet-to-wallet jetton
|
|
193
|
+
* transfers (TEP-74 \`transfer\` → \`internal_transfer\`) to
|
|
194
|
+
* \`balanceChanges\`: the sending owner loses the amount and the recipient
|
|
195
|
+
* gains it, in the jetton's asset ({@link resolveAsset}).
|
|
196
|
+
*
|
|
197
|
+
* A transfer counts only once its master vouches for both jetton wallets:
|
|
198
|
+
* the sender's must be the master's wallet for the owner it reports, and
|
|
199
|
+
* the receiving one the master's wallet for the recipient the transfer
|
|
200
|
+
* named. Anything else — a contract posing as a jetton wallet, a mint or a
|
|
201
|
+
* burn — moves no balance here.
|
|
202
|
+
*/
|
|
203
|
+
private addJettonBalanceChanges;
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=ton_chain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ton_chain.d.ts","sourceRoot":"","sources":["../../../ton/ton_chain.ts"],"names":[],"mappings":"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"}
|