@rango-dev/widget-embedded 0.39.1-next.8 → 0.40.0
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/components/SwapDetailsModal/SwapDetailsCompleteModal.d.ts.map +1 -1
- package/dist/components/SwapDetailsModal/SwapDetailsModal.styles.d.ts +160 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.styles.d.ts.map +1 -1
- package/dist/constants/profileBanner.d.ts +3 -0
- package/dist/constants/profileBanner.d.ts.map +1 -0
- package/dist/constants/wallets.d.ts +1 -0
- package/dist/constants/wallets.d.ts.map +1 -1
- package/dist/containers/Wallets/Wallets.d.ts.map +1 -1
- package/dist/containers/Wallets/Wallets.helpers.d.ts +4 -0
- package/dist/containers/Wallets/Wallets.helpers.d.ts.map +1 -0
- package/dist/containers/Wallets/Wallets.types.d.ts +6 -2
- package/dist/containers/Wallets/Wallets.types.d.ts.map +1 -1
- package/dist/containers/Wallets/useUpdates.d.ts +13 -0
- package/dist/containers/Wallets/useUpdates.d.ts.map +1 -0
- package/dist/hooks/useSubscribeToWidgetEvents/useSubscribeToWidgetEvents.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +4 -4
- package/dist/store/middlewares/keepLastUpdated.d.ts +8 -0
- package/dist/store/middlewares/keepLastUpdated.d.ts.map +1 -0
- package/dist/store/slices/wallets.d.ts +20 -14
- package/dist/store/slices/wallets.d.ts.map +1 -1
- package/dist/store/utils/wallets.d.ts +3 -3
- package/dist/store/utils/wallets.d.ts.map +1 -1
- package/dist/utils/common.d.ts +5 -0
- package/dist/utils/common.d.ts.map +1 -1
- package/dist/widget-embedded.build.json +1 -1
- package/package.json +12 -12
- package/src/components/ConfirmWalletsModal/WalletList.tsx +1 -1
- package/src/components/SwapDetailsModal/SwapDetailsCompleteModal.tsx +14 -7
- package/src/components/SwapDetailsModal/SwapDetailsModal.styles.ts +4 -0
- package/src/constants/profileBanner.ts +3 -0
- package/src/constants/wallets.ts +2 -0
- package/src/containers/Wallets/Wallets.helpers.ts +26 -0
- package/src/containers/Wallets/Wallets.tsx +23 -127
- package/src/containers/Wallets/Wallets.types.ts +16 -2
- package/src/containers/Wallets/useUpdates.ts +240 -0
- package/src/hooks/useSubscribeToWidgetEvents/useSubscribeToWidgetEvents.ts +19 -9
- package/src/store/middlewares/keepLastUpdated.ts +19 -0
- package/src/store/slices/wallets.ts +560 -407
- package/src/store/utils/wallets.ts +12 -11
- package/src/utils/common.ts +24 -2
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { StateCreator } from 'zustand';
|
|
2
|
+
/**
|
|
3
|
+
* you can wrap your slice in this middleware, it will update `lastUpdatedAt` for that slice when a zustand's `set` is calling
|
|
4
|
+
*/
|
|
5
|
+
export declare const keepLastUpdated: <Store, Slice extends {
|
|
6
|
+
lastUpdatedAt: number;
|
|
7
|
+
}>(config: StateCreator<Store, [], [], Slice>) => StateCreator<Store, [], [], Slice>;
|
|
8
|
+
//# sourceMappingURL=keepLastUpdated.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keepLastUpdated.d.ts","sourceRoot":"","sources":["../../../src/store/middlewares/keepLastUpdated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,SAAS;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,EAC3E,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KACvC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAWrC,CAAC"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import type { AppStoreState } from './types';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { Namespace } from '@rango-dev/wallets-core/namespaces/common';
|
|
3
|
+
import type { Token, WalletDetail } from 'rango-sdk';
|
|
4
|
+
import { BALANCE_SEPARATOR } from '../../constants/wallets';
|
|
4
5
|
import { type Balance, type Wallet } from '../../types';
|
|
5
6
|
type WalletAddress = string;
|
|
6
7
|
type TokenAddress = string;
|
|
7
8
|
type TokenSymbol = string;
|
|
8
9
|
type BlockchainId = string;
|
|
9
|
-
/** format: `BlockchainId
|
|
10
|
-
export type AssetKey = `${BlockchainId}
|
|
11
|
-
/** format: `BlockchainId
|
|
12
|
-
export type BalanceKey = `${BlockchainId}
|
|
10
|
+
/** format: `BlockchainId${BALANCE_SEPARATOR}TokenAddress${BALANCE_SEPARATOR}TokenSymbol` */
|
|
11
|
+
export type AssetKey = `${BlockchainId}${typeof BALANCE_SEPARATOR}${TokenAddress}${typeof BALANCE_SEPARATOR}${TokenSymbol}`;
|
|
12
|
+
/** format: `BlockchainId${BALANCE_SEPARATOR}TokenAddress${BALANCE_SEPARATOR}TokenSymbol${BALANCE_SEPARATOR}WalletAddress` */
|
|
13
|
+
export type BalanceKey = `${BlockchainId}${typeof BALANCE_SEPARATOR}${TokenAddress}${typeof BALANCE_SEPARATOR}${TokenSymbol}${typeof BALANCE_SEPARATOR}${WalletAddress}`;
|
|
13
14
|
export type BalanceState = {
|
|
14
15
|
[key: BalanceKey]: Balance;
|
|
15
16
|
};
|
|
@@ -21,6 +22,7 @@ export interface ConnectedWallet extends Wallet {
|
|
|
21
22
|
selected: boolean;
|
|
22
23
|
loading: boolean;
|
|
23
24
|
error: boolean;
|
|
25
|
+
namespace?: Namespace;
|
|
24
26
|
}
|
|
25
27
|
interface DeprecatedTokenBalance {
|
|
26
28
|
chain: string;
|
|
@@ -41,13 +43,15 @@ export interface WalletsSlice {
|
|
|
41
43
|
_aggregatedBalances: AggregatedBalanceState;
|
|
42
44
|
connectedWallets: ConnectedWallet[];
|
|
43
45
|
fetchingWallets: boolean;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
lastUpdatedAt: number;
|
|
47
|
+
setConnectedWalletAsRefetching: (accounts: Wallet[]) => void;
|
|
48
|
+
setConnectedWalletHasError: (accounts: Wallet[]) => void;
|
|
49
|
+
setConnectedWalletRetrievedData: (accounts: Wallet[], walletsDetails: WalletDetail[]) => void;
|
|
47
50
|
removeBalancesForWallet: (walletType: string, options?: {
|
|
48
51
|
chains?: string[];
|
|
52
|
+
namespaces?: Namespace[];
|
|
49
53
|
}) => void;
|
|
50
|
-
addConnectedWallet: (accounts: Wallet[]) => void;
|
|
54
|
+
addConnectedWallet: (accounts: Wallet[], namespace?: Namespace) => void;
|
|
51
55
|
setWalletsAsSelected: (wallets: {
|
|
52
56
|
walletType: string;
|
|
53
57
|
chain: string;
|
|
@@ -55,11 +59,15 @@ export interface WalletsSlice {
|
|
|
55
59
|
/**
|
|
56
60
|
* Add new accounts to store and fetch balances for them.
|
|
57
61
|
*/
|
|
58
|
-
newWalletConnected: (accounts: Wallet[]) => Promise<void>;
|
|
62
|
+
newWalletConnected: (accounts: Wallet[], namespace?: Namespace) => Promise<void>;
|
|
63
|
+
disconnectNamespaces: (walletType: string, namespaces: Namespace[]) => void;
|
|
59
64
|
/**
|
|
60
65
|
* Disconnect a wallet and clean up balances after that.
|
|
61
66
|
*/
|
|
62
67
|
disconnectWallet: (walletType: string) => void;
|
|
68
|
+
_changeSelectedWalletIfNeededOnRemove: (walletType: string, options?: {
|
|
69
|
+
namespaces?: Namespace[];
|
|
70
|
+
}) => void;
|
|
63
71
|
clearConnectedWallet: () => void;
|
|
64
72
|
fetchBalances: (accounts: Wallet[], options?: {
|
|
65
73
|
retryOnFailedBalances?: boolean;
|
|
@@ -73,8 +81,6 @@ export interface WalletsSlice {
|
|
|
73
81
|
*/
|
|
74
82
|
getConnectedWalletsDetails: () => DeprecatedWalletDetail[];
|
|
75
83
|
}
|
|
76
|
-
export declare const createWalletsSlice: StateCreator<AppStoreState, [
|
|
77
|
-
], [
|
|
78
|
-
], WalletsSlice>;
|
|
84
|
+
export declare const createWalletsSlice: import("zustand").StateCreator<AppStoreState, [], [], WalletsSlice>;
|
|
79
85
|
export {};
|
|
80
86
|
//# sourceMappingURL=wallets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../../src/store/slices/wallets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../../src/store/slices/wallets.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { AppStoreState } from '../app';
|
|
2
|
-
import type { AggregatedBalanceState, AssetKey, BalanceKey, BalanceState } from '../slices/wallets';
|
|
3
2
|
import type { Asset, WalletDetail } from 'rango-types';
|
|
3
|
+
import { type AggregatedBalanceState, type AssetKey, type BalanceKey, type BalanceState } from '../slices/wallets';
|
|
4
4
|
/**
|
|
5
5
|
* Note: We need to use `symbol` as well since native coins and cosmos blockchains don't have `address`
|
|
6
|
-
* output format: BlockchainId
|
|
6
|
+
* output format: BlockchainId${BALANCE_SEPARATOR}TokenAddress${BALANCE_SEPARATOR}TokenSymbol
|
|
7
7
|
*/
|
|
8
8
|
export declare function createAssetKey(asset: Asset): AssetKey;
|
|
9
9
|
/**
|
|
10
|
-
* output format: BlockchainId
|
|
10
|
+
* output format: BlockchainId${BALANCE_SEPARATOR}TokenAddress${BALANCE_SEPARATOR}TokenSymbol${BALANCE_SEPARATOR}WalletAddress
|
|
11
11
|
*/
|
|
12
12
|
export declare function createBalanceKey(accountAddress: string, asset: Asset): BalanceKey;
|
|
13
13
|
export declare function extractAssetFromBalanceKey(key: BalanceKey): Asset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../../src/store/utils/wallets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../../src/store/utils/wallets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMvD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAErD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,KAAK,GACX,UAAU,CAGZ;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,UAAU,GAAG,KAAK,CAUjE;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,aAAa,GACzB,YAAY,CAuBd;AAED,wBAAgB,yCAAyC,CACvD,kBAAkB,EAAE,sBAAsB,EAC1C,YAAY,EAAE,YAAY,0BAmB3B;AAED,wBAAgB,kCAAkC,CAChD,kBAAkB,EAAE,sBAAsB,EAC1C,UAAU,EAAE,UAAU,0BAYvB"}
|
package/dist/utils/common.d.ts
CHANGED
|
@@ -13,4 +13,9 @@ export declare function compareWithSearchFor(tokenA: Token, tokenB: Token, searc
|
|
|
13
13
|
export declare const isBlockchainTypeInCategory: (blockchainType: TransactionType, category: string) => boolean;
|
|
14
14
|
export declare const getFontUrlByName: (fontName: string) => string | undefined;
|
|
15
15
|
export declare function isSingleWalletActive(wallets: WalletInfoWithExtra[], multiWallets?: boolean): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* A simple memo implementation
|
|
18
|
+
* you can use it when you want to memoize a value in js space
|
|
19
|
+
*/
|
|
20
|
+
export declare function memoizedResult(): <R>(fn: () => R, key: number | string) => R;
|
|
16
21
|
//# sourceMappingURL=common.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAY5C,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAEtD;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAC3B,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,WAK5B;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/utils/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAY5C,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAEtD;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAC3B,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,WAK5B;AAGD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,aAIvB,GAAG,UAS9B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAEtE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAEvE;AAED,eAAO,MAAM,YAAY,mBACyC,CAAC;AAEnE,eAAO,MAAM,WAAW,mBAC8C,CAAC;AAsDvE,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,KAAK,EACb,MAAM,EAAE,KAAK,EACb,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CA0GR;AAED,eAAO,MAAM,0BAA0B,mBACrB,eAAe,YACrB,MAAM,KACf,OAeF,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAAc,MAAM,uBAGhD,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,mBAAmB,EAAE,EAC9B,YAAY,CAAC,EAAE,OAAO,WAMvB;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,KAAK,CAAC,CAe5E"}
|