@talismn/balances 0.0.0-pr669-20230403053044 → 0.0.0-pr678-20230412083934
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/CHANGELOG.md +16 -6
- package/dist/declarations/src/helpers.d.ts +8 -1
- package/dist/declarations/src/types/balancetypes.d.ts +3 -1
- package/dist/talismn-balances.cjs.dev.js +50 -1
- package/dist/talismn-balances.cjs.prod.js +50 -1
- package/dist/talismn-balances.esm.js +46 -2
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
# @talismn/balances
|
2
2
|
|
3
|
-
## 0.0.0-
|
3
|
+
## 0.0.0-pr678-20230412083934
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- Updated dependencies [c898da98]
|
8
|
+
- @talismn/chain-connector@0.0.0-pr678-20230412083934
|
9
|
+
- @talismn/chain-connector-evm@0.0.0-pr678-20230412083934
|
10
|
+
- @talismn/chaindata-provider@0.0.0-pr678-20230412083934
|
11
|
+
- @talismn/token-rates@0.0.0-pr678-20230412083934
|
12
|
+
|
13
|
+
## 0.4.0
|
4
14
|
|
5
15
|
### Patch Changes
|
6
16
|
|
@@ -11,11 +21,11 @@
|
|
11
21
|
- Updated dependencies [6643a4e4]
|
12
22
|
- Updated dependencies [79f6ccf6]
|
13
23
|
- Updated dependencies [c24dc1fb]
|
14
|
-
- @talismn/chain-connector@0.
|
15
|
-
- @talismn/util@0.
|
16
|
-
- @talismn/token-rates@0.
|
17
|
-
- @talismn/chaindata-provider@0.
|
18
|
-
- @talismn/chain-connector-evm@0.
|
24
|
+
- @talismn/chain-connector@0.4.3
|
25
|
+
- @talismn/util@0.1.8
|
26
|
+
- @talismn/token-rates@0.1.15
|
27
|
+
- @talismn/chaindata-provider@0.4.3
|
28
|
+
- @talismn/chain-connector-evm@0.4.3
|
19
29
|
|
20
30
|
## 0.3.3
|
21
31
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { Registry } from "@polkadot/types-codec/types";
|
2
2
|
import { ChainId } from "@talismn/chaindata-provider";
|
3
3
|
import { BalanceModule, DefaultChainMeta, DefaultModuleConfig, DefaultTransferParams, ExtendableChainMeta, ExtendableModuleConfig, ExtendableTokenType, ExtendableTransferParams } from "./BalanceModule";
|
4
|
-
import { AddressesByToken, Balance, Balances, SubscriptionCallback, UnsubscribeFn } from "./types";
|
4
|
+
import { AddressesByToken, Balance, BalanceJson, Balances, SubscriptionCallback, UnsubscribeFn } from "./types";
|
5
5
|
/**
|
6
6
|
* Wraps a BalanceModule's fetch/subscribe methods with a single `balances` method.
|
7
7
|
* This `balances` method will subscribe if a callback parameter is provided, or otherwise fetch.
|
@@ -12,6 +12,13 @@ export declare const createTypeRegistryCache: () => {
|
|
12
12
|
getOrCreateTypeRegistry: (chainId: ChainId, metadataRpc?: `0x${string}`) => Registry;
|
13
13
|
};
|
14
14
|
export declare const filterMirrorTokens: (balance: Balance, i: number, balances: Balance[]) => boolean;
|
15
|
+
export declare const getValidSubscriptionIds: () => Set<string>;
|
16
|
+
export declare const createSubscriptionId: () => string;
|
17
|
+
export declare const deleteSubscriptionId: () => void;
|
18
|
+
/**
|
19
|
+
* Sets all balance statuses from `live-${string}` to either `live` or `cached`
|
20
|
+
*/
|
21
|
+
export declare const deriveStatuses: (validSubscriptionIds: string[], balances: BalanceJson[]) => BalanceJson[];
|
15
22
|
/**
|
16
23
|
* Used by a variety of balance modules to help encode and decode substrate state calls.
|
17
24
|
*/
|
@@ -23,7 +23,9 @@ export type BalanceTypes = {
|
|
23
23
|
export type BalanceJson = BalanceTypes[keyof BalanceTypes] extends never ? IBalance : BalanceTypes[keyof BalanceTypes];
|
24
24
|
/** A collection of `BalanceJson` objects */
|
25
25
|
export type BalanceJsonList = Record<string, BalanceJson>;
|
26
|
-
export type
|
26
|
+
export type BalanceStatusLive = `live-${string}`;
|
27
|
+
export declare const BalanceStatusLive: (subscriptionId: string) => BalanceStatusLive;
|
28
|
+
export type BalanceStatus = BalanceStatusLive | "live" | "cache" | "stale";
|
27
29
|
/** `IBalance` is a common interface which all balance types must implement. */
|
28
30
|
export type IBalance = {
|
29
31
|
/** The module that this balance was retrieved by */
|
@@ -67,7 +67,7 @@ const db = new TalismanBalancesDatabase();
|
|
67
67
|
|
68
68
|
var packageJson = {
|
69
69
|
name: "@talismn/balances",
|
70
|
-
version: "0.0.0-
|
70
|
+
version: "0.0.0-pr678-20230412083934",
|
71
71
|
author: "Talisman",
|
72
72
|
homepage: "https://talisman.xyz",
|
73
73
|
license: "UNLICENSED",
|
@@ -161,6 +161,49 @@ const filterMirrorTokens = (balance, i, balances) => {
|
|
161
161
|
const mirrorOf = balance.token?.mirrorOf;
|
162
162
|
return !mirrorOf || !balances.find(b => b.tokenId === mirrorOf);
|
163
163
|
};
|
164
|
+
const getValidSubscriptionIds = () => {
|
165
|
+
return new Set(localStorage.getItem("TalismanBalancesSubscriptionIds")?.split(",") ?? []);
|
166
|
+
};
|
167
|
+
const createSubscriptionId = () => {
|
168
|
+
// delete current id (if exists)
|
169
|
+
deleteSubscriptionId();
|
170
|
+
|
171
|
+
// create new id
|
172
|
+
const subscriptionId = Date.now().toString();
|
173
|
+
sessionStorage.setItem("TalismanBalancesSubscriptionId", subscriptionId);
|
174
|
+
|
175
|
+
// add to list of current ids
|
176
|
+
const subscriptionIds = getValidSubscriptionIds();
|
177
|
+
subscriptionIds.add(subscriptionId);
|
178
|
+
localStorage.setItem("TalismanBalancesSubscriptionIds", [...subscriptionIds].filter(Boolean).join(","));
|
179
|
+
return subscriptionId;
|
180
|
+
};
|
181
|
+
const deleteSubscriptionId = () => {
|
182
|
+
const subscriptionId = sessionStorage.getItem("TalismanBalancesSubscriptionId");
|
183
|
+
if (!subscriptionId) return;
|
184
|
+
const subscriptionIds = getValidSubscriptionIds();
|
185
|
+
subscriptionIds.delete(subscriptionId);
|
186
|
+
localStorage.setItem("TalismanBalancesSubscriptionIds", [...subscriptionIds].filter(Boolean).join(","));
|
187
|
+
};
|
188
|
+
|
189
|
+
/**
|
190
|
+
* Sets all balance statuses from `live-${string}` to either `live` or `cached`
|
191
|
+
*/
|
192
|
+
const deriveStatuses = (validSubscriptionIds, balances) => balances.map(balance => {
|
193
|
+
if (balance.status === "live" || balance.status === "cache" || balance.status === "stale") return balance;
|
194
|
+
if (validSubscriptionIds.length < 1) return {
|
195
|
+
...balance,
|
196
|
+
status: "cache"
|
197
|
+
};
|
198
|
+
if (!validSubscriptionIds.includes(balance.status.slice("live-".length))) return {
|
199
|
+
...balance,
|
200
|
+
status: "cache"
|
201
|
+
};
|
202
|
+
return {
|
203
|
+
...balance,
|
204
|
+
status: "live"
|
205
|
+
};
|
206
|
+
});
|
164
207
|
|
165
208
|
/**
|
166
209
|
* Used by a variety of balance modules to help encode and decode substrate state calls.
|
@@ -243,6 +286,7 @@ class StorageHelper {
|
|
243
286
|
}
|
244
287
|
}
|
245
288
|
|
289
|
+
const BalanceStatusLive = subscriptionId => `live-${subscriptionId}`;
|
246
290
|
function excludeFromTransferableAmount(locks) {
|
247
291
|
if (typeof locks === "string") return BigInt(locks);
|
248
292
|
if (!Array.isArray(locks)) locks = [locks];
|
@@ -672,6 +716,7 @@ class SumBalancesFormatter {
|
|
672
716
|
|
673
717
|
exports.Balance = Balance;
|
674
718
|
exports.BalanceFormatter = BalanceFormatter;
|
719
|
+
exports.BalanceStatusLive = BalanceStatusLive;
|
675
720
|
exports.Balances = Balances;
|
676
721
|
exports.DefaultBalanceModule = DefaultBalanceModule;
|
677
722
|
exports.FiatSumBalancesFormatter = FiatSumBalancesFormatter;
|
@@ -679,9 +724,13 @@ exports.StorageHelper = StorageHelper;
|
|
679
724
|
exports.SumBalancesFormatter = SumBalancesFormatter;
|
680
725
|
exports.TalismanBalancesDatabase = TalismanBalancesDatabase;
|
681
726
|
exports.balances = balances;
|
727
|
+
exports.createSubscriptionId = createSubscriptionId;
|
682
728
|
exports.createTypeRegistryCache = createTypeRegistryCache;
|
683
729
|
exports.db = db;
|
730
|
+
exports.deleteSubscriptionId = deleteSubscriptionId;
|
731
|
+
exports.deriveStatuses = deriveStatuses;
|
684
732
|
exports.excludeFromFeePayableLocks = excludeFromFeePayableLocks;
|
685
733
|
exports.excludeFromTransferableAmount = excludeFromTransferableAmount;
|
686
734
|
exports.filterMirrorTokens = filterMirrorTokens;
|
735
|
+
exports.getValidSubscriptionIds = getValidSubscriptionIds;
|
687
736
|
exports.includeInTotalExtraAmount = includeInTotalExtraAmount;
|
@@ -67,7 +67,7 @@ const db = new TalismanBalancesDatabase();
|
|
67
67
|
|
68
68
|
var packageJson = {
|
69
69
|
name: "@talismn/balances",
|
70
|
-
version: "0.0.0-
|
70
|
+
version: "0.0.0-pr678-20230412083934",
|
71
71
|
author: "Talisman",
|
72
72
|
homepage: "https://talisman.xyz",
|
73
73
|
license: "UNLICENSED",
|
@@ -161,6 +161,49 @@ const filterMirrorTokens = (balance, i, balances) => {
|
|
161
161
|
const mirrorOf = balance.token?.mirrorOf;
|
162
162
|
return !mirrorOf || !balances.find(b => b.tokenId === mirrorOf);
|
163
163
|
};
|
164
|
+
const getValidSubscriptionIds = () => {
|
165
|
+
return new Set(localStorage.getItem("TalismanBalancesSubscriptionIds")?.split(",") ?? []);
|
166
|
+
};
|
167
|
+
const createSubscriptionId = () => {
|
168
|
+
// delete current id (if exists)
|
169
|
+
deleteSubscriptionId();
|
170
|
+
|
171
|
+
// create new id
|
172
|
+
const subscriptionId = Date.now().toString();
|
173
|
+
sessionStorage.setItem("TalismanBalancesSubscriptionId", subscriptionId);
|
174
|
+
|
175
|
+
// add to list of current ids
|
176
|
+
const subscriptionIds = getValidSubscriptionIds();
|
177
|
+
subscriptionIds.add(subscriptionId);
|
178
|
+
localStorage.setItem("TalismanBalancesSubscriptionIds", [...subscriptionIds].filter(Boolean).join(","));
|
179
|
+
return subscriptionId;
|
180
|
+
};
|
181
|
+
const deleteSubscriptionId = () => {
|
182
|
+
const subscriptionId = sessionStorage.getItem("TalismanBalancesSubscriptionId");
|
183
|
+
if (!subscriptionId) return;
|
184
|
+
const subscriptionIds = getValidSubscriptionIds();
|
185
|
+
subscriptionIds.delete(subscriptionId);
|
186
|
+
localStorage.setItem("TalismanBalancesSubscriptionIds", [...subscriptionIds].filter(Boolean).join(","));
|
187
|
+
};
|
188
|
+
|
189
|
+
/**
|
190
|
+
* Sets all balance statuses from `live-${string}` to either `live` or `cached`
|
191
|
+
*/
|
192
|
+
const deriveStatuses = (validSubscriptionIds, balances) => balances.map(balance => {
|
193
|
+
if (balance.status === "live" || balance.status === "cache" || balance.status === "stale") return balance;
|
194
|
+
if (validSubscriptionIds.length < 1) return {
|
195
|
+
...balance,
|
196
|
+
status: "cache"
|
197
|
+
};
|
198
|
+
if (!validSubscriptionIds.includes(balance.status.slice("live-".length))) return {
|
199
|
+
...balance,
|
200
|
+
status: "cache"
|
201
|
+
};
|
202
|
+
return {
|
203
|
+
...balance,
|
204
|
+
status: "live"
|
205
|
+
};
|
206
|
+
});
|
164
207
|
|
165
208
|
/**
|
166
209
|
* Used by a variety of balance modules to help encode and decode substrate state calls.
|
@@ -243,6 +286,7 @@ class StorageHelper {
|
|
243
286
|
}
|
244
287
|
}
|
245
288
|
|
289
|
+
const BalanceStatusLive = subscriptionId => `live-${subscriptionId}`;
|
246
290
|
function excludeFromTransferableAmount(locks) {
|
247
291
|
if (typeof locks === "string") return BigInt(locks);
|
248
292
|
if (!Array.isArray(locks)) locks = [locks];
|
@@ -672,6 +716,7 @@ class SumBalancesFormatter {
|
|
672
716
|
|
673
717
|
exports.Balance = Balance;
|
674
718
|
exports.BalanceFormatter = BalanceFormatter;
|
719
|
+
exports.BalanceStatusLive = BalanceStatusLive;
|
675
720
|
exports.Balances = Balances;
|
676
721
|
exports.DefaultBalanceModule = DefaultBalanceModule;
|
677
722
|
exports.FiatSumBalancesFormatter = FiatSumBalancesFormatter;
|
@@ -679,9 +724,13 @@ exports.StorageHelper = StorageHelper;
|
|
679
724
|
exports.SumBalancesFormatter = SumBalancesFormatter;
|
680
725
|
exports.TalismanBalancesDatabase = TalismanBalancesDatabase;
|
681
726
|
exports.balances = balances;
|
727
|
+
exports.createSubscriptionId = createSubscriptionId;
|
682
728
|
exports.createTypeRegistryCache = createTypeRegistryCache;
|
683
729
|
exports.db = db;
|
730
|
+
exports.deleteSubscriptionId = deleteSubscriptionId;
|
731
|
+
exports.deriveStatuses = deriveStatuses;
|
684
732
|
exports.excludeFromFeePayableLocks = excludeFromFeePayableLocks;
|
685
733
|
exports.excludeFromTransferableAmount = excludeFromTransferableAmount;
|
686
734
|
exports.filterMirrorTokens = filterMirrorTokens;
|
735
|
+
exports.getValidSubscriptionIds = getValidSubscriptionIds;
|
687
736
|
exports.includeInTotalExtraAmount = includeInTotalExtraAmount;
|
@@ -59,7 +59,7 @@ const db = new TalismanBalancesDatabase();
|
|
59
59
|
|
60
60
|
var packageJson = {
|
61
61
|
name: "@talismn/balances",
|
62
|
-
version: "0.0.0-
|
62
|
+
version: "0.0.0-pr678-20230412083934",
|
63
63
|
author: "Talisman",
|
64
64
|
homepage: "https://talisman.xyz",
|
65
65
|
license: "UNLICENSED",
|
@@ -153,6 +153,49 @@ const filterMirrorTokens = (balance, i, balances) => {
|
|
153
153
|
const mirrorOf = balance.token?.mirrorOf;
|
154
154
|
return !mirrorOf || !balances.find(b => b.tokenId === mirrorOf);
|
155
155
|
};
|
156
|
+
const getValidSubscriptionIds = () => {
|
157
|
+
return new Set(localStorage.getItem("TalismanBalancesSubscriptionIds")?.split(",") ?? []);
|
158
|
+
};
|
159
|
+
const createSubscriptionId = () => {
|
160
|
+
// delete current id (if exists)
|
161
|
+
deleteSubscriptionId();
|
162
|
+
|
163
|
+
// create new id
|
164
|
+
const subscriptionId = Date.now().toString();
|
165
|
+
sessionStorage.setItem("TalismanBalancesSubscriptionId", subscriptionId);
|
166
|
+
|
167
|
+
// add to list of current ids
|
168
|
+
const subscriptionIds = getValidSubscriptionIds();
|
169
|
+
subscriptionIds.add(subscriptionId);
|
170
|
+
localStorage.setItem("TalismanBalancesSubscriptionIds", [...subscriptionIds].filter(Boolean).join(","));
|
171
|
+
return subscriptionId;
|
172
|
+
};
|
173
|
+
const deleteSubscriptionId = () => {
|
174
|
+
const subscriptionId = sessionStorage.getItem("TalismanBalancesSubscriptionId");
|
175
|
+
if (!subscriptionId) return;
|
176
|
+
const subscriptionIds = getValidSubscriptionIds();
|
177
|
+
subscriptionIds.delete(subscriptionId);
|
178
|
+
localStorage.setItem("TalismanBalancesSubscriptionIds", [...subscriptionIds].filter(Boolean).join(","));
|
179
|
+
};
|
180
|
+
|
181
|
+
/**
|
182
|
+
* Sets all balance statuses from `live-${string}` to either `live` or `cached`
|
183
|
+
*/
|
184
|
+
const deriveStatuses = (validSubscriptionIds, balances) => balances.map(balance => {
|
185
|
+
if (balance.status === "live" || balance.status === "cache" || balance.status === "stale") return balance;
|
186
|
+
if (validSubscriptionIds.length < 1) return {
|
187
|
+
...balance,
|
188
|
+
status: "cache"
|
189
|
+
};
|
190
|
+
if (!validSubscriptionIds.includes(balance.status.slice("live-".length))) return {
|
191
|
+
...balance,
|
192
|
+
status: "cache"
|
193
|
+
};
|
194
|
+
return {
|
195
|
+
...balance,
|
196
|
+
status: "live"
|
197
|
+
};
|
198
|
+
});
|
156
199
|
|
157
200
|
/**
|
158
201
|
* Used by a variety of balance modules to help encode and decode substrate state calls.
|
@@ -235,6 +278,7 @@ class StorageHelper {
|
|
235
278
|
}
|
236
279
|
}
|
237
280
|
|
281
|
+
const BalanceStatusLive = subscriptionId => `live-${subscriptionId}`;
|
238
282
|
function excludeFromTransferableAmount(locks) {
|
239
283
|
if (typeof locks === "string") return BigInt(locks);
|
240
284
|
if (!Array.isArray(locks)) locks = [locks];
|
@@ -662,4 +706,4 @@ class SumBalancesFormatter {
|
|
662
706
|
}
|
663
707
|
}
|
664
708
|
|
665
|
-
export { Balance, BalanceFormatter, Balances, DefaultBalanceModule, FiatSumBalancesFormatter, StorageHelper, SumBalancesFormatter, TalismanBalancesDatabase, balances, createTypeRegistryCache, db, excludeFromFeePayableLocks, excludeFromTransferableAmount, filterMirrorTokens, includeInTotalExtraAmount };
|
709
|
+
export { Balance, BalanceFormatter, BalanceStatusLive, Balances, DefaultBalanceModule, FiatSumBalancesFormatter, StorageHelper, SumBalancesFormatter, TalismanBalancesDatabase, balances, createSubscriptionId, createTypeRegistryCache, db, deleteSubscriptionId, deriveStatuses, excludeFromFeePayableLocks, excludeFromTransferableAmount, filterMirrorTokens, getValidSubscriptionIds, includeInTotalExtraAmount };
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@talismn/balances",
|
3
|
-
"version": "0.0.0-
|
3
|
+
"version": "0.0.0-pr678-20230412083934",
|
4
4
|
"author": "Talisman",
|
5
5
|
"homepage": "https://talisman.xyz",
|
6
6
|
"license": "UNLICENSED",
|
@@ -27,11 +27,11 @@
|
|
27
27
|
"clean": "rm -rf dist && rm -rf .turbo rm -rf node_modules"
|
28
28
|
},
|
29
29
|
"dependencies": {
|
30
|
-
"@talismn/chain-connector": "^0.0.0-
|
31
|
-
"@talismn/chain-connector-evm": "^0.0.0-
|
32
|
-
"@talismn/chaindata-provider": "^0.0.0-
|
33
|
-
"@talismn/token-rates": "^0.0.0-
|
34
|
-
"@talismn/util": "^0.
|
30
|
+
"@talismn/chain-connector": "^0.0.0-pr678-20230412083934",
|
31
|
+
"@talismn/chain-connector-evm": "^0.0.0-pr678-20230412083934",
|
32
|
+
"@talismn/chaindata-provider": "^0.0.0-pr678-20230412083934",
|
33
|
+
"@talismn/token-rates": "^0.0.0-pr678-20230412083934",
|
34
|
+
"@talismn/util": "^0.1.8",
|
35
35
|
"anylogger": "^1.0.11",
|
36
36
|
"dexie": "^3.2.3"
|
37
37
|
},
|