@xyo-network/xl1-react-client-sdk 4.0.1 → 4.0.2

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.
@@ -5,7 +5,7 @@ export declare const useConnectAccount: (gatewayName?: GatewayName, timeout?: nu
5
5
  } & {
6
6
  readonly __address: true;
7
7
  }) | undefined;
8
- connectSigner: () => Promise<import("@xyo-network/sdk-protocol").XyoQuantAddress | (Lowercase<string> & {
8
+ connectSigner: () => Promise<(Lowercase<string> & {
9
9
  readonly __hex: true;
10
10
  } & {
11
11
  readonly __address: true;
@@ -1 +1 @@
1
- {"version":3,"file":"useConnectAccount.d.ts","sourceRoot":"","sources":["../../../../../../src/client/components/connected/hooks/useConnectAccount.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAMvD,eAAO,MAAM,iBAAiB,GAAI,cAAa,WAA4B,EAAE,UAAU,MAAM;;;;;;;;;;;;;;CA2B5F,CAAA"}
1
+ {"version":3,"file":"useConnectAccount.d.ts","sourceRoot":"","sources":["../../../../../../src/client/components/connected/hooks/useConnectAccount.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAcvD,eAAO,MAAM,iBAAiB,GAAI,cAAa,WAA4B,EAAE,UAAU,MAAM;;;;;;;;;;;;;;CAgC5F,CAAA"}
@@ -944,9 +944,17 @@ import { ButtonEx as ButtonEx5 } from "@xylabs/sdk-react";
944
944
  import { useEffect as useEffect4 } from "react";
945
945
 
946
946
  // src/client/components/connected/hooks/useConnectAccount.ts
947
- import { asAddress, assertEx } from "@xylabs/sdk";
947
+ import {
948
+ asAddress,
949
+ assertEx,
950
+ isArray as isArray2,
951
+ isString as isString2
952
+ } from "@xylabs/sdk";
948
953
  import { MainNetwork } from "@xyo-network/xl1-sdk";
949
954
  import { useCallback as useCallback4, useState as useState5 } from "react";
955
+ var ACCOUNTS_CAPABILITY = "xyoWallet_getAccounts";
956
+ var RESTRICT_RETURNED_ACCOUNTS = "restrictReturnedAccounts";
957
+ var firstGrantedAccount = (grantedAccounts) => isArray2(grantedAccounts) && isString2(grantedAccounts[0]) ? grantedAccounts[0] : void 0;
950
958
  var useConnectAccount = (gatewayName = MainNetwork.id, timeout) => {
951
959
  const [connectError, setConnectError] = useState5();
952
960
  const {
@@ -955,19 +963,21 @@ var useConnectAccount = (gatewayName = MainNetwork.id, timeout) => {
955
963
  timedout
956
964
  } = useGatewayFromWallet(gatewayName, timeout);
957
965
  const [accountPermissions, accountPermissionsError] = useAccountPermissions();
966
+ const { permissions } = usePermissions();
958
967
  const [address, setAddress] = useState5();
959
968
  const connectSigner = useCallback4(async () => {
960
969
  try {
961
970
  setConnectError(void 0);
962
- const assertedGateway = assertEx(gateway, () => `Gateway ${gatewayName} is not available`);
963
- const signer = assertedGateway.signer;
964
- const address2 = await signer.address();
965
- setAddress(address2);
966
- return address2;
971
+ const assertedPermissions = assertEx(permissions, () => "Wallet permissions are not available");
972
+ await assertedPermissions.requestPermissions([{ [ACCOUNTS_CAPABILITY]: {} }]);
973
+ const grantedAccounts = await findCaveat(assertedPermissions, ACCOUNTS_CAPABILITY, RESTRICT_RETURNED_ACCOUNTS);
974
+ const connectedAddress = firstGrantedAccount(grantedAccounts);
975
+ setAddress(connectedAddress);
976
+ return asAddress(connectedAddress);
967
977
  } catch (e) {
968
978
  setConnectError(e);
969
979
  }
970
- }, [gateway, gatewayName]);
980
+ }, [permissions]);
971
981
  return {
972
982
  address: asAddress(accountPermissions?.[0] ?? address),
973
983
  connectSigner,