@chironbuilder/ootle-sdk 0.1.12 → 0.1.14
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/README.md +47 -2
- package/dist/htlcSafety.d.ts +123 -0
- package/dist/htlcSafety.d.ts.map +1 -0
- package/dist/htlcSafety.js +275 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/storage.d.ts +92 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +85 -1
- package/dist/wallet.d.ts +183 -78
- package/dist/wallet.d.ts.map +1 -1
- package/dist/wallet.js +810 -282
- package/package.json +1 -1
package/dist/storage.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC5C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAID;0EAC0E;AAC1E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEhE;AAcD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,KAAK,EAAE,OAAO,CAAC;IACf,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
|
package/dist/storage.js
CHANGED
|
@@ -28,6 +28,8 @@ const DEFAULTS = {
|
|
|
28
28
|
pendingShields: [],
|
|
29
29
|
privatePaymentScanCursors: {},
|
|
30
30
|
knownVersions: {},
|
|
31
|
+
htlcJournal: [],
|
|
32
|
+
reservations: [],
|
|
31
33
|
};
|
|
32
34
|
export function localAccountId(index) {
|
|
33
35
|
return `local:${index}`;
|
|
@@ -79,9 +81,14 @@ export function serialized(fn) {
|
|
|
79
81
|
export async function listShieldedOutputs(accountId) {
|
|
80
82
|
return (await read()).shieldedOutputs.filter((r) => r.accountId === accountId);
|
|
81
83
|
}
|
|
84
|
+
/** Idempotent: a commitment already recorded for the same account is left as it is, so a
|
|
85
|
+
* reconciliation that re-applies a finished operation's bookkeeping can never double-count it. */
|
|
82
86
|
export async function addShieldedOutput(record) {
|
|
83
87
|
await serialized(async () => {
|
|
84
|
-
|
|
88
|
+
const existing = (await read()).shieldedOutputs;
|
|
89
|
+
if (existing.some((r) => r.accountId === record.accountId && r.commitment === record.commitment))
|
|
90
|
+
return;
|
|
91
|
+
await write({ shieldedOutputs: [...existing, record] });
|
|
85
92
|
});
|
|
86
93
|
}
|
|
87
94
|
export async function markShieldedOutputSpent(accountId, commitment) {
|
|
@@ -128,6 +135,83 @@ export async function setKnownVersions(known) {
|
|
|
128
135
|
await write({ knownVersions: known });
|
|
129
136
|
});
|
|
130
137
|
}
|
|
138
|
+
// ── HTLC journal ─────────────────────────────────────────────────────────────────────────────
|
|
139
|
+
export async function listHtlcJournal(accountId) {
|
|
140
|
+
const all = (await read()).htlcJournal;
|
|
141
|
+
return accountId ? all.filter((e) => e.accountId === accountId) : all;
|
|
142
|
+
}
|
|
143
|
+
export async function getHtlcJournalEntry(id) {
|
|
144
|
+
return (await read()).htlcJournal.find((e) => e.id === id);
|
|
145
|
+
}
|
|
146
|
+
/** Inserts or replaces (by id) — idempotent, so retrying the same write is always safe. */
|
|
147
|
+
export async function putHtlcJournalEntry(entry) {
|
|
148
|
+
await serialized(async () => {
|
|
149
|
+
const state = await read();
|
|
150
|
+
await write({ htlcJournal: [...state.htlcJournal.filter((e) => e.id !== entry.id), entry] });
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/** Applies `patch` to an existing entry and bumps `updatedAt`. A missing id is a no-op. */
|
|
154
|
+
export async function updateHtlcJournalEntry(id, patch) {
|
|
155
|
+
return serialized(async () => {
|
|
156
|
+
const state = await read();
|
|
157
|
+
const current = state.htlcJournal.find((e) => e.id === id);
|
|
158
|
+
if (!current)
|
|
159
|
+
return undefined;
|
|
160
|
+
const next = { ...current, ...patch, id, updatedAt: Date.now() };
|
|
161
|
+
await write({ htlcJournal: state.htlcJournal.map((e) => (e.id === id ? next : e)) });
|
|
162
|
+
return next;
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
// ── commitment reservations ──────────────────────────────────────────────────────────────────
|
|
166
|
+
/** Default lifetime of a reservation: long enough for any single operation (prepare + dry run +
|
|
167
|
+
* submit + confirmation), short enough that a crashed one frees its UTXOs within minutes. */
|
|
168
|
+
export const RESERVATION_TTL_MS = 10 * 60_000;
|
|
169
|
+
/** Commitments currently reserved for `accountId` by anyone other than `exceptHolder`. */
|
|
170
|
+
export async function listReservedCommitments(accountId, exceptHolder, now = Date.now()) {
|
|
171
|
+
return new Set((await read()).reservations
|
|
172
|
+
.filter((r) => r.accountId === accountId && r.expiresAt > now && r.holder !== exceptHolder)
|
|
173
|
+
.map((r) => r.commitment));
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Atomically reserves every commitment in `commitments` for `holder`, or none of them: if any is
|
|
177
|
+
* already held (unexpired) by a different holder, throws `CommitmentReservedError` naming them and
|
|
178
|
+
* writes nothing. Re-reserving one's own commitments just extends the lease. Expired leases are
|
|
179
|
+
* swept on every call.
|
|
180
|
+
*/
|
|
181
|
+
export async function reserveCommitments(accountId, commitments, holder, ttlMs = RESERVATION_TTL_MS) {
|
|
182
|
+
if (commitments.length === 0)
|
|
183
|
+
return;
|
|
184
|
+
await serialized(async () => {
|
|
185
|
+
const now = Date.now();
|
|
186
|
+
const state = await read();
|
|
187
|
+
const live = state.reservations.filter((r) => r.expiresAt > now);
|
|
188
|
+
const taken = commitments.filter((c) => live.some((r) => r.accountId === accountId && r.commitment === c && r.holder !== holder));
|
|
189
|
+
if (taken.length > 0)
|
|
190
|
+
throw new CommitmentReservedError(taken);
|
|
191
|
+
const wanted = new Set(commitments);
|
|
192
|
+
const kept = live.filter((r) => !(r.accountId === accountId && wanted.has(r.commitment)));
|
|
193
|
+
const expiresAt = now + ttlMs;
|
|
194
|
+
await write({ reservations: [...kept, ...commitments.map((commitment) => ({ accountId, commitment, holder, expiresAt }))] });
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
/** Releases every reservation `holder` holds (all accounts). Safe to call more than once. */
|
|
198
|
+
export async function releaseReservations(holder) {
|
|
199
|
+
await serialized(async () => {
|
|
200
|
+
const now = Date.now();
|
|
201
|
+
const state = await read();
|
|
202
|
+
await write({ reservations: state.reservations.filter((r) => r.holder !== holder && r.expiresAt > now) });
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
export class CommitmentReservedError extends Error {
|
|
206
|
+
commitments;
|
|
207
|
+
constructor(commitments) {
|
|
208
|
+
super(`${commitments.length === 1 ? "A private output this operation needs is" : "Private outputs this operation needs are"} ` +
|
|
209
|
+
`already in use by another operation in progress (${commitments.map((c) => c.slice(0, 12)).join(", ")}). ` +
|
|
210
|
+
"Wait for it to finish, then try again.");
|
|
211
|
+
this.commitments = commitments;
|
|
212
|
+
this.name = "CommitmentReservedError";
|
|
213
|
+
}
|
|
214
|
+
}
|
|
131
215
|
/** Clears every key this module owns -- call this from a host's own "erase wallet" flow. Does not
|
|
132
216
|
* touch anything else the host's `KeyValueStore` might hold (address books, settings, ...); this
|
|
133
217
|
* SDK never wrote those keys, so it isn't this function's place to remove them. */
|
package/dist/wallet.d.ts
CHANGED
|
@@ -5,8 +5,9 @@ import { SecretKeyWallet } from "@tari-project/ootle-secret-key-wallet";
|
|
|
5
5
|
import type { WalletAccountApi } from "./accountApi.js";
|
|
6
6
|
import type { BurnClaimProofContents } from "./burnClaim.js";
|
|
7
7
|
import type { ScannedStealthOutput } from "./confidential.js";
|
|
8
|
+
import { type HtlcExpectations } from "./htlcSafety.js";
|
|
8
9
|
import { type NetworkName } from "./ootleNetwork.js";
|
|
9
|
-
import type { ShieldedOutputRecord } from "./storage.js";
|
|
10
|
+
import type { HtlcJournalEntry, ShieldedOutputRecord } from "./storage.js";
|
|
10
11
|
/** How a transaction's fee is paid. Defaults to `transparent` everywhere (unchanged behavior:
|
|
11
12
|
* revealed balance, reveals the paying account on-chain). `private` instead spends a stealth
|
|
12
13
|
* UTXO of `feeResourceAddress` -- see `OotleAccount.buildPrivateFeeInstructions`'s doc comment
|
|
@@ -17,6 +18,50 @@ export type FeeType = {
|
|
|
17
18
|
kind: "private";
|
|
18
19
|
feeResourceAddress: string;
|
|
19
20
|
};
|
|
21
|
+
/** Options for `OotleAccount.htlcFund` (all optional; the defaults keep the original behavior). */
|
|
22
|
+
export interface HtlcFundOptions {
|
|
23
|
+
/**
|
|
24
|
+
* Where the locked value comes from. `revealed` (default): this account's public balance of the
|
|
25
|
+
* resource. `stealth`: this account's own stealth outputs of it -- exactly `commitments` when
|
|
26
|
+
* given, otherwise selected automatically -- with any excess returned as same-resource stealth
|
|
27
|
+
* change. The fee always stays in its own native-TARI lane either way (see `FeeType`).
|
|
28
|
+
*/
|
|
29
|
+
source?: {
|
|
30
|
+
kind: "revealed";
|
|
31
|
+
} | {
|
|
32
|
+
kind: "stealth";
|
|
33
|
+
commitments?: string[];
|
|
34
|
+
};
|
|
35
|
+
/** Dry-run the exact transaction before submitting it (default true). */
|
|
36
|
+
preflight?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface HtlcFundResult {
|
|
39
|
+
transactionId: string;
|
|
40
|
+
/** The full `[claim, refund]` tree -- hand it to the claimant; only its root is on-chain. */
|
|
41
|
+
conditions: object[];
|
|
42
|
+
/** The HTLC output's commitment (named `ownCommitment` for backward compatibility). */
|
|
43
|
+
ownCommitment: string;
|
|
44
|
+
/** The HTLC output's own blinding mask -- required for a refund (also kept in the journal). */
|
|
45
|
+
outputMask: string;
|
|
46
|
+
/** This account's same-resource change output, when a stealth-sourced fund had change. */
|
|
47
|
+
changeCommitment?: string;
|
|
48
|
+
/** HTLC journal entry id (see `listHtlcs` / `reconcileHtlcs` / `refundFromJournal`). */
|
|
49
|
+
journalId: string;
|
|
50
|
+
}
|
|
51
|
+
/** Options for `OotleAccount.htlcClaim`. */
|
|
52
|
+
export interface HtlcClaimOptions {
|
|
53
|
+
/** The agreed terms, checked against the chain before the preimage is revealed. */
|
|
54
|
+
expected?: HtlcExpectations;
|
|
55
|
+
/** Dry-run the exact claim before submitting it (default true). */
|
|
56
|
+
preflight?: boolean;
|
|
57
|
+
}
|
|
58
|
+
export interface HtlcSpendResult {
|
|
59
|
+
transactionId: string;
|
|
60
|
+
/** The new, normal stealth output this account received -- already recorded as spendable. */
|
|
61
|
+
receivedCommitment: string;
|
|
62
|
+
amount: bigint;
|
|
63
|
+
journalId: string;
|
|
64
|
+
}
|
|
20
65
|
export interface TokenBalance {
|
|
21
66
|
resourceAddress: string;
|
|
22
67
|
kind: string;
|
|
@@ -574,6 +619,25 @@ export declare class OotleAccount implements WalletAccountApi {
|
|
|
574
619
|
* `transactionId` actually lands (never for a dry run) using the returned `privateFee`.
|
|
575
620
|
*/
|
|
576
621
|
private prepareSignSubmit;
|
|
622
|
+
/**
|
|
623
|
+
* The prepare/authorize/seal half of `prepareSignSubmit`, without the submit — so the exact same
|
|
624
|
+
* transaction shape can be dry-run first (`dryRun: true` marks it before it's signed) and so the
|
|
625
|
+
* sealed envelope can be journaled before it ever reaches the network.
|
|
626
|
+
*
|
|
627
|
+
* `sourceless`: the operation's main lane spends only stealth inputs (no `spendRevealedInput` of
|
|
628
|
+
* its resource at all — e.g. a stealth-created asset this account holds no public balance of).
|
|
629
|
+
* A transparent fee then can't use `payFeeFromRevealed` (which needs a revealed source of the
|
|
630
|
+
* *operation's* resource); instead it's paid in native TARI straight from `account` — the fee
|
|
631
|
+
* lane — with the account and its vaults registered as inputs, exactly as `submitHtlcSpend` does.
|
|
632
|
+
* A private fee needs no special handling: it never touched the revealed source anyway.
|
|
633
|
+
*/
|
|
634
|
+
private sealStealthTransfer;
|
|
635
|
+
/**
|
|
636
|
+
* Dry-runs a sealed envelope (one built with `dry_run` set) against the indexer's dry-run endpoint
|
|
637
|
+
* and returns the execution result, throwing — in the same "was rejected: …" shape real
|
|
638
|
+
* submissions use — if it would be rejected. Nothing reaches consensus; nothing is spent.
|
|
639
|
+
*/
|
|
640
|
+
private dryRunEnvelope;
|
|
577
641
|
redeemStealthOutputWithPrivateFee(resourceAddress: string, commitmentHex: string, revealedAmount: bigint, followUpInstructions: Instruction[], feeResourceAddress: string, feeCommitmentHex: string, maxFee: bigint, relatedComponents?: string[]): Promise<{
|
|
578
642
|
transactionId: string;
|
|
579
643
|
feeChangeCommitment: string;
|
|
@@ -582,89 +646,122 @@ export declare class OotleAccount implements WalletAccountApi {
|
|
|
582
646
|
* Funds an HTLC (hashed timelock contract): creates a stealth output for `amount` of
|
|
583
647
|
* `resourceAddress`, gated not by a normal one-time stealth key but by a two-leaf TIP-0006
|
|
584
648
|
* condition tree (`htlcConditions` in `./htlc.ts`) — a claim path admissible only to
|
|
585
|
-
* `claimantWalletAddress` (revealing the SHA-256 preimage of `hashLockHex`, before
|
|
649
|
+
* `claimantWalletAddress` (revealing the SHA-256 preimage of `hashLockHex`, strictly before
|
|
586
650
|
* `refundEpoch`), and a refund path admissible only to this account (at/after `refundEpoch`).
|
|
587
|
-
*
|
|
588
|
-
*
|
|
589
|
-
*
|
|
590
|
-
*
|
|
591
|
-
*
|
|
592
|
-
*
|
|
593
|
-
*
|
|
594
|
-
*
|
|
595
|
-
*
|
|
596
|
-
* the
|
|
597
|
-
*
|
|
598
|
-
*
|
|
599
|
-
*
|
|
600
|
-
*
|
|
601
|
-
*
|
|
602
|
-
*
|
|
603
|
-
*
|
|
604
|
-
*
|
|
605
|
-
*
|
|
606
|
-
*
|
|
607
|
-
*
|
|
608
|
-
*
|
|
609
|
-
*
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
651
|
+
*
|
|
652
|
+
* This account never needs (and must never be given) the actual preimage — only its hash.
|
|
653
|
+
*
|
|
654
|
+
* **Two lanes.** The fee and the HTLC value never share a UTXO: the fee is paid in native TARI —
|
|
655
|
+
* privately from a separate stealth TARI UTXO (`feeType: private`) or from this account's public
|
|
656
|
+
* TARI — while the main lane moves only `resourceAddress`. With `source: { kind: "stealth" }` the
|
|
657
|
+
* main lane spends this account's *own stealth outputs* of the resource (exactly the given
|
|
658
|
+
* `commitments`, or selected automatically), returning any excess as same-resource stealth change;
|
|
659
|
+
* no public balance of the resource is needed at all, so a stealth-created asset can be locked.
|
|
660
|
+
* The default `source: { kind: "revealed" }` keeps the original behavior (public balance).
|
|
661
|
+
*
|
|
662
|
+
* **Settlement safety.**
|
|
663
|
+
* - The exact transaction is dry-run first (`preflight`, default on), so a doomed fund never
|
|
664
|
+
* reaches the network.
|
|
665
|
+
* - Before submission, the `conditions` tree, the HTLC output's own blinding `outputMask` and the
|
|
666
|
+
* sealed envelope are written to the HTLC journal. The funder can't decrypt an output
|
|
667
|
+
* addressed to the claimant, so the mask is the only thing that makes a refund possible —
|
|
668
|
+
* it's never held only in memory.
|
|
669
|
+
* - With stealth change, `outputMask` is derived as `aggregateMask − changeMask` and then
|
|
670
|
+
* *proven* before submit: a refund built from it must reproduce the HTLC output's commitment,
|
|
671
|
+
* or the fund is aborted.
|
|
672
|
+
* - Inputs (and a private fee's UTXO) are reserved for the duration, so a concurrent operation
|
|
673
|
+
* can't select them.
|
|
674
|
+
* - If the outcome doesn't arrive in time this throws `HtlcUnknownOutcomeError` (carrying the
|
|
675
|
+
* refund data) instead of a plain failure; `reconcileHtlcs()` resolves it later.
|
|
676
|
+
*
|
|
677
|
+
* Returns the full `conditions` tree (only its root is on-chain — the claimant needs the leaves,
|
|
678
|
+
* out of band), the HTLC output's commitment (`ownCommitment`, kept for compatibility), its
|
|
679
|
+
* `outputMask`, the change commitment when there was change, and the `journalId`.
|
|
680
|
+
*/
|
|
681
|
+
htlcFund(resourceAddress: string, amount: bigint, claimantWalletAddress: string, hashLockHex: string, refundEpoch: bigint, maxFee?: bigint, feeType?: FeeType, options?: HtlcFundOptions): Promise<HtlcFundResult>;
|
|
617
682
|
/**
|
|
618
|
-
*
|
|
619
|
-
*
|
|
620
|
-
*
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
*
|
|
625
|
-
*
|
|
626
|
-
*
|
|
627
|
-
*
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
*
|
|
635
|
-
* Bypasses `StealthTransfer`/`WalletStealthAuthorizer` entirely — that builder pipeline only
|
|
636
|
-
* ever produces key-path stealth inputs (a one-time DH signature per input), which doesn't
|
|
637
|
-
* apply here: this spend's authorization is the revealed script-path leaf itself (its
|
|
638
|
-
* `AccessRule` atom, satisfied by this account's normal transaction signature), not a stealth
|
|
639
|
-
* spend key. `buildStealthTransferStatement` (tari-project/tari-ootle#2431) produces the
|
|
640
|
-
* complete statement — inputs/outputs/balance proof/covenant claims — in one call from the
|
|
641
|
-
* unblinded mask+value and the two witnesses below, so there is nothing left for the builder
|
|
642
|
-
* pipeline to add.
|
|
643
|
-
*/
|
|
644
|
-
htlcClaim(resourceAddress: string, commitmentHex: string, conditions: object[], preimageHex: string, maxFee?: bigint, feeType?: FeeType): Promise<{
|
|
645
|
-
transactionId: string;
|
|
683
|
+
* Chooses the stealth inputs for a stealth-sourced HTLC fund: exactly `requested` when given
|
|
684
|
+
* (each must be this account's own unspent, unreserved record of `resourceAddress`, and must
|
|
685
|
+
* decrypt on-chain to the recorded amount), otherwise a largest-first selection covering `amount`.
|
|
686
|
+
*/
|
|
687
|
+
private selectStealthSource;
|
|
688
|
+
/**
|
|
689
|
+
* Checks a funded HTLC against agreed terms *without* claiming it — the verification a swap
|
|
690
|
+
* protocol runs before it reveals anything (or before it funds its own side). Returns every
|
|
691
|
+
* problem found; an empty list means the HTLC is exactly what was agreed. `htlcClaim` runs the
|
|
692
|
+
* same checks itself and refuses to reveal the preimage if any fail.
|
|
693
|
+
*/
|
|
694
|
+
verifyHtlc(resourceAddress: string, commitmentHex: string, conditions: object[], expected?: HtlcExpectations, preimageHex?: string): Promise<{
|
|
695
|
+
ok: boolean;
|
|
696
|
+
problems: string[];
|
|
697
|
+
value: bigint | null;
|
|
698
|
+
currentEpoch: bigint;
|
|
646
699
|
}>;
|
|
647
700
|
/**
|
|
648
|
-
*
|
|
649
|
-
*
|
|
650
|
-
* key-spendable) stealth output owned by this account
|
|
701
|
+
* Claims a funded HTLC (the counterpart to `htlcFund`): reveals the claim leaf's SHA-256
|
|
702
|
+
* preimage to spend the script-path-locked output into a brand-new, normal (freely
|
|
703
|
+
* key-spendable) stealth output owned by this account — which is recorded in the shielded
|
|
704
|
+
* ledger, so the claimed funds are immediately spendable/visible.
|
|
651
705
|
*
|
|
652
|
-
*
|
|
653
|
-
* it
|
|
654
|
-
*
|
|
655
|
-
*
|
|
656
|
-
*
|
|
657
|
-
*
|
|
658
|
-
* commitment, so the network rejects the spend) rather than silently, but there is no recovery
|
|
659
|
-
* path if this account discarded the mask — see `htlcFund`'s doc comment.
|
|
706
|
+
* **Nothing is revealed until the HTLC is proven safe.** Before the preimage leaves this device
|
|
707
|
+
* it checks (see `verifyHtlc`): the output decrypts as ours; its amount (`expected.amount` /
|
|
708
|
+
* `minAmount`); the tree is a standard HTLC whose claim leaf is *our* key (and, if given, whose
|
|
709
|
+
* refund leaf is the agreed counterparty); the on-chain condition root equals the tree's root;
|
|
710
|
+
* the preimage hashes to the lock; and at least `expected.minEpochsBeforeRefund` (default 1)
|
|
711
|
+
* claim-admissible epochs remain. Any failure throws `HtlcVerificationError`.
|
|
660
712
|
*
|
|
661
|
-
*
|
|
662
|
-
*
|
|
663
|
-
*
|
|
713
|
+
* Then the exact claim is dry-run (`preflight`, default on) so a claim that would fail never
|
|
714
|
+
* publishes the preimage on-chain, the journal entry moves to `claim_armed`, and only then is it
|
|
715
|
+
* submitted. The fee stays in its own lane (native TARI, public or private) — the claim's main
|
|
716
|
+
* instruction never funds its own fee. Note a dry run does send the transaction (preimage
|
|
717
|
+
* included) to the indexer's dry-run endpoint; pass `preflight: false` if that indexer isn't one
|
|
718
|
+
* you trust with it.
|
|
664
719
|
*/
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
720
|
+
htlcClaim(resourceAddress: string, commitmentHex: string, conditions: object[], preimageHex: string, maxFee?: bigint, feeType?: FeeType, options?: HtlcClaimOptions): Promise<HtlcSpendResult>;
|
|
721
|
+
/**
|
|
722
|
+
* Refunds an HTLC this account itself funded (via `htlcFund`), once the refund path is open:
|
|
723
|
+
* reveals the refund leaf to spend the output back into a brand-new, normal stealth output owned
|
|
724
|
+
* by this account (recorded in the shielded ledger).
|
|
725
|
+
*
|
|
726
|
+
* The refund path is `AfterEpoch(refundEpoch)`, i.e. open when `currentEpoch >= refundEpoch` —
|
|
727
|
+
* checked here first, so an early refund fails with a clear message instead of an on-chain
|
|
728
|
+
* rejection. The funder can't decrypt the output (it's addressed to the claimant), so `amount` and
|
|
729
|
+
* `outputMaskHex` must be exactly what `htlcFund` returned — or use `refundFromJournal(journalId)`,
|
|
730
|
+
* which reads them back from the journal `htlcFund` wrote before submitting.
|
|
731
|
+
*/
|
|
732
|
+
htlcRefund(resourceAddress: string, commitmentHex: string, conditions: object[], amount: bigint, outputMaskHex: string, maxFee?: bigint, feeType?: FeeType, options?: {
|
|
733
|
+
preflight?: boolean;
|
|
734
|
+
}): Promise<HtlcSpendResult>;
|
|
735
|
+
/** Refunds an HTLC this account funded, using the conditions/mask/amount `htlcFund` journaled. */
|
|
736
|
+
refundFromJournal(journalId: string, maxFee?: bigint, feeType?: FeeType): Promise<HtlcSpendResult>;
|
|
737
|
+
/** Shared claim/refund path: private-fee reservation, dry run, journal, submit, bookkeeping. */
|
|
738
|
+
private spendHtlc;
|
|
739
|
+
/**
|
|
740
|
+
* Journal → submit → poll → bookkeeping, for every HTLC operation. The entry (with its sealed
|
|
741
|
+
* envelope and recovery data) is persisted before submission; a definitive rejection marks it
|
|
742
|
+
* `failed`, anything ambiguous marks it `unknown` and throws `HtlcUnknownOutcomeError`.
|
|
743
|
+
*/
|
|
744
|
+
private submitJournaled;
|
|
745
|
+
/** Applies a confirmed HTLC operation's local bookkeeping. Idempotent (see `addShieldedOutput`). */
|
|
746
|
+
private finalizeHtlcEntry;
|
|
747
|
+
/** This account's HTLC journal (every fund/claim/refund and its state), newest first. The
|
|
748
|
+
* entries' `envelope` of a claim contains the preimage — don't display or export it. */
|
|
749
|
+
listHtlcs(): Promise<HtlcJournalEntry[]>;
|
|
750
|
+
/**
|
|
751
|
+
* Resolves every HTLC operation whose outcome isn't final (`prepared`, `claim_armed`,
|
|
752
|
+
* `submitted`, `unknown`) — call at startup and after any `HtlcUnknownOutcomeError`. An entry
|
|
753
|
+
* with no transaction id is resubmitted with its *identical* sealed envelope (the same
|
|
754
|
+
* transaction, so it can't execute twice; an expired one is simply rejected); then its result is
|
|
755
|
+
* checked once. Confirmed entries get their bookkeeping applied, rejected ones are marked
|
|
756
|
+
* `failed` and release their reserved UTXOs, still-pending ones are left for the next call.
|
|
757
|
+
*/
|
|
758
|
+
reconcileHtlcs(): Promise<HtlcJournalEntry[]>;
|
|
759
|
+
/**
|
|
760
|
+
* Stealth commitments this account must not select right now: reserved by another in-flight
|
|
761
|
+
* operation, or spent (as an input or a private fee) by an HTLC operation whose outcome isn't
|
|
762
|
+
* final — those may already be gone on-chain even after their reservation lapses.
|
|
763
|
+
*/
|
|
764
|
+
private unavailableCommitments;
|
|
668
765
|
/**
|
|
669
766
|
* Sends `amount` of this account's shielded balance for `resourceAddress` directly to
|
|
670
767
|
* `recipientWalletAddress` — a private-to-private transfer, unlike `shield()` (which always
|
|
@@ -715,13 +812,18 @@ export declare class OotleAccount implements WalletAccountApi {
|
|
|
715
812
|
/**
|
|
716
813
|
* Claims a Layer 1 (minotari) burn addressed to this account, minting the burned value on
|
|
717
814
|
* Ootle as a stealth output owned by this account (recorded locally, so it shows in the private
|
|
718
|
-
* balance).
|
|
815
|
+
* balance). The fee is revealed from the claimed value; the rest is claimed.
|
|
719
816
|
*
|
|
720
817
|
* The burn UTXO is minted and spent within the fee instructions, and the transaction is sealed
|
|
721
818
|
* with the stealth claim secret `s = H(p·R) + p` rather than the account key: the L1 ownership
|
|
722
819
|
* proof commits the burn to `s·G`, so `s` is the only key that satisfies its spend condition.
|
|
723
820
|
* Nothing here touches the account component, so the account need not exist on-chain yet.
|
|
724
821
|
*
|
|
822
|
+
* A fee paid purely by stealth reveal is not refundable -- whatever is revealed is kept -- so
|
|
823
|
+
* `maxFee` should sit on the required fee rather than above it. Left unset, it is measured: a
|
|
824
|
+
* dry run meters the claim, and the claim is submitted with that cost plus the engine's own
|
|
825
|
+
* estimate allowance (`FeeReceipt::required_fees`).
|
|
826
|
+
*
|
|
725
827
|
* Validators only accept a burn once its L1 block is well confirmed; claiming earlier is
|
|
726
828
|
* rejected and can simply be retried later.
|
|
727
829
|
*/
|
|
@@ -729,7 +831,10 @@ export declare class OotleAccount implements WalletAccountApi {
|
|
|
729
831
|
transactionId: string;
|
|
730
832
|
claimedAmount: bigint;
|
|
731
833
|
commitment: string;
|
|
834
|
+
fee: bigint;
|
|
732
835
|
}>;
|
|
836
|
+
/** Dry-runs a sealed claim and returns the fee it needs: what it was charged plus the allowance. */
|
|
837
|
+
private estimateClaimFee;
|
|
733
838
|
/**
|
|
734
839
|
* This account's unspent stealth outputs, newest first, optionally filtered to one resource.
|
|
735
840
|
*
|
package/dist/wallet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
|