@kaleidorg/wallet-engine 1.0.0-beta.4 → 1.0.0-beta.41
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/LICENSE +21 -0
- package/README.md +29 -10
- package/dist/adapters/ArkadeAdapter.d.ts +78 -14
- package/dist/adapters/ArkadeAdapter.d.ts.map +1 -1
- package/dist/adapters/ArkadeAdapter.js +653 -161
- package/dist/adapters/ArkadeAdapter.js.map +1 -1
- package/dist/adapters/IProtocolAdapter.d.ts +195 -18
- package/dist/adapters/IProtocolAdapter.d.ts.map +1 -1
- package/dist/adapters/IProtocolAdapter.js +6 -2
- package/dist/adapters/IProtocolAdapter.js.map +1 -1
- package/dist/adapters/RgbAdapter.d.ts +70 -27
- package/dist/adapters/RgbAdapter.d.ts.map +1 -1
- package/dist/adapters/RgbAdapter.js +464 -370
- package/dist/adapters/RgbAdapter.js.map +1 -1
- package/dist/adapters/SparkAdapter.d.ts +93 -15
- package/dist/adapters/SparkAdapter.d.ts.map +1 -1
- package/dist/adapters/SparkAdapter.js +833 -168
- package/dist/adapters/SparkAdapter.js.map +1 -1
- package/dist/adapters/arkade.d.ts +15 -0
- package/dist/adapters/arkade.d.ts.map +1 -0
- package/dist/adapters/arkade.js +15 -0
- package/dist/adapters/arkade.js.map +1 -0
- package/dist/adapters/flashnet.d.ts +15 -0
- package/dist/adapters/flashnet.d.ts.map +1 -0
- package/dist/adapters/flashnet.js +17 -0
- package/dist/adapters/flashnet.js.map +1 -0
- package/dist/adapters/native.d.ts +17 -0
- package/dist/adapters/native.d.ts.map +1 -0
- package/dist/adapters/native.js +17 -0
- package/dist/adapters/native.js.map +1 -0
- package/dist/adapters/rgb.d.ts +11 -0
- package/dist/adapters/rgb.d.ts.map +1 -0
- package/dist/adapters/rgb.js +11 -0
- package/dist/adapters/rgb.js.map +1 -0
- package/dist/adapters/spark.d.ts +12 -0
- package/dist/adapters/spark.d.ts.map +1 -0
- package/dist/adapters/spark.js +14 -0
- package/dist/adapters/spark.js.map +1 -0
- package/dist/adapters/wdk/ArkadeWdkAdapter.d.ts +53 -19
- package/dist/adapters/wdk/ArkadeWdkAdapter.d.ts.map +1 -1
- package/dist/adapters/wdk/ArkadeWdkAdapter.js +366 -90
- package/dist/adapters/wdk/ArkadeWdkAdapter.js.map +1 -1
- package/dist/adapters/wdk/BaseWdkAdapter.d.ts +40 -0
- package/dist/adapters/wdk/BaseWdkAdapter.d.ts.map +1 -0
- package/dist/adapters/wdk/BaseWdkAdapter.js +71 -0
- package/dist/adapters/wdk/BaseWdkAdapter.js.map +1 -0
- package/dist/adapters/wdk/LiquidWdkAdapter.d.ts +6 -13
- package/dist/adapters/wdk/LiquidWdkAdapter.d.ts.map +1 -1
- package/dist/adapters/wdk/LiquidWdkAdapter.js +14 -32
- package/dist/adapters/wdk/LiquidWdkAdapter.js.map +1 -1
- package/dist/adapters/wdk/RgbCore.d.ts +64 -0
- package/dist/adapters/wdk/RgbCore.d.ts.map +1 -0
- package/dist/adapters/wdk/RgbCore.js +111 -0
- package/dist/adapters/wdk/RgbCore.js.map +1 -0
- package/dist/adapters/wdk/RgbLibWasmAdapter.d.ts +277 -0
- package/dist/adapters/wdk/RgbLibWasmAdapter.d.ts.map +1 -0
- package/dist/adapters/wdk/RgbLibWasmAdapter.js +728 -0
- package/dist/adapters/wdk/RgbLibWasmAdapter.js.map +1 -0
- package/dist/adapters/wdk/RgbLibWdkAdapter.d.ts +104 -0
- package/dist/adapters/wdk/RgbLibWdkAdapter.d.ts.map +1 -0
- package/dist/adapters/wdk/RgbLibWdkAdapter.js +249 -0
- package/dist/adapters/wdk/RgbLibWdkAdapter.js.map +1 -0
- package/dist/adapters/wdk/RlnWdkAdapter.d.ts +27 -14
- package/dist/adapters/wdk/RlnWdkAdapter.d.ts.map +1 -1
- package/dist/adapters/wdk/RlnWdkAdapter.js +111 -87
- package/dist/adapters/wdk/RlnWdkAdapter.js.map +1 -1
- package/dist/adapters/wdk/SparkWdkAdapter.d.ts +74 -41
- package/dist/adapters/wdk/SparkWdkAdapter.d.ts.map +1 -1
- package/dist/adapters/wdk/SparkWdkAdapter.js +706 -249
- package/dist/adapters/wdk/SparkWdkAdapter.js.map +1 -1
- package/dist/adapters/wdk/index.d.ts +17 -0
- package/dist/adapters/wdk/index.d.ts.map +1 -0
- package/dist/adapters/wdk/index.js +17 -0
- package/dist/adapters/wdk/index.js.map +1 -0
- package/dist/adapters/wdk/wasm-rgb.d.ts +15 -0
- package/dist/adapters/wdk/wasm-rgb.d.ts.map +1 -0
- package/dist/adapters/wdk/wasm-rgb.js +15 -0
- package/dist/adapters/wdk/wasm-rgb.js.map +1 -0
- package/dist/capabilities/index.d.ts +1 -1
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/index.js +17 -2
- package/dist/capabilities/index.js.map +1 -1
- package/dist/capabilities/operations.d.ts +22 -0
- package/dist/capabilities/operations.d.ts.map +1 -0
- package/dist/capabilities/operations.js +62 -0
- package/dist/capabilities/operations.js.map +1 -0
- package/dist/constants.d.ts +8 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +8 -0
- package/dist/constants.js.map +1 -0
- package/dist/disclosure/index.d.ts +1 -1
- package/dist/disclosure/index.js +1 -1
- package/dist/disclosure/index.js.map +1 -1
- package/dist/format.d.ts +11 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +10 -0
- package/dist/format.js.map +1 -0
- package/dist/index.d.ts +21 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -32
- package/dist/index.js.map +1 -1
- package/dist/lib/arkade-client-manager.d.ts +64 -24
- package/dist/lib/arkade-client-manager.d.ts.map +1 -1
- package/dist/lib/arkade-client-manager.js +240 -65
- package/dist/lib/arkade-client-manager.js.map +1 -1
- package/dist/lib/arkade-converters.d.ts +39 -0
- package/dist/lib/arkade-converters.d.ts.map +1 -0
- package/dist/lib/arkade-converters.js +148 -0
- package/dist/lib/arkade-converters.js.map +1 -0
- package/dist/lib/arkade-helpers.d.ts +110 -0
- package/dist/lib/arkade-helpers.d.ts.map +1 -0
- package/dist/lib/arkade-helpers.js +227 -0
- package/dist/lib/arkade-helpers.js.map +1 -0
- package/dist/lib/arkade-swaps-client-manager.d.ts +55 -0
- package/dist/lib/arkade-swaps-client-manager.d.ts.map +1 -0
- package/dist/lib/arkade-swaps-client-manager.js +127 -0
- package/dist/lib/arkade-swaps-client-manager.js.map +1 -0
- package/dist/lib/arkade-vtxo-lifecycle.d.ts +116 -0
- package/dist/lib/arkade-vtxo-lifecycle.d.ts.map +1 -0
- package/dist/lib/arkade-vtxo-lifecycle.js +184 -0
- package/dist/lib/arkade-vtxo-lifecycle.js.map +1 -0
- package/dist/lib/flashnet-client-manager.d.ts +26 -9
- package/dist/lib/flashnet-client-manager.d.ts.map +1 -1
- package/dist/lib/flashnet-client-manager.js +97 -13
- package/dist/lib/flashnet-client-manager.js.map +1 -1
- package/dist/lib/kaleido-client-manager.d.ts +38 -3
- package/dist/lib/kaleido-client-manager.d.ts.map +1 -1
- package/dist/lib/kaleido-client-manager.js +79 -10
- package/dist/lib/kaleido-client-manager.js.map +1 -1
- package/dist/lib/ln-message-sign.d.ts +20 -0
- package/dist/lib/ln-message-sign.d.ts.map +1 -0
- package/dist/lib/ln-message-sign.js +90 -0
- package/dist/lib/ln-message-sign.js.map +1 -0
- package/dist/lib/log.d.ts +15 -0
- package/dist/lib/log.d.ts.map +1 -0
- package/dist/lib/log.js +16 -0
- package/dist/lib/log.js.map +1 -0
- package/dist/lib/orchestra-client.d.ts +149 -0
- package/dist/lib/orchestra-client.d.ts.map +1 -0
- package/dist/lib/orchestra-client.js +178 -0
- package/dist/lib/orchestra-client.js.map +1 -0
- package/dist/lib/psbt-signer.d.ts +60 -0
- package/dist/lib/psbt-signer.d.ts.map +1 -0
- package/dist/lib/psbt-signer.js +161 -0
- package/dist/lib/psbt-signer.js.map +1 -0
- package/dist/lib/rgb-converters.d.ts +62 -0
- package/dist/lib/rgb-converters.d.ts.map +1 -0
- package/dist/lib/rgb-converters.js +179 -0
- package/dist/lib/rgb-converters.js.map +1 -0
- package/dist/lib/rgb-fee-policy.d.ts +41 -0
- package/dist/lib/rgb-fee-policy.d.ts.map +1 -0
- package/dist/lib/rgb-fee-policy.js +52 -0
- package/dist/lib/rgb-fee-policy.js.map +1 -0
- package/dist/lib/rgb-helpers.d.ts +54 -0
- package/dist/lib/rgb-helpers.d.ts.map +1 -0
- package/dist/lib/rgb-helpers.js +89 -0
- package/dist/lib/rgb-helpers.js.map +1 -0
- package/dist/lib/spark-activity.d.ts +5 -0
- package/dist/lib/spark-activity.d.ts.map +1 -0
- package/dist/lib/spark-activity.js +11 -0
- package/dist/lib/spark-activity.js.map +1 -0
- package/dist/lib/spark-balance-cache.d.ts +58 -0
- package/dist/lib/spark-balance-cache.d.ts.map +1 -0
- package/dist/lib/spark-balance-cache.js +86 -0
- package/dist/lib/spark-balance-cache.js.map +1 -0
- package/dist/lib/spark-client-manager.d.ts +64 -10
- package/dist/lib/spark-client-manager.d.ts.map +1 -1
- package/dist/lib/spark-client-manager.js +191 -35
- package/dist/lib/spark-client-manager.js.map +1 -1
- package/dist/lib/spark-converters.d.ts +64 -0
- package/dist/lib/spark-converters.d.ts.map +1 -0
- package/dist/lib/spark-converters.js +242 -0
- package/dist/lib/spark-converters.js.map +1 -0
- package/dist/lib/spark-helpers.d.ts +72 -0
- package/dist/lib/spark-helpers.d.ts.map +1 -0
- package/dist/lib/spark-helpers.js +151 -0
- package/dist/lib/spark-helpers.js.map +1 -0
- package/dist/lib/spark-sent-token-records.d.ts +43 -0
- package/dist/lib/spark-sent-token-records.d.ts.map +1 -0
- package/dist/lib/spark-sent-token-records.js +105 -0
- package/dist/lib/spark-sent-token-records.js.map +1 -0
- package/dist/lib/wallet-seed.d.ts +31 -0
- package/dist/lib/wallet-seed.d.ts.map +1 -0
- package/dist/lib/wallet-seed.js +58 -0
- package/dist/lib/wallet-seed.js.map +1 -0
- package/dist/lib/zbase32.d.ts +3 -0
- package/dist/lib/zbase32.d.ts.map +1 -0
- package/dist/lib/zbase32.js +64 -0
- package/dist/lib/zbase32.js.map +1 -0
- package/dist/manager/ProtocolManager.d.ts +54 -3
- package/dist/manager/ProtocolManager.d.ts.map +1 -1
- package/dist/manager/ProtocolManager.js +118 -41
- package/dist/manager/ProtocolManager.js.map +1 -1
- package/dist/ports/index.d.ts +20 -0
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js +23 -1
- package/dist/ports/index.js.map +1 -1
- package/dist/receive/unifiedReceive.d.ts +12 -0
- package/dist/receive/unifiedReceive.d.ts.map +1 -1
- package/dist/receive/unifiedReceive.js +35 -4
- package/dist/receive/unifiedReceive.js.map +1 -1
- package/dist/registry/createWdkRegistry.d.ts +10 -2
- package/dist/registry/createWdkRegistry.d.ts.map +1 -1
- package/dist/registry/createWdkRegistry.js +14 -7
- package/dist/registry/createWdkRegistry.js.map +1 -1
- package/dist/router/destination.d.ts +2 -2
- package/dist/router/destination.d.ts.map +1 -1
- package/dist/router/destination.js +34 -11
- package/dist/router/destination.js.map +1 -1
- package/dist/router/index.d.ts +39 -3
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +113 -4
- package/dist/router/index.js.map +1 -1
- package/dist/router/preference.d.ts +53 -0
- package/dist/router/preference.d.ts.map +1 -0
- package/dist/router/preference.js +81 -0
- package/dist/router/preference.js.map +1 -0
- package/dist/swap/KaleidoswapSwap.d.ts +1 -1
- package/dist/swap/KaleidoswapSwap.d.ts.map +1 -1
- package/dist/swap/KaleidoswapSwap.js +37 -20
- package/dist/swap/KaleidoswapSwap.js.map +1 -1
- package/dist/swap/index.d.ts +8 -0
- package/dist/swap/index.d.ts.map +1 -0
- package/dist/swap/index.js +8 -0
- package/dist/swap/index.js.map +1 -0
- package/dist/types/arkade.d.ts +1 -1
- package/dist/types/base.d.ts +35 -25
- package/dist/types/base.d.ts.map +1 -1
- package/dist/types/base.js +28 -2
- package/dist/types/base.js.map +1 -1
- package/dist/types/cross-l2.d.ts +1 -1
- package/dist/types/flashnet.d.ts +20 -0
- package/dist/types/flashnet.d.ts.map +1 -1
- package/dist/types/flashnet.js +34 -6
- package/dist/types/flashnet.js.map +1 -1
- package/dist/types/rgb.d.ts +18 -4
- package/dist/types/rgb.d.ts.map +1 -1
- package/dist/types/spark.d.ts +1 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js +2 -2
- package/dist/utils.js.map +1 -1
- package/package.json +68 -14
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RgbLibWasmAdapter
|
|
3
|
+
* -----------------
|
|
4
|
+
* RGB-L1 (on-chain) backed by the BROWSER/WASM rgb-lib build
|
|
5
|
+
* (`@utexo/rgb-lib-wasm`) instead of the native addon used by
|
|
6
|
+
* `RgbLibWdkAdapter`. Same protocol surface (BTC on-chain + RGB assets on-chain,
|
|
7
|
+
* NO Lightning/channels/swaps), same `RgbCore` translation — only the backing
|
|
8
|
+
* differs, so the two cannot drift on asset/balance shape.
|
|
9
|
+
*
|
|
10
|
+
* Why a separate adapter: the native `@utexo/wdk-wallet-rgb` needs a filesystem
|
|
11
|
+
* `dataDir` + a Node/Bare runtime and cannot load in a browser / MV3 service
|
|
12
|
+
* worker. The wasm build is a wasm-bindgen `--target web` module that persists to
|
|
13
|
+
* IndexedDB and uses only fetch / crypto / WebAssembly — so it runs node-less in
|
|
14
|
+
* the extension (and on mobile). It is the path that makes self-custodial RGB-L1
|
|
15
|
+
* possible without an rgb-lightning-node.
|
|
16
|
+
*
|
|
17
|
+
* Runtime-agnostic: the host injects an ALREADY-wasm-initialized module via
|
|
18
|
+
* `registerWdkModule('@utexo/rgb-lib-wasm', () => initializedModule)`. The host
|
|
19
|
+
* owns where the 13 MB `_bg.wasm` comes from (`chrome.runtime.getURL(...)` in the
|
|
20
|
+
* extension; a bundled asset on mobile) and must have awaited the default
|
|
21
|
+
* `init(...)` export before injecting. This adapter never touches `fetch`/URLs.
|
|
22
|
+
*
|
|
23
|
+
* Discipline: no rgb-lib/wasm types cross the contract — the module + wallet are
|
|
24
|
+
* read as `any` and translated. Field names are read defensively and should be
|
|
25
|
+
* smoke-tested on-device (validated offline: keys, wallet, address, listAssets).
|
|
26
|
+
*
|
|
27
|
+
* WasmWallet API used (from @utexo/rgb-lib-wasm@1.0.0-beta.2):
|
|
28
|
+
* static create(walletDataJson) → WasmWallet (IndexedDB-restoring)
|
|
29
|
+
* goOnline(skipConsistencyCheck, indexerUrl) → online
|
|
30
|
+
* getAddress() · getBtcBalance() · getAssetBalance(id) · listAssets(schemas[])
|
|
31
|
+
* blindReceive(assetId|null, assignment, duration|null, transportEndpoints, minConf)
|
|
32
|
+
* sendBegin(online, recipientMap, donation, feeRate, minConf) · signPsbt(psbt)
|
|
33
|
+
* · sendEnd(online, signedPsbt, skipSync)
|
|
34
|
+
* sendBtcBegin/sendBtcEnd · createUtxosBegin/createUtxosEnd · refresh · sync
|
|
35
|
+
* listTransactions() · listTransfers(assetId?)
|
|
36
|
+
* Top-level: init() (panic/log hook) · restoreKeys(network, mnemonic) → keys.
|
|
37
|
+
*/
|
|
38
|
+
import { IProtocolAdapter, BaseProtocolConfig } from '../IProtocolAdapter.js';
|
|
39
|
+
import { ProtocolType, Layer, UnifiedAsset, UnifiedTransaction, InvoiceRequest, Invoice, DecodedInvoice, PaymentRequest, PaymentResult, PaymentStatus, Address, ConnectionInfo, TransactionFilter, NodeInfo } from '../../types/base.js';
|
|
40
|
+
import { BaseWdkAdapter } from './BaseWdkAdapter.js';
|
|
41
|
+
export interface RgbLibWasmAdapterConfig extends BaseProtocolConfig {
|
|
42
|
+
protocol: 'RGB_L1';
|
|
43
|
+
/** BIP-39 mnemonic for this wallet. */
|
|
44
|
+
mnemonic: string;
|
|
45
|
+
/** RGB indexer (electrum/esplora) URL — required to go online. */
|
|
46
|
+
indexerUrl: string;
|
|
47
|
+
/**
|
|
48
|
+
* RGB proxy / transport endpoints used when generating blinded receive
|
|
49
|
+
* invoices. Optional; rgb-lib uses its defaults when omitted.
|
|
50
|
+
*/
|
|
51
|
+
transportEndpoints?: string[];
|
|
52
|
+
/**
|
|
53
|
+
* Namespace key for this wallet's IndexedDB store (rgb-lib's `dataDir`). Lets
|
|
54
|
+
* multiple wallets/networks coexist; defaults to a network-scoped name.
|
|
55
|
+
*/
|
|
56
|
+
dataDir?: string;
|
|
57
|
+
/** Max allocations per UTXO (rgb-lib tuning). Defaults to 5. */
|
|
58
|
+
maxAllocationsPerUtxo?: number;
|
|
59
|
+
}
|
|
60
|
+
export declare class RgbLibWasmAdapter extends BaseWdkAdapter implements IProtocolAdapter {
|
|
61
|
+
readonly protocolName: ProtocolType;
|
|
62
|
+
readonly capabilities: readonly import("../../index.js").ProtocolCapability[];
|
|
63
|
+
readonly supportedLayers: Layer[];
|
|
64
|
+
readonly version = "0.1.0-wasm";
|
|
65
|
+
/** The rgb-lib `online` handle returned by goOnline(); required by network ops. */
|
|
66
|
+
private online;
|
|
67
|
+
private transportEndpoints;
|
|
68
|
+
connect(config: BaseProtocolConfig): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* One-time recovery for a wallet restored from a *thin* BDK snapshot (no
|
|
71
|
+
* revealed SPKs) — the state left behind when an MV3 service-worker teardown
|
|
72
|
+
* interrupts rgb-lib-wasm's async IndexedDB save. In that state an incremental
|
|
73
|
+
* `sync` can only re-query already-revealed SPKs, so it can't rediscover the
|
|
74
|
+
* on-chain BTC and the balance reads 0 even though funds exist.
|
|
75
|
+
*
|
|
76
|
+
* Strategy: after an incremental sync, if BTC still reads 0, run a `fullScan`
|
|
77
|
+
* (BIP44 stop-gap) to rebuild the UTXO set from the indexer, then `flush` so
|
|
78
|
+
* the recovered state durably persists (and normal incremental sync suffices
|
|
79
|
+
* from then on). Version-guarded — `fullScan` is absent on rgb-lib-wasm
|
|
80
|
+
* ≤ beta.2 — and best-effort so a scan failure never blocks connect.
|
|
81
|
+
*/
|
|
82
|
+
private recoverBtcStateIfThin;
|
|
83
|
+
getConnectionInfo(): Promise<ConnectionInfo>;
|
|
84
|
+
getReceiveAddress(assetId?: string): Promise<Address>;
|
|
85
|
+
/** Raw vanilla / colored BTC split as rgb-lib reports it (both in sats). */
|
|
86
|
+
private detailedBtcBalance;
|
|
87
|
+
getBtcBalance(): Promise<{
|
|
88
|
+
confirmed: number;
|
|
89
|
+
unconfirmed: number;
|
|
90
|
+
total: number;
|
|
91
|
+
}>;
|
|
92
|
+
/** Detailed BTC balance with the vanilla / colored split (IProtocolAdapter hook). */
|
|
93
|
+
getRgbDetailedBalance(): Promise<{
|
|
94
|
+
vanilla: {
|
|
95
|
+
settled: number;
|
|
96
|
+
future: number;
|
|
97
|
+
spendable: number;
|
|
98
|
+
};
|
|
99
|
+
colored: {
|
|
100
|
+
settled: number;
|
|
101
|
+
future: number;
|
|
102
|
+
spendable: number;
|
|
103
|
+
};
|
|
104
|
+
}>;
|
|
105
|
+
refreshBalances(): Promise<void>;
|
|
106
|
+
listAssets(): Promise<UnifiedAsset[]>;
|
|
107
|
+
getAssetBalance(assetId: string): Promise<UnifiedAsset['balance']>;
|
|
108
|
+
getAsset(assetId: string): Promise<UnifiedAsset>;
|
|
109
|
+
createInvoice(request: InvoiceRequest): Promise<Invoice>;
|
|
110
|
+
decodeInvoice(_invoice: string): Promise<DecodedInvoice>;
|
|
111
|
+
sendPayment(_request: PaymentRequest): Promise<PaymentResult>;
|
|
112
|
+
getPaymentStatus(_paymentHash: string): Promise<PaymentStatus>;
|
|
113
|
+
listTransactions(_filter?: TransactionFilter): Promise<UnifiedTransaction[]>;
|
|
114
|
+
getTransaction(txId: string): Promise<UnifiedTransaction>;
|
|
115
|
+
getNodeInfo(): Promise<NodeInfo>;
|
|
116
|
+
listChannels(): Promise<unknown[]>;
|
|
117
|
+
listPayments(): Promise<unknown>;
|
|
118
|
+
listTransfers(options?: {
|
|
119
|
+
asset_id?: string;
|
|
120
|
+
}): Promise<unknown>;
|
|
121
|
+
createRgbInvoice(params: {
|
|
122
|
+
assetId?: string;
|
|
123
|
+
amount?: number;
|
|
124
|
+
durationSeconds?: number;
|
|
125
|
+
minConfirmations?: number;
|
|
126
|
+
/** false ⇒ blinded receive (private, default); true ⇒ witness receive. */
|
|
127
|
+
witness?: boolean;
|
|
128
|
+
/** Host-supplied assignment, e.g. { type: 'Fungible', value: 100 }. */
|
|
129
|
+
assignment?: {
|
|
130
|
+
type?: string;
|
|
131
|
+
value?: number;
|
|
132
|
+
} | null;
|
|
133
|
+
}): Promise<any>;
|
|
134
|
+
/**
|
|
135
|
+
* Generate an RGB receive invoice. Defaults to a blinded receive (the
|
|
136
|
+
* recipient UTXO is hidden); `witness: true` uses a witness receive (the
|
|
137
|
+
* sender creates the UTXO). rgb-lib's `Assignment` enum is `{ Fungible: <num> }`
|
|
138
|
+
* for a specific amount or the unit string `"Any"` — NOT null, and NOT bigint.
|
|
139
|
+
*/
|
|
140
|
+
private receiveRgb;
|
|
141
|
+
signPsbt(psbtHex: string): Promise<{
|
|
142
|
+
psbt: string;
|
|
143
|
+
unchanged: boolean;
|
|
144
|
+
}>;
|
|
145
|
+
createRgbUtxos(params: {
|
|
146
|
+
num?: number;
|
|
147
|
+
size?: number;
|
|
148
|
+
feeRate?: number;
|
|
149
|
+
upTo?: boolean;
|
|
150
|
+
}): Promise<{
|
|
151
|
+
success: boolean;
|
|
152
|
+
}>;
|
|
153
|
+
sendAsset(params: {
|
|
154
|
+
assetId?: string;
|
|
155
|
+
token: string;
|
|
156
|
+
recipientId?: string;
|
|
157
|
+
recipient: string;
|
|
158
|
+
amount: number;
|
|
159
|
+
assignment?: {
|
|
160
|
+
type?: string;
|
|
161
|
+
value?: number;
|
|
162
|
+
} | null;
|
|
163
|
+
feeRate?: number;
|
|
164
|
+
minConfirmations?: number;
|
|
165
|
+
donation?: boolean;
|
|
166
|
+
/** Transport endpoints from the recipient's invoice; falls back to the sender's. */
|
|
167
|
+
transportEndpoints?: string[];
|
|
168
|
+
/** Set only for witness invoices (blinded otherwise). */
|
|
169
|
+
witnessData?: {
|
|
170
|
+
amountSat?: number;
|
|
171
|
+
amount_sat?: number;
|
|
172
|
+
blinding?: number;
|
|
173
|
+
} | null;
|
|
174
|
+
witness_data?: {
|
|
175
|
+
amountSat?: number;
|
|
176
|
+
amount_sat?: number;
|
|
177
|
+
blinding?: number;
|
|
178
|
+
} | null;
|
|
179
|
+
}): Promise<any>;
|
|
180
|
+
sendBtcOnchain(params: {
|
|
181
|
+
address: string;
|
|
182
|
+
amount: number;
|
|
183
|
+
feeRate?: number;
|
|
184
|
+
}): Promise<any>;
|
|
185
|
+
/**
|
|
186
|
+
* List the wallet's unspent outputs and their RGB allocations
|
|
187
|
+
* (IProtocolAdapter hook). Normalizes rgb-lib's camel/snake casing and the
|
|
188
|
+
* `Outpoint` (object `{txid,vout}` or `"txid:vout"` string) into the flat shape
|
|
189
|
+
* the host consumes.
|
|
190
|
+
*/
|
|
191
|
+
listRgbUnspents(): Promise<{
|
|
192
|
+
unspents: Array<{
|
|
193
|
+
utxo: {
|
|
194
|
+
outpoint: string;
|
|
195
|
+
btc_amount: number;
|
|
196
|
+
colorable: boolean;
|
|
197
|
+
};
|
|
198
|
+
rgb_allocations: Array<{
|
|
199
|
+
asset_id?: string | null;
|
|
200
|
+
assignment: unknown;
|
|
201
|
+
settled: boolean;
|
|
202
|
+
}>;
|
|
203
|
+
}>;
|
|
204
|
+
}>;
|
|
205
|
+
/** Estimate the on-chain fee rate (sat/vB) for a confirmation target (IProtocolAdapter hook). */
|
|
206
|
+
estimateRgbFee(blocks: number): Promise<{
|
|
207
|
+
fee_rate: number;
|
|
208
|
+
}>;
|
|
209
|
+
/** Asset metadata (name, ticker, precision, supply). */
|
|
210
|
+
getAssetMetadata(assetId: string): Promise<Record<string, unknown>>;
|
|
211
|
+
/**
|
|
212
|
+
* Status of a received invoice: matches the pending transfer by recipient id /
|
|
213
|
+
* invoice string and returns its rgb-lib status (WaitingCounterparty,
|
|
214
|
+
* WaitingConfirmations, Settled, Failed, …).
|
|
215
|
+
*/
|
|
216
|
+
getInvoiceStatus(params: {
|
|
217
|
+
invoice: string;
|
|
218
|
+
}): Promise<unknown>;
|
|
219
|
+
/**
|
|
220
|
+
* Fail expired/stuck pending transfers (default: all). Stuck WaitingCounterparty
|
|
221
|
+
* transfers hold allocations and can block a later spend with "insufficient
|
|
222
|
+
* assignments"; failing then deleting them frees those allocations.
|
|
223
|
+
*/
|
|
224
|
+
failRgbTransfers(params?: {
|
|
225
|
+
batchTransferIdx?: number | null;
|
|
226
|
+
noAssetOnly?: boolean;
|
|
227
|
+
}): Promise<{
|
|
228
|
+
changed: boolean;
|
|
229
|
+
}>;
|
|
230
|
+
/** Delete already-failed transfers from the wallet DB. */
|
|
231
|
+
deleteRgbTransfers(params?: {
|
|
232
|
+
batchTransferIdx?: number | null;
|
|
233
|
+
noAssetOnly?: boolean;
|
|
234
|
+
}): Promise<{
|
|
235
|
+
changed: boolean;
|
|
236
|
+
}>;
|
|
237
|
+
/**
|
|
238
|
+
* Durably commit wallet state to IndexedDB. Best-effort and version-guarded:
|
|
239
|
+
* `flush()` was added after `@utexo/rgb-lib-wasm@1.0.0-beta.2`, so on older
|
|
240
|
+
* builds this is a no-op (the wasm persists opportunistically). A failed flush
|
|
241
|
+
* leaves in-memory state intact and is safe to retry, so we log and continue.
|
|
242
|
+
*/
|
|
243
|
+
private flushState;
|
|
244
|
+
/** Encrypted wallet backup bytes (rgb-lib's own format). */
|
|
245
|
+
backup(password: string): Promise<Uint8Array>;
|
|
246
|
+
/** Restore wallet state from encrypted backup bytes produced by {@link backup}. */
|
|
247
|
+
restoreBackup(params: {
|
|
248
|
+
backupBytes: Uint8Array;
|
|
249
|
+
password: string;
|
|
250
|
+
}): Promise<void>;
|
|
251
|
+
/** Whether local wallet state has changed since the last backup. */
|
|
252
|
+
backupInfo(): Promise<{
|
|
253
|
+
required: boolean;
|
|
254
|
+
}>;
|
|
255
|
+
/** Configure VSS (cloud) backup: server URL, per-wallet store id, signing key (hex). */
|
|
256
|
+
configureVssBackup(params: {
|
|
257
|
+
serverUrl: string;
|
|
258
|
+
storeId: string;
|
|
259
|
+
signingKeyHex: string;
|
|
260
|
+
}): Promise<void>;
|
|
261
|
+
/** Disable VSS (cloud) backup for this wallet. */
|
|
262
|
+
disableVssBackup(): Promise<void>;
|
|
263
|
+
/** Upload an encrypted backup to the configured VSS server. Returns the new server version. */
|
|
264
|
+
vssBackup(): Promise<{
|
|
265
|
+
serverVersion: number | null;
|
|
266
|
+
}>;
|
|
267
|
+
/** VSS backup status: { backup_exists, server_version, backup_required } → camelCase, no BigInt. */
|
|
268
|
+
vssBackupInfo(): Promise<{
|
|
269
|
+
backupExists: boolean;
|
|
270
|
+
serverVersion: number | null;
|
|
271
|
+
backupRequired: boolean;
|
|
272
|
+
}>;
|
|
273
|
+
/** Download and restore wallet state from the configured VSS server. */
|
|
274
|
+
vssRestoreBackup(): Promise<void>;
|
|
275
|
+
disconnect(): Promise<void>;
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=RgbLibWasmAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RgbLibWasmAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/wdk/RgbLibWasmAdapter.ts"],"names":[],"mappings":"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"}
|