@xyo-network/react-wallet 2.45.0 → 2.45.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.
Files changed (33) hide show
  1. package/dist/cjs/contexts/Wallet/Provider.js +9 -6
  2. package/dist/cjs/contexts/Wallet/Provider.js.map +1 -1
  3. package/dist/cjs/contexts/Wallet/index.js +1 -0
  4. package/dist/cjs/contexts/Wallet/index.js.map +1 -1
  5. package/dist/cjs/contexts/Wallet/lib/WalletPath.js +8 -0
  6. package/dist/cjs/contexts/Wallet/lib/WalletPath.js.map +1 -0
  7. package/dist/cjs/contexts/Wallet/lib/index.js +5 -0
  8. package/dist/cjs/contexts/Wallet/lib/index.js.map +1 -0
  9. package/dist/docs.json +249 -105
  10. package/dist/esm/contexts/Wallet/Provider.js +9 -6
  11. package/dist/esm/contexts/Wallet/Provider.js.map +1 -1
  12. package/dist/esm/contexts/Wallet/index.js +1 -0
  13. package/dist/esm/contexts/Wallet/index.js.map +1 -1
  14. package/dist/esm/contexts/Wallet/lib/WalletPath.js +5 -0
  15. package/dist/esm/contexts/Wallet/lib/WalletPath.js.map +1 -0
  16. package/dist/esm/contexts/Wallet/lib/index.js +2 -0
  17. package/dist/esm/contexts/Wallet/lib/index.js.map +1 -0
  18. package/dist/types/contexts/Wallet/Provider.d.ts +1 -0
  19. package/dist/types/contexts/Wallet/Provider.d.ts.map +1 -1
  20. package/dist/types/contexts/Wallet/State.d.ts +2 -0
  21. package/dist/types/contexts/Wallet/State.d.ts.map +1 -1
  22. package/dist/types/contexts/Wallet/index.d.ts +1 -0
  23. package/dist/types/contexts/Wallet/index.d.ts.map +1 -1
  24. package/dist/types/contexts/Wallet/lib/WalletPath.d.ts +5 -0
  25. package/dist/types/contexts/Wallet/lib/WalletPath.d.ts.map +1 -0
  26. package/dist/types/contexts/Wallet/lib/index.d.ts +2 -0
  27. package/dist/types/contexts/Wallet/lib/index.d.ts.map +1 -0
  28. package/package.json +4 -4
  29. package/src/contexts/Wallet/Provider.tsx +15 -7
  30. package/src/contexts/Wallet/State.ts +2 -0
  31. package/src/contexts/Wallet/index.ts +1 -0
  32. package/src/contexts/Wallet/lib/WalletPath.ts +5 -0
  33. package/src/contexts/Wallet/lib/index.ts +1 -0
@@ -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
@@ -20,8 +20,8 @@
20
20
  "@xylabs/react-shared": "^2.16.11",
21
21
  "@xyo-network/account": "^2.51.7",
22
22
  "@xyo-network/account-model": "^2.51.7",
23
- "@xyo-network/react-network": "^2.45.0",
24
- "@xyo-network/react-shared": "^2.45.0"
23
+ "@xyo-network/react-network": "^2.45.1",
24
+ "@xyo-network/react-shared": "^2.45.1"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "@mui/icons-material": "^5",
@@ -38,7 +38,7 @@
38
38
  "@storybook/react": "^6.5.16",
39
39
  "@xylabs/ts-scripts-yarn3": "^2.16.1",
40
40
  "@xylabs/tsconfig-react": "^2.16.1",
41
- "@xyo-network/react-storybook": "^2.45.0",
41
+ "@xyo-network/react-storybook": "^2.45.1",
42
42
  "require-from-string": "^2.0.2",
43
43
  "typescript": "^4.9.5"
44
44
  },
@@ -84,5 +84,5 @@
84
84
  },
85
85
  "sideEffects": false,
86
86
  "types": "dist/types/index.d.ts",
87
- "version": "2.45.0"
87
+ "version": "2.45.1"
88
88
  }
@@ -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'