@xyo-network/react-wallet 2.54.1 → 2.55.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/WalletAccountDetails/WalletAccountDetails.js +5 -5
- package/dist/cjs/components/WalletAccountDetails/WalletAccountDetails.js.map +1 -1
- package/dist/cjs/components/WalletAccountSelect/Select.js +10 -12
- package/dist/cjs/components/WalletAccountSelect/Select.js.map +1 -1
- package/dist/cjs/contexts/Account/MemoryProvider.js.map +1 -1
- package/dist/cjs/contexts/Account/use.js +3 -3
- package/dist/cjs/contexts/Account/use.js.map +1 -1
- package/dist/cjs/contexts/Wallet/Provider.js +9 -4
- package/dist/cjs/contexts/Wallet/Provider.js.map +1 -1
- package/dist/cjs/hooks/index.js +6 -0
- package/dist/cjs/hooks/index.js.map +1 -0
- package/dist/cjs/hooks/useAccount.js +14 -0
- package/dist/cjs/hooks/useAccount.js.map +1 -0
- package/dist/cjs/hooks/useAccounts.js +13 -0
- package/dist/cjs/hooks/useAccounts.js.map +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +1924 -1051
- package/dist/esm/components/WalletAccountDetails/WalletAccountDetails.js +5 -5
- package/dist/esm/components/WalletAccountDetails/WalletAccountDetails.js.map +1 -1
- package/dist/esm/components/WalletAccountSelect/Select.js +9 -12
- package/dist/esm/components/WalletAccountSelect/Select.js.map +1 -1
- package/dist/esm/contexts/Account/MemoryProvider.js.map +1 -1
- package/dist/esm/contexts/Account/use.js +1 -1
- package/dist/esm/contexts/Account/use.js.map +1 -1
- package/dist/esm/contexts/Wallet/Provider.js +8 -3
- package/dist/esm/contexts/Wallet/Provider.js.map +1 -1
- package/dist/esm/hooks/index.js +3 -0
- package/dist/esm/hooks/index.js.map +1 -0
- package/dist/esm/hooks/useAccount.js +9 -0
- package/dist/esm/hooks/useAccount.js.map +1 -0
- package/dist/esm/hooks/useAccounts.js +8 -0
- package/dist/esm/hooks/useAccounts.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/types/components/WalletAccountDetails/WalletAccountDetails.d.ts +2 -2
- package/dist/types/components/WalletAccountDetails/WalletAccountDetails.d.ts.map +1 -1
- package/dist/types/components/WalletAccountSelect/Select.d.ts +10 -0
- package/dist/types/components/WalletAccountSelect/Select.d.ts.map +1 -1
- package/dist/types/contexts/Account/MemoryProvider.d.ts +2 -2
- package/dist/types/contexts/Account/MemoryProvider.d.ts.map +1 -1
- package/dist/types/contexts/Account/State.d.ts +3 -3
- package/dist/types/contexts/Account/State.d.ts.map +1 -1
- package/dist/types/contexts/Account/use.d.ts +1 -1
- package/dist/types/contexts/Account/use.d.ts.map +1 -1
- package/dist/types/contexts/Wallet/Provider.d.ts +2 -2
- package/dist/types/contexts/Wallet/Provider.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +3 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useAccount.d.ts +11 -0
- package/dist/types/hooks/useAccount.d.ts.map +1 -0
- package/dist/types/hooks/useAccounts.d.ts +8 -0
- package/dist/types/hooks/useAccounts.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +12 -10
- package/src/components/WalletAccountDetails/WalletAccountDetails.tsx +7 -11
- package/src/components/WalletAccountDetails/WalletAccountDetailsWithProvider.stories.tsx +3 -2
- package/src/components/WalletAccountSelect/Select.tsx +51 -35
- package/src/components/WalletAccountSelect/WalletAccountSelect.stories.tsx +3 -2
- package/src/components/WalletAccountSelect/WalletAccountSelectBar.stories.tsx +31 -15
- package/src/components/WalletAccountSelect/WalletAccountSelectWithProvider.stories.tsx +3 -1
- package/src/contexts/Account/MemoryProvider.tsx +3 -3
- package/src/contexts/Account/State.ts +3 -3
- package/src/contexts/Account/use.ts +1 -1
- package/src/contexts/Wallet/Provider.tsx +24 -15
- package/src/hooks/index.ts +2 -0
- package/src/hooks/useAccount.tsx +23 -0
- package/src/hooks/useAccounts.tsx +16 -0
- package/src/index.ts +1 -0
|
@@ -8,14 +8,14 @@ const react_crypto_1 = require("@xylabs/react-crypto");
|
|
|
8
8
|
const react_flexbox_1 = require("@xylabs/react-flexbox");
|
|
9
9
|
const react_number_status_1 = require("@xylabs/react-number-status");
|
|
10
10
|
const react_network_1 = require("@xyo-network/react-network");
|
|
11
|
-
const
|
|
11
|
+
const hooks_1 = require("../../hooks");
|
|
12
12
|
const WalletAccountDetails = (_a) => {
|
|
13
13
|
var _b;
|
|
14
|
-
var { exploreUrl = 'https://explore.xyo.network', account
|
|
15
|
-
const [
|
|
14
|
+
var { exploreUrl = 'https://explore.xyo.network', account } = _a, props = tslib_1.__rest(_a, ["exploreUrl", "account"]);
|
|
15
|
+
const [accountToUse] = (0, hooks_1.useAccount)({ account });
|
|
16
16
|
const { network } = (0, react_network_1.useNetwork)();
|
|
17
|
-
const exploreAddressUrl = `${exploreUrl}/recent?account=${
|
|
18
|
-
return ((0, jsx_runtime_1.jsxs)(react_flexbox_1.FlexCol, Object.assign({}, props, { children: [(0, jsx_runtime_1.jsx)(react_crypto_1.EthAccountButton, { address: eth_address_1.EthAddress.fromString(
|
|
17
|
+
const exploreAddressUrl = `${exploreUrl}/recent?account=${accountToUse === null || accountToUse === void 0 ? void 0 : accountToUse.address}&network=${(_b = network === null || network === void 0 ? void 0 : network.name) !== null && _b !== void 0 ? _b : 'main'}`;
|
|
18
|
+
return ((0, jsx_runtime_1.jsxs)(react_flexbox_1.FlexCol, Object.assign({}, props, { children: [(0, jsx_runtime_1.jsx)(react_crypto_1.EthAccountButton, { address: eth_address_1.EthAddress.fromString(accountToUse === null || accountToUse === void 0 ? void 0 : accountToUse.address) }), (0, jsx_runtime_1.jsxs)(react_flexbox_1.FlexRow, Object.assign({ gap: 1 }, { children: [(0, jsx_runtime_1.jsx)(react_number_status_1.NumberStatus, { rounded: true, title: "Tokens", value: 0, to: `${exploreAddressUrl}&schema=network.xyo.account.tokens`, target: "_blank" }), (0, jsx_runtime_1.jsx)(react_number_status_1.NumberStatus, { rounded: true, title: "NFTs", value: 0, to: `${exploreAddressUrl}&schema=network.xyo.account.nfts`, target: "_blank" }), (0, jsx_runtime_1.jsx)(react_number_status_1.NumberStatus, { rounded: true, title: "Signatures", value: 0, to: `${exploreAddressUrl}&schema=network.xyo.account.signatures`, target: "_blank" }), (0, jsx_runtime_1.jsx)(react_number_status_1.NumberStatus, { rounded: true, title: "Signins", value: 0, to: `${exploreAddressUrl}&schema=network.xyo.account.signins`, target: "_blank" })] }))] })));
|
|
19
19
|
};
|
|
20
20
|
exports.WalletAccountDetails = WalletAccountDetails;
|
|
21
21
|
//# sourceMappingURL=WalletAccountDetails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WalletAccountDetails.js","sourceRoot":"","sources":["../../../../src/components/WalletAccountDetails/WalletAccountDetails.tsx"],"names":[],"mappings":";;;;;AAAA,qDAAgD;AAChD,uDAAuD;AACvD,yDAAsE;AACtE,qEAA0D;
|
|
1
|
+
{"version":3,"file":"WalletAccountDetails.js","sourceRoot":"","sources":["../../../../src/components/WalletAccountDetails/WalletAccountDetails.tsx"],"names":[],"mappings":";;;;;AAAA,qDAAgD;AAChD,uDAAuD;AACvD,yDAAsE;AACtE,qEAA0D;AAC1D,8DAAuD;AAGvD,uCAAwC;AAOjC,MAAM,oBAAoB,GAAwC,CAAC,EAAiE,EAAE,EAAE;;QAArE,EAAE,UAAU,GAAG,6BAA6B,EAAE,OAAO,OAAY,EAAP,KAAK,sBAA/D,yBAAiE,CAAF;IACvI,MAAM,CAAC,YAAY,CAAC,GAAG,IAAA,kBAAU,EAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAC9C,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,0BAAU,GAAE,CAAA;IAChC,MAAM,iBAAiB,GAAG,GAAG,UAAU,mBAAmB,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,YAAY,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,MAAM,EAAE,CAAA;IAEpH,OAAO,CACL,wBAAC,uBAAO,oBAAK,KAAK,eAChB,uBAAC,+BAAgB,IAAC,OAAO,EAAE,wBAAU,CAAC,UAAU,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,OAAO,CAAC,GAAI,EAC3E,wBAAC,uBAAO,kBAAC,GAAG,EAAE,CAAC,iBACb,uBAAC,kCAAY,IAAC,OAAO,QAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,iBAAiB,oCAAoC,EAAE,MAAM,EAAC,QAAQ,GAAG,EAC/H,uBAAC,kCAAY,IAAC,OAAO,QAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,iBAAiB,kCAAkC,EAAE,MAAM,EAAC,QAAQ,GAAG,EAC3H,uBAAC,kCAAY,IAAC,OAAO,QAAC,KAAK,EAAC,YAAY,EAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,iBAAiB,wCAAwC,EAAE,MAAM,EAAC,QAAQ,GAAG,EACvI,uBAAC,kCAAY,IAAC,OAAO,QAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,iBAAiB,qCAAqC,EAAE,MAAM,EAAC,QAAQ,GAAG,KACzH,KACF,CACX,CAAA;AACH,CAAC,CAAA;AAhBY,QAAA,oBAAoB,wBAgBhC"}
|
|
@@ -1,30 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WalletAccountSelect = void 0;
|
|
3
|
+
exports.WalletAccountSelect = exports.RenderValue = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const material_1 = require("@mui/material");
|
|
7
7
|
const react_select_1 = require("@xylabs/react-select");
|
|
8
8
|
const react_address_render_1 = require("@xyo-network/react-address-render");
|
|
9
|
+
const react_shared_1 = require("@xyo-network/react-shared");
|
|
9
10
|
const contexts_1 = require("../../contexts");
|
|
10
11
|
const arrayRange = (length, start = 0) => {
|
|
11
12
|
return Array.from(Array(length).keys()).map((x) => x + start);
|
|
12
13
|
};
|
|
14
|
+
const RenderValue = ({ iconOnly, iconSize, showFavorite, icons, addressNames, selected, wallet }) => {
|
|
15
|
+
const [account] = (0, react_shared_1.usePromise)(() => wallet.derivePath(selected.toString()));
|
|
16
|
+
const customName = account ? addressNames[account === null || account === void 0 ? void 0 : account.address] : undefined;
|
|
17
|
+
const favorite = account ? (account === null || account === void 0 ? void 0 : account.address) in addressNames : undefined;
|
|
18
|
+
return ((0, jsx_runtime_1.jsx)(react_address_render_1.AddressRenderRowBox, { address: account === null || account === void 0 ? void 0 : account.address, iconOnly: iconOnly, iconSize: iconSize, icons: icons, name: customName, favorite: favorite, showFavorite: showFavorite }));
|
|
19
|
+
};
|
|
20
|
+
exports.RenderValue = RenderValue;
|
|
13
21
|
const WalletAccountSelect = (_a) => {
|
|
14
22
|
var { addressNames = {}, iconOnly, iconSize = 24, icons, maxAccounts = 1, showFavorite = false, size } = _a, props = tslib_1.__rest(_a, ["addressNames", "iconOnly", "iconSize", "icons", "maxAccounts", "showFavorite", "size"]);
|
|
15
23
|
const { activeAccountIndex = 0, setActiveAccountIndex, wallet } = (0, contexts_1.useWallet)();
|
|
16
24
|
const disabled = !wallet || activeAccountIndex === undefined;
|
|
17
|
-
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: wallet ? ((0, jsx_runtime_1.jsx)(react_select_1.SelectEx, Object.assign({ disabled: disabled, renderValue: (selected) => {
|
|
18
|
-
const account = wallet.derivePath(selected.toString());
|
|
19
|
-
const customName = addressNames[account === null || account === void 0 ? void 0 : account.addressValue.hex];
|
|
20
|
-
const favorite = (account === null || account === void 0 ? void 0 : account.addressValue.hex) in addressNames;
|
|
21
|
-
return ((0, jsx_runtime_1.jsx)(react_address_render_1.AddressRenderRowBox, { address: account === null || account === void 0 ? void 0 : account.addressValue.hex, iconOnly: iconOnly, iconSize: iconSize, icons: icons, name: customName, favorite: favorite, showFavorite: showFavorite }));
|
|
22
|
-
}, value: activeAccountIndex, onChange: (event) => setActiveAccountIndex === null || setActiveAccountIndex === void 0 ? void 0 : setActiveAccountIndex(parseInt(`${event.target.value}`)), size: size, variant: "outlined" }, props, { children: arrayRange(maxAccounts).map((index) => {
|
|
23
|
-
const account = wallet.derivePath(index.toString());
|
|
24
|
-
const customName = addressNames[account === null || account === void 0 ? void 0 : account.addressValue.hex];
|
|
25
|
-
const favorite = (account === null || account === void 0 ? void 0 : account.addressValue.hex) in addressNames;
|
|
26
|
-
return ((0, jsx_runtime_1.jsx)(material_1.MenuItem, Object.assign({ value: index }, { children: (0, jsx_runtime_1.jsx)(react_address_render_1.AddressRenderRowBox, { address: account === null || account === void 0 ? void 0 : account.addressValue.hex, favorite: favorite, iconOnly: iconOnly, iconSize: iconSize, icons: icons, name: customName, showFavorite: showFavorite }) }), account === null || account === void 0 ? void 0 : account.addressValue.hex));
|
|
27
|
-
}) }))) : ((0, jsx_runtime_1.jsx)(material_1.CircularProgress, { size: 24 })) }));
|
|
25
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: wallet ? ((0, jsx_runtime_1.jsx)(react_select_1.SelectEx, Object.assign({ disabled: disabled, renderValue: (selected) => ((0, jsx_runtime_1.jsx)(exports.RenderValue, { wallet: wallet, selected: selected, addressNames: addressNames, iconOnly: iconOnly, iconSize: iconSize, icons: icons, showFavorite: showFavorite })), value: activeAccountIndex, onChange: (event) => setActiveAccountIndex === null || setActiveAccountIndex === void 0 ? void 0 : setActiveAccountIndex(parseInt(`${event.target.value}`)), size: size, variant: "outlined" }, props, { children: arrayRange(maxAccounts).map((index) => ((0, jsx_runtime_1.jsx)(exports.RenderValue, { wallet: wallet, selected: index, addressNames: addressNames, iconOnly: iconOnly, iconSize: iconSize, icons: icons, showFavorite: showFavorite }, index))) }))) : ((0, jsx_runtime_1.jsx)(material_1.CircularProgress, { size: 24 })) }));
|
|
28
26
|
};
|
|
29
27
|
exports.WalletAccountSelect = WalletAccountSelect;
|
|
30
28
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/components/WalletAccountSelect/Select.tsx"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/components/WalletAccountSelect/Select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryProvider.js","sourceRoot":"","sources":["../../../../src/contexts/Account/MemoryProvider.tsx"],"names":[],"mappings":";;;;;AAEA,iCAAgC;AAEhC,uCAA0C;AAMnC,MAAM,qBAAqB,GAAuD,CAAC,EAA4B,EAAE,EAAE;QAAhC,EAAE,cAAc,OAAY,EAAP,KAAK,sBAA1B,kBAA4B,CAAF;IAClH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,
|
|
1
|
+
{"version":3,"file":"MemoryProvider.js","sourceRoot":"","sources":["../../../../src/contexts/Account/MemoryProvider.tsx"],"names":[],"mappings":";;;;;AAEA,iCAAgC;AAEhC,uCAA0C;AAMnC,MAAM,qBAAqB,GAAuD,CAAC,EAA4B,EAAE,EAAE;QAAhC,EAAE,cAAc,OAAY,EAAP,KAAK,sBAA1B,kBAA4B,CAAF;IAClH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAA6B,cAAc,CAAC,CAAA;IAElF,OAAO,uBAAC,wBAAc,CAAC,QAAQ,kBAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAM,KAAK,EAAI,CAAA;AACxG,CAAC,CAAA;AAJY,QAAA,qBAAqB,yBAIjC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.useAccountFromContext = void 0;
|
|
4
4
|
const react_shared_1 = require("@xyo-network/react-shared");
|
|
5
5
|
const Context_1 = require("./Context");
|
|
6
|
-
const
|
|
6
|
+
const useAccountFromContext = (required = false) => {
|
|
7
7
|
const { account } = (0, react_shared_1.useContextEx)(Context_1.AccountContext, 'Account', required);
|
|
8
8
|
return [account];
|
|
9
9
|
};
|
|
10
|
-
exports.
|
|
10
|
+
exports.useAccountFromContext = useAccountFromContext;
|
|
11
11
|
//# sourceMappingURL=use.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/Account/use.ts"],"names":[],"mappings":";;;AAAA,4DAAwD;AAExD,uCAA0C;AAEnC,MAAM,
|
|
1
|
+
{"version":3,"file":"use.js","sourceRoot":"","sources":["../../../../src/contexts/Account/use.ts"],"names":[],"mappings":";;;AAAA,4DAAwD;AAExD,uCAA0C;AAEnC,MAAM,qBAAqB,GAAG,CAAC,QAAQ,GAAG,KAAK,EAAE,EAAE;IACxD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,2BAAY,EAAC,wBAAc,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IACrE,OAAO,CAAC,OAAO,CAAC,CAAA;AAClB,CAAC,CAAA;AAHY,QAAA,qBAAqB,yBAGjC"}
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.WalletProvider = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const react_async_effect_1 = require("@xylabs/react-async-effect");
|
|
7
|
+
const react_shared_1 = require("@xyo-network/react-shared");
|
|
6
8
|
const react_1 = require("react");
|
|
7
9
|
const Account_1 = require("../Account");
|
|
8
10
|
const Context_1 = require("./Context");
|
|
@@ -10,7 +12,8 @@ const lib_1 = require("./lib");
|
|
|
10
12
|
const use_1 = require("./use");
|
|
11
13
|
const AccountWalletProvider = (props) => {
|
|
12
14
|
const { wallet, activeAccountIndex = 0 } = (0, use_1.useWallet)();
|
|
13
|
-
|
|
15
|
+
const [account] = (0, react_shared_1.usePromise)(() => wallet === null || wallet === void 0 ? void 0 : wallet.derivePath(activeAccountIndex.toString()));
|
|
16
|
+
return (0, jsx_runtime_1.jsx)(Account_1.AccountContext.Provider, Object.assign({ value: { account, provided: true } }, props));
|
|
14
17
|
};
|
|
15
18
|
const WalletProvider = (_a) => {
|
|
16
19
|
var { basePath = lib_1.WalletRootPath, children, defaultActiveAccountIndex = 0, defaultWallet } = _a, props = tslib_1.__rest(_a, ["basePath", "children", "defaultActiveAccountIndex", "defaultWallet"]);
|
|
@@ -21,12 +24,14 @@ const WalletProvider = (_a) => {
|
|
|
21
24
|
setActiveAccountIndex(defaultActiveAccountIndex);
|
|
22
25
|
}
|
|
23
26
|
}, [defaultActiveAccountIndex]);
|
|
24
|
-
(0,
|
|
27
|
+
(0, react_async_effect_1.useAsyncEffect)(
|
|
28
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
|
+
() => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
25
30
|
// ensure the wallet has the proper base
|
|
26
31
|
if (defaultWallet) {
|
|
27
32
|
if (!(wallet === null || wallet === void 0 ? void 0 : wallet.path.includes(basePath))) {
|
|
28
33
|
try {
|
|
29
|
-
const walletWithBasePath = defaultWallet === null || defaultWallet === void 0 ? void 0 : defaultWallet.derivePath(basePath);
|
|
34
|
+
const walletWithBasePath = (yield (defaultWallet === null || defaultWallet === void 0 ? void 0 : defaultWallet.derivePath(basePath)));
|
|
30
35
|
setWallet(walletWithBasePath);
|
|
31
36
|
}
|
|
32
37
|
catch (e) {
|
|
@@ -37,7 +42,7 @@ const WalletProvider = (_a) => {
|
|
|
37
42
|
else {
|
|
38
43
|
throw Error('WalletProvider requires a default HDWallet');
|
|
39
44
|
}
|
|
40
|
-
}, [basePath, defaultWallet, wallet === null || wallet === void 0 ? void 0 : wallet.path]);
|
|
45
|
+
}), [basePath, defaultWallet, wallet === null || wallet === void 0 ? void 0 : wallet.path]);
|
|
41
46
|
return ((0, jsx_runtime_1.jsx)(Context_1.WalletContext.Provider, Object.assign({ value: {
|
|
42
47
|
activeAccountIndex,
|
|
43
48
|
basePath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/Wallet/Provider.tsx"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/Wallet/Provider.tsx"],"names":[],"mappings":";;;;;AAAA,mEAA2D;AAG3D,4DAAsD;AAEtD,iCAA2C;AAE3C,wCAA2C;AAC3C,uCAAyC;AACzC,+BAAsC;AACtC,+BAAiC;AAQjC,MAAM,qBAAqB,GAA2B,CAAC,KAAK,EAAE,EAAE;IAC9D,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,CAAC,EAAE,GAAG,IAAA,eAAS,GAAE,CAAA;IAEtD,MAAM,CAAC,OAAO,CAAC,GAAG,IAAA,yBAAU,EAAC,GAAG,EAAE,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;IAErF,OAAO,uBAAC,wBAAc,CAAC,QAAQ,kBAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAM,KAAK,EAAI,CAAA;AACnF,CAAC,CAAA;AAEM,MAAM,cAAc,GAAgD,CAAC,EAM3E,EAAE,EAAE;QANuE,EAC1E,QAAQ,GAAG,oBAAc,EACzB,QAAQ,EACR,yBAAyB,GAAG,CAAC,EAC7B,aAAa,OAEd,EADI,KAAK,sBALkE,sEAM3E,CADS;IAER,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,GAAwB,CAAA;IAC5D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAAC,yBAAyB,CAAC,CAAA;IAEvF,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,yBAAyB,KAAK,SAAS,EAAE;YAC3C,qBAAqB,CAAC,yBAAyB,CAAC,CAAA;SACjD;IACH,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAA;IAE/B,IAAA,mCAAc;IACZ,uDAAuD;IACvD,GAAS,EAAE;QACT,wCAAwC;QACxC,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA,EAAE;gBACpC,IAAI;oBACF,MAAM,kBAAkB,GAAG,CAAC,MAAM,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,CAAC,QAAQ,CAAC,CAAA,CAAa,CAAA;oBAClF,SAAS,CAAC,kBAAkB,CAAC,CAAA;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAA;iBAC1D;aACF;SACF;aAAM;YACL,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC1D;IACH,CAAC,CAAA,EACD,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,CACxC,CAAA;IAED,OAAO,CACL,uBAAC,uBAAa,CAAC,QAAQ,kBACrB,KAAK,EAAE;YACL,kBAAkB;YAClB,QAAQ;YACR,QAAQ,EAAE,IAAI;YACd,qBAAqB;YACrB,SAAS;YACT,MAAM;SACP,IACG,KAAK,cAET,uBAAC,qBAAqB,cAAE,QAAQ,GAAyB,IAClC,CAC1B,CAAA;AACH,CAAC,CAAA;AAnDY,QAAA,cAAc,kBAmD1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,wDAA6B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useAccount = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const account_1 = require("@xyo-network/account");
|
|
6
|
+
const react_shared_1 = require("@xyo-network/react-shared");
|
|
7
|
+
const contexts_1 = require("../contexts");
|
|
8
|
+
const useAccount = ({ mnemonic, account, path, required, seed } = {}) => {
|
|
9
|
+
const [contextAccount] = (0, contexts_1.useAccountFromContext)(!account && required);
|
|
10
|
+
const [activeAccount] = (0, react_shared_1.usePromise)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return ((account !== null && account !== void 0 ? account : mnemonic) ? yield account_1.HDWallet.fromMnemonic(mnemonic) : seed ? yield account_1.HDWallet.fromSeed(seed) : contextAccount); }), [account, mnemonic, contextAccount, seed]);
|
|
11
|
+
return (0, react_shared_1.usePromise)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () { var _a; return (path ? yield ((_a = activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.derivePath) === null || _a === void 0 ? void 0 : _a.call(activeAccount, path)) : activeAccount); }));
|
|
12
|
+
};
|
|
13
|
+
exports.useAccount = useAccount;
|
|
14
|
+
//# sourceMappingURL=useAccount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAccount.js","sourceRoot":"","sources":["../../../src/hooks/useAccount.tsx"],"names":[],"mappings":";;;;AAAA,kDAA+C;AAE/C,4DAAsD;AAGtD,0CAAmD;AAU5C,MAAM,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAwB,EAAE,EAAE,EAAE;IAChG,MAAM,CAAC,cAAc,CAAC,GAAG,IAAA,gCAAqB,EAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAA;IACpE,MAAM,CAAC,aAAa,CAAC,GAAG,IAAA,yBAAU,EAChC,GAAS,EAAE,0DAAC,OAAA,CAAC,CAAA,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,EAAC,CAAC,CAAC,MAAM,kBAAQ,CAAC,YAAY,CAAC,QAAkB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,kBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAA,GAAA,EAC3I,CAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,CAC1C,CAAA;IACD,OAAO,IAAA,yBAAU,EAAC,GAAS,EAAE,kEAAC,OAAA,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,8DAAG,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA,GAAA,CAAC,CAAA;AACjG,CAAC,CAAA;AAPY,QAAA,UAAU,cAOtB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useAccounts = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const react_shared_1 = require("@xyo-network/react-shared");
|
|
6
|
+
const contexts_1 = require("../contexts");
|
|
7
|
+
const useAccounts = ({ account, paths, required } = {}) => {
|
|
8
|
+
const [contextAccount] = (0, contexts_1.useAccountFromContext)(!account && required);
|
|
9
|
+
const activeAccount = account !== null && account !== void 0 ? account : contextAccount;
|
|
10
|
+
return (0, react_shared_1.usePromise)(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () { return (paths ? yield Promise.all(paths.map((path) => { var _a; return (_a = activeAccount === null || activeAccount === void 0 ? void 0 : activeAccount.derivePath) === null || _a === void 0 ? void 0 : _a.call(activeAccount, path); })) : activeAccount); }));
|
|
11
|
+
};
|
|
12
|
+
exports.useAccounts = useAccounts;
|
|
13
|
+
//# sourceMappingURL=useAccounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAccounts.js","sourceRoot":"","sources":["../../../src/hooks/useAccounts.tsx"],"names":[],"mappings":";;;;AAAA,4DAAsD;AAGtD,0CAAmD;AAQ5C,MAAM,WAAW,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,KAAyB,EAAE,EAAE,EAAE;IACnF,MAAM,CAAC,cAAc,CAAC,GAAG,IAAA,gCAAqB,EAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAA;IACpE,MAAM,aAAa,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,cAAc,CAAA;IAC/C,OAAO,IAAA,yBAAU,EAAC,GAAS,EAAE,0DAAC,OAAA,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,UAAU,8DAAG,IAAI,CAAC,CAAA,EAAA,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA,GAAA,CAAC,CAAA;AACpI,CAAC,CAAA;AAJY,QAAA,WAAW,eAIvB"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,4 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./components"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./contexts"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./hooks"), exports);
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,qDAA0B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,qDAA0B;AAC1B,kDAAuB"}
|