@chironbuilder/ootle-sdk 0.1.17 → 0.1.19
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/dist/wallet.d.ts +26 -0
- package/dist/wallet.d.ts.map +1 -1
- package/dist/wallet.js +122 -23
- package/package.json +1 -1
package/dist/wallet.d.ts
CHANGED
|
@@ -622,7 +622,24 @@ export declare class OotleAccount implements WalletAccountApi {
|
|
|
622
622
|
* stealth funds is never refunded.
|
|
623
623
|
*/
|
|
624
624
|
private sendPrivatelyPayingFeeFromTransfer;
|
|
625
|
+
/**
|
|
626
|
+
* The records worth spending: every unspent record of `resourceAddress` is checked against the
|
|
627
|
+
* chain (not just enough of them to cover `targetAmount` -- a plan can reach past that, e.g.
|
|
628
|
+
* unshield's extra change input), and one that can't be read is left out. A record the indexer
|
|
629
|
+
* reports as not found is one that was spent elsewhere (another device or wallet on this seed) and
|
|
630
|
+
* is marked spent for good -- see `isSpentElsewhere` for the guard on fresh outputs. Any other
|
|
631
|
+
* failure only skips the record this time.
|
|
632
|
+
*/
|
|
625
633
|
private filterReadableShieldedOutputs;
|
|
634
|
+
/**
|
|
635
|
+
* Checks every unspent local shielded-output record against the chain and marks spent the ones
|
|
636
|
+
* that are gone (spent from another device or wallet sharing this seed), so the private balance
|
|
637
|
+
* and coin selection stop counting them. Returns how many were marked. Safe to call any time; a
|
|
638
|
+
* record the indexer can't answer for right now is left as it is.
|
|
639
|
+
*/
|
|
640
|
+
pruneSpentShieldedOutputs(): Promise<number>;
|
|
641
|
+
/** Reads each unspent record's UTXO; returns the unusable commitments, marking the definitively spent ones. */
|
|
642
|
+
private checkShieldedOutputs;
|
|
626
643
|
/**
|
|
627
644
|
* Shared prepare/authorize/seal/submit path for every `StealthTransfer`-based operation
|
|
628
645
|
* (shield/unshield/withdrawStealthAndExecute/etc.): `builder` must already have every
|
|
@@ -1031,6 +1048,15 @@ export declare function summarizePrivateHoldings(records: ShieldedOutputRecord[]
|
|
|
1031
1048
|
amount: bigint;
|
|
1032
1049
|
outputCount: number;
|
|
1033
1050
|
}[];
|
|
1051
|
+
/**
|
|
1052
|
+
* Whether a failed read of a record's UTXO means it is gone for good: the indexer said the
|
|
1053
|
+
* substate is not found (a spent UTXO is removed), and the record is old enough that this isn't
|
|
1054
|
+
* just the indexer not having caught up with a brand-new output. A 500 or a network error says
|
|
1055
|
+
* nothing about the UTXO and never counts.
|
|
1056
|
+
*/
|
|
1057
|
+
export declare function isSpentElsewhere(record: Pick<ShieldedOutputRecord, "createdAt">, error: unknown, now?: number): boolean;
|
|
1058
|
+
/** Whether a recent-transactions entry committed, failed, or isn't finalized yet. */
|
|
1059
|
+
export declare function transactionOutcome(entry: unknown): "committed" | "failed" | "pending";
|
|
1034
1060
|
export declare function selectShieldedUtxosForAmount(records: ShieldedOutputRecord[], resourceAddress: string, targetAmount: bigint): {
|
|
1035
1061
|
selected: ShieldedOutputRecord[];
|
|
1036
1062
|
total: bigint;
|
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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"}
|
package/dist/wallet.js
CHANGED
|
@@ -1444,15 +1444,20 @@ export class OotleAccount {
|
|
|
1444
1444
|
*/
|
|
1445
1445
|
async sendPrivatelyPayingFeeFromTransfer(records, resourceAddress, recipientWalletAddress, amount, maxFee, memo, minimumValuePromise, opId) {
|
|
1446
1446
|
const accountId = localAccountId(this.index);
|
|
1447
|
-
// The caller checked readability up to `amount` only; the fee needs more, and a stale record
|
|
1448
|
-
// (spent from another device) must not be picked for it.
|
|
1449
1447
|
records = await this.filterReadableShieldedOutputs(records, resourceAddress, amount + maxFee);
|
|
1448
|
+
// Enough inputs for the amount plus the fee limit when the balance allows; otherwise all of
|
|
1449
|
+
// them -- the measured fee is usually far below the limit, and `build` checks the real one.
|
|
1450
1450
|
let commitments;
|
|
1451
1451
|
try {
|
|
1452
1452
|
({ commitments } = resolveSendPrivatelyPlan(records, resourceAddress, amount + maxFee));
|
|
1453
1453
|
}
|
|
1454
1454
|
catch {
|
|
1455
|
-
|
|
1455
|
+
const all = records.filter((r) => r.resourceAddress === resourceAddress && !r.spent);
|
|
1456
|
+
const total = all.reduce((sum, r) => sum + BigInt(r.amount), 0n);
|
|
1457
|
+
if (total <= amount) {
|
|
1458
|
+
throw new Error(`Not enough private balance to send ${amount} and pay its fee from it (you have ${total}).`);
|
|
1459
|
+
}
|
|
1460
|
+
commitments = all.map((r) => r.commitment);
|
|
1456
1461
|
}
|
|
1457
1462
|
await reserveCommitments(accountId, commitments, opId);
|
|
1458
1463
|
try {
|
|
@@ -1528,7 +1533,14 @@ export class OotleAccount {
|
|
|
1528
1533
|
changeCommitment: change > 0n ? parsed[1].output.commitment : undefined,
|
|
1529
1534
|
};
|
|
1530
1535
|
};
|
|
1531
|
-
|
|
1536
|
+
// The dry run must have the real transaction's shape, change output included, or it meters
|
|
1537
|
+
// a cheaper transaction than the one sent: so its probe fee always leaves at least 1 unit of
|
|
1538
|
+
// change. Any such fee works -- it only feeds the metered cost.
|
|
1539
|
+
const roomForChange = total - amount - 1n;
|
|
1540
|
+
const probe = roomForChange < maxFee ? roomForChange : maxFee;
|
|
1541
|
+
if (probe <= 0n)
|
|
1542
|
+
throw new Error(`Not enough private balance to send ${amount} and pay its fee from it (you have ${total}).`);
|
|
1543
|
+
const fee = await this.estimateClaimFee(await build(probe, true), "private send");
|
|
1532
1544
|
if (fee > maxFee)
|
|
1533
1545
|
throw new Error(`sendPrivately: the private fee would be ${fee}, above the ${maxFee} limit`);
|
|
1534
1546
|
const attempt = await build(fee, false);
|
|
@@ -1564,36 +1576,57 @@ export class OotleAccount {
|
|
|
1564
1576
|
await releaseReservations(opId);
|
|
1565
1577
|
}
|
|
1566
1578
|
}
|
|
1567
|
-
|
|
1579
|
+
/**
|
|
1580
|
+
* The records worth spending: every unspent record of `resourceAddress` is checked against the
|
|
1581
|
+
* chain (not just enough of them to cover `targetAmount` -- a plan can reach past that, e.g.
|
|
1582
|
+
* unshield's extra change input), and one that can't be read is left out. A record the indexer
|
|
1583
|
+
* reports as not found is one that was spent elsewhere (another device or wallet on this seed) and
|
|
1584
|
+
* is marked spent for good -- see `isSpentElsewhere` for the guard on fresh outputs. Any other
|
|
1585
|
+
* failure only skips the record this time.
|
|
1586
|
+
*/
|
|
1587
|
+
async filterReadableShieldedOutputs(records, resourceAddress,
|
|
1588
|
+
// Kept for callers' clarity; every candidate is checked regardless.
|
|
1589
|
+
_targetAmount) {
|
|
1590
|
+
const unreadable = await this.checkShieldedOutputs(records.filter((r) => r.resourceAddress === resourceAddress));
|
|
1591
|
+
return records.filter((r) => !unreadable.has(r.commitment));
|
|
1592
|
+
}
|
|
1593
|
+
/**
|
|
1594
|
+
* Checks every unspent local shielded-output record against the chain and marks spent the ones
|
|
1595
|
+
* that are gone (spent from another device or wallet sharing this seed), so the private balance
|
|
1596
|
+
* and coin selection stop counting them. Returns how many were marked. Safe to call any time; a
|
|
1597
|
+
* record the indexer can't answer for right now is left as it is.
|
|
1598
|
+
*/
|
|
1599
|
+
async pruneSpentShieldedOutputs() {
|
|
1600
|
+
const accountId = localAccountId(this.index);
|
|
1601
|
+
const before = (await listShieldedOutputs(accountId)).filter((r) => !r.spent).length;
|
|
1602
|
+
await this.checkShieldedOutputs(await listShieldedOutputs(accountId));
|
|
1603
|
+
const after = (await listShieldedOutputs(accountId)).filter((r) => !r.spent).length;
|
|
1604
|
+
return before - after;
|
|
1605
|
+
}
|
|
1606
|
+
/** Reads each unspent record's UTXO; returns the unusable commitments, marking the definitively spent ones. */
|
|
1607
|
+
async checkShieldedOutputs(records) {
|
|
1608
|
+
const accountId = localAccountId(this.index);
|
|
1568
1609
|
const provider = await this.getProvider();
|
|
1569
1610
|
const crypto = new WasmStealthCrypto(this.network);
|
|
1570
1611
|
const viewSecret = await this.signer.getViewSecret();
|
|
1571
|
-
const candidates = records
|
|
1572
|
-
.filter((r) => r.resourceAddress === resourceAddress && !r.spent)
|
|
1573
|
-
.sort((a, b) => {
|
|
1574
|
-
const diff = BigInt(b.amount) - BigInt(a.amount);
|
|
1575
|
-
return diff > 0n ? 1 : diff < 0n ? -1 : 0;
|
|
1576
|
-
});
|
|
1577
1612
|
const unreadable = new Set();
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
break;
|
|
1613
|
+
for (const record of records) {
|
|
1614
|
+
if (record.spent)
|
|
1615
|
+
continue;
|
|
1582
1616
|
try {
|
|
1583
|
-
const substateId = stealthUtxoSubstateId(resourceAddress, fromHex(record.commitment));
|
|
1617
|
+
const substateId = stealthUtxoSubstateId(record.resourceAddress, fromHex(record.commitment));
|
|
1584
1618
|
const substate = await provider.getSubstate(substateId);
|
|
1585
1619
|
const decrypted = await decryptOwnedUtxo(crypto, viewSecret, substate, substateId);
|
|
1586
|
-
if (!decrypted)
|
|
1620
|
+
if (!decrypted)
|
|
1587
1621
|
unreadable.add(record.commitment); // doesn't decrypt as ours -- don't offer it either
|
|
1588
|
-
continue;
|
|
1589
|
-
}
|
|
1590
|
-
verifiedTotal += BigInt(record.amount);
|
|
1591
1622
|
}
|
|
1592
|
-
catch {
|
|
1623
|
+
catch (e) {
|
|
1593
1624
|
unreadable.add(record.commitment);
|
|
1625
|
+
if (isSpentElsewhere(record, e))
|
|
1626
|
+
await markShieldedOutputSpent(accountId, record.commitment);
|
|
1594
1627
|
}
|
|
1595
1628
|
}
|
|
1596
|
-
return
|
|
1629
|
+
return unreadable;
|
|
1597
1630
|
}
|
|
1598
1631
|
/**
|
|
1599
1632
|
* Shared prepare/authorize/seal/submit path for every `StealthTransfer`-based operation
|
|
@@ -2322,6 +2355,23 @@ export class OotleAccount {
|
|
|
2322
2355
|
const opId = newOperationId("send-private");
|
|
2323
2356
|
const unavailable = await this.unavailableCommitments(accountId, opId);
|
|
2324
2357
|
const records = await this.filterReadableShieldedOutputs((await listShieldedOutputs(accountId)).filter((r) => !unavailable.has(r.commitment)), resourceAddress, amount);
|
|
2358
|
+
// An account that has only ever held private funds (e.g. a claimed L1 burn) has no component
|
|
2359
|
+
// on-chain to take the dust or a public fee from, so its send pays the fee from itself, like
|
|
2360
|
+
// unshield's new-account path.
|
|
2361
|
+
// An account that exists but holds too little public TARI for the dust and a transparent fee is
|
|
2362
|
+
// in the same position.
|
|
2363
|
+
const noPublicFunds = async () => {
|
|
2364
|
+
if (feeType.kind === "private")
|
|
2365
|
+
return false;
|
|
2366
|
+
const tari = (await this.getBalances().catch(() => [])).find((b) => b.resourceAddress === TARI_RESOURCE_ADDRESS);
|
|
2367
|
+
return (tari?.amount ?? 0n) < maxFee + 1n;
|
|
2368
|
+
};
|
|
2369
|
+
if (!(await substateExists(await this.getProvider(), await this.getComponentAddress())) || (await noPublicFunds())) {
|
|
2370
|
+
if (resourceAddress !== TARI_RESOURCE_ADDRESS) {
|
|
2371
|
+
throw new Error("This account has no public TARI to pay fees with, so it can only send TARI privately (the fee comes from the send). Unshield some TARI first to send other tokens.");
|
|
2372
|
+
}
|
|
2373
|
+
return this.sendPrivatelyPayingFeeFromTransfer(records, resourceAddress, recipientWalletAddress, amount, maxFee, memo, minimumValuePromise, opId);
|
|
2374
|
+
}
|
|
2325
2375
|
// A private fee normally comes from a UTXO of its own. With none to spare -- e.g. the whole
|
|
2326
2376
|
// private balance is a single UTXO -- the fee comes out of the send itself instead.
|
|
2327
2377
|
if (feeType.kind === "private" && feeType.feeResourceAddress === resourceAddress) {
|
|
@@ -2778,6 +2828,7 @@ export class OotleAccount {
|
|
|
2778
2828
|
const isFirstScan = previousCursor === null;
|
|
2779
2829
|
const pageBudget = maxPages ?? (isFirstScan ? 400 : 3);
|
|
2780
2830
|
let reachedCursor = false;
|
|
2831
|
+
let pendingSeen = false;
|
|
2781
2832
|
pages: for (let page = 0; page < pageBudget; page++) {
|
|
2782
2833
|
const { transactions } = await provider.listRecentTransactions({ limit: pageSize, last_id: lastId, source: null });
|
|
2783
2834
|
if (transactions.length === 0) {
|
|
@@ -2791,6 +2842,14 @@ export class OotleAccount {
|
|
|
2791
2842
|
reachedCursor = true;
|
|
2792
2843
|
break pages;
|
|
2793
2844
|
}
|
|
2845
|
+
// Only a committed transaction's outputs exist. A rejected or aborted one (its body still
|
|
2846
|
+
// lists them) would otherwise be recorded as money that isn't there; one not finalized yet
|
|
2847
|
+
// is looked at again next time, so the cursor must not move past it.
|
|
2848
|
+
const outcome = transactionOutcome(entry);
|
|
2849
|
+
if (outcome === "pending")
|
|
2850
|
+
pendingSeen = true;
|
|
2851
|
+
if (outcome !== "committed")
|
|
2852
|
+
continue;
|
|
2794
2853
|
const newlyFound = await scanTransactionsForOwnedOutputs(crypto, viewSecret, [entry], knownCommitments);
|
|
2795
2854
|
for (const raw of newlyFound) {
|
|
2796
2855
|
// scanTransactionsForOwnedOutputs' `memo` is the raw JSON-encoded Memo union (see
|
|
@@ -2798,14 +2857,22 @@ export class OotleAccount {
|
|
|
2798
2857
|
// and this method's own return value carry plain text, not JSON, memo consumers never
|
|
2799
2858
|
// need to know about `fromMemo()` themselves.
|
|
2800
2859
|
const output = { ...raw, memo: fromMemo(raw.memo) };
|
|
2860
|
+
// The scan walks history, so an output it finds may have been spent since (from this or
|
|
2861
|
+
// another device). Its transaction committed, so "not found" now can only mean spent:
|
|
2862
|
+
// remembered as spent rather than counted, and not reported as a new payment.
|
|
2863
|
+
const spentAlready = await utxoGone(provider, output.resourceAddress, output.commitment);
|
|
2801
2864
|
await recordKnownShieldedOutput(accountId, output.resourceAddress, output.commitment, output.amount, output.transactionId, output.memo);
|
|
2802
2865
|
knownCommitments.add(output.commitment);
|
|
2866
|
+
if (spentAlready) {
|
|
2867
|
+
await markShieldedOutputSpent(accountId, output.commitment);
|
|
2868
|
+
continue;
|
|
2869
|
+
}
|
|
2803
2870
|
found.push(output);
|
|
2804
2871
|
}
|
|
2805
2872
|
}
|
|
2806
2873
|
lastId = transactions[transactions.length - 1].transaction_id;
|
|
2807
2874
|
}
|
|
2808
|
-
if (newestSeen && reachedCursor)
|
|
2875
|
+
if (newestSeen && reachedCursor && !pendingSeen)
|
|
2809
2876
|
await setPrivatePaymentScanCursor(accountId, newestSeen);
|
|
2810
2877
|
return { claimed: found.length, found };
|
|
2811
2878
|
}
|
|
@@ -3114,6 +3181,38 @@ export function summarizePrivateHoldings(records) {
|
|
|
3114
3181
|
}
|
|
3115
3182
|
return [...totals].map(([resourceAddress, entry]) => ({ resourceAddress, ...entry }));
|
|
3116
3183
|
}
|
|
3184
|
+
/** How long a freshly recorded output may still be missing from the indexer before "not found" is believed. */
|
|
3185
|
+
const SPENT_ELSEWHERE_GRACE_MS = 10 * 60_000;
|
|
3186
|
+
/**
|
|
3187
|
+
* Whether a failed read of a record's UTXO means it is gone for good: the indexer said the
|
|
3188
|
+
* substate is not found (a spent UTXO is removed), and the record is old enough that this isn't
|
|
3189
|
+
* just the indexer not having caught up with a brand-new output. A 500 or a network error says
|
|
3190
|
+
* nothing about the UTXO and never counts.
|
|
3191
|
+
*/
|
|
3192
|
+
export function isSpentElsewhere(record, error, now = Date.now()) {
|
|
3193
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
3194
|
+
return /\b404\b|not found/i.test(message) && now - record.createdAt >= SPENT_ELSEWHERE_GRACE_MS;
|
|
3195
|
+
}
|
|
3196
|
+
/** Whether a stealth UTXO no longer exists (the indexer says not found). Any other failure: assume it does. */
|
|
3197
|
+
async function utxoGone(provider, resourceAddress, commitmentHex) {
|
|
3198
|
+
try {
|
|
3199
|
+
await provider.getSubstate(stealthUtxoSubstateId(resourceAddress, fromHex(commitmentHex)));
|
|
3200
|
+
return false;
|
|
3201
|
+
}
|
|
3202
|
+
catch (e) {
|
|
3203
|
+
return /[^0-9]404[^0-9]|not found/i.test(` ${e instanceof Error ? e.message : String(e)} `);
|
|
3204
|
+
}
|
|
3205
|
+
}
|
|
3206
|
+
/** Whether a recent-transactions entry committed, failed, or isn't finalized yet. */
|
|
3207
|
+
export function transactionOutcome(entry) {
|
|
3208
|
+
const e = entry;
|
|
3209
|
+
if (e.rejected_reason !== null && e.rejected_reason !== undefined)
|
|
3210
|
+
return "failed";
|
|
3211
|
+
const outcome = e.summary?.outcome;
|
|
3212
|
+
if (outcome === undefined || outcome === null)
|
|
3213
|
+
return "pending";
|
|
3214
|
+
return outcome === "Commit" ? "committed" : "failed";
|
|
3215
|
+
}
|
|
3117
3216
|
export function selectShieldedUtxosForAmount(records, resourceAddress, targetAmount) {
|
|
3118
3217
|
const candidates = records
|
|
3119
3218
|
.filter((r) => r.resourceAddress === resourceAddress && !r.spent)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chironbuilder/ootle-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.19",
|
|
4
4
|
"description": "Shared TypeScript client for Tari Ootle (L2): account derivation, balances, transactions, HTLCs, and stealth/confidential transfers — the account core behind Sapient and the Tari L1 web wallet's Ootle support.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|