@talismn/balances-react 1.0.1 → 1.0.3
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/dist/declarations/src/atoms/chaindata.d.ts +168 -3
- package/dist/declarations/src/atoms/chaindataProvider.d.ts +1 -0
- package/dist/declarations/src/atoms/tokenRates.d.ts +1 -3
- package/dist/declarations/src/hooks/useChaindata.d.ts +224 -4
- package/dist/declarations/src/hooks/useTokenRates.d.ts +1 -3
- package/dist/talismn-balances-react.cjs.dev.js +30 -43
- package/dist/talismn-balances-react.cjs.prod.js +30 -43
- package/dist/talismn-balances-react.esm.js +33 -47
- package/package.json +7 -10
- package/dist/declarations/src/util/dexieToRxjs.d.ts +0 -6
@@ -83,12 +83,40 @@ export declare const chaindataAtom: import("jotai").Atom<{
|
|
83
83
|
type: "scroll";
|
84
84
|
l1GasPriceOracle: `0x${string}`;
|
85
85
|
} | undefined;
|
86
|
-
contracts?:
|
86
|
+
contracts?: {
|
87
|
+
Erc20Aggregator?: `0x${string}` | undefined;
|
88
|
+
Multicall3?: `0x${string}` | undefined;
|
89
|
+
} | undefined;
|
87
90
|
balancesConfig?: {
|
88
91
|
"evm-native"?: undefined;
|
89
92
|
"evm-erc20"?: undefined;
|
90
93
|
"evm-uniswapv2"?: undefined;
|
91
94
|
} | undefined;
|
95
|
+
} | {
|
96
|
+
id: string;
|
97
|
+
name: string;
|
98
|
+
nativeTokenId: string;
|
99
|
+
nativeCurrency: {
|
100
|
+
decimals: number;
|
101
|
+
symbol: string;
|
102
|
+
name: string;
|
103
|
+
coingeckoId?: string | undefined;
|
104
|
+
mirrorOf?: string | undefined;
|
105
|
+
logo?: string | undefined;
|
106
|
+
};
|
107
|
+
blockExplorerUrls: string[];
|
108
|
+
platform: "solana";
|
109
|
+
genesisHash: string;
|
110
|
+
rpcs: string[];
|
111
|
+
isTestnet?: boolean | undefined;
|
112
|
+
isDefault?: boolean | undefined;
|
113
|
+
forceScan?: boolean | undefined;
|
114
|
+
logo?: string | undefined;
|
115
|
+
themeColor?: string | undefined;
|
116
|
+
balancesConfig?: {
|
117
|
+
"sol-native"?: undefined;
|
118
|
+
"sol-spl"?: undefined;
|
119
|
+
} | undefined;
|
92
120
|
})[];
|
93
121
|
tokens: ({
|
94
122
|
id: string;
|
@@ -234,6 +262,33 @@ export declare const chaindataAtom: import("jotai").Atom<{
|
|
234
262
|
coingeckoId?: string | undefined;
|
235
263
|
noDiscovery?: boolean | undefined;
|
236
264
|
mirrorOf?: string | undefined;
|
265
|
+
} | {
|
266
|
+
id: string;
|
267
|
+
networkId: string;
|
268
|
+
decimals: number;
|
269
|
+
symbol: string;
|
270
|
+
type: "sol-native";
|
271
|
+
platform: "solana";
|
272
|
+
isDefault?: boolean | undefined;
|
273
|
+
name?: string | undefined;
|
274
|
+
logo?: string | undefined;
|
275
|
+
coingeckoId?: string | undefined;
|
276
|
+
noDiscovery?: boolean | undefined;
|
277
|
+
mirrorOf?: string | undefined;
|
278
|
+
} | {
|
279
|
+
id: string;
|
280
|
+
networkId: string;
|
281
|
+
decimals: number;
|
282
|
+
symbol: string;
|
283
|
+
type: "sol-spl";
|
284
|
+
platform: "solana";
|
285
|
+
mintAddress: string;
|
286
|
+
isDefault?: boolean | undefined;
|
287
|
+
name?: string | undefined;
|
288
|
+
logo?: string | undefined;
|
289
|
+
coingeckoId?: string | undefined;
|
290
|
+
noDiscovery?: boolean | undefined;
|
291
|
+
mirrorOf?: string | undefined;
|
237
292
|
})[];
|
238
293
|
} | Promise<{
|
239
294
|
networks: ({
|
@@ -320,12 +375,40 @@ export declare const chaindataAtom: import("jotai").Atom<{
|
|
320
375
|
type: "scroll";
|
321
376
|
l1GasPriceOracle: `0x${string}`;
|
322
377
|
} | undefined;
|
323
|
-
contracts?:
|
378
|
+
contracts?: {
|
379
|
+
Erc20Aggregator?: `0x${string}` | undefined;
|
380
|
+
Multicall3?: `0x${string}` | undefined;
|
381
|
+
} | undefined;
|
324
382
|
balancesConfig?: {
|
325
383
|
"evm-native"?: undefined;
|
326
384
|
"evm-erc20"?: undefined;
|
327
385
|
"evm-uniswapv2"?: undefined;
|
328
386
|
} | undefined;
|
387
|
+
} | {
|
388
|
+
id: string;
|
389
|
+
name: string;
|
390
|
+
nativeTokenId: string;
|
391
|
+
nativeCurrency: {
|
392
|
+
decimals: number;
|
393
|
+
symbol: string;
|
394
|
+
name: string;
|
395
|
+
coingeckoId?: string | undefined;
|
396
|
+
mirrorOf?: string | undefined;
|
397
|
+
logo?: string | undefined;
|
398
|
+
};
|
399
|
+
blockExplorerUrls: string[];
|
400
|
+
platform: "solana";
|
401
|
+
genesisHash: string;
|
402
|
+
rpcs: string[];
|
403
|
+
isTestnet?: boolean | undefined;
|
404
|
+
isDefault?: boolean | undefined;
|
405
|
+
forceScan?: boolean | undefined;
|
406
|
+
logo?: string | undefined;
|
407
|
+
themeColor?: string | undefined;
|
408
|
+
balancesConfig?: {
|
409
|
+
"sol-native"?: undefined;
|
410
|
+
"sol-spl"?: undefined;
|
411
|
+
} | undefined;
|
329
412
|
})[];
|
330
413
|
tokens: ({
|
331
414
|
id: string;
|
@@ -471,6 +554,33 @@ export declare const chaindataAtom: import("jotai").Atom<{
|
|
471
554
|
coingeckoId?: string | undefined;
|
472
555
|
noDiscovery?: boolean | undefined;
|
473
556
|
mirrorOf?: string | undefined;
|
557
|
+
} | {
|
558
|
+
id: string;
|
559
|
+
networkId: string;
|
560
|
+
decimals: number;
|
561
|
+
symbol: string;
|
562
|
+
type: "sol-native";
|
563
|
+
platform: "solana";
|
564
|
+
isDefault?: boolean | undefined;
|
565
|
+
name?: string | undefined;
|
566
|
+
logo?: string | undefined;
|
567
|
+
coingeckoId?: string | undefined;
|
568
|
+
noDiscovery?: boolean | undefined;
|
569
|
+
mirrorOf?: string | undefined;
|
570
|
+
} | {
|
571
|
+
id: string;
|
572
|
+
networkId: string;
|
573
|
+
decimals: number;
|
574
|
+
symbol: string;
|
575
|
+
type: "sol-spl";
|
576
|
+
platform: "solana";
|
577
|
+
mintAddress: string;
|
578
|
+
isDefault?: boolean | undefined;
|
579
|
+
name?: string | undefined;
|
580
|
+
logo?: string | undefined;
|
581
|
+
coingeckoId?: string | undefined;
|
582
|
+
noDiscovery?: boolean | undefined;
|
583
|
+
mirrorOf?: string | undefined;
|
474
584
|
})[];
|
475
585
|
}>>;
|
476
586
|
export declare const tokensAtom: import("jotai").Atom<Promise<({
|
@@ -617,6 +727,33 @@ export declare const tokensAtom: import("jotai").Atom<Promise<({
|
|
617
727
|
coingeckoId?: string | undefined;
|
618
728
|
noDiscovery?: boolean | undefined;
|
619
729
|
mirrorOf?: string | undefined;
|
730
|
+
} | {
|
731
|
+
id: string;
|
732
|
+
networkId: string;
|
733
|
+
decimals: number;
|
734
|
+
symbol: string;
|
735
|
+
type: "sol-native";
|
736
|
+
platform: "solana";
|
737
|
+
isDefault?: boolean | undefined;
|
738
|
+
name?: string | undefined;
|
739
|
+
logo?: string | undefined;
|
740
|
+
coingeckoId?: string | undefined;
|
741
|
+
noDiscovery?: boolean | undefined;
|
742
|
+
mirrorOf?: string | undefined;
|
743
|
+
} | {
|
744
|
+
id: string;
|
745
|
+
networkId: string;
|
746
|
+
decimals: number;
|
747
|
+
symbol: string;
|
748
|
+
type: "sol-spl";
|
749
|
+
platform: "solana";
|
750
|
+
mintAddress: string;
|
751
|
+
isDefault?: boolean | undefined;
|
752
|
+
name?: string | undefined;
|
753
|
+
logo?: string | undefined;
|
754
|
+
coingeckoId?: string | undefined;
|
755
|
+
noDiscovery?: boolean | undefined;
|
756
|
+
mirrorOf?: string | undefined;
|
620
757
|
})[]>>;
|
621
758
|
export declare const networksAtom: import("jotai").Atom<Promise<({
|
622
759
|
id: string;
|
@@ -702,10 +839,38 @@ export declare const networksAtom: import("jotai").Atom<Promise<({
|
|
702
839
|
type: "scroll";
|
703
840
|
l1GasPriceOracle: `0x${string}`;
|
704
841
|
} | undefined;
|
705
|
-
contracts?:
|
842
|
+
contracts?: {
|
843
|
+
Erc20Aggregator?: `0x${string}` | undefined;
|
844
|
+
Multicall3?: `0x${string}` | undefined;
|
845
|
+
} | undefined;
|
706
846
|
balancesConfig?: {
|
707
847
|
"evm-native"?: undefined;
|
708
848
|
"evm-erc20"?: undefined;
|
709
849
|
"evm-uniswapv2"?: undefined;
|
710
850
|
} | undefined;
|
851
|
+
} | {
|
852
|
+
id: string;
|
853
|
+
name: string;
|
854
|
+
nativeTokenId: string;
|
855
|
+
nativeCurrency: {
|
856
|
+
decimals: number;
|
857
|
+
symbol: string;
|
858
|
+
name: string;
|
859
|
+
coingeckoId?: string | undefined;
|
860
|
+
mirrorOf?: string | undefined;
|
861
|
+
logo?: string | undefined;
|
862
|
+
};
|
863
|
+
blockExplorerUrls: string[];
|
864
|
+
platform: "solana";
|
865
|
+
genesisHash: string;
|
866
|
+
rpcs: string[];
|
867
|
+
isTestnet?: boolean | undefined;
|
868
|
+
isDefault?: boolean | undefined;
|
869
|
+
forceScan?: boolean | undefined;
|
870
|
+
logo?: string | undefined;
|
871
|
+
themeColor?: string | undefined;
|
872
|
+
balancesConfig?: {
|
873
|
+
"sol-native"?: undefined;
|
874
|
+
"sol-spl"?: undefined;
|
875
|
+
} | undefined;
|
711
876
|
})[]>>;
|
@@ -85,12 +85,40 @@ export declare const useChaindata: () => {
|
|
85
85
|
type: "scroll";
|
86
86
|
l1GasPriceOracle: `0x${string}`;
|
87
87
|
} | undefined;
|
88
|
-
contracts?:
|
88
|
+
contracts?: {
|
89
|
+
Erc20Aggregator?: `0x${string}` | undefined;
|
90
|
+
Multicall3?: `0x${string}` | undefined;
|
91
|
+
} | undefined;
|
89
92
|
balancesConfig?: {
|
90
93
|
"evm-native"?: undefined;
|
91
94
|
"evm-erc20"?: undefined;
|
92
95
|
"evm-uniswapv2"?: undefined;
|
93
96
|
} | undefined;
|
97
|
+
} | {
|
98
|
+
id: string;
|
99
|
+
name: string;
|
100
|
+
nativeTokenId: string;
|
101
|
+
nativeCurrency: {
|
102
|
+
decimals: number;
|
103
|
+
symbol: string;
|
104
|
+
name: string;
|
105
|
+
coingeckoId?: string | undefined;
|
106
|
+
mirrorOf?: string | undefined;
|
107
|
+
logo?: string | undefined;
|
108
|
+
};
|
109
|
+
blockExplorerUrls: string[];
|
110
|
+
platform: "solana";
|
111
|
+
genesisHash: string;
|
112
|
+
rpcs: string[];
|
113
|
+
isTestnet?: boolean | undefined;
|
114
|
+
isDefault?: boolean | undefined;
|
115
|
+
forceScan?: boolean | undefined;
|
116
|
+
logo?: string | undefined;
|
117
|
+
themeColor?: string | undefined;
|
118
|
+
balancesConfig?: {
|
119
|
+
"sol-native"?: undefined;
|
120
|
+
"sol-spl"?: undefined;
|
121
|
+
} | undefined;
|
94
122
|
})[];
|
95
123
|
tokens: ({
|
96
124
|
id: string;
|
@@ -236,6 +264,33 @@ export declare const useChaindata: () => {
|
|
236
264
|
coingeckoId?: string | undefined;
|
237
265
|
noDiscovery?: boolean | undefined;
|
238
266
|
mirrorOf?: string | undefined;
|
267
|
+
} | {
|
268
|
+
id: string;
|
269
|
+
networkId: string;
|
270
|
+
decimals: number;
|
271
|
+
symbol: string;
|
272
|
+
type: "sol-native";
|
273
|
+
platform: "solana";
|
274
|
+
isDefault?: boolean | undefined;
|
275
|
+
name?: string | undefined;
|
276
|
+
logo?: string | undefined;
|
277
|
+
coingeckoId?: string | undefined;
|
278
|
+
noDiscovery?: boolean | undefined;
|
279
|
+
mirrorOf?: string | undefined;
|
280
|
+
} | {
|
281
|
+
id: string;
|
282
|
+
networkId: string;
|
283
|
+
decimals: number;
|
284
|
+
symbol: string;
|
285
|
+
type: "sol-spl";
|
286
|
+
platform: "solana";
|
287
|
+
mintAddress: string;
|
288
|
+
isDefault?: boolean | undefined;
|
289
|
+
name?: string | undefined;
|
290
|
+
logo?: string | undefined;
|
291
|
+
coingeckoId?: string | undefined;
|
292
|
+
noDiscovery?: boolean | undefined;
|
293
|
+
mirrorOf?: string | undefined;
|
239
294
|
})[];
|
240
295
|
};
|
241
296
|
export declare const useNetworks: () => ({
|
@@ -322,12 +377,40 @@ export declare const useNetworks: () => ({
|
|
322
377
|
type: "scroll";
|
323
378
|
l1GasPriceOracle: `0x${string}`;
|
324
379
|
} | undefined;
|
325
|
-
contracts?:
|
380
|
+
contracts?: {
|
381
|
+
Erc20Aggregator?: `0x${string}` | undefined;
|
382
|
+
Multicall3?: `0x${string}` | undefined;
|
383
|
+
} | undefined;
|
326
384
|
balancesConfig?: {
|
327
385
|
"evm-native"?: undefined;
|
328
386
|
"evm-erc20"?: undefined;
|
329
387
|
"evm-uniswapv2"?: undefined;
|
330
388
|
} | undefined;
|
389
|
+
} | {
|
390
|
+
id: string;
|
391
|
+
name: string;
|
392
|
+
nativeTokenId: string;
|
393
|
+
nativeCurrency: {
|
394
|
+
decimals: number;
|
395
|
+
symbol: string;
|
396
|
+
name: string;
|
397
|
+
coingeckoId?: string | undefined;
|
398
|
+
mirrorOf?: string | undefined;
|
399
|
+
logo?: string | undefined;
|
400
|
+
};
|
401
|
+
blockExplorerUrls: string[];
|
402
|
+
platform: "solana";
|
403
|
+
genesisHash: string;
|
404
|
+
rpcs: string[];
|
405
|
+
isTestnet?: boolean | undefined;
|
406
|
+
isDefault?: boolean | undefined;
|
407
|
+
forceScan?: boolean | undefined;
|
408
|
+
logo?: string | undefined;
|
409
|
+
themeColor?: string | undefined;
|
410
|
+
balancesConfig?: {
|
411
|
+
"sol-native"?: undefined;
|
412
|
+
"sol-spl"?: undefined;
|
413
|
+
} | undefined;
|
331
414
|
})[];
|
332
415
|
export declare const useNetworksById: () => import("lodash").Dictionary<{
|
333
416
|
id: string;
|
@@ -413,12 +496,40 @@ export declare const useNetworksById: () => import("lodash").Dictionary<{
|
|
413
496
|
type: "scroll";
|
414
497
|
l1GasPriceOracle: `0x${string}`;
|
415
498
|
} | undefined;
|
416
|
-
contracts?:
|
499
|
+
contracts?: {
|
500
|
+
Erc20Aggregator?: `0x${string}` | undefined;
|
501
|
+
Multicall3?: `0x${string}` | undefined;
|
502
|
+
} | undefined;
|
417
503
|
balancesConfig?: {
|
418
504
|
"evm-native"?: undefined;
|
419
505
|
"evm-erc20"?: undefined;
|
420
506
|
"evm-uniswapv2"?: undefined;
|
421
507
|
} | undefined;
|
508
|
+
} | {
|
509
|
+
id: string;
|
510
|
+
name: string;
|
511
|
+
nativeTokenId: string;
|
512
|
+
nativeCurrency: {
|
513
|
+
decimals: number;
|
514
|
+
symbol: string;
|
515
|
+
name: string;
|
516
|
+
coingeckoId?: string | undefined;
|
517
|
+
mirrorOf?: string | undefined;
|
518
|
+
logo?: string | undefined;
|
519
|
+
};
|
520
|
+
blockExplorerUrls: string[];
|
521
|
+
platform: "solana";
|
522
|
+
genesisHash: string;
|
523
|
+
rpcs: string[];
|
524
|
+
isTestnet?: boolean | undefined;
|
525
|
+
isDefault?: boolean | undefined;
|
526
|
+
forceScan?: boolean | undefined;
|
527
|
+
logo?: string | undefined;
|
528
|
+
themeColor?: string | undefined;
|
529
|
+
balancesConfig?: {
|
530
|
+
"sol-native"?: undefined;
|
531
|
+
"sol-spl"?: undefined;
|
532
|
+
} | undefined;
|
422
533
|
}>;
|
423
534
|
export declare const useNetwork: (networkId?: NetworkId) => {
|
424
535
|
id: string;
|
@@ -504,12 +615,40 @@ export declare const useNetwork: (networkId?: NetworkId) => {
|
|
504
615
|
type: "scroll";
|
505
616
|
l1GasPriceOracle: `0x${string}`;
|
506
617
|
} | undefined;
|
507
|
-
contracts?:
|
618
|
+
contracts?: {
|
619
|
+
Erc20Aggregator?: `0x${string}` | undefined;
|
620
|
+
Multicall3?: `0x${string}` | undefined;
|
621
|
+
} | undefined;
|
508
622
|
balancesConfig?: {
|
509
623
|
"evm-native"?: undefined;
|
510
624
|
"evm-erc20"?: undefined;
|
511
625
|
"evm-uniswapv2"?: undefined;
|
512
626
|
} | undefined;
|
627
|
+
} | {
|
628
|
+
id: string;
|
629
|
+
name: string;
|
630
|
+
nativeTokenId: string;
|
631
|
+
nativeCurrency: {
|
632
|
+
decimals: number;
|
633
|
+
symbol: string;
|
634
|
+
name: string;
|
635
|
+
coingeckoId?: string | undefined;
|
636
|
+
mirrorOf?: string | undefined;
|
637
|
+
logo?: string | undefined;
|
638
|
+
};
|
639
|
+
blockExplorerUrls: string[];
|
640
|
+
platform: "solana";
|
641
|
+
genesisHash: string;
|
642
|
+
rpcs: string[];
|
643
|
+
isTestnet?: boolean | undefined;
|
644
|
+
isDefault?: boolean | undefined;
|
645
|
+
forceScan?: boolean | undefined;
|
646
|
+
logo?: string | undefined;
|
647
|
+
themeColor?: string | undefined;
|
648
|
+
balancesConfig?: {
|
649
|
+
"sol-native"?: undefined;
|
650
|
+
"sol-spl"?: undefined;
|
651
|
+
} | undefined;
|
513
652
|
};
|
514
653
|
export declare const useTokens: () => ({
|
515
654
|
id: string;
|
@@ -655,6 +794,33 @@ export declare const useTokens: () => ({
|
|
655
794
|
coingeckoId?: string | undefined;
|
656
795
|
noDiscovery?: boolean | undefined;
|
657
796
|
mirrorOf?: string | undefined;
|
797
|
+
} | {
|
798
|
+
id: string;
|
799
|
+
networkId: string;
|
800
|
+
decimals: number;
|
801
|
+
symbol: string;
|
802
|
+
type: "sol-native";
|
803
|
+
platform: "solana";
|
804
|
+
isDefault?: boolean | undefined;
|
805
|
+
name?: string | undefined;
|
806
|
+
logo?: string | undefined;
|
807
|
+
coingeckoId?: string | undefined;
|
808
|
+
noDiscovery?: boolean | undefined;
|
809
|
+
mirrorOf?: string | undefined;
|
810
|
+
} | {
|
811
|
+
id: string;
|
812
|
+
networkId: string;
|
813
|
+
decimals: number;
|
814
|
+
symbol: string;
|
815
|
+
type: "sol-spl";
|
816
|
+
platform: "solana";
|
817
|
+
mintAddress: string;
|
818
|
+
isDefault?: boolean | undefined;
|
819
|
+
name?: string | undefined;
|
820
|
+
logo?: string | undefined;
|
821
|
+
coingeckoId?: string | undefined;
|
822
|
+
noDiscovery?: boolean | undefined;
|
823
|
+
mirrorOf?: string | undefined;
|
658
824
|
})[];
|
659
825
|
export declare const useTokensById: () => import("lodash").Dictionary<{
|
660
826
|
id: string;
|
@@ -800,6 +966,33 @@ export declare const useTokensById: () => import("lodash").Dictionary<{
|
|
800
966
|
coingeckoId?: string | undefined;
|
801
967
|
noDiscovery?: boolean | undefined;
|
802
968
|
mirrorOf?: string | undefined;
|
969
|
+
} | {
|
970
|
+
id: string;
|
971
|
+
networkId: string;
|
972
|
+
decimals: number;
|
973
|
+
symbol: string;
|
974
|
+
type: "sol-native";
|
975
|
+
platform: "solana";
|
976
|
+
isDefault?: boolean | undefined;
|
977
|
+
name?: string | undefined;
|
978
|
+
logo?: string | undefined;
|
979
|
+
coingeckoId?: string | undefined;
|
980
|
+
noDiscovery?: boolean | undefined;
|
981
|
+
mirrorOf?: string | undefined;
|
982
|
+
} | {
|
983
|
+
id: string;
|
984
|
+
networkId: string;
|
985
|
+
decimals: number;
|
986
|
+
symbol: string;
|
987
|
+
type: "sol-spl";
|
988
|
+
platform: "solana";
|
989
|
+
mintAddress: string;
|
990
|
+
isDefault?: boolean | undefined;
|
991
|
+
name?: string | undefined;
|
992
|
+
logo?: string | undefined;
|
993
|
+
coingeckoId?: string | undefined;
|
994
|
+
noDiscovery?: boolean | undefined;
|
995
|
+
mirrorOf?: string | undefined;
|
803
996
|
}>;
|
804
997
|
export declare const useToken: (tokenId?: TokenId) => {
|
805
998
|
id: string;
|
@@ -945,4 +1138,31 @@ export declare const useToken: (tokenId?: TokenId) => {
|
|
945
1138
|
coingeckoId?: string | undefined;
|
946
1139
|
noDiscovery?: boolean | undefined;
|
947
1140
|
mirrorOf?: string | undefined;
|
1141
|
+
} | {
|
1142
|
+
id: string;
|
1143
|
+
networkId: string;
|
1144
|
+
decimals: number;
|
1145
|
+
symbol: string;
|
1146
|
+
type: "sol-native";
|
1147
|
+
platform: "solana";
|
1148
|
+
isDefault?: boolean | undefined;
|
1149
|
+
name?: string | undefined;
|
1150
|
+
logo?: string | undefined;
|
1151
|
+
coingeckoId?: string | undefined;
|
1152
|
+
noDiscovery?: boolean | undefined;
|
1153
|
+
mirrorOf?: string | undefined;
|
1154
|
+
} | {
|
1155
|
+
id: string;
|
1156
|
+
networkId: string;
|
1157
|
+
decimals: number;
|
1158
|
+
symbol: string;
|
1159
|
+
type: "sol-spl";
|
1160
|
+
platform: "solana";
|
1161
|
+
mintAddress: string;
|
1162
|
+
isDefault?: boolean | undefined;
|
1163
|
+
name?: string | undefined;
|
1164
|
+
logo?: string | undefined;
|
1165
|
+
coingeckoId?: string | undefined;
|
1166
|
+
noDiscovery?: boolean | undefined;
|
1167
|
+
mirrorOf?: string | undefined;
|
948
1168
|
};
|
@@ -1,5 +1,3 @@
|
|
1
1
|
import { TokenId } from "@talismn/chaindata-provider";
|
2
|
-
export declare const useTokenRates: () =>
|
3
|
-
[k: string]: import("@talismn/token-rates").TokenRates;
|
4
|
-
};
|
2
|
+
export declare const useTokenRates: () => import("@talismn/token-rates").TokenRatesList;
|
5
3
|
export declare const useTokenRate: (tokenId?: TokenId) => import("@talismn/token-rates").TokenRates;
|
@@ -8,13 +8,11 @@ var chaindataProvider = require('@talismn/chaindata-provider');
|
|
8
8
|
var balances = require('@talismn/balances');
|
9
9
|
var jotaiEffect = require('jotai-effect');
|
10
10
|
var lodashEs = require('lodash-es');
|
11
|
-
var
|
12
|
-
var chainConnectorEvm = require('@talismn/chain-connector-evm');
|
11
|
+
var chainConnectors = require('@talismn/chain-connectors');
|
13
12
|
var connectionMeta = require('@talismn/connection-meta');
|
14
13
|
var util = require('@talismn/util');
|
15
14
|
var utils = require('jotai/utils');
|
16
15
|
var rxjs = require('rxjs');
|
17
|
-
var dexie = require('dexie');
|
18
16
|
var anylogger = require('anylogger');
|
19
17
|
var utilCrypto = require('@polkadot/util-crypto');
|
20
18
|
|
@@ -34,16 +32,30 @@ const enabledTokensAtom = jotai.atom(undefined);
|
|
34
32
|
const allAddressesAtom = jotai.atom([]);
|
35
33
|
|
36
34
|
const chaindataProviderAtom = jotai.atom(() => {
|
37
|
-
return new chaindataProvider.ChaindataProvider({
|
35
|
+
return new chaindataProvider.ChaindataProvider({
|
36
|
+
// TODO pass persistedStorage
|
37
|
+
});
|
38
|
+
});
|
39
|
+
const useSyncSwapsChaindata = () => jotai.useAtom(syncSwapsChaindataAtomEffect);
|
40
|
+
const syncSwapsChaindataAtomEffect = jotaiEffect.atomEffect(get => {
|
41
|
+
const chaindataProvider = get(chaindataProviderAtom);
|
42
|
+
|
43
|
+
// keep subscription open when swaps modal is open
|
44
|
+
const subscription = chaindataProvider.networks$.subscribe();
|
45
|
+
|
46
|
+
// close susbcription when swaps modal closes
|
47
|
+
return () => subscription.unsubscribe();
|
38
48
|
});
|
39
49
|
|
40
50
|
const chainConnectorsAtom = jotai.atom(get => {
|
41
51
|
const chaindataProvider = get(chaindataProviderAtom);
|
42
|
-
const substrate = new
|
43
|
-
const evm = new
|
52
|
+
const substrate = new chainConnectors.ChainConnectorDot(chaindataProvider, connectionMeta.connectionMetaDb);
|
53
|
+
const evm = new chainConnectors.ChainConnectorEth(chaindataProvider);
|
54
|
+
const solana = new chainConnectors.ChainConnectorSol(chaindataProvider);
|
44
55
|
return {
|
45
56
|
substrate,
|
46
|
-
evm
|
57
|
+
evm,
|
58
|
+
solana
|
47
59
|
};
|
48
60
|
});
|
49
61
|
|
@@ -85,32 +97,17 @@ var packageJson = {
|
|
85
97
|
|
86
98
|
var log = anylogger__default.default(packageJson.name);
|
87
99
|
|
88
|
-
/**
|
89
|
-
* Converts a dexie Observable into an rxjs Observable.
|
90
|
-
*/
|
91
|
-
function dexieToRxjs(o) {
|
92
|
-
return new rxjs.Observable(observer => {
|
93
|
-
const subscription = o.subscribe({
|
94
|
-
next: value => observer.next(value),
|
95
|
-
error: error => observer.error(error)
|
96
|
-
});
|
97
|
-
return () => subscription.unsubscribe();
|
98
|
-
});
|
99
|
-
}
|
100
|
-
|
101
100
|
const tokenRatesAtom = jotai.atom(async get => {
|
102
101
|
// runs a timer to keep tokenRates up to date
|
103
102
|
get(tokenRatesFetcherAtomEffect);
|
104
|
-
return await get(tokenRatesDbAtom);
|
103
|
+
return (await get(tokenRatesDbAtom)).tokenRates;
|
105
104
|
});
|
106
|
-
const tokenRatesDbAtom = utils.atomWithObservable(() => {
|
107
|
-
const dbRatesToMap = dbRates => Object.fromEntries(dbRates.map(({
|
108
|
-
tokenId,
|
109
|
-
rates
|
110
|
-
}) => [tokenId, rates]));
|
111
105
|
|
112
|
-
|
113
|
-
|
106
|
+
// TODO: Persist to storage
|
107
|
+
const tokenRates$ = new rxjs.ReplaySubject(1);
|
108
|
+
const tokenRatesDbAtom = utils.atomWithObservable(() => {
|
109
|
+
tokenRates.tryToDeleteOldTokenRatesDb();
|
110
|
+
return tokenRates$.asObservable();
|
114
111
|
});
|
115
112
|
const tokenRatesFetcherAtomEffect = jotaiEffect.atomEffect(get => {
|
116
113
|
// lets us tear down the existing timer when the effect is restarted
|
@@ -121,7 +118,6 @@ const tokenRatesFetcherAtomEffect = jotaiEffect.atomEffect(get => {
|
|
121
118
|
const tokensPromise = get(tokensAtom);
|
122
119
|
(async () => {
|
123
120
|
const tokensById = lodashEs.keyBy(await tokensPromise, "id");
|
124
|
-
const tokenIds = Object.keys(tokensById);
|
125
121
|
const loopMs = 300_000; // 300_000ms = 300s = 5 minutes
|
126
122
|
const retryTimeout = 5_000; // 5_000ms = 5 seconds
|
127
123
|
|
@@ -129,21 +125,11 @@ const tokenRatesFetcherAtomEffect = jotaiEffect.atomEffect(get => {
|
|
129
125
|
try {
|
130
126
|
if (abort.signal.aborted) return; // don't fetch if aborted
|
131
127
|
const tokenRates$1 = await tokenRates.fetchTokenRates(tokensById, tokenRates.ALL_CURRENCY_IDS, coinsApiConfig);
|
132
|
-
const putTokenRates =
|
133
|
-
|
134
|
-
|
135
|
-
}));
|
128
|
+
const putTokenRates = {
|
129
|
+
tokenRates: tokenRates$1
|
130
|
+
};
|
136
131
|
if (abort.signal.aborted) return; // don't insert into db if aborted
|
137
|
-
|
138
|
-
// override all tokenRates
|
139
|
-
await tokenRates.db.tokenRates.bulkPut(putTokenRates);
|
140
|
-
|
141
|
-
// delete tokenRates for tokens which no longer exist
|
142
|
-
const validTokenIds = new Set(tokenIds);
|
143
|
-
const tokenRatesIds = await tokenRates.db.tokenRates.toCollection().primaryKeys();
|
144
|
-
const deleteIds = tokenRatesIds.filter(id => !validTokenIds.has(id));
|
145
|
-
if (deleteIds.length > 0) await tokenRates.db.tokenRates.bulkDelete(deleteIds);
|
146
|
-
});
|
132
|
+
tokenRates$.next(putTokenRates);
|
147
133
|
if (abort.signal.aborted) return; // don't schedule next loop if aborted
|
148
134
|
setTimeout(hydrate, loopMs);
|
149
135
|
} catch (error) {
|
@@ -357,6 +343,7 @@ exports.useNetwork = useNetwork;
|
|
357
343
|
exports.useNetworks = useNetworks;
|
358
344
|
exports.useNetworksById = useNetworksById;
|
359
345
|
exports.useSetBalancesAddresses = useSetBalancesAddresses;
|
346
|
+
exports.useSyncSwapsChaindata = useSyncSwapsChaindata;
|
360
347
|
exports.useToken = useToken;
|
361
348
|
exports.useTokenRate = useTokenRate;
|
362
349
|
exports.useTokenRates = useTokenRates;
|
@@ -8,13 +8,11 @@ var chaindataProvider = require('@talismn/chaindata-provider');
|
|
8
8
|
var balances = require('@talismn/balances');
|
9
9
|
var jotaiEffect = require('jotai-effect');
|
10
10
|
var lodashEs = require('lodash-es');
|
11
|
-
var
|
12
|
-
var chainConnectorEvm = require('@talismn/chain-connector-evm');
|
11
|
+
var chainConnectors = require('@talismn/chain-connectors');
|
13
12
|
var connectionMeta = require('@talismn/connection-meta');
|
14
13
|
var util = require('@talismn/util');
|
15
14
|
var utils = require('jotai/utils');
|
16
15
|
var rxjs = require('rxjs');
|
17
|
-
var dexie = require('dexie');
|
18
16
|
var anylogger = require('anylogger');
|
19
17
|
var utilCrypto = require('@polkadot/util-crypto');
|
20
18
|
|
@@ -34,16 +32,30 @@ const enabledTokensAtom = jotai.atom(undefined);
|
|
34
32
|
const allAddressesAtom = jotai.atom([]);
|
35
33
|
|
36
34
|
const chaindataProviderAtom = jotai.atom(() => {
|
37
|
-
return new chaindataProvider.ChaindataProvider({
|
35
|
+
return new chaindataProvider.ChaindataProvider({
|
36
|
+
// TODO pass persistedStorage
|
37
|
+
});
|
38
|
+
});
|
39
|
+
const useSyncSwapsChaindata = () => jotai.useAtom(syncSwapsChaindataAtomEffect);
|
40
|
+
const syncSwapsChaindataAtomEffect = jotaiEffect.atomEffect(get => {
|
41
|
+
const chaindataProvider = get(chaindataProviderAtom);
|
42
|
+
|
43
|
+
// keep subscription open when swaps modal is open
|
44
|
+
const subscription = chaindataProvider.networks$.subscribe();
|
45
|
+
|
46
|
+
// close susbcription when swaps modal closes
|
47
|
+
return () => subscription.unsubscribe();
|
38
48
|
});
|
39
49
|
|
40
50
|
const chainConnectorsAtom = jotai.atom(get => {
|
41
51
|
const chaindataProvider = get(chaindataProviderAtom);
|
42
|
-
const substrate = new
|
43
|
-
const evm = new
|
52
|
+
const substrate = new chainConnectors.ChainConnectorDot(chaindataProvider, connectionMeta.connectionMetaDb);
|
53
|
+
const evm = new chainConnectors.ChainConnectorEth(chaindataProvider);
|
54
|
+
const solana = new chainConnectors.ChainConnectorSol(chaindataProvider);
|
44
55
|
return {
|
45
56
|
substrate,
|
46
|
-
evm
|
57
|
+
evm,
|
58
|
+
solana
|
47
59
|
};
|
48
60
|
});
|
49
61
|
|
@@ -85,32 +97,17 @@ var packageJson = {
|
|
85
97
|
|
86
98
|
var log = anylogger__default.default(packageJson.name);
|
87
99
|
|
88
|
-
/**
|
89
|
-
* Converts a dexie Observable into an rxjs Observable.
|
90
|
-
*/
|
91
|
-
function dexieToRxjs(o) {
|
92
|
-
return new rxjs.Observable(observer => {
|
93
|
-
const subscription = o.subscribe({
|
94
|
-
next: value => observer.next(value),
|
95
|
-
error: error => observer.error(error)
|
96
|
-
});
|
97
|
-
return () => subscription.unsubscribe();
|
98
|
-
});
|
99
|
-
}
|
100
|
-
|
101
100
|
const tokenRatesAtom = jotai.atom(async get => {
|
102
101
|
// runs a timer to keep tokenRates up to date
|
103
102
|
get(tokenRatesFetcherAtomEffect);
|
104
|
-
return await get(tokenRatesDbAtom);
|
103
|
+
return (await get(tokenRatesDbAtom)).tokenRates;
|
105
104
|
});
|
106
|
-
const tokenRatesDbAtom = utils.atomWithObservable(() => {
|
107
|
-
const dbRatesToMap = dbRates => Object.fromEntries(dbRates.map(({
|
108
|
-
tokenId,
|
109
|
-
rates
|
110
|
-
}) => [tokenId, rates]));
|
111
105
|
|
112
|
-
|
113
|
-
|
106
|
+
// TODO: Persist to storage
|
107
|
+
const tokenRates$ = new rxjs.ReplaySubject(1);
|
108
|
+
const tokenRatesDbAtom = utils.atomWithObservable(() => {
|
109
|
+
tokenRates.tryToDeleteOldTokenRatesDb();
|
110
|
+
return tokenRates$.asObservable();
|
114
111
|
});
|
115
112
|
const tokenRatesFetcherAtomEffect = jotaiEffect.atomEffect(get => {
|
116
113
|
// lets us tear down the existing timer when the effect is restarted
|
@@ -121,7 +118,6 @@ const tokenRatesFetcherAtomEffect = jotaiEffect.atomEffect(get => {
|
|
121
118
|
const tokensPromise = get(tokensAtom);
|
122
119
|
(async () => {
|
123
120
|
const tokensById = lodashEs.keyBy(await tokensPromise, "id");
|
124
|
-
const tokenIds = Object.keys(tokensById);
|
125
121
|
const loopMs = 300_000; // 300_000ms = 300s = 5 minutes
|
126
122
|
const retryTimeout = 5_000; // 5_000ms = 5 seconds
|
127
123
|
|
@@ -129,21 +125,11 @@ const tokenRatesFetcherAtomEffect = jotaiEffect.atomEffect(get => {
|
|
129
125
|
try {
|
130
126
|
if (abort.signal.aborted) return; // don't fetch if aborted
|
131
127
|
const tokenRates$1 = await tokenRates.fetchTokenRates(tokensById, tokenRates.ALL_CURRENCY_IDS, coinsApiConfig);
|
132
|
-
const putTokenRates =
|
133
|
-
|
134
|
-
|
135
|
-
}));
|
128
|
+
const putTokenRates = {
|
129
|
+
tokenRates: tokenRates$1
|
130
|
+
};
|
136
131
|
if (abort.signal.aborted) return; // don't insert into db if aborted
|
137
|
-
|
138
|
-
// override all tokenRates
|
139
|
-
await tokenRates.db.tokenRates.bulkPut(putTokenRates);
|
140
|
-
|
141
|
-
// delete tokenRates for tokens which no longer exist
|
142
|
-
const validTokenIds = new Set(tokenIds);
|
143
|
-
const tokenRatesIds = await tokenRates.db.tokenRates.toCollection().primaryKeys();
|
144
|
-
const deleteIds = tokenRatesIds.filter(id => !validTokenIds.has(id));
|
145
|
-
if (deleteIds.length > 0) await tokenRates.db.tokenRates.bulkDelete(deleteIds);
|
146
|
-
});
|
132
|
+
tokenRates$.next(putTokenRates);
|
147
133
|
if (abort.signal.aborted) return; // don't schedule next loop if aborted
|
148
134
|
setTimeout(hydrate, loopMs);
|
149
135
|
} catch (error) {
|
@@ -357,6 +343,7 @@ exports.useNetwork = useNetwork;
|
|
357
343
|
exports.useNetworks = useNetworks;
|
358
344
|
exports.useNetworksById = useNetworksById;
|
359
345
|
exports.useSetBalancesAddresses = useSetBalancesAddresses;
|
346
|
+
exports.useSyncSwapsChaindata = useSyncSwapsChaindata;
|
360
347
|
exports.useToken = useToken;
|
361
348
|
exports.useTokenRate = useTokenRate;
|
362
349
|
exports.useTokenRates = useTokenRates;
|
@@ -1,19 +1,17 @@
|
|
1
|
-
import { atom, useSetAtom, useAtomValue } from 'jotai';
|
1
|
+
import { atom, useAtom, useSetAtom, useAtomValue } from 'jotai';
|
2
2
|
import { useMemo, useEffect } from 'react';
|
3
|
-
import { DEFAULT_COINSAPI_CONFIG,
|
3
|
+
import { DEFAULT_COINSAPI_CONFIG, tryToDeleteOldTokenRatesDb, fetchTokenRates, ALL_CURRENCY_IDS } from '@talismn/token-rates';
|
4
4
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
5
5
|
import { ChaindataProvider } from '@talismn/chaindata-provider';
|
6
6
|
export { evmErc20TokenId, evmNativeTokenId, subAssetTokenId, subNativeTokenId, subPsp22TokenId, subTokensTokenId } from '@talismn/chaindata-provider';
|
7
7
|
import { BalancesProvider as BalancesProvider$1, Balances } from '@talismn/balances';
|
8
8
|
import { atomEffect } from 'jotai-effect';
|
9
9
|
import { keyBy, fromPairs } from 'lodash-es';
|
10
|
-
import {
|
11
|
-
import { ChainConnectorEvm } from '@talismn/chain-connector-evm';
|
10
|
+
import { ChainConnectorDot, ChainConnectorEth, ChainConnectorSol } from '@talismn/chain-connectors';
|
12
11
|
import { connectionMetaDb } from '@talismn/connection-meta';
|
13
12
|
import { firstThenDebounce, isTruthy, isAbortError } from '@talismn/util';
|
14
13
|
import { atomWithObservable } from 'jotai/utils';
|
15
|
-
import { combineLatest,
|
16
|
-
import { liveQuery } from 'dexie';
|
14
|
+
import { combineLatest, ReplaySubject } from 'rxjs';
|
17
15
|
import anylogger from 'anylogger';
|
18
16
|
import { cryptoWaitReady } from '@polkadot/util-crypto';
|
19
17
|
|
@@ -29,16 +27,30 @@ const enabledTokensAtom = atom(undefined);
|
|
29
27
|
const allAddressesAtom = atom([]);
|
30
28
|
|
31
29
|
const chaindataProviderAtom = atom(() => {
|
32
|
-
return new ChaindataProvider({
|
30
|
+
return new ChaindataProvider({
|
31
|
+
// TODO pass persistedStorage
|
32
|
+
});
|
33
|
+
});
|
34
|
+
const useSyncSwapsChaindata = () => useAtom(syncSwapsChaindataAtomEffect);
|
35
|
+
const syncSwapsChaindataAtomEffect = atomEffect(get => {
|
36
|
+
const chaindataProvider = get(chaindataProviderAtom);
|
37
|
+
|
38
|
+
// keep subscription open when swaps modal is open
|
39
|
+
const subscription = chaindataProvider.networks$.subscribe();
|
40
|
+
|
41
|
+
// close susbcription when swaps modal closes
|
42
|
+
return () => subscription.unsubscribe();
|
33
43
|
});
|
34
44
|
|
35
45
|
const chainConnectorsAtom = atom(get => {
|
36
46
|
const chaindataProvider = get(chaindataProviderAtom);
|
37
|
-
const substrate = new
|
38
|
-
const evm = new
|
47
|
+
const substrate = new ChainConnectorDot(chaindataProvider, connectionMetaDb);
|
48
|
+
const evm = new ChainConnectorEth(chaindataProvider);
|
49
|
+
const solana = new ChainConnectorSol(chaindataProvider);
|
39
50
|
return {
|
40
51
|
substrate,
|
41
|
-
evm
|
52
|
+
evm,
|
53
|
+
solana
|
42
54
|
};
|
43
55
|
});
|
44
56
|
|
@@ -80,32 +92,17 @@ var packageJson = {
|
|
80
92
|
|
81
93
|
var log = anylogger(packageJson.name);
|
82
94
|
|
83
|
-
/**
|
84
|
-
* Converts a dexie Observable into an rxjs Observable.
|
85
|
-
*/
|
86
|
-
function dexieToRxjs(o) {
|
87
|
-
return new Observable(observer => {
|
88
|
-
const subscription = o.subscribe({
|
89
|
-
next: value => observer.next(value),
|
90
|
-
error: error => observer.error(error)
|
91
|
-
});
|
92
|
-
return () => subscription.unsubscribe();
|
93
|
-
});
|
94
|
-
}
|
95
|
-
|
96
95
|
const tokenRatesAtom = atom(async get => {
|
97
96
|
// runs a timer to keep tokenRates up to date
|
98
97
|
get(tokenRatesFetcherAtomEffect);
|
99
|
-
return await get(tokenRatesDbAtom);
|
98
|
+
return (await get(tokenRatesDbAtom)).tokenRates;
|
100
99
|
});
|
101
|
-
const tokenRatesDbAtom = atomWithObservable(() => {
|
102
|
-
const dbRatesToMap = dbRates => Object.fromEntries(dbRates.map(({
|
103
|
-
tokenId,
|
104
|
-
rates
|
105
|
-
}) => [tokenId, rates]));
|
106
100
|
|
107
|
-
|
108
|
-
|
101
|
+
// TODO: Persist to storage
|
102
|
+
const tokenRates$ = new ReplaySubject(1);
|
103
|
+
const tokenRatesDbAtom = atomWithObservable(() => {
|
104
|
+
tryToDeleteOldTokenRatesDb();
|
105
|
+
return tokenRates$.asObservable();
|
109
106
|
});
|
110
107
|
const tokenRatesFetcherAtomEffect = atomEffect(get => {
|
111
108
|
// lets us tear down the existing timer when the effect is restarted
|
@@ -116,7 +113,6 @@ const tokenRatesFetcherAtomEffect = atomEffect(get => {
|
|
116
113
|
const tokensPromise = get(tokensAtom);
|
117
114
|
(async () => {
|
118
115
|
const tokensById = keyBy(await tokensPromise, "id");
|
119
|
-
const tokenIds = Object.keys(tokensById);
|
120
116
|
const loopMs = 300_000; // 300_000ms = 300s = 5 minutes
|
121
117
|
const retryTimeout = 5_000; // 5_000ms = 5 seconds
|
122
118
|
|
@@ -124,21 +120,11 @@ const tokenRatesFetcherAtomEffect = atomEffect(get => {
|
|
124
120
|
try {
|
125
121
|
if (abort.signal.aborted) return; // don't fetch if aborted
|
126
122
|
const tokenRates = await fetchTokenRates(tokensById, ALL_CURRENCY_IDS, coinsApiConfig);
|
127
|
-
const putTokenRates =
|
128
|
-
|
129
|
-
|
130
|
-
}));
|
123
|
+
const putTokenRates = {
|
124
|
+
tokenRates
|
125
|
+
};
|
131
126
|
if (abort.signal.aborted) return; // don't insert into db if aborted
|
132
|
-
|
133
|
-
// override all tokenRates
|
134
|
-
await db.tokenRates.bulkPut(putTokenRates);
|
135
|
-
|
136
|
-
// delete tokenRates for tokens which no longer exist
|
137
|
-
const validTokenIds = new Set(tokenIds);
|
138
|
-
const tokenRatesIds = await db.tokenRates.toCollection().primaryKeys();
|
139
|
-
const deleteIds = tokenRatesIds.filter(id => !validTokenIds.has(id));
|
140
|
-
if (deleteIds.length > 0) await db.tokenRates.bulkDelete(deleteIds);
|
141
|
-
});
|
127
|
+
tokenRates$.next(putTokenRates);
|
142
128
|
if (abort.signal.aborted) return; // don't schedule next loop if aborted
|
143
129
|
setTimeout(hydrate, loopMs);
|
144
130
|
} catch (error) {
|
@@ -304,4 +290,4 @@ const BalancesProvider = ({
|
|
304
290
|
});
|
305
291
|
};
|
306
292
|
|
307
|
-
export { BalancesProvider, allAddressesAtom, balancesAtom, chainConnectorsAtom, chaindataAtom, chaindataProviderAtom, coinsApiConfigAtom, cryptoWaitReadyAtom, enableTestnetsAtom, enabledChainsAtom, enabledTokensAtom, getStaleChains, networksAtom, tokenRatesAtom, tokensAtom, useBalances, useBalancesStatus, useChainConnectors, useChaindata, useChaindataProvider, useNetwork, useNetworks, useNetworksById, useSetBalancesAddresses, useToken, useTokenRate, useTokenRates, useTokens, useTokensById };
|
293
|
+
export { BalancesProvider, allAddressesAtom, balancesAtom, chainConnectorsAtom, chaindataAtom, chaindataProviderAtom, coinsApiConfigAtom, cryptoWaitReadyAtom, enableTestnetsAtom, enabledChainsAtom, enabledTokensAtom, getStaleChains, networksAtom, tokenRatesAtom, tokensAtom, useBalances, useBalancesStatus, useChainConnectors, useChaindata, useChaindataProvider, useNetwork, useNetworks, useNetworksById, useSetBalancesAddresses, useSyncSwapsChaindata, useToken, useTokenRate, useTokenRates, useTokens, useTokensById };
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@talismn/balances-react",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.3",
|
4
4
|
"author": "Talisman",
|
5
5
|
"homepage": "https://talisman.xyz",
|
6
6
|
"license": "GPL-3.0-or-later",
|
@@ -23,21 +23,18 @@
|
|
23
23
|
"dependencies": {
|
24
24
|
"anylogger": "^1.0.11",
|
25
25
|
"blueimp-md5": "2.19.0",
|
26
|
-
"dexie": "^4.0.9",
|
27
|
-
"dexie-react-hooks": "^1.1.7",
|
28
26
|
"jotai": "~2",
|
29
27
|
"jotai-effect": "~1",
|
30
28
|
"lodash-es": "4.17.21",
|
31
29
|
"react-use": "^17.5.1",
|
32
30
|
"rxjs": "^7.8.1",
|
33
|
-
"@talismn/
|
34
|
-
"@talismn/
|
35
|
-
"@talismn/chaindata-provider": "1.0
|
36
|
-
"@talismn/connection-meta": "0.2.19",
|
37
|
-
"@talismn/chain-connector-evm": "1.0.1",
|
31
|
+
"@talismn/chain-connectors": "0.0.1",
|
32
|
+
"@talismn/balances": "1.0.3",
|
33
|
+
"@talismn/chaindata-provider": "1.1.0",
|
38
34
|
"@talismn/scale": "0.2.0",
|
39
|
-
"@talismn/token-rates": "3.0.
|
40
|
-
"@talismn/util": "0.5.
|
35
|
+
"@talismn/token-rates": "3.0.3",
|
36
|
+
"@talismn/util": "0.5.1",
|
37
|
+
"@talismn/connection-meta": "0.2.21"
|
41
38
|
},
|
42
39
|
"devDependencies": {
|
43
40
|
"@types/jest": "^29.5.14",
|