@kaleidorg/wallet-engine 1.0.0-beta.13 → 1.0.0-beta.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/dist/adapters/wdk/RgbLibWasmAdapter.d.ts +129 -0
- package/dist/adapters/wdk/RgbLibWasmAdapter.d.ts.map +1 -0
- package/dist/adapters/wdk/RgbLibWasmAdapter.js +308 -0
- package/dist/adapters/wdk/RgbLibWasmAdapter.js.map +1 -0
- package/dist/adapters/wdk/index.d.ts +1 -0
- package/dist/adapters/wdk/index.d.ts.map +1 -1
- package/dist/adapters/wdk/index.js +1 -0
- package/dist/adapters/wdk/index.js.map +1 -1
- package/dist/registry/createWdkRegistry.d.ts +8 -0
- package/dist/registry/createWdkRegistry.d.ts.map +1 -1
- package/dist/registry/createWdkRegistry.js +6 -4
- package/dist/registry/createWdkRegistry.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,129 @@
|
|
|
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
|
+
getConnectionInfo(): Promise<ConnectionInfo>;
|
|
70
|
+
getReceiveAddress(assetId?: string): Promise<Address>;
|
|
71
|
+
getBtcBalance(): Promise<{
|
|
72
|
+
confirmed: number;
|
|
73
|
+
unconfirmed: number;
|
|
74
|
+
total: number;
|
|
75
|
+
}>;
|
|
76
|
+
refreshBalances(): Promise<void>;
|
|
77
|
+
listAssets(): Promise<UnifiedAsset[]>;
|
|
78
|
+
getAssetBalance(assetId: string): Promise<UnifiedAsset['balance']>;
|
|
79
|
+
getAsset(assetId: string): Promise<UnifiedAsset>;
|
|
80
|
+
createInvoice(request: InvoiceRequest): Promise<Invoice>;
|
|
81
|
+
decodeInvoice(_invoice: string): Promise<DecodedInvoice>;
|
|
82
|
+
sendPayment(_request: PaymentRequest): Promise<PaymentResult>;
|
|
83
|
+
getPaymentStatus(_paymentHash: string): Promise<PaymentStatus>;
|
|
84
|
+
listTransactions(_filter?: TransactionFilter): Promise<UnifiedTransaction[]>;
|
|
85
|
+
getTransaction(txId: string): Promise<UnifiedTransaction>;
|
|
86
|
+
getNodeInfo(): Promise<NodeInfo>;
|
|
87
|
+
listChannels(): Promise<unknown[]>;
|
|
88
|
+
listPayments(): Promise<unknown>;
|
|
89
|
+
listTransfers(options?: {
|
|
90
|
+
asset_id?: string;
|
|
91
|
+
}): Promise<unknown>;
|
|
92
|
+
createRgbInvoice(params: {
|
|
93
|
+
assetId?: string;
|
|
94
|
+
amount?: number;
|
|
95
|
+
durationSeconds?: number;
|
|
96
|
+
minConfirmations?: number;
|
|
97
|
+
}): Promise<any>;
|
|
98
|
+
/** Generate a blinded receive invoice (RGB UTXO-based receive). */
|
|
99
|
+
private blindReceive;
|
|
100
|
+
signPsbt(psbtHex: string): Promise<{
|
|
101
|
+
psbt: string;
|
|
102
|
+
unchanged: boolean;
|
|
103
|
+
}>;
|
|
104
|
+
createRgbUtxos(params: {
|
|
105
|
+
num?: number;
|
|
106
|
+
size?: number;
|
|
107
|
+
feeRate?: number;
|
|
108
|
+
upTo?: boolean;
|
|
109
|
+
}): Promise<{
|
|
110
|
+
success: boolean;
|
|
111
|
+
}>;
|
|
112
|
+
sendAsset(params: {
|
|
113
|
+
token: string;
|
|
114
|
+
recipient: string;
|
|
115
|
+
amount: number;
|
|
116
|
+
feeRate?: number;
|
|
117
|
+
minConfirmations?: number;
|
|
118
|
+
donation?: boolean;
|
|
119
|
+
}): Promise<any>;
|
|
120
|
+
sendBtcOnchain(params: {
|
|
121
|
+
address: string;
|
|
122
|
+
amount: number;
|
|
123
|
+
feeRate?: number;
|
|
124
|
+
}): Promise<any>;
|
|
125
|
+
/** Encrypted wallet backup bytes (rgb-lib's own format). */
|
|
126
|
+
backup(password: string): Promise<Uint8Array>;
|
|
127
|
+
disconnect(): Promise<void>;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=RgbLibWasmAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RgbLibWasmAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/wdk/RgbLibWasmAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,EACL,YAAY,EACZ,KAAK,EACL,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,OAAO,EACP,cAAc,EACd,cAAc,EACd,aAAa,EACb,aAAa,EACb,OAAO,EACP,cAAc,EACd,iBAAiB,EAEjB,QAAQ,EAET,MAAM,kBAAkB,CAAA;AAKzB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,QAAQ,EAAE,QAAQ,CAAA;IAClB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAmBD,qBAAa,iBAAkB,SAAQ,cAAe,YAAW,gBAAgB;IAC/E,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAW;IAC9C,QAAQ,CAAC,YAAY,gDAA6B;IAClD,QAAQ,CAAC,eAAe,EAAE,KAAK,EAAE,CAAmC;IACpE,SAAkB,OAAO,gBAAe;IAExC,mFAAmF;IACnF,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,kBAAkB,CAAe;IAGnC,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwClD,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAM5C,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrD,aAAa,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAUnF,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAUhC,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAUrC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAWlE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAOhD,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAexD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAKxD,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAI7D,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAK9D,gBAAgB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAqB5E,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMzD,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAIhC,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAIlC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC,aAAa,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAMhE,gBAAgB,CAAC,MAAM,EAAE;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAC1B,GAAG,OAAO,CAAC,GAAG,CAAC;IAKhB,mEAAmE;YACrD,YAAY;IAgBpB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAMxE,cAAc,CAAC,MAAM,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAgBxH,SAAS,CAAC,MAAM,EAAE;QACtB,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;QACjB,MAAM,EAAE,MAAM,CAAA;QACd,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;KACnB,GAAG,OAAO,CAAC,GAAG,CAAC;IAwBV,cAAc,CAAC,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAejG,4DAA4D;IACtD,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAKpC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAI3C"}
|
|
@@ -0,0 +1,308 @@
|
|
|
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 { ProtocolError, } from '../../types/base.js';
|
|
39
|
+
import { getCapabilities } from '../../capabilities/index.js';
|
|
40
|
+
import { PROTOCOL_OPERATIONS } from '../../capabilities/operations.js';
|
|
41
|
+
import { loadWdkModule } from './moduleLoader.js';
|
|
42
|
+
import { rgbBtcAsset, rgbNiaAsset, rgbAssetBalance, RGB_L1_PROFILE } from './RgbCore.js';
|
|
43
|
+
import { BaseWdkAdapter } from './BaseWdkAdapter.js';
|
|
44
|
+
/** Map the engine network string → rgb-lib's network enum casing. */
|
|
45
|
+
function toRgbNetwork(network) {
|
|
46
|
+
switch (network.toLowerCase()) {
|
|
47
|
+
case 'mainnet':
|
|
48
|
+
case 'bitcoin':
|
|
49
|
+
return 'Mainnet';
|
|
50
|
+
case 'testnet':
|
|
51
|
+
return 'Testnet';
|
|
52
|
+
case 'signet':
|
|
53
|
+
return 'Signet';
|
|
54
|
+
case 'regtest':
|
|
55
|
+
return 'Regtest';
|
|
56
|
+
default:
|
|
57
|
+
return 'Mainnet';
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export class RgbLibWasmAdapter extends BaseWdkAdapter {
|
|
61
|
+
constructor() {
|
|
62
|
+
super(...arguments);
|
|
63
|
+
this.protocolName = 'RGB_L1';
|
|
64
|
+
this.capabilities = PROTOCOL_OPERATIONS.RGB_L1;
|
|
65
|
+
this.supportedLayers = getCapabilities('RGB_L1').layers;
|
|
66
|
+
this.version = '0.1.0-wasm';
|
|
67
|
+
/** The rgb-lib `online` handle returned by goOnline(); required by network ops. */
|
|
68
|
+
this.online = null;
|
|
69
|
+
this.transportEndpoints = [];
|
|
70
|
+
}
|
|
71
|
+
// --- Connection ---------------------------------------------------------
|
|
72
|
+
async connect(config) {
|
|
73
|
+
const cfg = config;
|
|
74
|
+
if (!cfg.mnemonic)
|
|
75
|
+
throw new ProtocolError('RgbLibWasmAdapter requires a mnemonic', 'RGB_L1', 'CONFIG');
|
|
76
|
+
if (!cfg.indexerUrl)
|
|
77
|
+
throw new ProtocolError('RgbLibWasmAdapter requires an indexerUrl', 'RGB_L1', 'CONFIG');
|
|
78
|
+
this.network = cfg.network ?? 'mainnet';
|
|
79
|
+
this.transportEndpoints = cfg.transportEndpoints ?? [];
|
|
80
|
+
const rgbNetwork = toRgbNetwork(this.network);
|
|
81
|
+
// The host injects an already-wasm-initialized module; the inline import is
|
|
82
|
+
// the Node/Vite fallback. `init()` is rgb-lib's panic/log hook (idempotent).
|
|
83
|
+
// @ts-ignore — declared as an optional dep; resolved at runtime.
|
|
84
|
+
const mod = await loadWdkModule('@utexo/rgb-lib-wasm', () => import('@utexo/rgb-lib-wasm'));
|
|
85
|
+
try {
|
|
86
|
+
mod.init?.();
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
/* already initialized */
|
|
90
|
+
}
|
|
91
|
+
const keys = mod.restoreKeys(rgbNetwork, cfg.mnemonic);
|
|
92
|
+
const walletData = {
|
|
93
|
+
dataDir: cfg.dataDir ?? `rgb-l1-${this.network}`,
|
|
94
|
+
bitcoinNetwork: rgbNetwork,
|
|
95
|
+
databaseType: 'Sqlite', // the enum value the wasm build accepts; IndexedDB is the actual backing
|
|
96
|
+
maxAllocationsPerUtxo: cfg.maxAllocationsPerUtxo ?? 5,
|
|
97
|
+
mnemonic: keys.mnemonic ?? cfg.mnemonic,
|
|
98
|
+
masterFingerprint: keys.masterFingerprint ?? keys.master_fingerprint,
|
|
99
|
+
accountXpubVanilla: keys.accountXpubVanilla ?? keys.account_xpub_vanilla,
|
|
100
|
+
accountXpubColored: keys.accountXpubColored ?? keys.account_xpub_colored,
|
|
101
|
+
vanillaKeychain: null,
|
|
102
|
+
supportedSchemas: ['Nia', 'Ifa'],
|
|
103
|
+
};
|
|
104
|
+
const WasmWallet = mod.WasmWallet;
|
|
105
|
+
this.account = WasmWallet.create
|
|
106
|
+
? await WasmWallet.create(JSON.stringify(walletData))
|
|
107
|
+
: new WasmWallet(JSON.stringify(walletData));
|
|
108
|
+
this.online = await this.account.goOnline(false, cfg.indexerUrl);
|
|
109
|
+
this.connected = true;
|
|
110
|
+
}
|
|
111
|
+
async getConnectionInfo() {
|
|
112
|
+
this.assertConnected();
|
|
113
|
+
return { protocol: 'RGB_L1', connected: this.connected, network: this.network };
|
|
114
|
+
}
|
|
115
|
+
// --- Address / receive --------------------------------------------------
|
|
116
|
+
async getReceiveAddress(assetId) {
|
|
117
|
+
this.assertConnected();
|
|
118
|
+
if (assetId) {
|
|
119
|
+
const inv = await this.blindReceive(assetId);
|
|
120
|
+
return { address: inv?.invoice ?? inv?.recipient_id ?? '', format: 'RGB_INVOICE', asset: assetId };
|
|
121
|
+
}
|
|
122
|
+
const address = this.account.getAddress();
|
|
123
|
+
return { address, format: 'BTC_ADDRESS' };
|
|
124
|
+
}
|
|
125
|
+
// --- Balance ------------------------------------------------------------
|
|
126
|
+
async getBtcBalance() {
|
|
127
|
+
this.assertConnected();
|
|
128
|
+
const v = this.account.getBtcBalance() ?? {};
|
|
129
|
+
const vanilla = v.vanilla ?? v;
|
|
130
|
+
const settled = Number(vanilla.settled ?? 0);
|
|
131
|
+
const spendable = Number(vanilla.spendable ?? settled);
|
|
132
|
+
const future = Number(vanilla.future ?? spendable);
|
|
133
|
+
return { confirmed: settled, unconfirmed: Math.max(0, future - settled), total: spendable };
|
|
134
|
+
}
|
|
135
|
+
async refreshBalances() {
|
|
136
|
+
this.assertConnected();
|
|
137
|
+
try {
|
|
138
|
+
await this.account.refresh(this.online, null, [], false);
|
|
139
|
+
await this.account.sync(this.online);
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
/* best-effort */
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
async listAssets() {
|
|
146
|
+
this.assertConnected();
|
|
147
|
+
const { total } = await this.getBtcBalance();
|
|
148
|
+
const out = [rgbBtcAsset(total, RGB_L1_PROFILE)];
|
|
149
|
+
const res = this.account.listAssets([]);
|
|
150
|
+
const assets = Array.isArray(res) ? res : [...(res?.nia ?? []), ...(res?.ifa ?? [])];
|
|
151
|
+
for (const a of assets)
|
|
152
|
+
out.push(rgbNiaAsset(normalizeAsset(a), RGB_L1_PROFILE));
|
|
153
|
+
return out;
|
|
154
|
+
}
|
|
155
|
+
async getAssetBalance(assetId) {
|
|
156
|
+
this.assertConnected();
|
|
157
|
+
try {
|
|
158
|
+
const raw = this.account.getAssetBalance(assetId);
|
|
159
|
+
return rgbAssetBalance(raw);
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
const a = (await this.listAssets()).find((x) => x.id === assetId);
|
|
163
|
+
return a?.balance ?? rgbAssetBalance({});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
async getAsset(assetId) {
|
|
167
|
+
const found = (await this.listAssets()).find((a) => a.id === assetId);
|
|
168
|
+
if (!found)
|
|
169
|
+
throw new ProtocolError(`Unknown asset ${assetId}`, 'RGB_L1', 'NO_ASSET');
|
|
170
|
+
return found;
|
|
171
|
+
}
|
|
172
|
+
// --- Invoices -----------------------------------------------------------
|
|
173
|
+
async createInvoice(request) {
|
|
174
|
+
this.assertConnected();
|
|
175
|
+
if (!request.asset || request.asset === 'BTC') {
|
|
176
|
+
throw new ProtocolError('RGB-L1 has no Lightning invoices; use getReceiveAddress for BTC', 'RGB_L1', 'NOT_SUPPORTED');
|
|
177
|
+
}
|
|
178
|
+
const inv = await this.blindReceive(request.asset, request.assetAmount, request.expirySeconds);
|
|
179
|
+
return {
|
|
180
|
+
invoice: inv?.invoice ?? '',
|
|
181
|
+
paymentHash: inv?.recipientId ?? inv?.recipient_id ?? '',
|
|
182
|
+
amount: request.assetAmount,
|
|
183
|
+
expiresAt: inv?.expirationTimestamp ? inv.expirationTimestamp * 1000 : Date.now() + (request.expirySeconds ?? 3600) * 1000,
|
|
184
|
+
description: request.description,
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
async decodeInvoice(_invoice) {
|
|
188
|
+
throw new ProtocolError('RGB-L1 adapter does not decode invoices', 'RGB_L1', 'NOT_SUPPORTED');
|
|
189
|
+
}
|
|
190
|
+
// --- Send (Lightning not supported) -------------------------------------
|
|
191
|
+
async sendPayment(_request) {
|
|
192
|
+
throw new ProtocolError('RGB-L1 has no Lightning send; use sendAsset or sendBtcOnchain', 'RGB_L1', 'NOT_SUPPORTED');
|
|
193
|
+
}
|
|
194
|
+
async getPaymentStatus(_paymentHash) {
|
|
195
|
+
throw new ProtocolError('RGB-L1 has no Lightning payment status', 'RGB_L1', 'NOT_SUPPORTED');
|
|
196
|
+
}
|
|
197
|
+
// --- Transactions -------------------------------------------------------
|
|
198
|
+
async listTransactions(_filter) {
|
|
199
|
+
this.assertConnected();
|
|
200
|
+
const raw = this.account.listTransactions();
|
|
201
|
+
const txs = Array.isArray(raw) ? raw : raw?.transactions ?? [];
|
|
202
|
+
return txs.map((t) => {
|
|
203
|
+
const received = Number(t.received ?? 0);
|
|
204
|
+
const sent = Number(t.sent ?? 0);
|
|
205
|
+
const confTime = t.confirmationTime ?? t.confirmation_time;
|
|
206
|
+
return {
|
|
207
|
+
id: t.txid ?? t.transactionId ?? t.transaction_id ?? '',
|
|
208
|
+
type: (received >= sent ? 'receive' : 'send'),
|
|
209
|
+
status: (confTime ? 'confirmed' : 'pending'),
|
|
210
|
+
timestamp: Number(confTime?.timestamp ?? 0) * 1000,
|
|
211
|
+
amount: Math.abs(received - sent) || received || sent,
|
|
212
|
+
amountDisplay: '',
|
|
213
|
+
asset: undefined,
|
|
214
|
+
protocolData: t,
|
|
215
|
+
};
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
async getTransaction(txId) {
|
|
219
|
+
const found = (await this.listTransactions()).find((t) => t.id === txId);
|
|
220
|
+
if (!found)
|
|
221
|
+
throw new ProtocolError(`Unknown tx ${txId}`, 'RGB_L1', 'NO_TX');
|
|
222
|
+
return found;
|
|
223
|
+
}
|
|
224
|
+
async getNodeInfo() {
|
|
225
|
+
return {};
|
|
226
|
+
}
|
|
227
|
+
async listChannels() {
|
|
228
|
+
return [];
|
|
229
|
+
}
|
|
230
|
+
async listPayments() {
|
|
231
|
+
return [];
|
|
232
|
+
}
|
|
233
|
+
async listTransfers(options) {
|
|
234
|
+
this.assertConnected();
|
|
235
|
+
return this.account.listTransfers(options?.asset_id ?? null);
|
|
236
|
+
}
|
|
237
|
+
// --- RGB-specific hooks (used by the RGB host surface) ------------------
|
|
238
|
+
async createRgbInvoice(params) {
|
|
239
|
+
this.assertConnected();
|
|
240
|
+
return this.blindReceive(params.assetId, params.amount, params.durationSeconds, params.minConfirmations);
|
|
241
|
+
}
|
|
242
|
+
/** Generate a blinded receive invoice (RGB UTXO-based receive). */
|
|
243
|
+
async blindReceive(assetId, amount, durationSeconds, minConfirmations = 1) {
|
|
244
|
+
const assignment = amount != null ? { Fungible: BigInt(amount) } : null;
|
|
245
|
+
return this.account.blindReceive(assetId ?? null, assignment, durationSeconds ?? null, this.transportEndpoints, minConfirmations);
|
|
246
|
+
}
|
|
247
|
+
async signPsbt(psbtHex) {
|
|
248
|
+
this.assertConnected();
|
|
249
|
+
const signed = this.account.signPsbt(psbtHex);
|
|
250
|
+
return { psbt: signed ?? psbtHex, unchanged: !signed || signed === psbtHex };
|
|
251
|
+
}
|
|
252
|
+
async createRgbUtxos(params) {
|
|
253
|
+
this.assertConnected();
|
|
254
|
+
const feeRate = BigInt(Math.round(params.feeRate ?? 1));
|
|
255
|
+
const unsigned = await this.account.createUtxosBegin(this.online, params.upTo ?? false, params.num ?? null, params.size ?? null, feeRate, false);
|
|
256
|
+
const signed = this.account.signPsbt(unsigned);
|
|
257
|
+
await this.account.createUtxosEnd(this.online, signed, false);
|
|
258
|
+
return { success: true };
|
|
259
|
+
}
|
|
260
|
+
async sendAsset(params) {
|
|
261
|
+
this.assertConnected();
|
|
262
|
+
// recipient map: { [assetId]: [{ recipientId, witnessData?, amount, transportEndpoints }] }
|
|
263
|
+
const recipientMap = {
|
|
264
|
+
[params.token]: [
|
|
265
|
+
{
|
|
266
|
+
recipientId: params.recipient,
|
|
267
|
+
amount: BigInt(params.amount),
|
|
268
|
+
transportEndpoints: this.transportEndpoints,
|
|
269
|
+
},
|
|
270
|
+
],
|
|
271
|
+
};
|
|
272
|
+
const feeRate = BigInt(Math.round(params.feeRate ?? 1));
|
|
273
|
+
const unsigned = await this.account.sendBegin(this.online, recipientMap, params.donation ?? false, feeRate, params.minConfirmations ?? 1);
|
|
274
|
+
const signed = this.account.signPsbt(unsigned);
|
|
275
|
+
return this.account.sendEnd(this.online, signed, false);
|
|
276
|
+
}
|
|
277
|
+
async sendBtcOnchain(params) {
|
|
278
|
+
this.assertConnected();
|
|
279
|
+
const feeRate = BigInt(Math.round(params.feeRate ?? 1));
|
|
280
|
+
const unsigned = await this.account.sendBtcBegin(this.online, params.address, BigInt(params.amount), feeRate, false);
|
|
281
|
+
const signed = this.account.signPsbt(unsigned);
|
|
282
|
+
const txid = await this.account.sendBtcEnd(this.online, signed, false);
|
|
283
|
+
return { ok: true, txid };
|
|
284
|
+
}
|
|
285
|
+
/** Encrypted wallet backup bytes (rgb-lib's own format). */
|
|
286
|
+
async backup(password) {
|
|
287
|
+
this.assertConnected();
|
|
288
|
+
return this.account.backup(password);
|
|
289
|
+
}
|
|
290
|
+
async disconnect() {
|
|
291
|
+
this.online = null;
|
|
292
|
+
await super.disconnect();
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Normalize an rgb-lib-wasm asset record into the shape `RgbCore.rgbNiaAsset`
|
|
297
|
+
* expects (it may use camelCase `assetId` or snake_case `asset_id`).
|
|
298
|
+
*/
|
|
299
|
+
function normalizeAsset(a) {
|
|
300
|
+
return {
|
|
301
|
+
asset_id: a?.assetId ?? a?.asset_id ?? a?.id ?? '',
|
|
302
|
+
name: a?.name,
|
|
303
|
+
ticker: a?.ticker,
|
|
304
|
+
precision: a?.precision,
|
|
305
|
+
balance: a?.balance,
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=RgbLibWasmAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RgbLibWasmAdapter.js","sourceRoot":"","sources":["../../../src/adapters/wdk/RgbLibWasmAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ export { SparkWdkAdapter, type SparkAdapterConfig } from './SparkWdkAdapter.js';
|
|
|
10
10
|
export { LiquidWdkAdapter, type LiquidAdapterConfig, LIQUID_USDT_ASSET_ID } from './LiquidWdkAdapter.js';
|
|
11
11
|
export { RlnWdkAdapter, type RlnAdapterConfig } from './RlnWdkAdapter.js';
|
|
12
12
|
export { RgbLibWdkAdapter, type RgbLibAdapterConfig } from './RgbLibWdkAdapter.js';
|
|
13
|
+
export { RgbLibWasmAdapter, type RgbLibWasmAdapterConfig } from './RgbLibWasmAdapter.js';
|
|
13
14
|
export { ArkadeWdkAdapter, type ArkadeAdapterConfig } from './ArkadeWdkAdapter.js';
|
|
14
15
|
export { createWdkRegistry, type WdkRegistryOptions } from '../../registry/createWdkRegistry.js';
|
|
15
16
|
export { registerWdkModule, hasWdkModule, type WdkModuleLoader } from './moduleLoader.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/wdk/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACrG,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/wdk/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,eAAe,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACrG,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -10,6 +10,7 @@ export { SparkWdkAdapter } from './SparkWdkAdapter.js';
|
|
|
10
10
|
export { LiquidWdkAdapter, LIQUID_USDT_ASSET_ID } from './LiquidWdkAdapter.js';
|
|
11
11
|
export { RlnWdkAdapter } from './RlnWdkAdapter.js';
|
|
12
12
|
export { RgbLibWdkAdapter } from './RgbLibWdkAdapter.js';
|
|
13
|
+
export { RgbLibWasmAdapter } from './RgbLibWasmAdapter.js';
|
|
13
14
|
export { ArkadeWdkAdapter } from './ArkadeWdkAdapter.js';
|
|
14
15
|
export { createWdkRegistry } from '../../registry/createWdkRegistry.js';
|
|
15
16
|
export { registerWdkModule, hasWdkModule } from './moduleLoader.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/wdk/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,eAAe,EAA2B,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAA4B,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACrG,OAAO,EAAE,aAAa,EAAyB,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAA4B,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAA4B,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAA2B,MAAM,kCAAkC,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAwB,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/wdk/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,eAAe,EAA2B,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,gBAAgB,EAA4B,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACrG,OAAO,EAAE,aAAa,EAAyB,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAA4B,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAgC,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAA4B,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAA2B,MAAM,kCAAkC,CAAA;AAC7F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAwB,MAAM,gBAAgB,CAAA"}
|
|
@@ -15,6 +15,14 @@ import { ProtocolType } from '../types/base.js';
|
|
|
15
15
|
export interface WdkRegistryOptions {
|
|
16
16
|
/** Which protocols to register (default: all four). */
|
|
17
17
|
enabled?: ProtocolType[];
|
|
18
|
+
/**
|
|
19
|
+
* Which RGB_L1 backing to register when `RGB_L1` is enabled:
|
|
20
|
+
* - `'native'` (default): `RgbLibWdkAdapter` (native rgb-lib + filesystem
|
|
21
|
+
* dataDir; Node/RN/desktop only).
|
|
22
|
+
* - `'wasm'`: `RgbLibWasmAdapter` (browser/WASM rgb-lib + IndexedDB; runs
|
|
23
|
+
* node-less in an MV3 service worker).
|
|
24
|
+
*/
|
|
25
|
+
rgbL1Backing?: 'native' | 'wasm';
|
|
18
26
|
}
|
|
19
27
|
export declare function createWdkRegistry(opts?: WdkRegistryOptions): ProtocolAdapterRegistry;
|
|
20
28
|
//# sourceMappingURL=createWdkRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWdkRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/createWdkRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"createWdkRegistry.d.ts","sourceRoot":"","sources":["../../src/registry/createWdkRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAOtE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAE5C,MAAM,WAAW,kBAAkB;IACjC,uDAAuD;IACvD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;CACjC;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,kBAAuB,GAAG,uBAAuB,CAWxF"}
|
|
@@ -15,9 +15,10 @@ import { SparkWdkAdapter } from '../adapters/wdk/SparkWdkAdapter.js';
|
|
|
15
15
|
import { LiquidWdkAdapter } from '../adapters/wdk/LiquidWdkAdapter.js';
|
|
16
16
|
import { RlnWdkAdapter } from '../adapters/wdk/RlnWdkAdapter.js';
|
|
17
17
|
import { RgbLibWdkAdapter } from '../adapters/wdk/RgbLibWdkAdapter.js';
|
|
18
|
+
import { RgbLibWasmAdapter } from '../adapters/wdk/RgbLibWasmAdapter.js';
|
|
18
19
|
import { ArkadeWdkAdapter } from '../adapters/wdk/ArkadeWdkAdapter.js';
|
|
19
|
-
// RGB_L1 is opt-in (not in the default set): it
|
|
20
|
-
//
|
|
20
|
+
// RGB_L1 is opt-in (not in the default set): it's an alternative to the
|
|
21
|
+
// node-backed RGB path, not an addition to it, and the backing is host-specific.
|
|
21
22
|
const ALL = ['SPARK', 'LIQUID', 'RGB_LN', 'ARKADE'];
|
|
22
23
|
export function createWdkRegistry(opts = {}) {
|
|
23
24
|
const enabled = opts.enabled ?? ALL;
|
|
@@ -28,8 +29,9 @@ export function createWdkRegistry(opts = {}) {
|
|
|
28
29
|
registry.register(new LiquidWdkAdapter());
|
|
29
30
|
if (enabled.includes('RGB_LN'))
|
|
30
31
|
registry.register(new RlnWdkAdapter());
|
|
31
|
-
if (enabled.includes('RGB_L1'))
|
|
32
|
-
registry.register(new RgbLibWdkAdapter());
|
|
32
|
+
if (enabled.includes('RGB_L1')) {
|
|
33
|
+
registry.register(opts.rgbL1Backing === 'wasm' ? new RgbLibWasmAdapter() : new RgbLibWdkAdapter());
|
|
34
|
+
}
|
|
33
35
|
if (enabled.includes('ARKADE'))
|
|
34
36
|
registry.register(new ArkadeWdkAdapter());
|
|
35
37
|
return registry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWdkRegistry.js","sourceRoot":"","sources":["../../src/registry/createWdkRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"createWdkRegistry.js","sourceRoot":"","sources":["../../src/registry/createWdkRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAgBnE,wEAAwE;AACxE,iFAAiF;AACjF,MAAM,GAAG,GAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;AAEnE,MAAM,UAAU,iBAAiB,CAAC,OAA2B,EAAE;IAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAA;IACnC,MAAM,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAA;IAC9C,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAA;IACvE,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAA;IACzE,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,aAAa,EAAE,CAAC,CAAA;IACtE,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAA;IACpG,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAA;IACzE,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaleidorg/wallet-engine",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.14",
|
|
4
4
|
"description": "WDK-based multi-protocol wallet engine (Spark, RGB/RLN, Liquid, Arkade): IProtocolAdapter contract + WDK adapters, cross-protocol router, BIP321 unified receive, and lite/advanced disclosure.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|