@kaleidorg/wallet-engine 1.0.0-beta.20 → 1.0.0-beta.21

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.
@@ -46,7 +46,13 @@ export declare function rgbNiaAsset(raw: {
46
46
  future?: number;
47
47
  };
48
48
  }, profile: RgbProfile): UnifiedAsset;
49
- /** Map a raw RGB balance record → domain AssetBalance. */
49
+ /**
50
+ * Map a raw rgb-lib Balance ({ settled, future, spendable }) → domain
51
+ * AssetBalance. `future` is the projected total (confirmed + incoming), so it's
52
+ * the "owned" amount; `spendable` is what can be sent right now. Uses `||` (not
53
+ * `??`) so a present-but-zero `spendable` doesn't hide a real `settled`/`future`
54
+ * — a just-received asset has spendable: 0 but a non-zero balance.
55
+ */
50
56
  export declare function rgbAssetBalance(raw?: {
51
57
  spendable?: number;
52
58
  settled?: number;
@@ -1 +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;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACpE,EACD,OAAO,EAAE,UAAU,GAClB,YAAY,CAmBd;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAI7G"}
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;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACpE,EACD,OAAO,EAAE,UAAU,GAClB,YAAY,CAiBd;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,CAa7G"}
@@ -56,8 +56,6 @@ export function rgbBtcAsset(total, profile) {
56
56
  }
57
57
  /** Map a raw RGB NIA (fungible) asset record → UnifiedAsset for the given profile. */
58
58
  export function rgbNiaAsset(raw, profile) {
59
- const bal = raw.balance ?? {};
60
- const total = Number(bal.spendable ?? bal.settled ?? 0);
61
59
  return {
62
60
  id: raw.asset_id,
63
61
  name: raw.name ?? raw.ticker ?? raw.asset_id,
@@ -65,7 +63,7 @@ export function rgbNiaAsset(raw, profile) {
65
63
  precision: Number(raw.precision ?? 0),
66
64
  protocol: profile.protocol,
67
65
  layer: profile.assetLayer,
68
- balance: makeBalance(total),
66
+ balance: rgbAssetBalance(raw.balance),
69
67
  capabilities: {
70
68
  canSend: true,
71
69
  canReceive: true,
@@ -75,11 +73,26 @@ export function rgbNiaAsset(raw, profile) {
75
73
  },
76
74
  };
77
75
  }
78
- /** Map a raw RGB balance record → domain AssetBalance. */
76
+ /**
77
+ * Map a raw rgb-lib Balance ({ settled, future, spendable }) → domain
78
+ * AssetBalance. `future` is the projected total (confirmed + incoming), so it's
79
+ * the "owned" amount; `spendable` is what can be sent right now. Uses `||` (not
80
+ * `??`) so a present-but-zero `spendable` doesn't hide a real `settled`/`future`
81
+ * — a just-received asset has spendable: 0 but a non-zero balance.
82
+ */
79
83
  export function rgbAssetBalance(raw) {
80
84
  const b = raw ?? {};
81
- const total = Number(b.spendable ?? b.settled ?? 0);
82
- return { ...makeBalance(total), pending: Number(b.future ?? 0) };
85
+ const settled = Number(b.settled ?? 0);
86
+ const future = Number(b.future ?? 0);
87
+ const spendable = Number(b.spendable ?? settled);
88
+ const owned = future || settled || spendable || 0;
89
+ return {
90
+ total: owned,
91
+ available: spendable,
92
+ pending: Math.max(0, future - settled),
93
+ totalDisplay: String(owned),
94
+ availableDisplay: String(spendable),
95
+ };
83
96
  }
84
97
  function makeBalance(total) {
85
98
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"RgbCore.js","sourceRoot":"","sources":["../../../src/adapters/wdk/RgbCore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAkBH,sEAAsE;AACtE,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ;IACpB,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,IAAI;CACpB,CAAA;AAED,gEAAgE;AAChE,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,QAAQ,EAAE,QAAQ;IAClB,UAAU,EAAE,QAAQ;IACpB,iBAAiB,EAAE,KAAK;IACxB,aAAa,EAAE,KAAK;CACrB,CAAA;AAED,oEAAoE;AACpE,MAAM,UAAU,YAAY,CAAC,CAAU;IACrC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IACjC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,WAAW,CAAA;IACtF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAA;IACvC,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,OAAmB;IAC5D,OAAO;QACL,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC;QAC3B,YAAY,EAAE;YACZ,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,OAAO,CAAC,aAAa;YAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,eAAe,EAAE,IAAI;SACtB;KACF,CAAA;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,WAAW,CACzB,GAMC,EACD,OAAmB;IAEnB,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAA;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAA;IACvD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,QAAQ;QAChB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ;QAC5C,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/C,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC;QACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,UAAU;QACzB,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC;QAC3B,YAAY,EAAE;YACZ,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,OAAO,CAAC,aAAa;YAC9B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,eAAe,EAAE,IAAI;SACtB;KACF,CAAA;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,eAAe,CAAC,GAA+D;IAC7F,MAAM,CAAC,GAAG,GAAG,IAAI,EAAE,CAAA;IACnB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAA;IACnD,OAAO,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,CAAA;AAClE,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO;QACL,KAAK;QACL,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC;KAChC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"RgbCore.js","sourceRoot":"","sources":["../../../src/adapters/wdk/RgbCore.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaleidorg/wallet-engine",
3
- "version": "1.0.0-beta.20",
3
+ "version": "1.0.0-beta.21",
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",