@sundaeswap/wallet-lite 0.0.17 → 0.0.18

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.
Files changed (57) hide show
  1. package/dist/cjs/@types/observer.js.map +1 -1
  2. package/dist/cjs/classes/WalletAssetMap.class.js +74 -0
  3. package/dist/cjs/classes/WalletAssetMap.class.js.map +1 -0
  4. package/dist/cjs/classes/WalletBalanceMap.class.js +9 -11
  5. package/dist/cjs/classes/WalletBalanceMap.class.js.map +1 -1
  6. package/dist/cjs/classes/WalletObserver.class.js +5 -4
  7. package/dist/cjs/classes/WalletObserver.class.js.map +1 -1
  8. package/dist/cjs/index.js +24 -0
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +2 -1
  11. package/dist/cjs/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  12. package/dist/cjs/react-components/hooks/useWalletHandles.js +26 -21
  13. package/dist/cjs/react-components/hooks/useWalletHandles.js.map +1 -1
  14. package/dist/cjs/utils/assets.js +35 -0
  15. package/dist/cjs/utils/assets.js.map +1 -0
  16. package/dist/esm/@types/observer.js.map +1 -1
  17. package/dist/esm/classes/WalletAssetMap.class.js +38 -0
  18. package/dist/esm/classes/WalletAssetMap.class.js.map +1 -0
  19. package/dist/esm/classes/WalletBalanceMap.class.js +5 -4
  20. package/dist/esm/classes/WalletBalanceMap.class.js.map +1 -1
  21. package/dist/esm/classes/WalletObserver.class.js +5 -4
  22. package/dist/esm/classes/WalletObserver.class.js.map +1 -1
  23. package/dist/esm/index.js +2 -0
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js +2 -1
  26. package/dist/esm/react-components/WalletObserverProvider/hooks/useWalletObserverState.js.map +1 -1
  27. package/dist/esm/react-components/hooks/useWalletHandles.js +11 -10
  28. package/dist/esm/react-components/hooks/useWalletHandles.js.map +1 -1
  29. package/dist/esm/utils/assets.js +28 -0
  30. package/dist/esm/utils/assets.js.map +1 -0
  31. package/dist/types/@types/observer.d.ts +5 -3
  32. package/dist/types/@types/observer.d.ts.map +1 -1
  33. package/dist/types/classes/WalletAssetMap.class.d.ts +29 -0
  34. package/dist/types/classes/WalletAssetMap.class.d.ts.map +1 -0
  35. package/dist/types/classes/WalletBalanceMap.class.d.ts +3 -2
  36. package/dist/types/classes/WalletBalanceMap.class.d.ts.map +1 -1
  37. package/dist/types/classes/WalletObserver.class.d.ts.map +1 -1
  38. package/dist/types/index.d.ts +2 -0
  39. package/dist/types/index.d.ts.map +1 -1
  40. package/dist/types/react-components/WalletObserverProvider/hooks/useWalletObserverState.d.ts.map +1 -1
  41. package/dist/types/react-components/hooks/useWalletHandles.d.ts.map +1 -1
  42. package/dist/types/tsconfig.build.tsbuildinfo +1 -1
  43. package/dist/types/utils/assets.d.ts +15 -0
  44. package/dist/types/utils/assets.d.ts.map +1 -0
  45. package/package.json +1 -1
  46. package/src/@types/observer.ts +9 -3
  47. package/src/__data__/assets.ts +3 -2
  48. package/src/classes/WalletAssetMap.class.ts +40 -0
  49. package/src/classes/WalletBalanceMap.class.ts +5 -4
  50. package/src/classes/WalletObserver.class.ts +12 -4
  51. package/src/classes/__tests__/WalletBalanceMap.test.ts +2 -1
  52. package/src/classes/__tests__/WalletObserver.test.ts +10 -3
  53. package/src/index.ts +2 -0
  54. package/src/react-components/WalletObserverProvider/hooks/useWalletObserverState.ts +2 -1
  55. package/src/react-components/__tests__/__snapshots__/RenderWalletHandles.test.tsx.snap +2 -2
  56. package/src/react-components/hooks/useWalletHandles.ts +35 -29
  57. package/src/utils/assets.ts +31 -0
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Helper function to normalize asset ID notation.
3
+ *
4
+ * @param {string} assetId The asset ID as a HEX string (either with dot or without).
5
+ * @returns {string}
6
+ */
7
+ export declare const normalizeAssetIdWithDot: (assetId: string) => string;
8
+ /**
9
+ * Helper function to internally check if an asset is ADA.
10
+ *
11
+ * @param {string} id The asset id.
12
+ * @returns {boolean}
13
+ */
14
+ export declare const isAdaAsset: (id: string) => boolean;
15
+ //# sourceMappingURL=assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/utils/assets.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,YAAa,MAAM,KAAG,MAazD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,UAAU,OAAQ,MAAM,KAAG,OACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sundaeswap/wallet-lite",
3
- "version": "0.0.17",
3
+ "version": "0.0.18",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/cjs/index.js",
@@ -2,9 +2,11 @@ import type { TransactionUnspentOutput } from "@cardano-sdk/core/dist/cjs/Serial
2
2
  import type { Cip30WalletApi } from "@cardano-sdk/dapp-connector";
3
3
  import type { DAppPeerConnect } from "@fabianbormann/cardano-peer-connect";
4
4
  import type { DAppPeerConnectParameters } from "@fabianbormann/cardano-peer-connect/dist/src/types.js";
5
- import type { AssetAmount, IAssetAmountMetadata } from "@sundaeswap/asset";
5
+ import type { IAssetAmountMetadata } from "@sundaeswap/asset";
6
6
 
7
+ import { WalletAssetMap } from "../classes/WalletAssetMap.class.js";
7
8
  import { WalletBalanceMap } from "../classes/WalletBalanceMap.class.js";
9
+ import { isAdaAsset, normalizeAssetIdWithDot } from "../utils/assets.js";
8
10
 
9
11
  /**
10
12
  * A list of support CIP-30 wallet extensions in the browser.
@@ -48,7 +50,11 @@ export type TWindowCardano = {
48
50
  */
49
51
  export type TMetadataResolverFunc<
50
52
  T extends IAssetAmountMetadata = IAssetAmountMetadata
51
- > = (assetIds: string[]) => Promise<Map<string, T>>;
53
+ > = (
54
+ assetIds: string[],
55
+ normalizeAssetIdFunc: typeof normalizeAssetIdWithDot,
56
+ isAdaAssetFunc: typeof isAdaAsset
57
+ ) => Promise<Map<string, T>>;
52
58
 
53
59
  /**
54
60
  * Options that are passed to the WalletObserver instance.
@@ -74,7 +80,7 @@ export type TWalletObserverOptions<
74
80
  */
75
81
  export type TAssetAmountMap<
76
82
  T extends IAssetAmountMetadata = IAssetAmountMetadata
77
- > = Map<string, AssetAmount<T>>;
83
+ > = WalletAssetMap<T>;
78
84
 
79
85
  /**
80
86
  * Interface describing the structure of the persistent
@@ -1,4 +1,5 @@
1
1
  import { AssetAmount } from "@sundaeswap/asset";
2
+ import { normalizeAssetIdWithDot } from "../utils/assets";
2
3
 
3
4
  export const assetIds = [
4
5
  "ada.lovelace",
@@ -107,7 +108,7 @@ export const assetIds = [
107
108
  ];
108
109
 
109
110
  export const assetMap = assetIds.map((id) => {
110
- const assetId = `${id.slice(0, 56)}.${id.slice(56)}`;
111
+ const assetId = normalizeAssetIdWithDot(id);
111
112
  const name = Buffer.from(id.slice(56), "hex").toString("utf-8");
112
113
 
113
114
  const nftMetadata = {
@@ -126,7 +127,7 @@ export const assetMap = assetIds.map((id) => {
126
127
  name.includes("Gutenberg Bible");
127
128
 
128
129
  return {
129
- key: id,
130
+ key: assetId,
130
131
  assetAmount: new AssetAmount(
131
132
  isNFT ? 1 : Math.floor(Math.random() * 10000000) + 1,
132
133
  isNFT ? nftMetadata : fungibleMetadata
@@ -0,0 +1,40 @@
1
+ import { AssetAmount, IAssetAmountMetadata } from "@sundaeswap/asset";
2
+ import { normalizeAssetIdWithDot } from "../utils/assets";
3
+
4
+ /**
5
+ * Map wrapper to enforce asset id normalization when setting and getting assets.
6
+ */
7
+ export class WalletAssetMap<
8
+ AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata
9
+ > extends Map<string, AssetAmount<AssetMetadata>> {
10
+ /**
11
+ * Overlay to enforce asset ID normalization.
12
+ *
13
+ * @param {string} key Retrieve the asset ID as a HEX string (either with dot or without).
14
+ * @returns {AssetAmount<AssetMetadata> | undefined}
15
+ */
16
+ get(key: string): AssetAmount<AssetMetadata> | undefined {
17
+ return super.get(normalizeAssetIdWithDot(key));
18
+ }
19
+
20
+ /**
21
+ * Overlay to enforce asset ID normalization.
22
+ *
23
+ * @param {string} key Retrieve the asset ID as a HEX string (either with dot or without).
24
+ * @param {AssetAmount<AssetMetadata>} key Retrieve the asset ID as a HEX string (either with dot or without).
25
+ * @returns {this}
26
+ */
27
+ set(key: string, value: AssetAmount<AssetMetadata>): this {
28
+ return super.set(normalizeAssetIdWithDot(key), value);
29
+ }
30
+
31
+ /**
32
+ * Overlay to enforce asset ID normalization.
33
+ *
34
+ * @param {string} key Retrieve the asset ID as a HEX string (either with dot or without).
35
+ * @returns {AssetAmount<AssetMetadata> | undefined}
36
+ */
37
+ has(key: string): boolean {
38
+ return super.has(normalizeAssetIdWithDot(key));
39
+ }
40
+ }
@@ -1,6 +1,7 @@
1
1
  import { AssetAmount, IAssetAmountMetadata } from "@sundaeswap/asset";
2
2
 
3
3
  import { TAssetAmountMap } from "../@types/observer.js";
4
+ import { WalletAssetMap } from "./WalletAssetMap.class.js";
4
5
  import { WalletObserver } from "./WalletObserver.class.js";
5
6
 
6
7
  /**
@@ -13,7 +14,7 @@ import { WalletObserver } from "./WalletObserver.class.js";
13
14
  */
14
15
  export class WalletBalanceMap<
15
16
  AssetMetadata extends IAssetAmountMetadata = IAssetAmountMetadata
