@unicitylabs/sphere-sdk 0.1.6 → 0.1.8

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/README.md CHANGED
@@ -168,10 +168,10 @@ const { sphere } = await Sphere.init({
168
168
  });
169
169
 
170
170
  // 2. Request tokens from faucet using nametag
171
- const response = await fetch('https://faucet.testnet.unicity.network/api/claim', {
171
+ const response = await fetch('https://faucet.unicity.network/api/v1/faucet/request', {
172
172
  method: 'POST',
173
173
  headers: { 'Content-Type': 'application/json' },
174
- body: JSON.stringify({ nametag: '@myname' }),
174
+ body: JSON.stringify({ unicityId: 'myname', coin: 'unicity', amount: 100 }),
175
175
  });
176
176
  ```
177
177
 
@@ -2312,7 +2312,7 @@ var LIMITS = {
2312
2312
  };
2313
2313
 
2314
2314
  // types/txf.ts
2315
- var ARCHIVED_PREFIX = "_archived_";
2315
+ var ARCHIVED_PREFIX = "archived-";
2316
2316
  var FORKED_PREFIX = "_forked_";
2317
2317
  var RESERVED_KEYS = ["_meta", "_nametag", "_tombstones", "_invalidatedNametags", "_outbox", "_mintOutbox", "_sent", "_invalid", "_integrity"];
2318
2318
  function isTokenKey(key) {
@@ -3261,16 +3261,14 @@ var PaymentsModule = class {
3261
3261
  const result = await provider.load();
3262
3262
  if (result.success && result.data) {
3263
3263
  this.loadFromStorageData(result.data);
3264
- this.log(`Loaded from provider ${id}: ${this.tokens.size} tokens`);
3264
+ this.log(`Loaded metadata from provider ${id}`);
3265
3265
  break;
3266
3266
  }
3267
3267
  } catch (err) {
3268
3268
  console.error(`[Payments] Failed to load from provider ${id}:`, err);
3269
3269
  }
3270
3270
  }
3271
- if (this.tokens.size === 0) {
3272
- await this.loadTokensFromFileStorage();
3273
- }
3271
+ await this.loadTokensFromFileStorage();
3274
3272
  await this.loadNametagFromFileStorage();
3275
3273
  const historyData = await this.deps.storage.get(STORAGE_KEYS_ADDRESS.TRANSACTION_HISTORY);
3276
3274
  if (historyData) {
@@ -3815,6 +3813,34 @@ var PaymentsModule = class {
3815
3813
  }
3816
3814
  return Array.from(balances.values());
3817
3815
  }
3816
+ /**
3817
+ * Get aggregated assets (tokens grouped by coinId)
3818
+ * Only includes confirmed tokens
3819
+ */
3820
+ getAssets(coinId) {
3821
+ const assets = /* @__PURE__ */ new Map();
3822
+ for (const token of this.tokens.values()) {
3823
+ if (token.status !== "confirmed") continue;
3824
+ if (coinId && token.coinId !== coinId) continue;
3825
+ const key = token.coinId;
3826
+ const existing = assets.get(key);
3827
+ if (existing) {
3828
+ existing.totalAmount = (BigInt(existing.totalAmount) + BigInt(token.amount)).toString();
3829
+ existing.tokenCount++;
3830
+ } else {
3831
+ assets.set(key, {
3832
+ coinId: token.coinId,
3833
+ symbol: token.symbol,
3834
+ name: token.name,
3835
+ decimals: token.decimals,
3836
+ iconUrl: token.iconUrl,
3837
+ totalAmount: token.amount,
3838
+ tokenCount: 1
3839
+ });
3840
+ }
3841
+ }
3842
+ return Array.from(assets.values());
3843
+ }
3818
3844
  /**
3819
3845
  * Get all tokens
3820
3846
  */
@@ -3908,7 +3934,8 @@ var PaymentsModule = class {
3908
3934
  for (const [providerId, provider] of providers) {
3909
3935
  if (!provider.listTokenIds || !provider.getToken) continue;
3910
3936
  try {
3911
- const tokenIds = await provider.listTokenIds();
3937
+ const allIds = await provider.listTokenIds();
3938
+ const tokenIds = allIds.filter((id) => id.startsWith("token-"));
3912
3939
  this.log(`Found ${tokenIds.length} token files in ${providerId}`);
3913
3940
  for (const tokenId of tokenIds) {
3914
3941
  try {
@@ -3959,9 +3986,7 @@ var PaymentsModule = class {
3959
3986
  console.warn(`[Payments] Failed to load tokens from ${providerId}:`, error);
3960
3987
  }
3961
3988
  }
3962
- if (this.tokens.size > 0) {
3963
- await this.save();
3964
- }
3989
+ this.log(`Loaded ${this.tokens.size} tokens from file storage`);
3965
3990
  }
3966
3991
  /**
3967
3992
  * Update an existing token
@@ -4822,9 +4847,9 @@ var PaymentsModule = class {
4822
4847
  return data ? JSON.parse(data) : [];
4823
4848
  }
4824
4849
  async createStorageData() {
4825
- const tokens = Array.from(this.tokens.values());
4826
4850
  return await buildTxfStorageData(
4827
- tokens,
4851
+ [],
4852
+ // Empty - active tokens stored as token-xxx files
4828
4853
  {
4829
4854
  version: 1,
4830
4855
  address: this.deps.identity.l1Address,