@unicitylabs/sphere-sdk 0.15.0-dev.1 → 0.16.0-dev.1

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.
Files changed (50) hide show
  1. package/README.md +15 -5
  2. package/dist/connect/index.cjs +23 -25
  3. package/dist/connect/index.cjs.map +1 -1
  4. package/dist/connect/index.d.cts +4 -0
  5. package/dist/connect/index.d.ts +4 -0
  6. package/dist/connect/index.js +23 -25
  7. package/dist/connect/index.js.map +1 -1
  8. package/dist/core/index.cjs +726 -225
  9. package/dist/core/index.cjs.map +1 -1
  10. package/dist/core/index.d.cts +172 -21
  11. package/dist/core/index.d.ts +172 -21
  12. package/dist/core/index.js +726 -224
  13. package/dist/core/index.js.map +1 -1
  14. package/dist/impl/browser/connect/index.cjs +23 -25
  15. package/dist/impl/browser/connect/index.cjs.map +1 -1
  16. package/dist/impl/browser/connect/index.js +23 -25
  17. package/dist/impl/browser/connect/index.js.map +1 -1
  18. package/dist/impl/browser/index.cjs +331 -504
  19. package/dist/impl/browser/index.cjs.map +1 -1
  20. package/dist/impl/browser/index.js +331 -504
  21. package/dist/impl/browser/index.js.map +1 -1
  22. package/dist/impl/nodejs/connect/index.cjs +22 -24
  23. package/dist/impl/nodejs/connect/index.cjs.map +1 -1
  24. package/dist/impl/nodejs/connect/index.js +22 -24
  25. package/dist/impl/nodejs/connect/index.js.map +1 -1
  26. package/dist/impl/nodejs/index.cjs +298 -569
  27. package/dist/impl/nodejs/index.cjs.map +1 -1
  28. package/dist/impl/nodejs/index.d.cts +90 -13
  29. package/dist/impl/nodejs/index.d.ts +90 -13
  30. package/dist/impl/nodejs/index.js +298 -569
  31. package/dist/impl/nodejs/index.js.map +1 -1
  32. package/dist/impl/shared/wallet-api/index.d.cts +54 -2
  33. package/dist/impl/shared/wallet-api/index.d.ts +54 -2
  34. package/dist/index.cjs +728 -225
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.d.cts +227 -108
  37. package/dist/index.d.ts +227 -108
  38. package/dist/index.js +728 -224
  39. package/dist/index.js.map +1 -1
  40. package/dist/modules/payments-v2/index.cjs +11 -7
  41. package/dist/modules/payments-v2/index.cjs.map +1 -1
  42. package/dist/modules/payments-v2/index.d.cts +56 -3
  43. package/dist/modules/payments-v2/index.d.ts +56 -3
  44. package/dist/modules/payments-v2/index.js +11 -7
  45. package/dist/modules/payments-v2/index.js.map +1 -1
  46. package/dist/token-engine/index.cjs +46 -0
  47. package/dist/token-engine/index.cjs.map +1 -1
  48. package/dist/token-engine/index.js +46 -0
  49. package/dist/token-engine/index.js.map +1 -1
  50. package/package.json +2 -1
