@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 +2 -2
- package/dist/core/index.cjs +36 -11
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.cts +14 -0
- package/dist/core/index.d.ts +14 -0
- package/dist/core/index.js +36 -11
- package/dist/core/index.js.map +1 -1
- package/dist/impl/browser/index.cjs +14 -3
- package/dist/impl/browser/index.cjs.map +1 -1
- package/dist/impl/browser/index.js +14 -3
- package/dist/impl/browser/index.js.map +1 -1
- package/dist/impl/nodejs/index.cjs +18 -3
- package/dist/impl/nodejs/index.cjs.map +1 -1
- package/dist/impl/nodejs/index.js +18 -3
- package/dist/impl/nodejs/index.js.map +1 -1
- package/dist/index.cjs +36 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +51 -12
- package/dist/index.d.ts +51 -12
- package/dist/index.js +36 -11
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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.
|
|
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({
|
|
174
|
+
body: JSON.stringify({ unicityId: 'myname', coin: 'unicity', amount: 100 }),
|
|
175
175
|
});
|
|
176
176
|
```
|
|
177
177
|
|
package/dist/core/index.cjs
CHANGED
|
@@ -2312,7 +2312,7 @@ var LIMITS = {
|
|
|
2312
2312
|
};
|
|
2313
2313
|
|
|
2314
2314
|
// types/txf.ts
|
|
2315
|
-
var ARCHIVED_PREFIX = "
|
|
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}
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
4851
|
+
[],
|
|
4852
|
+
// Empty - active tokens stored as token-xxx files
|
|
4828
4853
|
{
|
|
4829
4854
|
version: 1,
|
|
4830
4855
|
address: this.deps.identity.l1Address,
|