@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.
- package/dist/browser/client/components/connected/hooks/useConnectAccount.d.ts +1 -1
- package/dist/browser/client/components/connected/hooks/useConnectAccount.d.ts.map +1 -1
- package/dist/browser/client/index.mjs +17 -7
- package/dist/browser/client/index.mjs.map +3 -3
- package/dist/browser/index.mjs +17 -7
- package/dist/browser/index.mjs.map +3 -3
- package/package.json +4 -4
package/dist/browser/index.mjs
CHANGED
|
@@ -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 {
|
|
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
|
|
963
|
-
|
|
964
|
-
const
|
|
965
|
-
|
|
966
|
-
|
|
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
|
-
}, [
|
|
980
|
+
}, [permissions]);
|
|
971
981
|
return {
|
|
972
982
|
address: asAddress(accountPermissions?.[0] ?? address),
|
|
973
983
|
connectSigner,
|