@@ -15,6 +15,10 @@ interface NetworkInfo {
15
15
  * the legacy `testnet` alias is intentionally not surfaced.
16
16
  */
17
17
  declare const SPHERE_NETWORKS: {
18
+ readonly mainnet: {
19
+ readonly id: number;
20
+ readonly name: "mainnet";
21
+ };
18
22
  readonly testnet2: {
19
23
  readonly id: number;
20
24
  readonly name: "testnet2";
@@ -15,6 +15,10 @@ interface NetworkInfo {
15
15
  * the legacy `testnet` alias is intentionally not surfaced.
16
16
  */
17
17
  declare const SPHERE_NETWORKS: {
18
+ readonly mainnet: {
19
+ readonly id: number;
20
+ readonly name: "mainnet";
21
+ };
18
22
  readonly testnet2: {
19
23
  readonly id: number;
20
24
  readonly name: "testnet2";
@@ -181,17 +181,8 @@ var NETWORK_SCOPED_ADDRESS_PREFIXES = [
181
181
  "inv_ledger:"
182
182
  // AccountingModule INV_LEDGER_PREFIX
183
183
  ];
184
- var DEFAULT_NOSTR_RELAYS = [
185
- "wss://relay.unicity.network",
186
- "wss://relay.damus.io",
187
- "wss://nos.lol",
188
- "wss://relay.nostr.band"
189
- ];
190
- var DEFAULT_AGGREGATOR_URL = "https://aggregator.unicity.network/rpc";
191
- var DEV_AGGREGATOR_URL = "https://dev-aggregator.dyndns.org/rpc";
192
184
  var DEFAULT_BASE_PATH = "m/44'/0'/0'";
193
185
  var DEFAULT_DERIVATION_PATH = `${DEFAULT_BASE_PATH}/0/0`;
194
- var TOKEN_REGISTRY_URL = "https://raw.githubusercontent.com/unicitynetwork/unicity-ids/refs/heads/main/unicity-ids.testnet.json";
195
186
  var TEST_NOSTR_RELAYS = [
196
187
  "wss://nostr-relay.testnet.unicity.network"
197
188
  ];
@@ -201,10 +192,19 @@ var DEFAULT_GROUP_RELAYS = [
201
192
  var NETWORKS = {
202
193
  mainnet: {
203
194
  name: "Mainnet",
204
- aggregatorUrl: DEFAULT_AGGREGATOR_URL,
205
- nostrRelays: DEFAULT_NOSTR_RELAYS,
195
+ networkId: 1,
196
+ // v3 state-transition gateway (networkId 1 comes from the trust base). apiKey is env-injected;
197
+ // unlike testnet2's, a mainnet gateway key is a SECRET — never commit one.
198
+ aggregatorUrl: "https://gateway.mainnet.unicity.network",
199
+ // Mainnet has no relay of its own yet — it shares the testnet relay until one is stood up.
200
+ // Consequence while shared: nametag bindings for both networks live in ONE namespace, and
201
+ // since bindings carry no network the cross-network recipient guard can only signal (#734).
202
+ nostrRelays: TEST_NOSTR_RELAYS,
206
203
  groupRelays: DEFAULT_GROUP_RELAYS,
207
- tokenRegistryUrl: TOKEN_REGISTRY_URL
204
+ // Published, but currently only the non-fungible base token type — no fungible
205
+ // coins yet, so those still miss the registry (decimals 0, symbol falls back to
206
+ // six hex chars). Presentation only: the money path treats coinId as opaque bytes.
207
+ tokenRegistryUrl: "https://raw.githubusercontent.com/unicitynetwork/unicity-ids/refs/heads/main/unicity-ids.mainnet.json"
208
208
  },
209
209
  // v1 cutover: 'testnet' now POINTS AT TESTNET2 (the v2 gateway network). The
210
210
  // old goggregator testnet spoke the removed v1 protocol — a v2 engine cannot
@@ -228,19 +228,10 @@ var NETWORKS = {
228
228
  // reuse testnet infra (shared relays/ipfs)
229
229
  groupRelays: DEFAULT_GROUP_RELAYS,
230
230
  tokenRegistryUrl: "https://raw.githubusercontent.com/unicitynetwork/unicity-ids/refs/heads/main/unicity-ids.testnet2.json"
231
- },
232
- // NOTE: mainnet/dev still point at v1-era aggregators. The v2 engine cannot
233
- // operate against them until their gateways are cut over to the v2 protocol —
234
- // wallet operations on these networks fail loudly (AGGREGATOR_ERROR) until then.
235
- dev: {
236
- name: "Development",
237
- aggregatorUrl: DEV_AGGREGATOR_URL,
238
- nostrRelays: TEST_NOSTR_RELAYS,
239
- groupRelays: DEFAULT_GROUP_RELAYS,
240
- tokenRegistryUrl: TOKEN_REGISTRY_URL
241
231
  }
242
232
  };
243
233
  var SPHERE_NETWORKS = {
234
+ mainnet: { id: NETWORKS.mainnet.networkId, name: "mainnet" },
244
235
  testnet2: { id: NETWORKS.testnet2.networkId, name: "testnet2" }
245
236
  };
246
237
  var HOST_READY_TYPE = "sphere-connect:host-ready";
@@ -406,7 +397,7 @@ function checkCompatibility(input) {
406
397
  }
407
398
 
408
399
  // connect/version.ts
409
- var SDK_VERSION = "0.15.0-dev.1";
400
+ var SDK_VERSION = "0.16.0-dev.1";
410
401
 
411
402
  // connect/permissions.ts
412
403
  var PERMISSION_SCOPES = {
@@ -491,8 +482,15 @@ var REALTIME_STATUS = {
491
482
  function toLegacyRequest(view, status) {
492
483
  return { ...view, symbol: view.symbol ?? "", status };
493
484
  }
485
+ function paymentsOrNull(sphere) {
486
+ try {
487
+ return sphere.payments;
488
+ } catch {
489
+ return null;
490
+ }
491
+ }
494
492
  function legacyRequestPayload(sphere, update) {
495
- const view = sphere.payments.requests.list().find((request) => request.id === update.id);
493
+ const view = paymentsOrNull(sphere)?.requests.list().find((request) => request.id === update.id);
496
494
  if (!view) {
497
495
  return {
498
496
  id: update.id,
@@ -571,7 +569,7 @@ var COMPAT_ATTACHERS = /* @__PURE__ */ new Map([
571
569
  forward({ providerId: "wallet-api", error: "wallet-api connection degraded" });
572
570
  })],
573
571
  ["sync:completed", (sphere, forward) => sphere.on("inventory:updated", () => {
574
- forward({ source: "payments", count: sphere.payments.tokens().length });
572
+ forward({ source: "payments", count: paymentsOrNull(sphere)?.tokens().length ?? 0 });
575
573
  })],
576
574
  ["sync:remote-update", remoteUpdateAttacher]
577
575
  ]);