@xyo-network/react-wallet 2.45.0 → 2.45.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.
Files changed (38) hide show
  1. package/dist/cjs/components/WalletAccountSelect/Select.js +2 -2
  2. package/dist/cjs/components/WalletAccountSelect/Select.js.map +1 -1
  3. package/dist/cjs/contexts/Wallet/Provider.js +9 -6
  4. package/dist/cjs/contexts/Wallet/Provider.js.map +1 -1
  5. package/dist/cjs/contexts/Wallet/index.js +1 -0
  6. package/dist/cjs/contexts/Wallet/index.js.map +1 -1
  7. package/dist/cjs/contexts/Wallet/lib/WalletPath.js +8 -0
  8. package/dist/cjs/contexts/Wallet/lib/WalletPath.js.map +1 -0
  9. package/dist/cjs/contexts/Wallet/lib/index.js +5 -0
  10. package/dist/cjs/contexts/Wallet/lib/index.js.map +1 -0
  11. package/dist/docs.json +249 -105
  12. package/dist/esm/components/WalletAccountSelect/Select.js +1 -1
  13. package/dist/esm/components/WalletAccountSelect/Select.js.map +1 -1
  14. package/dist/esm/contexts/Wallet/Provider.js +9 -6
  15. package/dist/esm/contexts/Wallet/Provider.js.map +1 -1
  16. package/dist/esm/contexts/Wallet/index.js +1 -0
  17. package/dist/esm/contexts/Wallet/index.js.map +1 -1
  18. package/dist/esm/contexts/Wallet/lib/WalletPath.js +5 -0
  19. package/dist/esm/contexts/Wallet/lib/WalletPath.js.map +1 -0
  20. package/dist/esm/contexts/Wallet/lib/index.js +2 -0
  21. package/dist/esm/contexts/Wallet/lib/index.js.map +1 -0
  22. package/dist/types/contexts/Wallet/Provider.d.ts +1 -0
  23. package/dist/types/contexts/Wallet/Provider.d.ts.map +1 -1
  24. package/dist/types/contexts/Wallet/State.d.ts +2 -0
  25. package/dist/types/contexts/Wallet/State.d.ts.map +1 -1
  26. package/dist/types/contexts/Wallet/index.d.ts +1 -0
  27. package/dist/types/contexts/Wallet/index.d.ts.map +1 -1
  28. package/dist/types/contexts/Wallet/lib/WalletPath.d.ts +5 -0
  29. package/dist/types/contexts/Wallet/lib/WalletPath.d.ts.map +1 -0
  30. package/dist/types/contexts/Wallet/lib/index.d.ts +2 -0
  31. package/dist/types/contexts/Wallet/lib/index.d.ts.map +1 -0
  32. package/package.json +7 -8
  33. package/src/components/WalletAccountSelect/Select.tsx +1 -1
  34. package/src/contexts/Wallet/Provider.tsx +15 -7
  35. package/src/contexts/Wallet/State.ts +2 -0
  36. package/src/contexts/Wallet/index.ts +1 -0
  37. package/src/contexts/Wallet/lib/WalletPath.ts +5 -0
  38. package/src/contexts/Wallet/lib/index.ts +1 -0
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { MenuItem } from '@mui/material';
3
3
  import { EthAddress } from '@xylabs/eth-address';
4
- import { SelectEx } from '@xylabs/react-common';
5
4
  import { EthAccountBox } from '@xylabs/react-crypto';
6
5
  import { FlexRow } from '@xylabs/react-flexbox';
7
6
  import { Identicon } from '@xylabs/react-identicon';
7
+ import { SelectEx } from '@xylabs/react-select';
8
8
  import { useWallet } from '../../contexts';
