@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,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BaseWdkAdapter
|
|
3
|
+
* --------------
|
|
4
|
+
* Shared base for the WDK-backed adapters (Spark, Liquid, RGB/RLN, RGB-L1,
|
|
5
|
+
* Arkade). Every WDK adapter wraps a lazily-loaded `manager` + `account` pair
|
|
6
|
+
* and repeats the same connection bookkeeping; this class owns that once so the
|
|
7
|
+
* adapters only implement what's genuinely protocol-specific.
|
|
8
|
+
*
|
|
9
|
+
* It deliberately does NOT implement the data methods (listAssets, sendPayment,
|
|
10
|
+
* …) — those differ per protocol. It only provides the connection lifecycle,
|
|
11
|
+
* the connected-guard, the swap-capability lookup, and the allowlisted escape
|
|
12
|
+
* hatch. Subclasses set `this.manager`/`this.account`/`this.connected` in their
|
|
13
|
+
* own `connect()`.
|
|
14
|
+
*
|
|
15
|
+
* The native (non-WDK) adapters are intentionally left untouched.
|
|
16
|
+
*/
|
|
17
|
+
import { ProtocolType } from '../../types/base.js';
|
|
18
|
+
export declare abstract class BaseWdkAdapter {
|
|
19
|
+
abstract readonly protocolName: ProtocolType;
|
|
20
|
+
readonly version: string;
|
|
21
|
+
protected manager: any;
|
|
22
|
+
protected account: any;
|
|
23
|
+
protected connected: boolean;
|
|
24
|
+
protected network: string;
|
|
25
|
+
isConnected(): boolean;
|
|
26
|
+
/** Tear down the account + manager (whichever teardown hooks they expose) and reset state. */
|
|
27
|
+
disconnect(): Promise<void>;
|
|
28
|
+
/** Native swap capability, read from the capability manifest. */
|
|
29
|
+
supportsSwaps(): boolean;
|
|
30
|
+
protected assertConnected(): void;
|
|
31
|
+
/**
|
|
32
|
+
* Dispatch a caller-supplied operation to the account ONLY if it is on the
|
|
33
|
+
* adapter's allowlist. `operation` may be influenced by callers (deep links,
|
|
34
|
+
* chat/MCP tool args), so it is never used to index the account directly —
|
|
35
|
+
* this blocks reaching meta members (`constructor`, `__proto__`, prototype
|
|
36
|
+
* methods) or any non-whitelisted method.
|
|
37
|
+
*/
|
|
38
|
+
protected runAllowlistedOp(allowed: ReadonlySet<string>, operation: string, params: unknown): Promise<unknown>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=BaseWdkAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseWdkAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/wdk/BaseWdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,YAAY,EAAiB,MAAM,kBAAkB,CAAA;AAG9D,8BAAsB,cAAc;IAClC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAc;IAEtC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAO;IAC7B,SAAS,CAAC,OAAO,EAAE,GAAG,CAAO;IAC7B,SAAS,CAAC,SAAS,UAAQ;IAC3B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAY;IAErC,WAAW,IAAI,OAAO;IAItB,8FAA8F;IACxF,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAYjC,iEAAiE;IACjE,aAAa,IAAI,OAAO;IAIxB,SAAS,CAAC,eAAe,IAAI,IAAI;IAMjC;;;;;;OAMG;cACa,gBAAgB,CAC9B,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,OAAO,CAAC;CAWpB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BaseWdkAdapter
|
|
3
|
+
* --------------
|
|
4
|
+
* Shared base for the WDK-backed adapters (Spark, Liquid, RGB/RLN, RGB-L1,
|
|
5
|
+
* Arkade). Every WDK adapter wraps a lazily-loaded `manager` + `account` pair
|
|
6
|
+
* and repeats the same connection bookkeeping; this class owns that once so the
|
|
7
|
+
* adapters only implement what's genuinely protocol-specific.
|
|
8
|
+
*
|
|
9
|
+
* It deliberately does NOT implement the data methods (listAssets, sendPayment,
|
|
10
|
+
* …) — those differ per protocol. It only provides the connection lifecycle,
|
|
11
|
+
* the connected-guard, the swap-capability lookup, and the allowlisted escape
|
|
12
|
+
* hatch. Subclasses set `this.manager`/`this.account`/`this.connected` in their
|
|
13
|
+
* own `connect()`.
|
|
14
|
+
*
|
|
15
|
+
* The native (non-WDK) adapters are intentionally left untouched.
|
|
16
|
+
*/
|
|
17
|
+
import { ProtocolError } from '../../types/base.js';
|
|
18
|
+
import { getCapabilities } from '../../capabilities/index.js';
|
|
19
|
+
export class BaseWdkAdapter {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.version = '0.1.0-wdk';
|
|
22
|
+
this.manager = null;
|
|
23
|
+
this.account = null;
|
|
24
|
+
this.connected = false;
|
|
25
|
+
this.network = 'mainnet';
|
|
26
|
+
}
|
|
27
|
+
isConnected() {
|
|
28
|
+
return this.connected;
|
|
29
|
+
}
|
|
30
|
+
/** Tear down the account + manager (whichever teardown hooks they expose) and reset state. */
|
|
31
|
+
async disconnect() {
|
|
32
|
+
try {
|
|
33
|
+
await this.account?.dispose?.();
|
|
34
|
+
await this.account?.cleanupConnections?.();
|
|
35
|
+
await this.manager?.dispose?.();
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
this.account = null;
|
|
39
|
+
this.manager = null;
|
|
40
|
+
this.connected = false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** Native swap capability, read from the capability manifest. */
|
|
44
|
+
supportsSwaps() {
|
|
45
|
+
return getCapabilities(this.protocolName).supportsSwaps;
|
|
46
|
+
}
|
|
47
|
+
assertConnected() {
|
|
48
|
+
if (!this.connected || !this.account) {
|
|
49
|
+
throw new ProtocolError(`${this.constructor.name} not connected`, this.protocolName, 'NOT_CONNECTED');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Dispatch a caller-supplied operation to the account ONLY if it is on the
|
|
54
|
+
* adapter's allowlist. `operation` may be influenced by callers (deep links,
|
|
55
|
+
* chat/MCP tool args), so it is never used to index the account directly —
|
|
56
|
+
* this blocks reaching meta members (`constructor`, `__proto__`, prototype
|
|
57
|
+
* methods) or any non-whitelisted method.
|
|
58
|
+
*/
|
|
59
|
+
async runAllowlistedOp(allowed, operation, params) {
|
|
60
|
+
this.assertConnected();
|
|
61
|
+
if (!allowed.has(operation)) {
|
|
62
|
+
throw new ProtocolError(`${this.protocolName} operation not allowed: '${operation}'`, this.protocolName, 'NO_OP');
|
|
63
|
+
}
|
|
64
|
+
const fn = this.account[operation];
|
|
65
|
+
if (typeof fn !== 'function') {
|
|
66
|
+
throw new ProtocolError(`Unknown ${this.protocolName} operation '${operation}'`, this.protocolName, 'NO_OP');
|
|
67
|
+
}
|
|
68
|
+
return fn.call(this.account, params);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=BaseWdkAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseWdkAdapter.js","sourceRoot":"","sources":["../../../src/adapters/wdk/BaseWdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAgB,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,OAAgB,cAAc;IAApC;QAEW,YAAO,GAAW,WAAW,CAAA;QAE5B,YAAO,GAAQ,IAAI,CAAA;QACnB,YAAO,GAAQ,IAAI,CAAA;QACnB,cAAS,GAAG,KAAK,CAAA;QACjB,YAAO,GAAW,SAAS,CAAA;IAoDvC,CAAC;IAlDC,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,8FAA8F;IAC9F,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAA;YAC/B,MAAM,IAAI,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,CAAA;YAC1C,MAAM,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAA;QACjC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACxB,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,aAAa;QACX,OAAO,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,aAAa,CAAA;IACzD,CAAC;IAES,eAAe;QACvB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,gBAAgB,EAAE,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;QACvG,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,gBAAgB,CAC9B,OAA4B,EAC5B,SAAiB,EACjB,MAAe;QAEf,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,4BAA4B,SAAS,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QACnH,CAAC;QACD,MAAM,EAAE,GAAI,IAAI,CAAC,OAAe,CAAC,SAAS,CAAC,CAAA;QAC3C,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,aAAa,CAAC,WAAW,IAAI,CAAC,YAAY,eAAe,SAAS,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC9G,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACtC,CAAC;CACF"}
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
* listAssets(): {asset_id,balance}[], listUnspents, listTransactions,
|
|
20
20
|
* getNetworkInfo(): {network,policy_asset,address,tip_height}, sign, dispose
|
|
21
21
|
*/
|
|
22
|
-
import { IProtocolAdapter, BaseProtocolConfig } from '../IProtocolAdapter';
|
|
23
|
-
import { ProtocolType, Layer, UnifiedAsset, UnifiedTransaction, InvoiceRequest, Invoice, DecodedInvoice, PaymentRequest, PaymentResult, PaymentStatus, Address, ConnectionInfo, TransactionFilter } from '../../types/base';
|
|
24
|
-
|
|
25
|
-
export
|
|
22
|
+
import { IProtocolAdapter, BaseProtocolConfig } from '../IProtocolAdapter.js';
|
|
23
|
+
import { ProtocolType, Layer, UnifiedAsset, UnifiedTransaction, InvoiceRequest, Invoice, DecodedInvoice, PaymentRequest, PaymentResult, PaymentStatus, Address, ConnectionInfo, TransactionFilter } from '../../types/base.js';
|
|
24
|
+
import { BaseWdkAdapter } from './BaseWdkAdapter.js';
|
|
25
|
+
export { LIQUID_USDT_ASSET_ID } from '../../constants.js';
|
|
26
26
|
export interface LiquidAdapterConfig extends BaseProtocolConfig {
|
|
27
27
|
protocol: 'LIQUID';
|
|
28
28
|
/** BIP-39 mnemonic for this wallet. */
|
|
@@ -32,18 +32,13 @@ export interface LiquidAdapterConfig extends BaseProtocolConfig {
|
|
|
32
32
|
/** Optional Esplora base URL override. */
|
|
33
33
|
esploraUrl?: string;
|
|
34
34
|
}
|
|
35
|
-
export declare class LiquidWdkAdapter implements IProtocolAdapter {
|
|
35
|
+
export declare class LiquidWdkAdapter extends BaseWdkAdapter implements IProtocolAdapter {
|
|
36
36
|
readonly protocolName: ProtocolType;
|
|
37
|
+
readonly capabilities: readonly import("../../index.js").ProtocolCapability[];
|
|
37
38
|
readonly supportedLayers: Layer[];
|
|
38
|
-
readonly version = "0.1.0-wdk";
|
|
39
|
-
private manager;
|
|
40
|
-
private account;
|
|
41
|
-
private connected;
|
|
42
|
-
private network;
|
|
43
39
|
private policyAsset;
|
|
44
40
|
connect(config: BaseProtocolConfig): Promise<void>;
|
|
45
41
|
disconnect(): Promise<void>;
|
|
46
|
-
isConnected(): boolean;
|
|
47
42
|
getConnectionInfo(): Promise<ConnectionInfo>;
|
|
48
43
|
getReceiveAddress(assetId?: string): Promise<Address>;
|
|
49
44
|
getBtcBalance(): Promise<{
|
|
@@ -80,9 +75,7 @@ export declare class LiquidWdkAdapter implements IProtocolAdapter {
|
|
|
80
75
|
listChannels(): Promise<any[]>;
|
|
81
76
|
listPayments(): Promise<any>;
|
|
82
77
|
listTransfers(): Promise<any>;
|
|
83
|
-
supportsSwaps(): boolean;
|
|
84
78
|
private getPolicyAsset;
|
|
85
79
|
private toUnifiedAsset;
|
|
86
|
-
private assertConnected;
|
|
87
80
|
}
|
|
88
81
|
//# sourceMappingURL=LiquidWdkAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiquidWdkAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/wdk/LiquidWdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;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,EAGlB,MAAM,kBAAkB,CAAA;AAIzB,
|
|
1
|
+
{"version":3,"file":"LiquidWdkAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/wdk/LiquidWdkAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,11 +19,15 @@
|
|
|
19
19
|
* listAssets(): {asset_id,balance}[], listUnspents, listTransactions,
|
|
20
20
|
* getNetworkInfo(): {network,policy_asset,address,tip_height}, sign, dispose
|
|
21
21
|
*/
|
|
22
|
-
import { ProtocolError, } from '../../types/base';
|
|
23
|
-
import { getCapabilities } from '../../capabilities';
|
|
24
|
-
import {
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
import { ProtocolError, } from '../../types/base.js';
|
|
23
|
+
import { getCapabilities } from '../../capabilities/index.js';
|
|
24
|
+
import { PROTOCOL_OPERATIONS } from '../../capabilities/operations.js';
|
|
25
|
+
import { loadWdkModule } from './moduleLoader.js';
|
|
26
|
+
import { BaseWdkAdapter } from './BaseWdkAdapter.js';
|
|
27
|
+
// Re-exported from the neutral constants module so core (disclosure) never has
|
|
28
|
+
// to import this adapter to reach the asset id.
|
|
29
|
+
export { LIQUID_USDT_ASSET_ID } from '../../constants.js';
|
|
30
|
+
import { LIQUID_USDT_ASSET_ID } from '../../constants.js';
|
|
27
31
|
const LIQUID_NETWORK_MAP = {
|
|
28
32
|
mainnet: 'mainnet',
|
|
29
33
|
testnet: 'testnet',
|
|
@@ -34,15 +38,12 @@ const LIQUID_NETWORK_MAP = {
|
|
|
34
38
|
const KNOWN_ASSETS = {
|
|
35
39
|
[LIQUID_USDT_ASSET_ID]: { ticker: 'USDt', name: 'Tether USD', precision: 8 },
|
|
36
40
|
};
|
|
37
|
-
export class LiquidWdkAdapter {
|
|
41
|
+
export class LiquidWdkAdapter extends BaseWdkAdapter {
|
|
38
42
|
constructor() {
|
|
43
|
+
super(...arguments);
|
|
39
44
|
this.protocolName = 'LIQUID';
|
|
45
|
+
this.capabilities = PROTOCOL_OPERATIONS.LIQUID;
|
|
40
46
|
this.supportedLayers = getCapabilities('LIQUID').layers;
|
|
41
|
-
this.version = '0.1.0-wdk';
|
|
42
|
-
this.manager = null;
|
|
43
|
-
this.account = null;
|
|
44
|
-
this.connected = false;
|
|
45
|
-
this.network = 'mainnet';
|
|
46
47
|
this.policyAsset = null;
|
|
47
48
|
}
|
|
48
49
|
// --- Connection ---------------------------------------------------------
|
|
@@ -63,19 +64,8 @@ export class LiquidWdkAdapter {
|
|
|
63
64
|
this.connected = true;
|
|
64
65
|
}
|
|
65
66
|
async disconnect() {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
this.manager?.dispose?.();
|
|
69
|
-
}
|
|
70
|
-
finally {
|
|
71
|
-
this.account = null;
|
|
72
|
-
this.manager = null;
|
|
73
|
-
this.connected = false;
|
|
74
|
-
this.policyAsset = null;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
isConnected() {
|
|
78
|
-
return this.connected;
|
|
67
|
+
await super.disconnect();
|
|
68
|
+
this.policyAsset = null;
|
|
79
69
|
}
|
|
80
70
|
async getConnectionInfo() {
|
|
81
71
|
this.assertConnected();
|
|
@@ -232,9 +222,6 @@ export class LiquidWdkAdapter {
|
|
|
232
222
|
async listTransfers() {
|
|
233
223
|
return this.account.listTransactions();
|
|
234
224
|
}
|
|
235
|
-
supportsSwaps() {
|
|
236
|
-
return getCapabilities('LIQUID').supportsSwaps;
|
|
237
|
-
}
|
|
238
225
|
// --- helpers ------------------------------------------------------------
|
|
239
226
|
async getPolicyAsset() {
|
|
240
227
|
if (this.policyAsset)
|
|
@@ -263,10 +250,5 @@ export class LiquidWdkAdapter {
|
|
|
263
250
|
},
|
|
264
251
|
};
|
|
265
252
|
}
|
|
266
|
-
assertConnected() {
|
|
267
|
-
if (!this.connected || !this.account) {
|
|
268
|
-
throw new ProtocolError('LiquidWdkAdapter not connected', 'LIQUID', 'NOT_CONNECTED');
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
253
|
}
|
|
272
254
|
//# sourceMappingURL=LiquidWdkAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiquidWdkAdapter.js","sourceRoot":"","sources":["../../../src/adapters/wdk/LiquidWdkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EAeL,aAAa,GACd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"LiquidWdkAdapter.js","sourceRoot":"","sources":["../../../src/adapters/wdk/LiquidWdkAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RgbCore
|
|
3
|
+
* -------
|
|
4
|
+
* Pure, transport-agnostic translation helpers shared by every RGB-backed
|
|
5
|
+
* adapter: the node-backed `RlnWdkAdapter` (RGB over an rgb-lightning-node, with
|
|
6
|
+
* Lightning) and the local `RgbLibWdkAdapter` (RGB-L1 over rgb-lib, no Lightning).
|
|
7
|
+
*
|
|
8
|
+
* Only the BACKING differs between those two — the shape of an RGB asset, a
|
|
9
|
+
* balance, and a status are identical. Keeping the mapping here is the single
|
|
10
|
+
* source of truth so the two adapters cannot drift (the native adapters
|
|
11
|
+
* predate this and are intentionally left untouched).
|
|
12
|
+
*
|
|
13
|
+
* Everything here is pure: no I/O, no SDK calls, no `this`.
|
|
14
|
+
*/
|
|
15
|
+
import type { ProtocolType, Layer, UnifiedAsset, AssetBalance, TransactionStatus } from '../../types/base.js';
|
|
16
|
+
/**
|
|
17
|
+
* What differs between the two RGB backings: the node-backed `RGB` adapter has
|
|
18
|
+
* Lightning + swaps and lists assets on the RGB-LN layer; the local rgb-lib
|
|
19
|
+
* `RGB_L1` adapter is on-chain only. Everything else about the asset/balance
|
|
20
|
+
* mapping is identical, so the adapters pass their profile and share the rest.
|
|
21
|
+
*/
|
|
22
|
+
export interface RgbProfile {
|
|
23
|
+
protocol: ProtocolType;
|
|
24
|
+
/** Layer reported for RGB asset balances (RGB_LN for the node, RGB_L1 for rgb-lib). */
|
|
25
|
+
assetLayer: Layer;
|
|
26
|
+
supportsLightning: boolean;
|
|
27
|
+
supportsSwaps: boolean;
|
|
28
|
+
}
|
|
29
|
+
/** Node-backed RGB over an rgb-lightning-node (Lightning + swaps). */
|
|
30
|
+
export declare const RLN_PROFILE: RgbProfile;
|
|
31
|
+
/** Local rgb-lib RGB-L1 (on-chain only, no Lightning/swaps). */
|
|
32
|
+
export declare const RGB_L1_PROFILE: RgbProfile;
|
|
33
|
+
/** Map an RGB node/lib status string → domain TransactionStatus. */
|
|
34
|
+
export declare function mapRgbStatus(s?: string): TransactionStatus;
|
|
35
|
+
/** Build the unified BTC asset entry for an RGB wallet from its spendable total. */
|
|
36
|
+
export declare function rgbBtcAsset(total: number, profile: RgbProfile): UnifiedAsset;
|
|
37
|
+
/** Map a raw RGB NIA (fungible) asset record → UnifiedAsset for the given profile. */
|
|
38
|
+
export declare function rgbNiaAsset(raw: {
|
|
39
|
+
asset_id: string;
|
|
40
|
+
name?: string;
|
|
41
|
+
ticker?: string;
|
|
42
|
+
precision?: number | string;
|
|
43
|
+
balance?: RgbBalanceLike;
|
|
44
|
+
}, profile: RgbProfile): UnifiedAsset;
|
|
45
|
+
/**
|
|
46
|
+
* Map a raw rgb-lib Balance ({ settled, future, spendable }) → domain
|
|
47
|
+
* AssetBalance. `future` is the projected total (confirmed + incoming), so it's
|
|
48
|
+
* the "owned" amount; `spendable` is what can be sent right now. Uses `||` (not
|
|
49
|
+
* `??`) so a present-but-zero `spendable` doesn't hide a real `settled`/`future`
|
|
50
|
+
* — a just-received asset has spendable: 0 but a non-zero balance.
|
|
51
|
+
*/
|
|
52
|
+
export type RgbBalanceLike = {
|
|
53
|
+
spendable?: number | string | bigint;
|
|
54
|
+
settled?: number | string | bigint;
|
|
55
|
+
future?: number | string | bigint;
|
|
56
|
+
available?: number | string | bigint;
|
|
57
|
+
total?: number | string | bigint;
|
|
58
|
+
pending?: number | string | bigint;
|
|
59
|
+
offchain_outbound?: number | string | bigint;
|
|
60
|
+
offchain_inbound?: number | string | bigint;
|
|
61
|
+
locked?: number | string | bigint;
|
|
62
|
+
};
|
|
63
|
+
export declare function rgbAssetBalance(raw?: RgbBalanceLike): AssetBalance;
|
|
64
|
+
//# sourceMappingURL=RgbCore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RgbCore.d.ts","sourceRoot":"","sources":["../../../src/adapters/wdk/RgbCore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAE1G;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,YAAY,CAAA;IACtB,uFAAuF;IACvF,UAAU,EAAE,KAAK,CAAA;IACjB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,aAAa,EAAE,OAAO,CAAA;CACvB;AAED,sEAAsE;AACtE,eAAO,MAAM,WAAW,EAAE,UAKzB,CAAA;AAED,gEAAgE;AAChE,eAAO,MAAM,cAAc,EAAE,UAK5B,CAAA;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAK1D;AAED,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,YAAY,CAiB5E;AAED,sFAAsF;AACtF,wBAAgB,WAAW,CACzB,GAAG,EAAE;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB,EACD,OAAO,EAAE,UAAU,GAClB,YAAY,CAiBd;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAC5C,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;IAC3C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAClC,CAAA;AAED,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,cAAc,GAAG,YAAY,CAmBlE"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RgbCore
|
|
3
|
+
* -------
|
|
4
|
+
* Pure, transport-agnostic translation helpers shared by every RGB-backed
|
|
5
|
+
* adapter: the node-backed `RlnWdkAdapter` (RGB over an rgb-lightning-node, with
|
|
6
|
+
* Lightning) and the local `RgbLibWdkAdapter` (RGB-L1 over rgb-lib, no Lightning).
|
|
7
|
+
*
|
|
8
|
+
* Only the BACKING differs between those two — the shape of an RGB asset, a
|
|
9
|
+
* balance, and a status are identical. Keeping the mapping here is the single
|
|
10
|
+
* source of truth so the two adapters cannot drift (the native adapters
|
|
11
|
+
* predate this and are intentionally left untouched).
|
|
12
|
+
*
|
|
13
|
+
* Everything here is pure: no I/O, no SDK calls, no `this`.
|
|
14
|
+
*/
|
|
15
|
+
/** Node-backed RGB over an rgb-lightning-node (Lightning + swaps). */
|
|
16
|
+
export const RLN_PROFILE = {
|
|
17
|
+
protocol: 'RGB_LN',
|
|
18
|
+
assetLayer: 'RGB_LN',
|
|
19
|
+
supportsLightning: true,
|
|
20
|
+
supportsSwaps: true,
|
|
21
|
+
};
|
|
22
|
+
/** Local rgb-lib RGB-L1 (on-chain only, no Lightning/swaps). */
|
|
23
|
+
export const RGB_L1_PROFILE = {
|
|
24
|
+
protocol: 'RGB_L1',
|
|
25
|
+
assetLayer: 'RGB_L1',
|
|
26
|
+
supportsLightning: false,
|
|
27
|
+
supportsSwaps: false,
|
|
28
|
+
};
|
|
29
|
+
/** Map an RGB node/lib status string → domain TransactionStatus. */
|
|
30
|
+
export function mapRgbStatus(s) {
|
|
31
|
+
const v = (s ?? '').toLowerCase();
|
|
32
|
+
if (v.includes('succeed') || v.includes('settled') || v === 'paid')
|
|
33
|
+
return 'confirmed';
|
|
34
|
+
if (v.includes('fail'))
|
|
35
|
+
return 'failed';
|
|
36
|
+
return 'pending';
|
|
37
|
+
}
|
|
38
|
+
/** Build the unified BTC asset entry for an RGB wallet from its spendable total. */
|
|
39
|
+
export function rgbBtcAsset(total, profile) {
|
|
40
|
+
return {
|
|
41
|
+
id: 'BTC',
|
|
42
|
+
name: 'Bitcoin',
|
|
43
|
+
ticker: 'BTC',
|
|
44
|
+
precision: 8,
|
|
45
|
+
protocol: profile.protocol,
|
|
46
|
+
layer: 'BTC_L1',
|
|
47
|
+
balance: makeBalance(total),
|
|
48
|
+
capabilities: {
|
|
49
|
+
canSend: true,
|
|
50
|
+
canReceive: true,
|
|
51
|
+
canSwap: profile.supportsSwaps,
|
|
52
|
+
supportsLightning: profile.supportsLightning,
|
|
53
|
+
supportsOnchain: true,
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
/** Map a raw RGB NIA (fungible) asset record → UnifiedAsset for the given profile. */
|
|
58
|
+
export function rgbNiaAsset(raw, profile) {
|
|
59
|
+
return {
|
|
60
|
+
id: raw.asset_id,
|
|
61
|
+
name: raw.name ?? raw.ticker ?? raw.asset_id,
|
|
62
|
+
ticker: raw.ticker ?? raw.asset_id?.slice(0, 6),
|
|
63
|
+
precision: Number(raw.precision ?? 0),
|
|
64
|
+
protocol: profile.protocol,
|
|
65
|
+
layer: profile.assetLayer,
|
|
66
|
+
balance: rgbAssetBalance(raw.balance),
|
|
67
|
+
capabilities: {
|
|
68
|
+
canSend: true,
|
|
69
|
+
canReceive: true,
|
|
70
|
+
canSwap: profile.supportsSwaps,
|
|
71
|
+
supportsLightning: profile.supportsLightning,
|
|
72
|
+
supportsOnchain: true,
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
export function rgbAssetBalance(raw) {
|
|
77
|
+
const b = raw ?? {};
|
|
78
|
+
const settled = toFiniteNumber(b.settled ?? b.total ?? 0);
|
|
79
|
+
const future = toFiniteNumber(b.future ?? b.pending ?? settled);
|
|
80
|
+
const spendable = toFiniteNumber(b.spendable ?? b.available ?? settled);
|
|
81
|
+
const owned = future || settled || spendable || 0;
|
|
82
|
+
return {
|
|
83
|
+
total: owned,
|
|
84
|
+
available: spendable,
|
|
85
|
+
pending: Math.max(0, future - settled),
|
|
86
|
+
locked: toFiniteNumber(b.offchain_outbound ?? b.locked ?? 0),
|
|
87
|
+
settled,
|
|
88
|
+
future,
|
|
89
|
+
spendable,
|
|
90
|
+
offchain_outbound: toFiniteNumber(b.offchain_outbound ?? b.locked ?? 0),
|
|
91
|
+
offchain_inbound: toFiniteNumber(b.offchain_inbound ?? 0),
|
|
92
|
+
totalDisplay: String(owned),
|
|
93
|
+
availableDisplay: String(spendable),
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function makeBalance(total) {
|
|
97
|
+
return {
|
|
98
|
+
total,
|
|
99
|
+
available: total,
|
|
100
|
+
pending: 0,
|
|
101
|
+
totalDisplay: String(total),
|
|
102
|
+
availableDisplay: String(total),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
function toFiniteNumber(value) {
|
|
106
|
+
if (typeof value === 'bigint')
|
|
107
|
+
return Number(value);
|
|
108
|
+
const n = Number(value ?? 0);
|
|
109
|
+
return Number.isFinite(n) ? n : 0;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=RgbCore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RgbCore.js","sourceRoot":"","sources":["../../../src/adapters/wdk/RgbCore.ts"],"names":[],"mappings":"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"}
|