@sundaeswap/wallet-lite 0.0.60 → 0.0.62
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/cjs/index.js +12 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/react-components/hooks/useWalletHandles.js +5 -111
- package/dist/cjs/react-components/hooks/useWalletHandles.js.map +1 -1
- package/dist/cjs/utils/handles.js +97 -0
- package/dist/cjs/utils/handles.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/react-components/hooks/useWalletHandles.js +4 -56
- package/dist/esm/react-components/hooks/useWalletHandles.js.map +1 -1
- package/dist/esm/utils/handles.js +44 -0
- package/dist/esm/utils/handles.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/react-components/hooks/useWalletHandles.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/utils/handles.d.ts +5 -0
- package/dist/types/utils/handles.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/react-components/hooks/useWalletHandles.ts +5 -85
- package/src/utils/handles.ts +71 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWalletHandles.js","names":["useQuery","
|
|
1
|
+
{"version":3,"file":"useWalletHandles.js","names":["useQuery","useMemo","getHandleMetadata","useWalletObserver","useWalletHandles","state","memoizedHandleDep","balance","getHandles","keys","queryKey","mainAddress","network","data","handles","isLoading","queryFn","refetchInterval","notifyOnChangeProps","memoizedResult","loadingHandles","totalCount","length"],"sources":["../../../../src/react-components/hooks/useWalletHandles.ts"],"sourcesContent":["import { IAssetAmountMetadata } from \"@sundaeswap/asset\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { useMemo } from \"react\";\n\nimport { TAssetAmountMap } from \"../../@types/observer.js\";\nimport { getHandleMetadata } from \"../../utils/handles.js\";\nimport { THandleMetadata } from \"../contexts/observer/types.js\";\nimport { useWalletObserver } from \"./useWalletObserver.js\";\n\nexport const useWalletHandles = <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n>() => {\n const state = useWalletObserver<AssetMetadata>();\n const memoizedHandleDep = useMemo(\n () => [...state.balance.getHandles().keys()],\n [state.balance],\n );\n\n const queryKey = [memoizedHandleDep, state.mainAddress, state.network];\n const { data: handles, isLoading } = useQuery<\n TAssetAmountMap<THandleMetadata<AssetMetadata>> | undefined\n >({\n queryKey,\n queryFn: async () => {\n return getHandleMetadata(state.balance.getHandles(), state.network || 0);\n },\n refetchInterval: false,\n notifyOnChangeProps: [\"data\", \"isLoading\"],\n });\n\n const memoizedResult = useMemo(\n () => ({\n handles,\n loadingHandles: isLoading,\n totalCount: memoizedHandleDep.length,\n }),\n [handles, isLoading, memoizedHandleDep],\n );\n\n return memoizedResult;\n};\n"],"mappings":"AACA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,OAAO,QAAQ,OAAO;AAG/B,SAASC,iBAAiB,QAAQ,wBAAwB;AAE1D,SAASC,iBAAiB,QAAQ,wBAAwB;AAE1D,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAEzB;EACL,MAAMC,KAAK,GAAGF,iBAAiB,CAAgB,CAAC;EAChD,MAAMG,iBAAiB,GAAGL,OAAO,CAC/B,MAAM,CAAC,GAAGI,KAAK,CAACE,OAAO,CAACC,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,EAC5C,CAACJ,KAAK,CAACE,OAAO,CAChB,CAAC;EAED,MAAMG,QAAQ,GAAG,CAACJ,iBAAiB,EAAED,KAAK,CAACM,WAAW,EAAEN,KAAK,CAACO,OAAO,CAAC;EACtE,MAAM;IAAEC,IAAI,EAAEC,OAAO;IAAEC;EAAU,CAAC,GAAGf,QAAQ,CAE3C;IACAU,QAAQ;IACRM,OAAO,EAAE,MAAAA,CAAA,KAAY;MACnB,OAAOd,iBAAiB,CAACG,KAAK,CAACE,OAAO,CAACC,UAAU,CAAC,CAAC,EAAEH,KAAK,CAACO,OAAO,IAAI,CAAC,CAAC;IAC1E,CAAC;IACDK,eAAe,EAAE,KAAK;IACtBC,mBAAmB,EAAE,CAAC,MAAM,EAAE,WAAW;EAC3C,CAAC,CAAC;EAEF,MAAMC,cAAc,GAAGlB,OAAO,CAC5B,OAAO;IACLa,OAAO;IACPM,cAAc,EAAEL,SAAS;IACzBM,UAAU,EAAEf,iBAAiB,CAACgB;EAChC,CAAC,CAAC,EACF,CAACR,OAAO,EAAEC,SAAS,EAAET,iBAAiB,CACxC,CAAC;EAED,OAAOa,cAAc;AACvB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { WalletAssetMap } from "../classes/WalletAssetMap.class.js";
|
|
2
|
+
import { normalizeAssetIdWithDot } from "./assets.js";
|
|
3
|
+
import { getHandleLib } from "./getLibs.js";
|
|
4
|
+
export const getHandleMetadata = async (balance, network) => {
|
|
5
|
+
const currentWalletHandles = new WalletAssetMap(balance);
|
|
6
|
+
const newCurrentWalletHandles = new WalletAssetMap();
|
|
7
|
+
|
|
8
|
+
// Abort early if no handles.
|
|
9
|
+
if (currentWalletHandles.size === 0) {
|
|
10
|
+
return newCurrentWalletHandles;
|
|
11
|
+
}
|
|
12
|
+
try {
|
|
13
|
+
const {
|
|
14
|
+
HandleClient,
|
|
15
|
+
HandleClientContext,
|
|
16
|
+
KoraLabsProvider
|
|
17
|
+
} = await getHandleLib();
|
|
18
|
+
const context = network === 1 ? HandleClientContext.MAINNET : HandleClientContext.PREVIEW;
|
|
19
|
+
const sdk = new HandleClient({
|
|
20
|
+
context,
|
|
21
|
+
provider: new KoraLabsProvider(context)
|
|
22
|
+
});
|
|
23
|
+
const walletHandlesWithDataArray = [...currentWalletHandles.entries()];
|
|
24
|
+
const walletHandleDataArray = await sdk.provider().getAllDataBatch(walletHandlesWithDataArray.map(([key]) => ({
|
|
25
|
+
value: key.split(".")[1]
|
|
26
|
+
})));
|
|
27
|
+
walletHandlesWithDataArray.forEach(([key, asset]) => {
|
|
28
|
+
const matchingData = walletHandleDataArray.find(({
|
|
29
|
+
hex
|
|
30
|
+
}) => hex === key.split(".")[1]);
|
|
31
|
+
newCurrentWalletHandles.set(normalizeAssetIdWithDot(key), asset.withMetadata({
|
|
32
|
+
...matchingData,
|
|
33
|
+
...asset.metadata,
|
|
34
|
+
assetId: normalizeAssetIdWithDot(asset.metadata.assetId),
|
|
35
|
+
decimals: 0
|
|
36
|
+
}).withAmount(1n));
|
|
37
|
+
});
|
|
38
|
+
return newCurrentWalletHandles;
|
|
39
|
+
} catch (e) {
|
|
40
|
+
console.error(e);
|
|
41
|
+
}
|
|
42
|
+
return newCurrentWalletHandles;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=handles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handles.js","names":["WalletAssetMap","normalizeAssetIdWithDot","getHandleLib","getHandleMetadata","balance","network","currentWalletHandles","newCurrentWalletHandles","size","HandleClient","HandleClientContext","KoraLabsProvider","context","MAINNET","PREVIEW","sdk","provider","walletHandlesWithDataArray","entries","walletHandleDataArray","getAllDataBatch","map","key","value","split","forEach","asset","matchingData","find","hex","set","withMetadata","metadata","assetId","decimals","withAmount","e","console","error"],"sources":["../../../src/utils/handles.ts"],"sourcesContent":["import { IHandle } from \"@koralabs/adahandle-sdk\";\nimport { IAssetAmountMetadata } from \"@sundaeswap/asset\";\n\nimport { TAssetAmountMap } from \"../@types/observer.js\";\nimport { WalletAssetMap } from \"../classes/WalletAssetMap.class.js\";\nimport { THandleMetadata } from \"../react-components/contexts/observer/types.js\";\nimport { normalizeAssetIdWithDot } from \"./assets.js\";\nimport { getHandleLib } from \"./getLibs.js\";\n\nexport const getHandleMetadata = async <\n AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata,\n>(\n balance: TAssetAmountMap<AssetMetadata>,\n network: number,\n): Promise<TAssetAmountMap<THandleMetadata<AssetMetadata>>> => {\n const currentWalletHandles = new WalletAssetMap<AssetMetadata>(balance);\n const newCurrentWalletHandles = new WalletAssetMap<\n THandleMetadata<AssetMetadata>\n >();\n\n // Abort early if no handles.\n if (currentWalletHandles.size === 0) {\n return newCurrentWalletHandles;\n }\n\n try {\n const { HandleClient, HandleClientContext, KoraLabsProvider } =\n await getHandleLib();\n\n const context =\n network === 1 ? HandleClientContext.MAINNET : HandleClientContext.PREVIEW;\n\n const sdk = new HandleClient({\n context,\n provider: new KoraLabsProvider(context),\n });\n\n const walletHandlesWithDataArray = [...currentWalletHandles.entries()];\n const walletHandleDataArray: IHandle[] = await sdk\n .provider()\n .getAllDataBatch(\n walletHandlesWithDataArray.map(([key]) => ({\n value: key.split(\".\")[1],\n })),\n );\n\n walletHandlesWithDataArray.forEach(([key, asset]) => {\n const matchingData = walletHandleDataArray.find(\n ({ hex }) => hex === key.split(\".\")[1],\n ) as IHandle;\n\n newCurrentWalletHandles.set(\n normalizeAssetIdWithDot(key),\n asset\n .withMetadata({\n ...matchingData,\n ...asset.metadata,\n assetId: normalizeAssetIdWithDot(asset.metadata.assetId),\n decimals: 0,\n })\n .withAmount(1n),\n );\n });\n\n return newCurrentWalletHandles;\n } catch (e) {\n console.error(e);\n }\n\n return newCurrentWalletHandles;\n};\n"],"mappings":"AAIA,SAASA,cAAc,QAAQ,oCAAoC;AAEnE,SAASC,uBAAuB,QAAQ,aAAa;AACrD,SAASC,YAAY,QAAQ,cAAc;AAE3C,OAAO,MAAMC,iBAAiB,GAAG,MAAAA,CAG/BC,OAAuC,EACvCC,OAAe,KAC8C;EAC7D,MAAMC,oBAAoB,GAAG,IAAIN,cAAc,CAAgBI,OAAO,CAAC;EACvE,MAAMG,uBAAuB,GAAG,IAAIP,cAAc,CAEhD,CAAC;;EAEH;EACA,IAAIM,oBAAoB,CAACE,IAAI,KAAK,CAAC,EAAE;IACnC,OAAOD,uBAAuB;EAChC;EAEA,IAAI;IACF,MAAM;MAAEE,YAAY;MAAEC,mBAAmB;MAAEC;IAAiB,CAAC,GAC3D,MAAMT,YAAY,CAAC,CAAC;IAEtB,MAAMU,OAAO,GACXP,OAAO,KAAK,CAAC,GAAGK,mBAAmB,CAACG,OAAO,GAAGH,mBAAmB,CAACI,OAAO;IAE3E,MAAMC,GAAG,GAAG,IAAIN,YAAY,CAAC;MAC3BG,OAAO;MACPI,QAAQ,EAAE,IAAIL,gBAAgB,CAACC,OAAO;IACxC,CAAC,CAAC;IAEF,MAAMK,0BAA0B,GAAG,CAAC,GAAGX,oBAAoB,CAACY,OAAO,CAAC,CAAC,CAAC;IACtE,MAAMC,qBAAgC,GAAG,MAAMJ,GAAG,CAC/CC,QAAQ,CAAC,CAAC,CACVI,eAAe,CACdH,0BAA0B,CAACI,GAAG,CAAC,CAAC,CAACC,GAAG,CAAC,MAAM;MACzCC,KAAK,EAAED,GAAG,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,CACJ,CAAC;IAEHP,0BAA0B,CAACQ,OAAO,CAAC,CAAC,CAACH,GAAG,EAAEI,KAAK,CAAC,KAAK;MACnD,MAAMC,YAAY,GAAGR,qBAAqB,CAACS,IAAI,CAC7C,CAAC;QAAEC;MAAI,CAAC,KAAKA,GAAG,KAAKP,GAAG,CAACE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CACvC,CAAY;MAEZjB,uBAAuB,CAACuB,GAAG,CACzB7B,uBAAuB,CAACqB,GAAG,CAAC,EAC5BI,KAAK,CACFK,YAAY,CAAC;QACZ,GAAGJ,YAAY;QACf,GAAGD,KAAK,CAACM,QAAQ;QACjBC,OAAO,EAAEhC,uBAAuB,CAACyB,KAAK,CAACM,QAAQ,CAACC,OAAO,CAAC;QACxDC,QAAQ,EAAE;MACZ,CAAC,CAAC,CACDC,UAAU,CAAC,EAAE,CAClB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO5B,uBAAuB;EAChC,CAAC,CAAC,OAAO6B,CAAC,EAAE;IACVC,OAAO,CAACC,KAAK,CAACF,CAAC,CAAC;EAClB;EAEA,OAAO7B,uBAAuB;AAChC,CAAC","ignoreList":[]}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWalletHandles.d.ts","sourceRoot":"","sources":["../../../../src/react-components/hooks/useWalletHandles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useWalletHandles.d.ts","sourceRoot":"","sources":["../../../../src/react-components/hooks/useWalletHandles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAIzD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,eAAO,MAAM,gBAAgB;;;;CA+B5B,CAAC"}
|