9
9
  const arrayRange = (length, start = 0) => {
10
10
  return Array.from(Array(length).keys()).map((x) => x + start);
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/components/WalletAccountSelect/Select.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAe,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAS1C,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;IAC/C,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAuC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC7I,MAAM,EAAE,kBAAkB,GAAG,CAAC,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAE7E,OAAO,CACL,KAAC,QAAQ,IACP,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC1D,OAAO,CACL,MAAC,OAAO,IAAC,cAAc,EAAC,YAAY,EAAC,GAAG,EAAE,CAAC,aACxC,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,OAAO,cACN,KAAC,SAAS,IAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,GAAI,GACvD,CACX,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,aAAa,IAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAI,IAC7G,CACX,CAAA;QACH,CAAC,EACD,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAC/E,IAAI,EAAE,IAAI,EACV,OAAO,EAAC,UAAU,KACd,KAAK,YAER,MAAM;YACL,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpC,MAAM,OAAO,GAAG,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACvD,OAAO,CACL,KAAC,QAAQ,IAAa,KAAK,EAAE,KAAK,YAChC,KAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAI,IADhG,KAAK,CAET,CACZ,CAAA;YACH,CAAC,CAAC;YACJ,CAAC,CAAC,IAAI,GACC,CACZ,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../../src/components/WalletAccountSelect/Select.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAe,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAS1C,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;IAC/C,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;AAC/D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAuC,CAAC,EAAE,QAAQ,EAAE,QAAQ,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAC7I,MAAM,EAAE,kBAAkB,GAAG,CAAC,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAE7E,OAAO,CACL,KAAC,QAAQ,IACP,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC1D,OAAO,CACL,MAAC,OAAO,IAAC,cAAc,EAAC,YAAY,EAAC,GAAG,EAAE,CAAC,aACxC,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,OAAO,cACN,KAAC,SAAS,IAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,GAAI,GACvD,CACX,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,aAAa,IAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAI,IAC7G,CACX,CAAA;QACH,CAAC,EACD,KAAK,EAAE,kBAAkB,EACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAC/E,IAAI,EAAE,IAAI,EACV,OAAO,EAAC,UAAU,KACd,KAAK,YAER,MAAM;YACL,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpC,MAAM,OAAO,GAAG,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;gBACvD,OAAO,CACL,KAAC,QAAQ,IAAa,KAAK,EAAE,KAAK,YAChC,KAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,GAAI,IADhG,KAAK,CAET,CACZ,CAAA;YACH,CAAC,CAAC;YACJ,CAAC,CAAC,IAAI,GACC,CACZ,CAAA;AACH,CAAC,CAAA"}
@@ -2,15 +2,14 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
3
  import { AccountContext } from '../Account';
4
4
  import { WalletContext } from './Context';
5
+ import { WalletRootPath } from './lib';
5
6
  import { useWallet } from './use';
6
- const WalletBase = 'm';
7
- const WalletRootPath = "44'/60'/0'/0";
8
7
  const AccountWalletProvider = (props) => {
9
8
  const { wallet, activeAccountIndex = 0 } = useWallet();
10
9
  return _jsx(AccountContext.Provider, { value: { account: wallet?.deriveAccount(activeAccountIndex.toString()), provided: true }, ...props });
11
10
  };
12
- export const WalletProvider = ({ children, defaultActiveAccountIndex = 0, defaultWallet, ...props }) => {
13
- const [wallet, setWallet] = useState(defaultWallet);
11
+ export const WalletProvider = ({ basePath = WalletRootPath, children, defaultActiveAccountIndex = 0, defaultWallet, ...props }) => {
12
+ const [wallet, setWallet] = useState();
14
13
  const [activeAccountIndex, setActiveAccountIndex] = useState(defaultActiveAccountIndex);
15
14
  useEffect(() => {
16
15
  if (defaultActiveAccountIndex !== undefined) {
@@ -21,16 +20,20 @@ export const WalletProvider = ({ children, defaultActiveAccountIndex = 0, defaul
21
20
  // ensure the wallet has the proper base
22
21
  if (defaultWallet) {
23
22
  try {
24
- const walletWithBasePath = defaultWallet?.derivePath(WalletBase).derivePath(WalletRootPath);
23
+ const walletWithBasePath = defaultWallet?.derivePath(basePath);
25
24
  setWallet(walletWithBasePath);
26
25
  }
27
26
  catch (e) {
28
27
  console.error('Error setting proper wallet base path', e);
29
28
  }
30
29
  }
31
- }, [defaultWallet]);
30
+ else {
31
+ throw Error('WalletProvider requires a default HDWallet');
32
+ }
33
+ }, [basePath, defaultWallet]);
32
34
  return (_jsx(WalletContext.Provider, { value: {
33
35
  activeAccountIndex,
36
+ basePath,
34
37
  provided: true,
35
38
  setActiveAccountIndex,
36
39
  setWallet,
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/Wallet/Provider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,UAAU,GAAG,GAAG,CAAA;AACtB,MAAM,cAAc,GAAG,cAAc,CAAA;AAOrC,MAAM,qBAAqB,GAA2B,CAAC,KAAK,EAAE,EAAE;IAC9D,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,CAAA;IAEtD,OAAO,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAM,KAAK,GAAI,CAAA;AACzI,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAgD,CAAC,EAAE,QAAQ,EAAE,yBAAyB,GAAG,CAAC,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;IAClJ,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAuB,aAAa,CAAC,CAAA;IACzE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAA;IAEvF,SAAS,CAAC,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,SAAS,CAAC,GAAG,EAAE;QACb,wCAAwC;QACxC,IAAI,aAAa,EAAE;YACjB,IAAI;gBACF,MAAM,kBAAkB,GAAG,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;gBAC3F,SAAS,CAAC,kBAAkB,CAAC,CAAA;aAC9B;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAA;aAC1D;SACF;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IAEnB,OAAO,CACL,KAAC,aAAa,CAAC,QAAQ,IACrB,KAAK,EAAE;YACL,kBAAkB;YAClB,QAAQ,EAAE,IAAI;YACd,qBAAqB;YACrB,SAAS;YACT,MAAM;SACP,KACG,KAAK,YAET,KAAC,qBAAqB,cAAE,QAAQ,GAAyB,GAClC,CAC1B,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../../../src/contexts/Wallet/Provider.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQjC,MAAM,qBAAqB,GAA2B,CAAC,KAAK,EAAE,EAAE;IAC9D,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,CAAC,EAAE,GAAG,SAAS,EAAE,CAAA;IAEtD,OAAO,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAM,KAAK,GAAI,CAAA;AACzI,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAgD,CAAC,EAC1E,QAAQ,GAAG,cAAc,EACzB,QAAQ,EACR,yBAAyB,GAAG,CAAC,EAC7B,aAAa,EACb,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAwB,CAAA;IAC5D,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAA;IAEvF,SAAS,CAAC,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,SAAS,CAAC,GAAG,EAAE;QACb,wCAAwC;QACxC,IAAI,aAAa,EAAE;YACjB,IAAI;gBACF,MAAM,kBAAkB,GAAG,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;gBAC9D,SAAS,CAAC,kBAAkB,CAAC,CAAA;aAC9B;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAA;aAC1D;SACF;aAAM;YACL,MAAM,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAC1D;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAA;IAE7B,OAAO,CACL,KAAC,aAAa,CAAC,QAAQ,IACrB,KAAK,EAAE;YACL,kBAAkB;YAClB,QAAQ;YACR,QAAQ,EAAE,IAAI;YACd,qBAAqB;YACrB,SAAS;YACT,MAAM;SACP,KACG,KAAK,YAET,KAAC,qBAAqB,cAAE,QAAQ,GAAyB,GAClC,CAC1B,CAAA;AACH,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './Context';
2
+ export * from './lib';
2
3
  export * from './Provider';
3
4
  export * from './State';
4
5
  export * from './use';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/Wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/contexts/Wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
@@ -0,0 +1,5 @@
1
+ export const WalletBase = 'm';
2
+ export const DefaultRootWalletPath = `${WalletBase}/0`;
3
+ export const WalletRootPath = "44'/60'/0'/0";
4
+ export const WalletPath = `${WalletBase}/${WalletRootPath}`;
5
+ //# sourceMappingURL=WalletPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletPath.js","sourceRoot":"","sources":["../../../../../src/contexts/Wallet/lib/WalletPath.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;AAC7B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,UAAU,IAAI,CAAA;AAEtD,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAA;AAC5C,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,UAAU,IAAI,cAAc,EAAE,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './WalletPath';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/contexts/Wallet/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -2,6 +2,7 @@
2
2
  import { WithChildren } from '@xylabs/react-shared';
3
3
  import { HDWallet } from '@xyo-network/account';
4
4
  export interface WalletProviderProps {
5
+ basePath?: string;
5
6
  defaultActiveAccountIndex?: number;
6
7
  defaultWallet?: HDWallet;
7
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Wallet/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAU/C,MAAM,WAAW,mBAAmB;IAClC,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,aAAa,CAAC,EAAE,QAAQ,CAAA;CACzB;AAQD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAoCtE,CAAA"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Wallet/Provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAQ/C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,aAAa,CAAC,EAAE,QAAQ,CAAA;CACzB;AAQD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,CA6CtE,CAAA"}
@@ -3,6 +3,8 @@ import { ContextExState } from '@xyo-network/react-shared';
3
3
  import { Dispatch, SetStateAction } from 'react';
4
4
  export interface WalletContextState extends ContextExState {
5
5
  activeAccountIndex?: number;
6
+ /** Base path from which the wallet was derived */
7
+ basePath?: string;
6
8
  setActiveAccountIndex?: Dispatch<number>;
7
9
  setWallet?: Dispatch<SetStateAction<HDWallet | undefined>>;
8
10
  wallet?: HDWallet;
@@ -1 +1 @@
1
- {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Wallet/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,qBAAqB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAA;IAC1D,MAAM,CAAC,EAAE,QAAQ,CAAA;CAClB"}
1
+ {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Wallet/State.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEhD,MAAM,WAAW,kBAAmB,SAAQ,cAAc;IACxD,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qBAAqB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAA;IAC1D,MAAM,CAAC,EAAE,QAAQ,CAAA;CAClB"}
@@ -1,4 +1,5 @@
1
1
  export * from './Context';
2
+ export * from './lib';
2
3
  export * from './Provider';
3
4
  export * from './State';
4
5
  export * from './use';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/contexts/Wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,OAAO,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const WalletBase = "m";
2
+ export declare const DefaultRootWalletPath: string;
3
+ export declare const WalletRootPath = "44'/60'/0'/0";
4
+ export declare const WalletPath: string;
5
+ //# sourceMappingURL=WalletPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WalletPath.d.ts","sourceRoot":"","sources":["../../../../../src/contexts/Wallet/lib/WalletPath.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,MAAM,CAAA;AAC7B,eAAO,MAAM,qBAAqB,QAAoB,CAAA;AAEtD,eAAO,MAAM,cAAc,iBAAiB,CAAA;AAC5C,eAAO,MAAM,UAAU,QAAoC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './WalletPath';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/contexts/Wallet/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
package/package.json CHANGED
@@ -12,16 +12,16 @@
12
12
  "dependencies": {
13
13
  "@scure/bip39": "^1.1.1",
14
14
  "@xylabs/eth-address": "^2.7.4",
15
- "@xylabs/react-common": "^2.16.11",
16
15
  "@xylabs/react-crypto": "^2.16.11",
17
16
  "@xylabs/react-flexbox": "^2.16.11",
18
17
  "@xylabs/react-identicon": "^2.16.11",
19
18
  "@xylabs/react-number-status": "^2.16.11",
19
+ "@xylabs/react-select": "^2.16.11",
20
20
  "@xylabs/react-shared": "^2.16.11",
21
- "@xyo-network/account": "^2.51.7",
22
- "@xyo-network/account-model": "^2.51.7",
23
- "@xyo-network/react-network": "^2.45.0",
24
- "@xyo-network/react-shared": "^2.45.0"
21
+ "@xyo-network/account": "^2.51.9",
22
+ "@xyo-network/account-model": "^2.51.9",
23
+ "@xyo-network/react-network": "^2.45.2",
24
+ "@xyo-network/react-shared": "^2.45.2"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "@mui/icons-material": "^5",
@@ -30,7 +30,6 @@
30
30
  "axios": "^1",
31
31
  "react": "^18",
32
32
  "react-dom": "^18",
33
- "react-helmet": "^6",
34
33
  "react-router-dom": "^6"
35
34
  },
36
35
  "description": "Common React library for all XYO projects that use React",
@@ -38,7 +37,7 @@
38
37
  "@storybook/react": "^6.5.16",
39
38
  "@xylabs/ts-scripts-yarn3": "^2.16.1",
40
39
  "@xylabs/tsconfig-react": "^2.16.1",
41
- "@xyo-network/react-storybook": "^2.45.0",
40
+ "@xyo-network/react-storybook": "^2.45.2",
42
41
  "require-from-string": "^2.0.2",
43
42
  "typescript": "^4.9.5"
44
43
  },
@@ -84,5 +83,5 @@
84
83
  },
85
84
  "sideEffects": false,
86
85
  "types": "dist/types/index.d.ts",
87
- "version": "2.45.0"
86
+ "version": "2.45.2"
88
87
  }
@@ -1,9 +1,9 @@
1
1
  import { MenuItem, SelectProps } from '@mui/material'
2
2
  import { EthAddress } from '@xylabs/eth-address'
3
- import { SelectEx } from '@xylabs/react-common'
4
3
  import { EthAccountBox } from '@xylabs/react-crypto'
5
4
  import { FlexRow } from '@xylabs/react-flexbox'
6
5
  import { Identicon } from '@xylabs/react-identicon'
6
+ import { SelectEx } from '@xylabs/react-select'
7
7
 
8
8
  import { useWallet } from '../../contexts'
9
9
 
@@ -4,12 +4,11 @@ import { useEffect, useState } from 'react'
4
4
 
5
5
  import { AccountContext } from '../Account'
6
6
  import { WalletContext } from './Context'
7
+ import { WalletRootPath } from './lib'
7
8
  import { useWallet } from './use'
8
9
 
9
- const WalletBase = 'm'
10
- const WalletRootPath = "44'/60'/0'/0"
11
-
12
10
  export interface WalletProviderProps {
11
+ basePath?: string
13
12
  defaultActiveAccountIndex?: number
14
13
  defaultWallet?: HDWallet
15
14
  }
@@ -20,8 +19,14 @@ const AccountWalletProvider: React.FC<WithChildren> = (props) => {
20
19
  return <AccountContext.Provider value={{ account: wallet?.deriveAccount(activeAccountIndex.toString()), provided: true }} {...props} />
21
20
  }
22
21
 
23
- export const WalletProvider: React.FC<WithChildren<WalletProviderProps>> = ({ children, defaultActiveAccountIndex = 0, defaultWallet, ...props }) => {
24
- const [wallet, setWallet] = useState<HDWallet | undefined>(defaultWallet)
22
+ export const WalletProvider: React.FC<WithChildren<WalletProviderProps>> = ({
23
+ basePath = WalletRootPath,
24
+ children,
25
+ defaultActiveAccountIndex = 0,
26
+ defaultWallet,
27
+ ...props
28
+ }) => {
29
+ const [wallet, setWallet] = useState<HDWallet | undefined>()
25
30
  const [activeAccountIndex, setActiveAccountIndex] = useState(defaultActiveAccountIndex)
26
31
 
27
32
  useEffect(() => {
@@ -34,18 +39,21 @@ export const WalletProvider: React.FC<WithChildren<WalletProviderProps>> = ({ ch
34
39
  // ensure the wallet has the proper base
35
40
  if (defaultWallet) {
36
41
  try {
37
- const walletWithBasePath = defaultWallet?.derivePath(WalletBase).derivePath(WalletRootPath)
42
+ const walletWithBasePath = defaultWallet?.derivePath(basePath)
38
43
  setWallet(walletWithBasePath)
39
44
  } catch (e) {
40
45
  console.error('Error setting proper wallet base path', e)
41
46
  }
47
+ } else {
48
+ throw Error('WalletProvider requires a default HDWallet')
42
49
  }
43
- }, [defaultWallet])
50
+ }, [basePath, defaultWallet])
44
51
 
45
52
  return (
46
53
  <WalletContext.Provider
47
54
  value={{
48
55
  activeAccountIndex,
56
+ basePath,
49
57
  provided: true,
50
58
  setActiveAccountIndex,
51
59
  setWallet,
@@ -4,6 +4,8 @@ import { Dispatch, SetStateAction } from 'react'
4
4
 
5
5
  export interface WalletContextState extends ContextExState {
6
6
  activeAccountIndex?: number
7
+ /** Base path from which the wallet was derived */
8
+ basePath?: string
7
9
  setActiveAccountIndex?: Dispatch<number>
8
10
  setWallet?: Dispatch<SetStateAction<HDWallet | undefined>>
9
11
  wallet?: HDWallet
@@ -1,4 +1,5 @@
1
1
  export * from './Context'
2
+ export * from './lib'
2
3
  export * from './Provider'
3
4
  export * from './State'
4
5
  export * from './use'
@@ -0,0 +1,5 @@
1
+ export const WalletBase = 'm'
2
+ export const DefaultRootWalletPath = `${WalletBase}/0`
3
+
4
+ export const WalletRootPath = "44'/60'/0'/0"
5
+ export const WalletPath = `${WalletBase}/${WalletRootPath}`
@@ -0,0 +1 @@
1
+ export * from './WalletPath'