@getomnichain/omnichain 0.5.0 → 0.5.1

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.
@@ -24,8 +24,28 @@ export class SolanaTransactionFees {
24
24
  this.netLamportsChangeByFeePayer = init.netLamportsChangeByFeePayer;
25
25
  }
26
26
  }
27
+ /**
28
+ * Confirmation count reported for a rooted (finalized-and-past)
29
+ * Solana transaction. The RPC returns `confirmations: null` when rooted;
30
+ * the SDK normalises to this constant so consumers gated on
31
+ * `confirmations >= threshold` see a monotone number.
32
+ */
33
+ export const SOLANA_FINALIZED_CONFIRMATIONS = 32;
27
34
  export class SolanaTransactionStatus extends TransactionStatus {
28
35
  fees;
36
+ /** Slot from `getTransaction.slot`, or from `getSignatureStatus.slot`
37
+ * on the ledger-pruned fallback. `null` when neither surfaced it. */
38
+ slot;
39
+ /** `getSignatureStatus.confirmations`, normalised to
40
+ * {@link SOLANA_FINALIZED_CONFIRMATIONS} for rooted responses. `null`
41
+ * when the sig-status read was unavailable. */
42
+ confirmations;
43
+ /** Raw RPC `confirmationStatus`. `null` when unavailable or unknown. */
44
+ confirmationStatus;
45
+ /** Base58 signer keys in message order (`staticAccountKeys[0..header.numRequiredSignatures]`).
46
+ * Empty when the SDK never observed the message (ledger-pruned fallback,
47
+ * `notFound`). */
48
+ signers;
29
49
  constructor(init) {
30
50
  super({
31
51
  chainId: init.chainId,
@@ -35,6 +55,10 @@ export class SolanaTransactionStatus extends TransactionStatus {
35
55
  balanceChanges: init.balanceChanges,
36
56
  });
37
57
  this.fees = init.fees ?? null;
58
+ this.slot = init.slot ?? null;
59
+ this.confirmations = init.confirmations ?? null;
60
+ this.confirmationStatus = init.confirmationStatus ?? null;
61
+ this.signers = init.signers ?? [];
38
62
  }
39
63
  static successful(args) {
40
64
  return new SolanaTransactionStatus({
@@ -44,6 +68,10 @@ export class SolanaTransactionStatus extends TransactionStatus {
44
68
  balanceChanges: args.balanceChanges,
45
69
  fees: args.fees,
46
70
  error: null,
71
+ slot: args.slot,
72
+ confirmations: args.confirmations,
73
+ confirmationStatus: args.confirmationStatus,
74
+ signers: args.signers,
47
75
  });
48
76
  }
49
77
  /**
@@ -51,7 +79,7 @@ export class SolanaTransactionStatus extends TransactionStatus {
51
79
  * the slot's ledger data so `getTransaction` returned null but
52
80
  * `getSignatureStatus` reports `finalized` + `err`) has no way to
53
81
  * reconstruct fees; the alternative would be polling `Pending`
54
- * indefinitely (iter-2 medium).
82
+ * indefinitely.
55
83
  */
56
84
  static failed(args) {
57
85
  return new SolanaTransactionStatus({
@@ -61,9 +89,13 @@ export class SolanaTransactionStatus extends TransactionStatus {
61
89
  error: args.error,
62
90
  balanceChanges: null,
63
91
  fees: args.fees,
92
+ slot: args.slot,
93
+ confirmations: args.confirmations,
94
+ confirmationStatus: args.confirmationStatus,
95
+ signers: args.signers,
64
96
  });
65
97
  }
66
- static pending(chainId) {
98
+ static pending(chainId, finality) {
67
99
  return new SolanaTransactionStatus({
68
100
  chainId,
69
101
  status: TransactionStatusTypes.Pending,
@@ -71,6 +103,10 @@ export class SolanaTransactionStatus extends TransactionStatus {
71
103
  error: null,
72
104
  balanceChanges: null,
73
105
  fees: null,
106
+ slot: finality?.slot,
107
+ confirmations: finality?.confirmations,
108
+ confirmationStatus: finality?.confirmationStatus,
109
+ signers: finality?.signers,
74
110
  });
75
111
  }
76
112
  static notFound(chainId, error = null) {
@@ -1 +1 @@
1
- {"version":3,"file":"solana_transaction_status.js","sourceRoot":"","sources":["../../../solana/solana_transaction_status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solana_transaction_status.js","sourceRoot":"","sources":["../../../solana/solana_transaction_status.ts"],"names":[],"mappings":"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"}
package/docs/solana.md CHANGED
@@ -161,6 +161,29 @@ decodes these into a `NestedBalanceChanges` — the same nested Map shape EVM em
161
161
  and returns a `SolanaTransactionStatus` (extends `TransactionStatus`) with `fees:
162
162
  SolanaTransactionFees` alongside. Wallet keys are the raw base58 (case-sensitive).
163
163
 
164
+ **Finality fields (RIN-296).** The status also carries four fields populated by firing
165
+ `getSignatureStatus` in parallel with `getTransaction`:
166
+
167
+ - `slot: number | null` — from `getTransaction.slot` on the Success path; from
168
+ `getSignatureStatus.slot` on the ledger-pruned fallback.
169
+ - `confirmations: number | null` — the raw RPC count (0..31) for non-final states,
170
+ normalised to the exported `SOLANA_FINALIZED_CONFIRMATIONS = 32` when the RPC reports
171
+ `null` (rooted). Saturates at 32 — consumers running a uniform `confirmationBlocks: 64`
172
+ gate across families should either special-case Solana or bound at 32.
173
+ - `confirmationStatus: 'processed' | 'confirmed' | 'finalized' | null` — raw RPC string.
174
+ - `signers: readonly string[]` — base58 signer keys in message order
175
+ (`staticAccountKeys[0..header.numRequiredSignatures]`). Empty on the ledger-pruned
176
+ fallback and on `notFound`.
177
+
178
+ **No `blockNumber`.** Solana slots are not block heights (skipped slots exist) and
179
+ `getChainTipHeight` returns a block height (0.3.3 fix). Consumers deriving finality from
180
+ `blockNumber` on other families must gate Solana on `confirmations`.
181
+
182
+ **Sig-status soft-fail (D2).** If `getSignatureStatus` errors while `getTransaction`
183
+ succeeds, the returned Success/Failed status keeps `slot` + `signers` populated but
184
+ `confirmations`/`confirmationStatus` are `null`. The whole read is not thrown — a working
185
+ tx read shouldn't fail because a metadata enrichment call failed.
186
+
164
187
  Fallback path when `getTransaction` returns null:
165
188
  - `getSignatureStatus` yields no value at all → `NotFound`.
166
189
  - `getSignatureStatus` reports `finalized`/`confirmed` with `err` set →
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getomnichain/omnichain",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Multi-chain SDK for EVM, Solana, UTXO (BTC/LTC/DOGE/DASH/ZEC/BCH), TON, and Tron. TypeScript parity port of omnichain-py.",
5
5
  "keywords": [
6
6
  "omnichain",