16
- > extends Map<string, AssetAmount<AssetMetadata>> {
17
+ > extends WalletAssetMap<AssetMetadata> {
17
18
  /**
18
19
  * @private
19
20
  * @type {Record<number, string[]>}
@@ -41,7 +42,7 @@ export class WalletBalanceMap<
41
42
  * @returns {TAssetAmountMap<AssetMetadata>} A map of fungible tokens.
42
43
  */
43
44
  getFungibleTokens = (): TAssetAmountMap<AssetMetadata> => {
44
- const map: TAssetAmountMap<AssetMetadata> = new Map();
45
+ const map: TAssetAmountMap<AssetMetadata> = new WalletAssetMap();
45
46
  [...this.entries()].forEach(([key, asset]) => {
46
47
  if (asset.metadata.decimals > 0) {
47
48
  map.set(key, asset);
@@ -58,7 +59,7 @@ export class WalletBalanceMap<
58
59
  * @returns {TAssetAmountMap<AssetMetadata>} A map of handle assets.
59
60
  */
60
61
  getHandles = (): TAssetAmountMap<AssetMetadata> => {
61
- const map: TAssetAmountMap<AssetMetadata> = new Map();
62
+ const map: TAssetAmountMap<AssetMetadata> = new WalletAssetMap();
62
63
  [...this.entries()].forEach(([key, asset]) => {
63
64
  const isHandle = this._handlePolicyIds[this._observer.network].some(
64
65
  (policyId) => asset.metadata.assetId.includes(policyId)
@@ -82,7 +83,7 @@ export class WalletBalanceMap<
82
83
  getNonFungibleTokens = (
83
84
  withHandles?: boolean
84
85
  ): TAssetAmountMap<AssetMetadata> => {
85
- const map: TAssetAmountMap<AssetMetadata> = new Map();
86
+ const map: TAssetAmountMap<AssetMetadata> = new WalletAssetMap();
86
87
  [...this.entries()].forEach(([key, asset]) => {
87
88
  if (
88
89
  !withHandles &&
@@ -12,6 +12,7 @@ import type {
12
12
  TSupportedWalletExtensions,
13
13
  TWalletObserverOptions,
14
14
  } from "../@types/observer.js";
15
+ import { isAdaAsset, normalizeAssetIdWithDot } from "../utils/assets.js";
15
16
  import {
16
17
  getCardanoCore,
17
18
  getCardanoUtil,
@@ -391,7 +392,10 @@ export class WalletObserver<
391
392
  const multiassetEntries = data.multiasset()?.entries() ?? [];
392
393
  if (multiassetEntries) {
393
394
  for (const [id, amount] of multiassetEntries) {
394
- balanceMap.set(id, new AssetAmount(amount, metadata.get(id)));
395
+ balanceMap.set(
396
+ id,
397
+ new AssetAmount(amount, metadata.get(normalizeAssetIdWithDot(id)))
398
+ );
395
399
  }
396
400
  }
397
401
 
@@ -549,7 +553,11 @@ export class WalletObserver<
549
553
  }
550
554
  }
551
555
 
552
- const newMetadata = await this._options.metadataResolver(assetIds);
556
+ const newMetadata = await this._options.metadataResolver(
557
+ assetIds.map(normalizeAssetIdWithDot),
558
+ normalizeAssetIdWithDot,
559
+ isAdaAsset
560
+ );
553
561
  this._cachedMetadata = newMetadata;
554
562
  return newMetadata;
555
563
  };
@@ -563,8 +571,8 @@ export class WalletObserver<
563
571
  async (assetIds) => {
564
572
  const map = new Map<string, AssetMetadata>();
565
573
  assetIds.forEach((id) =>
566
- map.set(id, {
567
- assetId: id,
574
+ map.set(normalizeAssetIdWithDot(id), {
575
+ assetId: normalizeAssetIdWithDot(id),
568
576
  decimals: 6,
569
577
  } as AssetMetadata)
570
578
  );
@@ -1,6 +1,7 @@
1
1
  import { beforeEach, describe, expect, it, spyOn, test } from "bun:test";
2
2
 
3
3
  import { assetIds, assetMap } from "../../__data__/assets.js";
4
+ import { normalizeAssetIdWithDot } from "../../utils/assets.js";
4
5
  import { WalletBalanceMap } from "../WalletBalanceMap.class.js";
5
6
  import { WalletObserver } from "../WalletObserver.class.js";
6
7
 
@@ -30,7 +31,7 @@ describe("WalletBalanceMap", () => {
30
31
 
31
32
  it("should setup the test instance properly", () => {
32
33
  expect(instance.size).toEqual(103);
33
- expect([...instance.keys()]).toEqual(assetIds);
34
+ expect([...instance.keys()]).toEqual(assetIds.map(normalizeAssetIdWithDot));
34
35
  });
35
36
 
36
37
  test("getFungibleTokens()", () => {
@@ -7,7 +7,11 @@ import {
7
7
  unusedAddresses,
8
8
  usedAddresses,
9
9
  } from "../../__data__/eternl.js";
10
- import { EWalletObserverEvents, TWalletObserverOptions } from "../../index.js";
10
+ import {
11
+ EWalletObserverEvents,
12
+ TMetadataResolverFunc,
13
+ TWalletObserverOptions,
14
+ } from "../../index.js";
11
15
  import * as getLibModules from "../../utils/getLibs.js";
12
16
  import { WalletObserver } from "../WalletObserver.class.js";
13
17
 
@@ -87,10 +91,13 @@ describe("WalletObserver", async () => {
87
91
  });
88
92
 
89
93
  test("with parameters", () => {
90
- const handler = async (ids: string[]) => {
94
+ const handler: TMetadataResolverFunc<IAssetAmountMetadata> = async (
95
+ ids: string[],
96
+ normalize
97
+ ) => {
91
98
  const metadata = ids.map((id) => ({ decimals: 6, assetId: id }));
92
99
  const map = new Map<string, IAssetAmountMetadata>();
93
- metadata.forEach((m) => map.set(m.assetId, m));
100
+ metadata.forEach((m) => map.set(normalize(m.assetId), m));
94
101
  return map;
95
102
  };
96
103
  const observer = new WalletObserver({
package/src/index.ts CHANGED
@@ -4,3 +4,5 @@ export { WalletObserver } from "./classes/WalletObserver.class.js";
4
4
  export * from "./react-components/contexts/observer/types.js";
5
5
  export * from "./react-components/hooks/index.js";
6
6
  export * from "./react-components/index.js";
7
+ export * from "./utils/assets.js";
8
+ export * from "./utils/getLibs.js";
@@ -6,6 +6,7 @@ import {
6
6
  TAssetAmountMap,
7
7
  TSupportedWalletExtensions,
8
8
  } from "../../../@types/observer.js";
9
+ import { WalletAssetMap } from "../../../classes/WalletAssetMap.class.js";
9
10
  import { WalletBalanceMap } from "../../../classes/WalletBalanceMap.class.js";
10
11
  import { WalletObserver } from "../../../classes/WalletObserver.class.js";
11
12
  import { areAssetMapsEqual } from "../../../utils/comparisons.js";
@@ -26,7 +27,7 @@ export const useWalletObserverState = (observer: WalletObserver) => {
26
27
  );
27
28
  const [handleMetadata, setHandleMetadata] = useState<
28
29
  TAssetAmountMap<THandleMetadata>
29
- >(new Map());
30
+ >(new WalletAssetMap());
30
31
  const [balance, setBalance] = useState<WalletBalanceMap>(
31
32
  new WalletBalanceMap(observer)
32
33
  );
@@ -2,6 +2,6 @@
2
2
 
3
3
  exports[`RenderWalletHandles should successfully update state with handle metadata 1`] = `"<pre>falsefalsefalse<button data-testid="connect-with-handles"></button></pre>"`;
4
4
 
5
- exports[`RenderWalletHandles should successfully update state with handle metadata 2`] = `"<pre>eternltruefalse00c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d00true00c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d000c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e855cd3dbc30bad8ac8fffbed87d36325b407a8e934b1507725fcd80121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00129ee829b3cea5762f0c1077db667390a9ee007825a0ed7b1150d35d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00d98f028bd372ed61079c6ed5083e3a977d69ab5d0b17b25bc87343dd121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00c888866b693e1ae8cb237351ba4bdc7e16882a1dc4a53d4de0537e56121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0082d061e45a1ff5b30de61d3d1137e6ebdd44d6056be88a44d547b5a3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,009de2d448e439c970d94bf483f8bcc0eb47040d3f293e096a580d3aca121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00da3f1060013b6e9be44cd2890a6f20f524d2071d22410a5264de115b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00d1c9c1d95ce5ee7e666cc83b2b56dd25d82f0c91b5c34175fd8448b6121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0002659dc406e1d51c2695bc23962b30487d3ceb995beb13b698509c6f121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00c46c44a29807de8fa23693b3da1c1976ebe8858f74199ca840b557ee121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,005d48e3d5655bf8a05eda49ea6683ccaf5351d505c38ae7ad43cbd4ab121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0095f329c349c57bd4bcf021c8a96e68eca384627fee9ebea56ff8167d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0081378bb3d576f8dce84a9bb6d6761530ef8088f335d231bd98eaedc3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0070fc9c5a5d80650a87dce6dc4ea9a066f3185352e89f946165995593121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,008063fa1c1fb41cafd24f484e2a7d0014202ffef9407af05bf4279889121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00134fd13220198b9e8d0523cec39465b2bf3400fdeca305bf88fe0bb2121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00fccd5b37e433d56779cf1beb43440415eaca903ca92c61de2bbf0c72121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,003c0b43dcb3cee0988607c478f11c5c657cb31ebeafe495d8eca5b4ee121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,002e0f369f4fabf5f314fd2dbd34e7d6a03d0336b8d974f2208c75bc34121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00d38956d5d8c3e996880298b8e1534679e285f93475cf6aa3256205c7121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00486dede781535d8ff49d9a0dadeb5c0d38ef150f6fc80180921ebe85121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,002ea947a2d3c0c95ca5124f6b61b83a5f4e0b71223f863be838831168121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00b7a6f578ed78826a3c32cadf5ede889ee350e43c4d11f8f9b94cb03e121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e1a7fdf8d8010e238948dec7150e84fd158acdeaa76c200d8a4b1f63121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00af0a05d243de50100af100863c88b4f6524fa4ee86a84127cf15b82b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0022de41ad5b3628ecd8686bce555846bedde16ea7881bd63abf9198e2121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0075fcbf24479728322e5f128c84c15c27aeea10196f56d1ff44d40b94121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00be01633e07d001fff611b3d39ac3ca89127acecef79aabb812cea125121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,005b819971068bae01c3d411f2b5b8a12331df4d9fbeb899c0a59afb9e121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0018edec9fc995f6ea029f87b6142efdd4a132cbe4f3c14cdad54e1362121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00ce805857db7601ac7af226290a0f0bee4608736fea251b8813359805121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,008911a9404ee35265e5b39ca1e38a5d64a67384307bc47ea5b1c2f1f3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00b80d7dfef9f0e989a62aabdbc9aec4703bc38dcc0363bcb902aad20f121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00a3aabe29cf0d4cf0acd9c0c4231e69ae145e426fd40d9bc089117416121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,001f64ff5164c16467e229f4305e5cd05cea85f407d68ba5c8f33f6d5d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00c1ce344ee9f695a9bfa4230254c0008aa62cf09f5f4444f6ece352d8121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00412be6abc6a8d58aa914bed006e77c0e8e6870a5405a0a00db9119b0121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00ebc9713be7aa719a00d2be641418b59747b8ba846e1687253d6667b5121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00b5c852e07c831c968ae7e0388bd0ed591097238ca3a3742367facf0f121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e10a1ec68fe34887f87c4badc81f93c2d69999614683cf05c8e97069121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0066de96d2a1c75f99185f4d5a39e49adccf18515cc512c5a7392b98cc121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0032c425519672bec473a8971a79a2758356ad24ee99353c7020fd5cac121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0036e19cee7f33f141d34fbb899c27a68900ac6593f082edfbe6fc3fe5121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,001280d6db873a83fa7908f1416acbbc189624b392be7935ba787f3cb9121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00ce1657bbdc8cceabecad61bb8bff3f9865d7c46170c6555c9e406aa0121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00de2d51517b76fcb141908bfa07a93f1bf93b92124838d2ed24022819121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e35880324d3302478a8c48cc9c71b81710b50f8fb444a5a56462e4b5121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00eb4b163aa81b319275f796b7b19b50c945604f47f807a5a5b5acd19a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0016f85346dc9b1efccaa9a69e357b49d7a25c03936ea5d05ede3cfca0121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,004746a8792a9eb11769d7593eeb4d0bf1be04d68c00ef50d2752c4d02121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00f0ccab792b8e74acca2e08533b805afc59a38671c3c68d337f16c185121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0061831490182c6c68168cddf4c995dca27c8b8b144b2643a010f938bc121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,001a150c13e1b5a2c6f5aa49e53ce9fc20e06d844ff162fcbd691624cd121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00631b6ceb11ddd4afc4ed3d098f978ff0bfbceda084f263dfebca0e9b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00f282664fba7a04a7e2c3e782e6a23153ea5384b4c680d9dc1a98959b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e594ceb9f74bd9fb58473f225f443dbd7be9ad76ab1c45925fe1d8ee121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00f9369f45d0ae6a0ac710a02cf92277c091ef548e493e1fccb8b149e3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,007b1da5a2d2cdac17fba68066eb5cb135776f0badd0ec77790115f34d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00dfcdec7a63f0e2422e938cdf3df012a9eefeccb0c835e56419fe345c121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,009da13e2ed25bdc1df37e3eef351aaee057ac926cedd1bb1ce02122d4121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0033b94204fa0c33953e26834572de06f89496dd9b910c98d622e21612121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,60c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a,60e855cd3dbc30bad8ac8fffbed87d36325b407a8e934b1507725fcd80,60129ee829b3cea5762f0c1077db667390a9ee007825a0ed7b1150d35d,60d98f028bd372ed61079c6ed5083e3a977d69ab5d0b17b25bc87343dd,60c888866b693e1ae8cb237351ba4bdc7e16882a1dc4a53d4de0537e56,6082d061e45a1ff5b30de61d3d1137e6ebdd44d6056be88a44d547b5a3,609de2d448e439c970d94bf483f8bcc0eb47040d3f293e096a580d3aca,60da3f1060013b6e9be44cd2890a6f20f524d2071d22410a5264de115b,60d1c9c1d95ce5ee7e666cc83b2b56dd25d82f0c91b5c34175fd8448b6,6002659dc406e1d51c2695bc23962b30487d3ceb995beb13b698509c6f,60c46c44a29807de8fa23693b3da1c1976ebe8858f74199ca840b557ee,605d48e3d5655bf8a05eda49ea6683ccaf5351d505c38ae7ad43cbd4ab,6095f329c349c57bd4bcf021c8a96e68eca384627fee9ebea56ff8167d,6081378bb3d576f8dce84a9bb6d6761530ef8088f335d231bd98eaedc3,6070fc9c5a5d80650a87dce6dc4ea9a066f3185352e89f946165995593,608063fa1c1fb41cafd24f484e2a7d0014202ffef9407af05bf4279889,60134fd13220198b9e8d0523cec39465b2bf3400fdeca305bf88fe0bb2,60fccd5b37e433d56779cf1beb43440415eaca903ca92c61de2bbf0c72,603c0b43dcb3cee0988607c478f11c5c657cb31ebeafe495d8eca5b4ee,602e0f369f4fabf5f314fd2dbd34e7d6a03d0336b8d974f2208c75bc34,60d38956d5d8c3e996880298b8e1534679e285f93475cf6aa3256205c7,60486dede781535d8ff49d9a0dadeb5c0d38ef150f6fc80180921ebe85,602ea947a2d3c0c95ca5124f6b61b83a5f4e0b71223f863be838831168,60b7a6f578ed78826a3c32cadf5ede889ee350e43c4d11f8f9b94cb03e,60e1a7fdf8d8010e238948dec7150e84fd158acdeaa76c200d8a4b1f63,60af0a05d243de50100af100863c88b4f6524fa4ee86a84127cf15b82b,6022de41ad5b3628ecd8686bce555846bedde16ea7881bd63abf9198e2,6075fcbf24479728322e5f128c84c15c27aeea10196f56d1ff44d40b94,60be01633e07d001fff611b3d39ac3ca89127acecef79aabb812cea125,605b819971068bae01c3d411f2b5b8a12331df4d9fbeb899c0a59afb9e,6018edec9fc995f6ea029f87b6142efdd4a132cbe4f3c14cdad54e1362,60ce805857db7601ac7af226290a0f0bee4608736fea251b8813359805,608911a9404ee35265e5b39ca1e38a5d64a67384307bc47ea5b1c2f1f3,60b80d7dfef9f0e989a62aabdbc9aec4703bc38dcc0363bcb902aad20f,60a3aabe29cf0d4cf0acd9c0c4231e69ae145e426fd40d9bc089117416,601f64ff5164c16467e229f4305e5cd05cea85f407d68ba5c8f33f6d5d,60c1ce344ee9f695a9bfa4230254c0008aa62cf09f5f4444f6ece352d8,60412be6abc6a8d58aa914bed006e77c0e8e6870a5405a0a00db9119b0,60ebc9713be7aa719a00d2be641418b59747b8ba846e1687253d6667b5,60b5c852e07c831c968ae7e0388bd0ed591097238ca3a3742367facf0f,60e10a1ec68fe34887f87c4badc81f93c2d69999614683cf05c8e97069,6066de96d2a1c75f99185f4d5a39e49adccf18515cc512c5a7392b98cc,6032c425519672bec473a8971a79a2758356ad24ee99353c7020fd5cac,6036e19cee7f33f141d34fbb899c27a68900ac6593f082edfbe6fc3fe5,601280d6db873a83fa7908f1416acbbc189624b392be7935ba787f3cb9,60ce1657bbdc8cceabecad61bb8bff3f9865d7c46170c6555c9e406aa0,60de2d51517b76fcb141908bfa07a93f1bf93b92124838d2ed24022819,60e35880324d3302478a8c48cc9c71b81710b50f8fb444a5a56462e4b5,60eb4b163aa81b319275f796b7b19b50c945604f47f807a5a5b5acd19a,6016f85346dc9b1efccaa9a69e357b49d7a25c03936ea5d05ede3cfca0,604746a8792a9eb11769d7593eeb4d0bf1be04d68c00ef50d2752c4d02,60f0ccab792b8e74acca2e08533b805afc59a38671c3c68d337f16c185,6061831490182c6c68168cddf4c995dca27c8b8b144b2643a010f938bc,601a150c13e1b5a2c6f5aa49e53ce9fc20e06d844ff162fcbd691624cd,60631b6ceb11ddd4afc4ed3d098f978ff0bfbceda084f263dfebca0e9b,60f282664fba7a04a7e2c3e782e6a23153ea5384b4c680d9dc1a98959b,60e594ceb9f74bd9fb58473f225f443dbd7be9ad76ab1c45925fe1d8ee,60f9369f45d0ae6a0ac710a02cf92277c091ef548e493e1fccb8b149e3,607b1da5a2d2cdac17fba68066eb5cb135776f0badd0ec77790115f34d,60dfcdec7a63f0e2422e938cdf3df012a9eefeccb0c835e56419fe345c,609da13e2ed25bdc1df37e3eef351aaee057ac926cedd1bb1ce02122d4,6033b94204fa0c33953e26834572de06f89496dd9b910c98d622e21612<p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36976","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3666171","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3666472","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe368756773","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36d696e69","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe372656b74","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe377656233","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36269703339","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3636f2d6f70","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3656964616e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36761746573","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe374616e7961","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3647275646765","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe366696e6c6579","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36b6f65706b65","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36d616b657273","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36d6f6465726e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe373796e746178","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe37a656b696168","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3636176656d616e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe364697372757074","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3656e6372797074","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe368757362616e64","decimals":0}</p><p data-testid="calvin">{"hex":"6d696e696d616c","name":"calvin","image":"ipfs://zdj7We5kz4op3HNodbzfRt14AqUJdygK2gHosAnbaDx7fGck2","standard_image":"ipfs://zb2rhenCxDXo56r7AwHsHuSBmK9x63diFzwxtsL6PsQnM3uUs","holder":"stake1uyyyruv2y289xm7laay8a9sgrn95q627q3q4v3z4eagjdrs4j0yqu","holder_type":"wallet","length":6,"og_number":0,"rarity":"common","utxo":"3911b59931d3f5e938bef6d773d4b0d6a48fab96d63c658aa4b240a50dcba679#1","characters":"letters","numeric_modifiers":"","default_in_wallet":"cal","pfp_image":"","bg_image":"ipfs://bafybeicuvareow6exu2ti6xtsxkzpcpsc7dj54q7oaratjm4uaqgd77ham","bg_asset":"c705d66dd826fa750a3fcc0a74c27fdb20db2ed18ad569232d7123ad001bc2804772616469656e7420536861706573202d2043616765","resolved_addresses":{"ada":"addr1qyzpu6dy0tp926q72qdsxmu3ydqg9qyavs7tanfcpudv24sgg8cc5g5w2dhalm6g06tqs8xtgp54upzp2ez9tn63y68qn5st78"},"created_slot_number":103834977,"updated_slot_number":115852137,"has_datum":false,"svg_version":"2.4.0","image_hash":"0291cbb9f046a27bb067b4310c6eab6ae8e755a49a3b7e1ae87314b569ab6548","standard_image_hash":"78e558e2c32e3de4e95cefad00857a98665cd323bf11bdd4b9b48a707de61910","version":1,"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36d696e696d616c","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe370726f66696c65","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe370757273756974","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3736176696e6773","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3616c64657262696e","decimals":0}</p><p data-testid="pi">{"hex":"62726577636c7562","name":"pi","image":"ipfs://QmYKjoA9fsLaGnz92BJbC5kHFsSKsijAdmowQqbmzjfWBT","standard_image":"ipfs://QmYKjoA9fsLaGnz92BJbC5kHFsSKsijAdmowQqbmzjfWBT","holder":"stake1u8q07kgyuhffc8v9auvn4jlqcm4hehdu7wsd9fvna95nr3qynl7dk","holder_type":"wallet","length":2,"og_number":0,"rarity":"ultra_rare","utxo":"8ae62ab3631124197cdd4faac83428c404e529f07db510899c68a373a22fa77c#1","characters":"letters","numeric_modifiers":"","default_in_wallet":"pi","pfp_image":"","bg_image":"","resolved_addresses":{"ada":"addr1qyyrwcs73wk9cp9e7lxpn86d2n4wxgyduxqxmmj6psmjejkqlavsfewjnswctmce8t97p3ht0nwmeuaq62je86tfx8zq6lh9kr"},"created_slot_number":55725690,"updated_slot_number":104951843,"has_datum":false,"svg_version":"","image_hash":"","standard_image_hash":"","version":0,"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe362726577636c7562","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36f726967696e616c","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3706c61793277696e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe37072656d69657265","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3646179747261646572","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe363687269737469616e6e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3706f7274666f6c696f31","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3706f7274666f6c696f32","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3706f7274666f6c696f33","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe373756666696369656e74","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe373757270726973656d65","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36f70706f7274756e697374","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3736f6c6f7072656e657572","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3737572766976616c697374","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe374686562726577636c7562","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36472756467657265706f7274","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe368617070796e657779656172","decimals":0}</p><button data-testid="connect-with-handles"></button></pre>"`;
5
+ exports[`RenderWalletHandles should successfully update state with handle metadata 2`] = `"<pre>eternltruefalse00c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d00true00c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d000c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e855cd3dbc30bad8ac8fffbed87d36325b407a8e934b1507725fcd80121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00129ee829b3cea5762f0c1077db667390a9ee007825a0ed7b1150d35d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00d98f028bd372ed61079c6ed5083e3a977d69ab5d0b17b25bc87343dd121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00c888866b693e1ae8cb237351ba4bdc7e16882a1dc4a53d4de0537e56121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0082d061e45a1ff5b30de61d3d1137e6ebdd44d6056be88a44d547b5a3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,009de2d448e439c970d94bf483f8bcc0eb47040d3f293e096a580d3aca121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00da3f1060013b6e9be44cd2890a6f20f524d2071d22410a5264de115b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00d1c9c1d95ce5ee7e666cc83b2b56dd25d82f0c91b5c34175fd8448b6121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0002659dc406e1d51c2695bc23962b30487d3ceb995beb13b698509c6f121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00c46c44a29807de8fa23693b3da1c1976ebe8858f74199ca840b557ee121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,005d48e3d5655bf8a05eda49ea6683ccaf5351d505c38ae7ad43cbd4ab121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0095f329c349c57bd4bcf021c8a96e68eca384627fee9ebea56ff8167d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0081378bb3d576f8dce84a9bb6d6761530ef8088f335d231bd98eaedc3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0070fc9c5a5d80650a87dce6dc4ea9a066f3185352e89f946165995593121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,008063fa1c1fb41cafd24f484e2a7d0014202ffef9407af05bf4279889121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00134fd13220198b9e8d0523cec39465b2bf3400fdeca305bf88fe0bb2121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00fccd5b37e433d56779cf1beb43440415eaca903ca92c61de2bbf0c72121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,003c0b43dcb3cee0988607c478f11c5c657cb31ebeafe495d8eca5b4ee121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,002e0f369f4fabf5f314fd2dbd34e7d6a03d0336b8d974f2208c75bc34121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00d38956d5d8c3e996880298b8e1534679e285f93475cf6aa3256205c7121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00486dede781535d8ff49d9a0dadeb5c0d38ef150f6fc80180921ebe85121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,002ea947a2d3c0c95ca5124f6b61b83a5f4e0b71223f863be838831168121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00b7a6f578ed78826a3c32cadf5ede889ee350e43c4d11f8f9b94cb03e121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e1a7fdf8d8010e238948dec7150e84fd158acdeaa76c200d8a4b1f63121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00af0a05d243de50100af100863c88b4f6524fa4ee86a84127cf15b82b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0022de41ad5b3628ecd8686bce555846bedde16ea7881bd63abf9198e2121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0075fcbf24479728322e5f128c84c15c27aeea10196f56d1ff44d40b94121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00be01633e07d001fff611b3d39ac3ca89127acecef79aabb812cea125121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,005b819971068bae01c3d411f2b5b8a12331df4d9fbeb899c0a59afb9e121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0018edec9fc995f6ea029f87b6142efdd4a132cbe4f3c14cdad54e1362121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00ce805857db7601ac7af226290a0f0bee4608736fea251b8813359805121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,008911a9404ee35265e5b39ca1e38a5d64a67384307bc47ea5b1c2f1f3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00b80d7dfef9f0e989a62aabdbc9aec4703bc38dcc0363bcb902aad20f121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00a3aabe29cf0d4cf0acd9c0c4231e69ae145e426fd40d9bc089117416121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,001f64ff5164c16467e229f4305e5cd05cea85f407d68ba5c8f33f6d5d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00c1ce344ee9f695a9bfa4230254c0008aa62cf09f5f4444f6ece352d8121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00412be6abc6a8d58aa914bed006e77c0e8e6870a5405a0a00db9119b0121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00ebc9713be7aa719a00d2be641418b59747b8ba846e1687253d6667b5121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00b5c852e07c831c968ae7e0388bd0ed591097238ca3a3742367facf0f121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e10a1ec68fe34887f87c4badc81f93c2d69999614683cf05c8e97069121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0066de96d2a1c75f99185f4d5a39e49adccf18515cc512c5a7392b98cc121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0032c425519672bec473a8971a79a2758356ad24ee99353c7020fd5cac121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0036e19cee7f33f141d34fbb899c27a68900ac6593f082edfbe6fc3fe5121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,001280d6db873a83fa7908f1416acbbc189624b392be7935ba787f3cb9121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00ce1657bbdc8cceabecad61bb8bff3f9865d7c46170c6555c9e406aa0121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00de2d51517b76fcb141908bfa07a93f1bf93b92124838d2ed24022819121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e35880324d3302478a8c48cc9c71b81710b50f8fb444a5a56462e4b5121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00eb4b163aa81b319275f796b7b19b50c945604f47f807a5a5b5acd19a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0016f85346dc9b1efccaa9a69e357b49d7a25c03936ea5d05ede3cfca0121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,004746a8792a9eb11769d7593eeb4d0bf1be04d68c00ef50d2752c4d02121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00f0ccab792b8e74acca2e08533b805afc59a38671c3c68d337f16c185121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0061831490182c6c68168cddf4c995dca27c8b8b144b2643a010f938bc121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,001a150c13e1b5a2c6f5aa49e53ce9fc20e06d844ff162fcbd691624cd121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00631b6ceb11ddd4afc4ed3d098f978ff0bfbceda084f263dfebca0e9b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00f282664fba7a04a7e2c3e782e6a23153ea5384b4c680d9dc1a98959b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e594ceb9f74bd9fb58473f225f443dbd7be9ad76ab1c45925fe1d8ee121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00f9369f45d0ae6a0ac710a02cf92277c091ef548e493e1fccb8b149e3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,007b1da5a2d2cdac17fba68066eb5cb135776f0badd0ec77790115f34d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00dfcdec7a63f0e2422e938cdf3df012a9eefeccb0c835e56419fe345c121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,009da13e2ed25bdc1df37e3eef351aaee057ac926cedd1bb1ce02122d4121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0033b94204fa0c33953e26834572de06f89496dd9b910c98d622e21612121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,60c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a,60e855cd3dbc30bad8ac8fffbed87d36325b407a8e934b1507725fcd80,60129ee829b3cea5762f0c1077db667390a9ee007825a0ed7b1150d35d,60d98f028bd372ed61079c6ed5083e3a977d69ab5d0b17b25bc87343dd,60c888866b693e1ae8cb237351ba4bdc7e16882a1dc4a53d4de0537e56,6082d061e45a1ff5b30de61d3d1137e6ebdd44d6056be88a44d547b5a3,609de2d448e439c970d94bf483f8bcc0eb47040d3f293e096a580d3aca,60da3f1060013b6e9be44cd2890a6f20f524d2071d22410a5264de115b,60d1c9c1d95ce5ee7e666cc83b2b56dd25d82f0c91b5c34175fd8448b6,6002659dc406e1d51c2695bc23962b30487d3ceb995beb13b698509c6f,60c46c44a29807de8fa23693b3da1c1976ebe8858f74199ca840b557ee,605d48e3d5655bf8a05eda49ea6683ccaf5351d505c38ae7ad43cbd4ab,6095f329c349c57bd4bcf021c8a96e68eca384627fee9ebea56ff8167d,6081378bb3d576f8dce84a9bb6d6761530ef8088f335d231bd98eaedc3,6070fc9c5a5d80650a87dce6dc4ea9a066f3185352e89f946165995593,608063fa1c1fb41cafd24f484e2a7d0014202ffef9407af05bf4279889,60134fd13220198b9e8d0523cec39465b2bf3400fdeca305bf88fe0bb2,60fccd5b37e433d56779cf1beb43440415eaca903ca92c61de2bbf0c72,603c0b43dcb3cee0988607c478f11c5c657cb31ebeafe495d8eca5b4ee,602e0f369f4fabf5f314fd2dbd34e7d6a03d0336b8d974f2208c75bc34,60d38956d5d8c3e996880298b8e1534679e285f93475cf6aa3256205c7,60486dede781535d8ff49d9a0dadeb5c0d38ef150f6fc80180921ebe85,602ea947a2d3c0c95ca5124f6b61b83a5f4e0b71223f863be838831168,60b7a6f578ed78826a3c32cadf5ede889ee350e43c4d11f8f9b94cb03e,60e1a7fdf8d8010e238948dec7150e84fd158acdeaa76c200d8a4b1f63,60af0a05d243de50100af100863c88b4f6524fa4ee86a84127cf15b82b,6022de41ad5b3628ecd8686bce555846bedde16ea7881bd63abf9198e2,6075fcbf24479728322e5f128c84c15c27aeea10196f56d1ff44d40b94,60be01633e07d001fff611b3d39ac3ca89127acecef79aabb812cea125,605b819971068bae01c3d411f2b5b8a12331df4d9fbeb899c0a59afb9e,6018edec9fc995f6ea029f87b6142efdd4a132cbe4f3c14cdad54e1362,60ce805857db7601ac7af226290a0f0bee4608736fea251b8813359805,608911a9404ee35265e5b39ca1e38a5d64a67384307bc47ea5b1c2f1f3,60b80d7dfef9f0e989a62aabdbc9aec4703bc38dcc0363bcb902aad20f,60a3aabe29cf0d4cf0acd9c0c4231e69ae145e426fd40d9bc089117416,601f64ff5164c16467e229f4305e5cd05cea85f407d68ba5c8f33f6d5d,60c1ce344ee9f695a9bfa4230254c0008aa62cf09f5f4444f6ece352d8,60412be6abc6a8d58aa914bed006e77c0e8e6870a5405a0a00db9119b0,60ebc9713be7aa719a00d2be641418b59747b8ba846e1687253d6667b5,60b5c852e07c831c968ae7e0388bd0ed591097238ca3a3742367facf0f,60e10a1ec68fe34887f87c4badc81f93c2d69999614683cf05c8e97069,6066de96d2a1c75f99185f4d5a39e49adccf18515cc512c5a7392b98cc,6032c425519672bec473a8971a79a2758356ad24ee99353c7020fd5cac,6036e19cee7f33f141d34fbb899c27a68900ac6593f082edfbe6fc3fe5,601280d6db873a83fa7908f1416acbbc189624b392be7935ba787f3cb9,60ce1657bbdc8cceabecad61bb8bff3f9865d7c46170c6555c9e406aa0,60de2d51517b76fcb141908bfa07a93f1bf93b92124838d2ed24022819,60e35880324d3302478a8c48cc9c71b81710b50f8fb444a5a56462e4b5,60eb4b163aa81b319275f796b7b19b50c945604f47f807a5a5b5acd19a,6016f85346dc9b1efccaa9a69e357b49d7a25c03936ea5d05ede3cfca0,604746a8792a9eb11769d7593eeb4d0bf1be04d68c00ef50d2752c4d02,60f0ccab792b8e74acca2e08533b805afc59a38671c3c68d337f16c185,6061831490182c6c68168cddf4c995dca27c8b8b144b2643a010f938bc,601a150c13e1b5a2c6f5aa49e53ce9fc20e06d844ff162fcbd691624cd,60631b6ceb11ddd4afc4ed3d098f978ff0bfbceda084f263dfebca0e9b,60f282664fba7a04a7e2c3e782e6a23153ea5384b4c680d9dc1a98959b,60e594ceb9f74bd9fb58473f225f443dbd7be9ad76ab1c45925fe1d8ee,60f9369f45d0ae6a0ac710a02cf92277c091ef548e493e1fccb8b149e3,607b1da5a2d2cdac17fba68066eb5cb135776f0badd0ec77790115f34d,60dfcdec7a63f0e2422e938cdf3df012a9eefeccb0c835e56419fe345c,609da13e2ed25bdc1df37e3eef351aaee057ac926cedd1bb1ce02122d4,6033b94204fa0c33953e26834572de06f89496dd9b910c98d622e21612<p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6976","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.666171","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.666472","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.68756773","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6d696e69","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.72656b74","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.77656233","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6269703339","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.636f2d6f70","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.656964616e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6761746573","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.74616e7961","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.647275646765","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.66696e6c6579","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6b6f65706b65","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6d616b657273","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6d6f6465726e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.73796e746178","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.7a656b696168","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.636176656d616e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.64697372757074","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.656e6372797074","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.68757362616e64","decimals":0}</p><p data-testid="calvin">{"hex":"6d696e696d616c","name":"calvin","image":"ipfs://zdj7We5kz4op3HNodbzfRt14AqUJdygK2gHosAnbaDx7fGck2","standard_image":"ipfs://zb2rhenCxDXo56r7AwHsHuSBmK9x63diFzwxtsL6PsQnM3uUs","holder":"stake1uyyyruv2y289xm7laay8a9sgrn95q627q3q4v3z4eagjdrs4j0yqu","holder_type":"wallet","length":6,"og_number":0,"rarity":"common","utxo":"3911b59931d3f5e938bef6d773d4b0d6a48fab96d63c658aa4b240a50dcba679#1","characters":"letters","numeric_modifiers":"","default_in_wallet":"cal","pfp_image":"","bg_image":"ipfs://bafybeicuvareow6exu2ti6xtsxkzpcpsc7dj54q7oaratjm4uaqgd77ham","bg_asset":"c705d66dd826fa750a3fcc0a74c27fdb20db2ed18ad569232d7123ad001bc2804772616469656e7420536861706573202d2043616765","resolved_addresses":{"ada":"addr1qyzpu6dy0tp926q72qdsxmu3ydqg9qyavs7tanfcpudv24sgg8cc5g5w2dhalm6g06tqs8xtgp54upzp2ez9tn63y68qn5st78"},"created_slot_number":103834977,"updated_slot_number":115852137,"has_datum":false,"svg_version":"2.4.0","image_hash":"0291cbb9f046a27bb067b4310c6eab6ae8e755a49a3b7e1ae87314b569ab6548","standard_image_hash":"78e558e2c32e3de4e95cefad00857a98665cd323bf11bdd4b9b48a707de61910","version":1,"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6d696e696d616c","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.70726f66696c65","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.70757273756974","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.736176696e6773","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.616c64657262696e","decimals":0}</p><p data-testid="pi">{"hex":"62726577636c7562","name":"pi","image":"ipfs://QmYKjoA9fsLaGnz92BJbC5kHFsSKsijAdmowQqbmzjfWBT","standard_image":"ipfs://QmYKjoA9fsLaGnz92BJbC5kHFsSKsijAdmowQqbmzjfWBT","holder":"stake1u8q07kgyuhffc8v9auvn4jlqcm4hehdu7wsd9fvna95nr3qynl7dk","holder_type":"wallet","length":2,"og_number":0,"rarity":"ultra_rare","utxo":"8ae62ab3631124197cdd4faac83428c404e529f07db510899c68a373a22fa77c#1","characters":"letters","numeric_modifiers":"","default_in_wallet":"pi","pfp_image":"","bg_image":"","resolved_addresses":{"ada":"addr1qyyrwcs73wk9cp9e7lxpn86d2n4wxgyduxqxmmj6psmjejkqlavsfewjnswctmce8t97p3ht0nwmeuaq62je86tfx8zq6lh9kr"},"created_slot_number":55725690,"updated_slot_number":104951843,"has_datum":false,"svg_version":"","image_hash":"","standard_image_hash":"","version":0,"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.62726577636c7562","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6f726967696e616c","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.706c61793277696e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.7072656d69657265","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.646179747261646572","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.63687269737469616e6e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.706f7274666f6c696f31","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.706f7274666f6c696f32","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.706f7274666f6c696f33","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.73756666696369656e74","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.73757270726973656d65","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6f70706f7274756e697374","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.736f6c6f7072656e657572","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.737572766976616c697374","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.74686562726577636c7562","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6472756467657265706f7274","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.68617070796e657779656172","decimals":0}</p><button data-testid="connect-with-handles"></button></pre>"`;
6
6
 
7
- exports[`RenderWalletHandles should successfully update state with handle metadata 3`] = `"<pre>eternltruefalse00c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d00true00c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d000c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e855cd3dbc30bad8ac8fffbed87d36325b407a8e934b1507725fcd80121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00129ee829b3cea5762f0c1077db667390a9ee007825a0ed7b1150d35d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00d98f028bd372ed61079c6ed5083e3a977d69ab5d0b17b25bc87343dd121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00c888866b693e1ae8cb237351ba4bdc7e16882a1dc4a53d4de0537e56121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0082d061e45a1ff5b30de61d3d1137e6ebdd44d6056be88a44d547b5a3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,009de2d448e439c970d94bf483f8bcc0eb47040d3f293e096a580d3aca121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00da3f1060013b6e9be44cd2890a6f20f524d2071d22410a5264de115b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00d1c9c1d95ce5ee7e666cc83b2b56dd25d82f0c91b5c34175fd8448b6121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0002659dc406e1d51c2695bc23962b30487d3ceb995beb13b698509c6f121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00c46c44a29807de8fa23693b3da1c1976ebe8858f74199ca840b557ee121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,005d48e3d5655bf8a05eda49ea6683ccaf5351d505c38ae7ad43cbd4ab121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0095f329c349c57bd4bcf021c8a96e68eca384627fee9ebea56ff8167d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0081378bb3d576f8dce84a9bb6d6761530ef8088f335d231bd98eaedc3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0070fc9c5a5d80650a87dce6dc4ea9a066f3185352e89f946165995593121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,008063fa1c1fb41cafd24f484e2a7d0014202ffef9407af05bf4279889121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00134fd13220198b9e8d0523cec39465b2bf3400fdeca305bf88fe0bb2121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00fccd5b37e433d56779cf1beb43440415eaca903ca92c61de2bbf0c72121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,003c0b43dcb3cee0988607c478f11c5c657cb31ebeafe495d8eca5b4ee121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,002e0f369f4fabf5f314fd2dbd34e7d6a03d0336b8d974f2208c75bc34121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00d38956d5d8c3e996880298b8e1534679e285f93475cf6aa3256205c7121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00486dede781535d8ff49d9a0dadeb5c0d38ef150f6fc80180921ebe85121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,002ea947a2d3c0c95ca5124f6b61b83a5f4e0b71223f863be838831168121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00b7a6f578ed78826a3c32cadf5ede889ee350e43c4d11f8f9b94cb03e121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e1a7fdf8d8010e238948dec7150e84fd158acdeaa76c200d8a4b1f63121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00af0a05d243de50100af100863c88b4f6524fa4ee86a84127cf15b82b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0022de41ad5b3628ecd8686bce555846bedde16ea7881bd63abf9198e2121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0075fcbf24479728322e5f128c84c15c27aeea10196f56d1ff44d40b94121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00be01633e07d001fff611b3d39ac3ca89127acecef79aabb812cea125121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,005b819971068bae01c3d411f2b5b8a12331df4d9fbeb899c0a59afb9e121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0018edec9fc995f6ea029f87b6142efdd4a132cbe4f3c14cdad54e1362121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00ce805857db7601ac7af226290a0f0bee4608736fea251b8813359805121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,008911a9404ee35265e5b39ca1e38a5d64a67384307bc47ea5b1c2f1f3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00b80d7dfef9f0e989a62aabdbc9aec4703bc38dcc0363bcb902aad20f121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00a3aabe29cf0d4cf0acd9c0c4231e69ae145e426fd40d9bc089117416121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,001f64ff5164c16467e229f4305e5cd05cea85f407d68ba5c8f33f6d5d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00c1ce344ee9f695a9bfa4230254c0008aa62cf09f5f4444f6ece352d8121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00412be6abc6a8d58aa914bed006e77c0e8e6870a5405a0a00db9119b0121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00ebc9713be7aa719a00d2be641418b59747b8ba846e1687253d6667b5121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00b5c852e07c831c968ae7e0388bd0ed591097238ca3a3742367facf0f121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e10a1ec68fe34887f87c4badc81f93c2d69999614683cf05c8e97069121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0066de96d2a1c75f99185f4d5a39e49adccf18515cc512c5a7392b98cc121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0032c425519672bec473a8971a79a2758356ad24ee99353c7020fd5cac121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0036e19cee7f33f141d34fbb899c27a68900ac6593f082edfbe6fc3fe5121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,001280d6db873a83fa7908f1416acbbc189624b392be7935ba787f3cb9121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00ce1657bbdc8cceabecad61bb8bff3f9865d7c46170c6555c9e406aa0121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00de2d51517b76fcb141908bfa07a93f1bf93b92124838d2ed24022819121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e35880324d3302478a8c48cc9c71b81710b50f8fb444a5a56462e4b5121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00eb4b163aa81b319275f796b7b19b50c945604f47f807a5a5b5acd19a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0016f85346dc9b1efccaa9a69e357b49d7a25c03936ea5d05ede3cfca0121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,004746a8792a9eb11769d7593eeb4d0bf1be04d68c00ef50d2752c4d02121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00f0ccab792b8e74acca2e08533b805afc59a38671c3c68d337f16c185121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0061831490182c6c68168cddf4c995dca27c8b8b144b2643a010f938bc121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,001a150c13e1b5a2c6f5aa49e53ce9fc20e06d844ff162fcbd691624cd121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00631b6ceb11ddd4afc4ed3d098f978ff0bfbceda084f263dfebca0e9b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00f282664fba7a04a7e2c3e782e6a23153ea5384b4c680d9dc1a98959b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e594ceb9f74bd9fb58473f225f443dbd7be9ad76ab1c45925fe1d8ee121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00f9369f45d0ae6a0ac710a02cf92277c091ef548e493e1fccb8b149e3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,007b1da5a2d2cdac17fba68066eb5cb135776f0badd0ec77790115f34d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00dfcdec7a63f0e2422e938cdf3df012a9eefeccb0c835e56419fe345c121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,009da13e2ed25bdc1df37e3eef351aaee057ac926cedd1bb1ce02122d4121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0033b94204fa0c33953e26834572de06f89496dd9b910c98d622e21612121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,60c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a,60e855cd3dbc30bad8ac8fffbed87d36325b407a8e934b1507725fcd80,60129ee829b3cea5762f0c1077db667390a9ee007825a0ed7b1150d35d,60d98f028bd372ed61079c6ed5083e3a977d69ab5d0b17b25bc87343dd,60c888866b693e1ae8cb237351ba4bdc7e16882a1dc4a53d4de0537e56,6082d061e45a1ff5b30de61d3d1137e6ebdd44d6056be88a44d547b5a3,609de2d448e439c970d94bf483f8bcc0eb47040d3f293e096a580d3aca,60da3f1060013b6e9be44cd2890a6f20f524d2071d22410a5264de115b,60d1c9c1d95ce5ee7e666cc83b2b56dd25d82f0c91b5c34175fd8448b6,6002659dc406e1d51c2695bc23962b30487d3ceb995beb13b698509c6f,60c46c44a29807de8fa23693b3da1c1976ebe8858f74199ca840b557ee,605d48e3d5655bf8a05eda49ea6683ccaf5351d505c38ae7ad43cbd4ab,6095f329c349c57bd4bcf021c8a96e68eca384627fee9ebea56ff8167d,6081378bb3d576f8dce84a9bb6d6761530ef8088f335d231bd98eaedc3,6070fc9c5a5d80650a87dce6dc4ea9a066f3185352e89f946165995593,608063fa1c1fb41cafd24f484e2a7d0014202ffef9407af05bf4279889,60134fd13220198b9e8d0523cec39465b2bf3400fdeca305bf88fe0bb2,60fccd5b37e433d56779cf1beb43440415eaca903ca92c61de2bbf0c72,603c0b43dcb3cee0988607c478f11c5c657cb31ebeafe495d8eca5b4ee,602e0f369f4fabf5f314fd2dbd34e7d6a03d0336b8d974f2208c75bc34,60d38956d5d8c3e996880298b8e1534679e285f93475cf6aa3256205c7,60486dede781535d8ff49d9a0dadeb5c0d38ef150f6fc80180921ebe85,602ea947a2d3c0c95ca5124f6b61b83a5f4e0b71223f863be838831168,60b7a6f578ed78826a3c32cadf5ede889ee350e43c4d11f8f9b94cb03e,60e1a7fdf8d8010e238948dec7150e84fd158acdeaa76c200d8a4b1f63,60af0a05d243de50100af100863c88b4f6524fa4ee86a84127cf15b82b,6022de41ad5b3628ecd8686bce555846bedde16ea7881bd63abf9198e2,6075fcbf24479728322e5f128c84c15c27aeea10196f56d1ff44d40b94,60be01633e07d001fff611b3d39ac3ca89127acecef79aabb812cea125,605b819971068bae01c3d411f2b5b8a12331df4d9fbeb899c0a59afb9e,6018edec9fc995f6ea029f87b6142efdd4a132cbe4f3c14cdad54e1362,60ce805857db7601ac7af226290a0f0bee4608736fea251b8813359805,608911a9404ee35265e5b39ca1e38a5d64a67384307bc47ea5b1c2f1f3,60b80d7dfef9f0e989a62aabdbc9aec4703bc38dcc0363bcb902aad20f,60a3aabe29cf0d4cf0acd9c0c4231e69ae145e426fd40d9bc089117416,601f64ff5164c16467e229f4305e5cd05cea85f407d68ba5c8f33f6d5d,60c1ce344ee9f695a9bfa4230254c0008aa62cf09f5f4444f6ece352d8,60412be6abc6a8d58aa914bed006e77c0e8e6870a5405a0a00db9119b0,60ebc9713be7aa719a00d2be641418b59747b8ba846e1687253d6667b5,60b5c852e07c831c968ae7e0388bd0ed591097238ca3a3742367facf0f,60e10a1ec68fe34887f87c4badc81f93c2d69999614683cf05c8e97069,6066de96d2a1c75f99185f4d5a39e49adccf18515cc512c5a7392b98cc,6032c425519672bec473a8971a79a2758356ad24ee99353c7020fd5cac,6036e19cee7f33f141d34fbb899c27a68900ac6593f082edfbe6fc3fe5,601280d6db873a83fa7908f1416acbbc189624b392be7935ba787f3cb9,60ce1657bbdc8cceabecad61bb8bff3f9865d7c46170c6555c9e406aa0,60de2d51517b76fcb141908bfa07a93f1bf93b92124838d2ed24022819,60e35880324d3302478a8c48cc9c71b81710b50f8fb444a5a56462e4b5,60eb4b163aa81b319275f796b7b19b50c945604f47f807a5a5b5acd19a,6016f85346dc9b1efccaa9a69e357b49d7a25c03936ea5d05ede3cfca0,604746a8792a9eb11769d7593eeb4d0bf1be04d68c00ef50d2752c4d02,60f0ccab792b8e74acca2e08533b805afc59a38671c3c68d337f16c185,6061831490182c6c68168cddf4c995dca27c8b8b144b2643a010f938bc,601a150c13e1b5a2c6f5aa49e53ce9fc20e06d844ff162fcbd691624cd,60631b6ceb11ddd4afc4ed3d098f978ff0bfbceda084f263dfebca0e9b,60f282664fba7a04a7e2c3e782e6a23153ea5384b4c680d9dc1a98959b,60e594ceb9f74bd9fb58473f225f443dbd7be9ad76ab1c45925fe1d8ee,60f9369f45d0ae6a0ac710a02cf92277c091ef548e493e1fccb8b149e3,607b1da5a2d2cdac17fba68066eb5cb135776f0badd0ec77790115f34d,60dfcdec7a63f0e2422e938cdf3df012a9eefeccb0c835e56419fe345c,609da13e2ed25bdc1df37e3eef351aaee057ac926cedd1bb1ce02122d4,6033b94204fa0c33953e26834572de06f89496dd9b910c98d622e21612<p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36976","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3666171","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3666472","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe368756773","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36d696e69","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe372656b74","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe377656233","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36269703339","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3636f2d6f70","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3656964616e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36761746573","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe374616e7961","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3647275646765","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe366696e6c6579","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36b6f65706b65","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36d616b657273","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36d6f6465726e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe373796e746178","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe37a656b696168","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3636176656d616e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe364697372757074","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3656e6372797074","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe368757362616e64","decimals":0}</p><p data-testid="calvin">{"hex":"6d696e696d616c","name":"calvin","image":"ipfs://zdj7We5kz4op3HNodbzfRt14AqUJdygK2gHosAnbaDx7fGck2","standard_image":"ipfs://zb2rhenCxDXo56r7AwHsHuSBmK9x63diFzwxtsL6PsQnM3uUs","holder":"stake1uyyyruv2y289xm7laay8a9sgrn95q627q3q4v3z4eagjdrs4j0yqu","holder_type":"wallet","length":6,"og_number":0,"rarity":"common","utxo":"3911b59931d3f5e938bef6d773d4b0d6a48fab96d63c658aa4b240a50dcba679#1","characters":"letters","numeric_modifiers":"","default_in_wallet":"cal","pfp_image":"","bg_image":"ipfs://bafybeicuvareow6exu2ti6xtsxkzpcpsc7dj54q7oaratjm4uaqgd77ham","bg_asset":"c705d66dd826fa750a3fcc0a74c27fdb20db2ed18ad569232d7123ad001bc2804772616469656e7420536861706573202d2043616765","resolved_addresses":{"ada":"addr1qyzpu6dy0tp926q72qdsxmu3ydqg9qyavs7tanfcpudv24sgg8cc5g5w2dhalm6g06tqs8xtgp54upzp2ez9tn63y68qn5st78"},"created_slot_number":103834977,"updated_slot_number":115852137,"has_datum":false,"svg_version":"2.4.0","image_hash":"0291cbb9f046a27bb067b4310c6eab6ae8e755a49a3b7e1ae87314b569ab6548","standard_image_hash":"78e558e2c32e3de4e95cefad00857a98665cd323bf11bdd4b9b48a707de61910","version":1,"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36d696e696d616c","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe370726f66696c65","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe370757273756974","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3736176696e6773","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3616c64657262696e","decimals":0}</p><p data-testid="pi">{"hex":"62726577636c7562","name":"pi","image":"ipfs://QmYKjoA9fsLaGnz92BJbC5kHFsSKsijAdmowQqbmzjfWBT","standard_image":"ipfs://QmYKjoA9fsLaGnz92BJbC5kHFsSKsijAdmowQqbmzjfWBT","holder":"stake1u8q07kgyuhffc8v9auvn4jlqcm4hehdu7wsd9fvna95nr3qynl7dk","holder_type":"wallet","length":2,"og_number":0,"rarity":"ultra_rare","utxo":"8ae62ab3631124197cdd4faac83428c404e529f07db510899c68a373a22fa77c#1","characters":"letters","numeric_modifiers":"","default_in_wallet":"pi","pfp_image":"","bg_image":"","resolved_addresses":{"ada":"addr1qyyrwcs73wk9cp9e7lxpn86d2n4wxgyduxqxmmj6psmjejkqlavsfewjnswctmce8t97p3ht0nwmeuaq62je86tfx8zq6lh9kr"},"created_slot_number":55725690,"updated_slot_number":104951843,"has_datum":false,"svg_version":"","image_hash":"","standard_image_hash":"","version":0,"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe362726577636c7562","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36f726967696e616c","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3706c61793277696e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe37072656d69657265","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3646179747261646572","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe363687269737469616e6e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3706f7274666f6c696f31","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3706f7274666f6c696f32","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3706f7274666f6c696f33","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe373756666696369656e74","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe373757270726973656d65","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36f70706f7274756e697374","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3736f6c6f7072656e657572","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3737572766976616c697374","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe374686562726577636c7562","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe36472756467657265706f7274","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe368617070796e657779656172","decimals":0}</p><button data-testid="connect-with-handles"></button></pre>"`;
7
+ exports[`RenderWalletHandles should successfully update state with handle metadata 3`] = `"<pre>eternltruefalse00c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d00true00c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d000c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e855cd3dbc30bad8ac8fffbed87d36325b407a8e934b1507725fcd80121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00129ee829b3cea5762f0c1077db667390a9ee007825a0ed7b1150d35d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00d98f028bd372ed61079c6ed5083e3a977d69ab5d0b17b25bc87343dd121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00c888866b693e1ae8cb237351ba4bdc7e16882a1dc4a53d4de0537e56121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0082d061e45a1ff5b30de61d3d1137e6ebdd44d6056be88a44d547b5a3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,009de2d448e439c970d94bf483f8bcc0eb47040d3f293e096a580d3aca121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00da3f1060013b6e9be44cd2890a6f20f524d2071d22410a5264de115b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00d1c9c1d95ce5ee7e666cc83b2b56dd25d82f0c91b5c34175fd8448b6121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0002659dc406e1d51c2695bc23962b30487d3ceb995beb13b698509c6f121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00c46c44a29807de8fa23693b3da1c1976ebe8858f74199ca840b557ee121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,005d48e3d5655bf8a05eda49ea6683ccaf5351d505c38ae7ad43cbd4ab121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0095f329c349c57bd4bcf021c8a96e68eca384627fee9ebea56ff8167d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0081378bb3d576f8dce84a9bb6d6761530ef8088f335d231bd98eaedc3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0070fc9c5a5d80650a87dce6dc4ea9a066f3185352e89f946165995593121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,008063fa1c1fb41cafd24f484e2a7d0014202ffef9407af05bf4279889121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00134fd13220198b9e8d0523cec39465b2bf3400fdeca305bf88fe0bb2121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00fccd5b37e433d56779cf1beb43440415eaca903ca92c61de2bbf0c72121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,003c0b43dcb3cee0988607c478f11c5c657cb31ebeafe495d8eca5b4ee121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,002e0f369f4fabf5f314fd2dbd34e7d6a03d0336b8d974f2208c75bc34121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00d38956d5d8c3e996880298b8e1534679e285f93475cf6aa3256205c7121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00486dede781535d8ff49d9a0dadeb5c0d38ef150f6fc80180921ebe85121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,002ea947a2d3c0c95ca5124f6b61b83a5f4e0b71223f863be838831168121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00b7a6f578ed78826a3c32cadf5ede889ee350e43c4d11f8f9b94cb03e121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e1a7fdf8d8010e238948dec7150e84fd158acdeaa76c200d8a4b1f63121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00af0a05d243de50100af100863c88b4f6524fa4ee86a84127cf15b82b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0022de41ad5b3628ecd8686bce555846bedde16ea7881bd63abf9198e2121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0075fcbf24479728322e5f128c84c15c27aeea10196f56d1ff44d40b94121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00be01633e07d001fff611b3d39ac3ca89127acecef79aabb812cea125121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,005b819971068bae01c3d411f2b5b8a12331df4d9fbeb899c0a59afb9e121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0018edec9fc995f6ea029f87b6142efdd4a132cbe4f3c14cdad54e1362121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00ce805857db7601ac7af226290a0f0bee4608736fea251b8813359805121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,008911a9404ee35265e5b39ca1e38a5d64a67384307bc47ea5b1c2f1f3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00b80d7dfef9f0e989a62aabdbc9aec4703bc38dcc0363bcb902aad20f121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00a3aabe29cf0d4cf0acd9c0c4231e69ae145e426fd40d9bc089117416121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,001f64ff5164c16467e229f4305e5cd05cea85f407d68ba5c8f33f6d5d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00c1ce344ee9f695a9bfa4230254c0008aa62cf09f5f4444f6ece352d8121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00412be6abc6a8d58aa914bed006e77c0e8e6870a5405a0a00db9119b0121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00ebc9713be7aa719a00d2be641418b59747b8ba846e1687253d6667b5121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00b5c852e07c831c968ae7e0388bd0ed591097238ca3a3742367facf0f121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e10a1ec68fe34887f87c4badc81f93c2d69999614683cf05c8e97069121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0066de96d2a1c75f99185f4d5a39e49adccf18515cc512c5a7392b98cc121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0032c425519672bec473a8971a79a2758356ad24ee99353c7020fd5cac121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0036e19cee7f33f141d34fbb899c27a68900ac6593f082edfbe6fc3fe5121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,001280d6db873a83fa7908f1416acbbc189624b392be7935ba787f3cb9121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00ce1657bbdc8cceabecad61bb8bff3f9865d7c46170c6555c9e406aa0121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00de2d51517b76fcb141908bfa07a93f1bf93b92124838d2ed24022819121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e35880324d3302478a8c48cc9c71b81710b50f8fb444a5a56462e4b5121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00eb4b163aa81b319275f796b7b19b50c945604f47f807a5a5b5acd19a121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0016f85346dc9b1efccaa9a69e357b49d7a25c03936ea5d05ede3cfca0121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,004746a8792a9eb11769d7593eeb4d0bf1be04d68c00ef50d2752c4d02121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00f0ccab792b8e74acca2e08533b805afc59a38671c3c68d337f16c185121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0061831490182c6c68168cddf4c995dca27c8b8b144b2643a010f938bc121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,001a150c13e1b5a2c6f5aa49e53ce9fc20e06d844ff162fcbd691624cd121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00631b6ceb11ddd4afc4ed3d098f978ff0bfbceda084f263dfebca0e9b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00f282664fba7a04a7e2c3e782e6a23153ea5384b4c680d9dc1a98959b121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00e594ceb9f74bd9fb58473f225f443dbd7be9ad76ab1c45925fe1d8ee121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00f9369f45d0ae6a0ac710a02cf92277c091ef548e493e1fccb8b149e3121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,007b1da5a2d2cdac17fba68066eb5cb135776f0badd0ec77790115f34d121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,00dfcdec7a63f0e2422e938cdf3df012a9eefeccb0c835e56419fe345c121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,009da13e2ed25bdc1df37e3eef351aaee057ac926cedd1bb1ce02122d4121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,0033b94204fa0c33953e26834572de06f89496dd9b910c98d622e21612121fd22e0b57ac206fefc763f8bfa0771919f5218b40691eea4514d0,60c279a3fb3b4e62bbc78e288783b58045d4ae82a18867d8352d02775a,60e855cd3dbc30bad8ac8fffbed87d36325b407a8e934b1507725fcd80,60129ee829b3cea5762f0c1077db667390a9ee007825a0ed7b1150d35d,60d98f028bd372ed61079c6ed5083e3a977d69ab5d0b17b25bc87343dd,60c888866b693e1ae8cb237351ba4bdc7e16882a1dc4a53d4de0537e56,6082d061e45a1ff5b30de61d3d1137e6ebdd44d6056be88a44d547b5a3,609de2d448e439c970d94bf483f8bcc0eb47040d3f293e096a580d3aca,60da3f1060013b6e9be44cd2890a6f20f524d2071d22410a5264de115b,60d1c9c1d95ce5ee7e666cc83b2b56dd25d82f0c91b5c34175fd8448b6,6002659dc406e1d51c2695bc23962b30487d3ceb995beb13b698509c6f,60c46c44a29807de8fa23693b3da1c1976ebe8858f74199ca840b557ee,605d48e3d5655bf8a05eda49ea6683ccaf5351d505c38ae7ad43cbd4ab,6095f329c349c57bd4bcf021c8a96e68eca384627fee9ebea56ff8167d,6081378bb3d576f8dce84a9bb6d6761530ef8088f335d231bd98eaedc3,6070fc9c5a5d80650a87dce6dc4ea9a066f3185352e89f946165995593,608063fa1c1fb41cafd24f484e2a7d0014202ffef9407af05bf4279889,60134fd13220198b9e8d0523cec39465b2bf3400fdeca305bf88fe0bb2,60fccd5b37e433d56779cf1beb43440415eaca903ca92c61de2bbf0c72,603c0b43dcb3cee0988607c478f11c5c657cb31ebeafe495d8eca5b4ee,602e0f369f4fabf5f314fd2dbd34e7d6a03d0336b8d974f2208c75bc34,60d38956d5d8c3e996880298b8e1534679e285f93475cf6aa3256205c7,60486dede781535d8ff49d9a0dadeb5c0d38ef150f6fc80180921ebe85,602ea947a2d3c0c95ca5124f6b61b83a5f4e0b71223f863be838831168,60b7a6f578ed78826a3c32cadf5ede889ee350e43c4d11f8f9b94cb03e,60e1a7fdf8d8010e238948dec7150e84fd158acdeaa76c200d8a4b1f63,60af0a05d243de50100af100863c88b4f6524fa4ee86a84127cf15b82b,6022de41ad5b3628ecd8686bce555846bedde16ea7881bd63abf9198e2,6075fcbf24479728322e5f128c84c15c27aeea10196f56d1ff44d40b94,60be01633e07d001fff611b3d39ac3ca89127acecef79aabb812cea125,605b819971068bae01c3d411f2b5b8a12331df4d9fbeb899c0a59afb9e,6018edec9fc995f6ea029f87b6142efdd4a132cbe4f3c14cdad54e1362,60ce805857db7601ac7af226290a0f0bee4608736fea251b8813359805,608911a9404ee35265e5b39ca1e38a5d64a67384307bc47ea5b1c2f1f3,60b80d7dfef9f0e989a62aabdbc9aec4703bc38dcc0363bcb902aad20f,60a3aabe29cf0d4cf0acd9c0c4231e69ae145e426fd40d9bc089117416,601f64ff5164c16467e229f4305e5cd05cea85f407d68ba5c8f33f6d5d,60c1ce344ee9f695a9bfa4230254c0008aa62cf09f5f4444f6ece352d8,60412be6abc6a8d58aa914bed006e77c0e8e6870a5405a0a00db9119b0,60ebc9713be7aa719a00d2be641418b59747b8ba846e1687253d6667b5,60b5c852e07c831c968ae7e0388bd0ed591097238ca3a3742367facf0f,60e10a1ec68fe34887f87c4badc81f93c2d69999614683cf05c8e97069,6066de96d2a1c75f99185f4d5a39e49adccf18515cc512c5a7392b98cc,6032c425519672bec473a8971a79a2758356ad24ee99353c7020fd5cac,6036e19cee7f33f141d34fbb899c27a68900ac6593f082edfbe6fc3fe5,601280d6db873a83fa7908f1416acbbc189624b392be7935ba787f3cb9,60ce1657bbdc8cceabecad61bb8bff3f9865d7c46170c6555c9e406aa0,60de2d51517b76fcb141908bfa07a93f1bf93b92124838d2ed24022819,60e35880324d3302478a8c48cc9c71b81710b50f8fb444a5a56462e4b5,60eb4b163aa81b319275f796b7b19b50c945604f47f807a5a5b5acd19a,6016f85346dc9b1efccaa9a69e357b49d7a25c03936ea5d05ede3cfca0,604746a8792a9eb11769d7593eeb4d0bf1be04d68c00ef50d2752c4d02,60f0ccab792b8e74acca2e08533b805afc59a38671c3c68d337f16c185,6061831490182c6c68168cddf4c995dca27c8b8b144b2643a010f938bc,601a150c13e1b5a2c6f5aa49e53ce9fc20e06d844ff162fcbd691624cd,60631b6ceb11ddd4afc4ed3d098f978ff0bfbceda084f263dfebca0e9b,60f282664fba7a04a7e2c3e782e6a23153ea5384b4c680d9dc1a98959b,60e594ceb9f74bd9fb58473f225f443dbd7be9ad76ab1c45925fe1d8ee,60f9369f45d0ae6a0ac710a02cf92277c091ef548e493e1fccb8b149e3,607b1da5a2d2cdac17fba68066eb5cb135776f0badd0ec77790115f34d,60dfcdec7a63f0e2422e938cdf3df012a9eefeccb0c835e56419fe345c,609da13e2ed25bdc1df37e3eef351aaee057ac926cedd1bb1ce02122d4,6033b94204fa0c33953e26834572de06f89496dd9b910c98d622e21612<p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6976","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.666171","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.666472","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.68756773","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6d696e69","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.72656b74","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.77656233","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6269703339","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.636f2d6f70","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.656964616e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6761746573","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.74616e7961","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.647275646765","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.66696e6c6579","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6b6f65706b65","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6d616b657273","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6d6f6465726e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.73796e746178","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.7a656b696168","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.636176656d616e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.64697372757074","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.656e6372797074","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.68757362616e64","decimals":0}</p><p data-testid="calvin">{"hex":"6d696e696d616c","name":"calvin","image":"ipfs://zdj7We5kz4op3HNodbzfRt14AqUJdygK2gHosAnbaDx7fGck2","standard_image":"ipfs://zb2rhenCxDXo56r7AwHsHuSBmK9x63diFzwxtsL6PsQnM3uUs","holder":"stake1uyyyruv2y289xm7laay8a9sgrn95q627q3q4v3z4eagjdrs4j0yqu","holder_type":"wallet","length":6,"og_number":0,"rarity":"common","utxo":"3911b59931d3f5e938bef6d773d4b0d6a48fab96d63c658aa4b240a50dcba679#1","characters":"letters","numeric_modifiers":"","default_in_wallet":"cal","pfp_image":"","bg_image":"ipfs://bafybeicuvareow6exu2ti6xtsxkzpcpsc7dj54q7oaratjm4uaqgd77ham","bg_asset":"c705d66dd826fa750a3fcc0a74c27fdb20db2ed18ad569232d7123ad001bc2804772616469656e7420536861706573202d2043616765","resolved_addresses":{"ada":"addr1qyzpu6dy0tp926q72qdsxmu3ydqg9qyavs7tanfcpudv24sgg8cc5g5w2dhalm6g06tqs8xtgp54upzp2ez9tn63y68qn5st78"},"created_slot_number":103834977,"updated_slot_number":115852137,"has_datum":false,"svg_version":"2.4.0","image_hash":"0291cbb9f046a27bb067b4310c6eab6ae8e755a49a3b7e1ae87314b569ab6548","standard_image_hash":"78e558e2c32e3de4e95cefad00857a98665cd323bf11bdd4b9b48a707de61910","version":1,"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6d696e696d616c","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.70726f66696c65","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.70757273756974","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.736176696e6773","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.616c64657262696e","decimals":0}</p><p data-testid="pi">{"hex":"62726577636c7562","name":"pi","image":"ipfs://QmYKjoA9fsLaGnz92BJbC5kHFsSKsijAdmowQqbmzjfWBT","standard_image":"ipfs://QmYKjoA9fsLaGnz92BJbC5kHFsSKsijAdmowQqbmzjfWBT","holder":"stake1u8q07kgyuhffc8v9auvn4jlqcm4hehdu7wsd9fvna95nr3qynl7dk","holder_type":"wallet","length":2,"og_number":0,"rarity":"ultra_rare","utxo":"8ae62ab3631124197cdd4faac83428c404e529f07db510899c68a373a22fa77c#1","characters":"letters","numeric_modifiers":"","default_in_wallet":"pi","pfp_image":"","bg_image":"","resolved_addresses":{"ada":"addr1qyyrwcs73wk9cp9e7lxpn86d2n4wxgyduxqxmmj6psmjejkqlavsfewjnswctmce8t97p3ht0nwmeuaq62je86tfx8zq6lh9kr"},"created_slot_number":55725690,"updated_slot_number":104951843,"has_datum":false,"svg_version":"","image_hash":"","standard_image_hash":"","version":0,"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.62726577636c7562","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6f726967696e616c","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.706c61793277696e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.7072656d69657265","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.646179747261646572","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.63687269737469616e6e","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.706f7274666f6c696f31","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.706f7274666f6c696f32","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.706f7274666f6c696f33","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.73756666696369656e74","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.73757270726973656d65","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6f70706f7274756e697374","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.736f6c6f7072656e657572","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.737572766976616c697374","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.74686562726577636c7562","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.6472756467657265706f7274","decimals":0}</p><p>{"assetId":"8d18d786e92776c824607fd8e193ec535c79dc61ea2405ddf3b09fe3.68617070796e657779656172","decimals":0}</p><button data-testid="connect-with-handles"></button></pre>"`;
@@ -3,6 +3,8 @@ import { useCallback, useEffect, useMemo, useState } from "react";
3
3
  import { IHandle } from "@koralabs/adahandle-sdk";
4
4
  import { IAssetAmountMetadata } from "@sundaeswap/asset";
5
5
  import { TAssetAmountMap } from "../../@types/observer.js";
6
+ import { WalletAssetMap } from "../../classes/WalletAssetMap.class.js";
7
+ import { normalizeAssetIdWithDot } from "../../utils/assets.js";
6
8
  import { THandleMetadata } from "../contexts/observer/types.js";
7
9
  import { useWalletObserver } from "./useWalletObserver.js";
8
10
 
@@ -13,7 +15,7 @@ export const useWalletHandles = <
13
15
  const [loadingHandles, setLoadingHandles] = useState(true);
14
16
  const [handles, setHandles] = useState<
15
17
  TAssetAmountMap<THandleMetadata<AssetMetadata>>
16
- >(new Map());
18
+ >(new WalletAssetMap());
17
19
  const memoizedHandleDep = useMemo(
18
20
  () => [...state.balance.getHandles().keys()],
19
21
  [state.balance]
@@ -24,10 +26,9 @@ export const useWalletHandles = <
24
26
  >(async () => {
25
27
  // Make a copy of our wallet map.
26
28
  const walletHandles: TAssetAmountMap<THandleMetadata<AssetMetadata>> =
27
- new Map([...state.balance.getHandles()]);
29
+ new WalletAssetMap([...state.balance.getHandles()]);
28
30
 
29
31
  if (walletHandles.size === 0) {
30
- setLoadingHandles(false);
31
32
  return walletHandles;
32
33
  }
33
34
 
@@ -53,30 +54,31 @@ export const useWalletHandles = <
53
54
  const walletHandleDataArray: IHandle[] = await sdk
54
55
  .provider()
55
56
  .getAllDataBatch(
56
- walletHandlesWithDataArray.map(([key]) => ({ value: key.slice(56) }))
57
+ walletHandlesWithDataArray.map(([key]) => ({
58
+ value: key.split(".")[1],
59
+ }))
57
60
  );
58
61
 
59
62
  walletHandlesWithDataArray.forEach(([key, asset]) => {
60
63
  const matchingData = walletHandleDataArray.find(
61
- ({ hex }) => hex === key.slice(56)
64
+ ({ hex }) => hex === key.split(".")[1]
62
65
  ) as IHandle;
63
66
 
64
67
  walletHandles.set(
65
- key,
68
+ normalizeAssetIdWithDot(key),
66
69
  asset
67
70
  .withMetadata({
68
71
  ...matchingData,
69
72
  ...asset.metadata,
73
+ assetId: normalizeAssetIdWithDot(asset.metadata.assetId),
70
74
  decimals: 0,
71
75
  })
72
76
  .withAmount(1n)
73
77
  );
74
78
  });
75
79
 
76
- setLoadingHandles(false);
77
80
  return walletHandles;
78
81
  } catch (e) {
79
- setLoadingHandles(false);
80
82
  console.log(e);
81
83
  return walletHandles;
82
84
  }
@@ -84,31 +86,33 @@ export const useWalletHandles = <
84
86
  }, [state.balance, setLoadingHandles]);
85
87
 
86
88
  useEffect(() => {
87
- syncHandles().then((newHandles) => {
88
- setHandles((prevHandles) => {
89
- let handleMetadataChanged = false;
90
-
91
- if (newHandles.size !== prevHandles?.size) {
92
- handleMetadataChanged = true;
93
- } else {
94
- for (const [key, val] of newHandles) {
95
- if (
96
- !prevHandles.has(key) ||
97
- prevHandles.get(key)?.amount !== val?.amount
98
- ) {
99
- handleMetadataChanged = true;
89
+ syncHandles()
90
+ .then((newHandles) => {
91
+ setHandles((prevHandles) => {
92
+ let handleMetadataChanged = false;
93
+
94
+ if (newHandles.size !== prevHandles?.size) {
95
+ handleMetadataChanged = true;
96
+ } else {
97
+ for (const [key, val] of newHandles) {
98
+ if (
99
+ !prevHandles.has(key) ||
100
+ prevHandles.get(key)?.amount !== val?.amount
101
+ ) {
102
+ handleMetadataChanged = true;
103
+ }
100
104
  }
101
105
  }
102
- }
103
106
 
104
- if (!handleMetadataChanged) {
105
- return prevHandles;
106
- }
107
+ if (!handleMetadataChanged) {
108
+ return prevHandles;
109
+ }
107
110
 
108
- return newHandles;
109
- });
110
- });
111
- }, [memoizedHandleDep, syncHandles, setHandles]);
111
+ return newHandles;
112
+ });
113
+ })
114
+ .then(() => setLoadingHandles((prevValue) => !prevValue));
115
+ }, [memoizedHandleDep, syncHandles, setHandles, setLoadingHandles]);
112
116
 
113
117
  const data = useMemo(
114
118
  () => ({
@@ -118,5 +122,7 @@ export const useWalletHandles = <
118
122
  [handles, loadingHandles]
119
123
  );
120
124
 
125
+ console.log(handles, loadingHandles);
126
+
121
127
  return data;
122
128
  };