@w3ux/react-connect-kit 1.2.1 → 1.3.0-alpha.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 (43) hide show
  1. package/ExtensionAccountsProvider/Extensions.js +75 -167
  2. package/ExtensionAccountsProvider/Extensions.js.map +1 -1
  3. package/ExtensionAccountsProvider/defaults.js +7 -5
  4. package/ExtensionAccountsProvider/defaults.js.map +1 -1
  5. package/ExtensionAccountsProvider/index.js +139 -256
  6. package/ExtensionAccountsProvider/index.js.map +1 -1
  7. package/ExtensionAccountsProvider/snap.js +52 -121
  8. package/ExtensionAccountsProvider/snap.js.map +1 -1
  9. package/ExtensionAccountsProvider/types.js +2 -0
  10. package/ExtensionAccountsProvider/types.js.map +1 -1
  11. package/ExtensionAccountsProvider/useImportExtension.js +24 -44
  12. package/ExtensionAccountsProvider/useImportExtension.js.map +1 -1
  13. package/ExtensionAccountsProvider/utils.js +14 -17
  14. package/ExtensionAccountsProvider/utils.js.map +1 -1
  15. package/ExtensionsProvider/defaults.js +8 -6
  16. package/ExtensionsProvider/defaults.js.map +1 -1
  17. package/ExtensionsProvider/index.js +56 -115
  18. package/ExtensionsProvider/index.js.map +1 -1
  19. package/ExtensionsProvider/types.js +2 -0
  20. package/ExtensionsProvider/types.js.map +1 -1
  21. package/ExtensionsProvider/utils.js +21 -73
  22. package/ExtensionsProvider/utils.js.map +1 -1
  23. package/LedgerAccountsProvider/defaults.js +9 -7
  24. package/LedgerAccountsProvider/defaults.js.map +1 -1
  25. package/LedgerAccountsProvider/index.js +39 -68
  26. package/LedgerAccountsProvider/index.js.map +1 -1
  27. package/LedgerAccountsProvider/types.js +2 -0
  28. package/LedgerAccountsProvider/types.js.map +1 -1
  29. package/LedgerAccountsProvider/utils.js +16 -25
  30. package/LedgerAccountsProvider/utils.js.map +1 -1
  31. package/VaultAccountsProvider/defaults.js +9 -7
  32. package/VaultAccountsProvider/defaults.js.map +1 -1
  33. package/VaultAccountsProvider/index.js +40 -66
  34. package/VaultAccountsProvider/index.js.map +1 -1
  35. package/VaultAccountsProvider/types.js +2 -0
  36. package/VaultAccountsProvider/types.js.map +1 -1
  37. package/VaultAccountsProvider/utils.js +6 -4
  38. package/VaultAccountsProvider/utils.js.map +1 -1
  39. package/index.js +2 -0
  40. package/index.js.map +1 -1
  41. package/package.json +5 -5
  42. package/types.js +2 -0
  43. package/types.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/LedgerAccountsProvider/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { createContext, useContext, useRef, useState } from \"react\";\nimport { defaultLedgerAccountsContext } from \"./defaults\";\nimport {\n LedgerAccountsContextInterface,\n LedgerAccountsProviderProps,\n} from \"./types\";\nimport { LedgerAccount } from \"../types\";\nimport {\n getLocalLedgerAccounts,\n getLocalLedgerAddresses,\n isLocalLedgerAccount,\n renameLocalLedgerAddress,\n} from \"./utils\";\nimport { setStateWithRef } from \"@w3ux/utils\";\n\nexport const LedgerAccountsContext =\n createContext<LedgerAccountsContextInterface>(defaultLedgerAccountsContext);\n\nexport const useLedgerAccounts = () => useContext(LedgerAccountsContext);\n\nexport const LedgerAccountsProvider = ({\n children,\n}: LedgerAccountsProviderProps) => {\n // Store the fetched ledger accounts.\n const [ledgerAccounts, setLedgerAccountsState] = useState<LedgerAccount[]>(\n getLocalLedgerAccounts()\n );\n const ledgerAccountsRef = useRef(ledgerAccounts);\n\n // Check if a Ledger address exists in imported addresses.\n const ledgerAccountExists = (network: string, address: string) =>\n !!getLocalLedgerAccounts().find((account) =>\n isLocalLedgerAccount(network, account, address)\n );\n\n // Adds a ledger address to the list of fetched addresses.\n const addLedgerAccount = (\n network: string,\n address: string,\n index: number,\n callback?: () => void\n ) => {\n let newLedgerAccounts = getLocalLedgerAccounts();\n\n const ledgerAddress = getLocalLedgerAddresses().find((a) =>\n isLocalLedgerAccount(network, a, address)\n );\n\n if (\n ledgerAddress &&\n !newLedgerAccounts.find((account) =>\n isLocalLedgerAccount(network, account, address)\n )\n ) {\n const newAccount = {\n address,\n network,\n name: ledgerAddress.name,\n source: \"ledger\",\n index,\n };\n\n // Update the full list of local ledger accounts with new entry.\n newLedgerAccounts = [...newLedgerAccounts].concat(newAccount);\n localStorage.setItem(\n \"ledger_accounts\",\n JSON.stringify(newLedgerAccounts)\n );\n\n // Store only those accounts on the current network in state.\n setStateWithRef(\n newLedgerAccounts.filter((account) => account.network === network),\n setLedgerAccountsState,\n ledgerAccountsRef\n );\n\n // Handle optional callback function.\n if (typeof callback === \"function\") {\n callback();\n }\n return newAccount;\n }\n return null;\n };\n\n // Removes a Ledger account from state and local storage.\n const removeLedgerAccount = (\n network: string,\n address: string,\n callback?: () => void\n ) => {\n // Remove th account from local storage records\n const newLedgerAccounts = getLocalLedgerAccounts().filter((account) => {\n if (account.address !== address) {\n return true;\n }\n if (account.network !== network) {\n return true;\n }\n return false;\n });\n if (!newLedgerAccounts.length) {\n localStorage.removeItem(\"ledger_accounts\");\n } else {\n localStorage.setItem(\n \"ledger_accounts\",\n JSON.stringify(newLedgerAccounts)\n );\n }\n\n // Update state with the new list of accounts.\n setStateWithRef(\n newLedgerAccounts.filter((account) => account.network === network),\n setLedgerAccountsState,\n ledgerAccountsRef\n );\n\n // Handle optional callback function.\n if (typeof callback === \"function\") {\n callback();\n }\n };\n\n // Renames an imported ledger account.\n const renameLedgerAccount = (\n network: string,\n address: string,\n newName: string\n ) => {\n // Update the local storage records.\n const newLedgerAccounts = getLocalLedgerAccounts().map((account) =>\n isLocalLedgerAccount(network, account, address)\n ? {\n ...account,\n name: newName,\n }\n : account\n );\n renameLocalLedgerAddress(address, newName, network);\n localStorage.setItem(\"ledger_accounts\", JSON.stringify(newLedgerAccounts));\n\n // Update state with the new list of accounts.\n setStateWithRef(\n newLedgerAccounts.filter((account) => account.network === network),\n setLedgerAccountsState,\n ledgerAccountsRef\n );\n };\n\n // Gets an imported address along with its Ledger metadata.\n const getLedgerAccount = (network: string, address: string) => {\n const localLedgerAccounts = getLocalLedgerAccounts();\n if (!localLedgerAccounts) {\n return null;\n }\n return (\n localLedgerAccounts.find((account) =>\n isLocalLedgerAccount(network, account, address)\n ) || null\n );\n };\n\n // Gets Ledger accounts for a network.\n const getLedgerAccounts = (network: string) =>\n ledgerAccountsRef.current.filter((a) => a.network === network);\n\n return (\n <LedgerAccountsContext.Provider\n value={{\n ledgerAccountExists,\n getLedgerAccount,\n addLedgerAccount,\n removeLedgerAccount,\n renameLedgerAccount,\n getLedgerAccounts,\n ledgerAccounts: ledgerAccountsRef.current,\n }}\n >\n {children}\n </LedgerAccountsContext.Provider>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/LedgerAccountsProvider/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { createContext, useContext, useRef, useState } from \"react\";\nimport { defaultLedgerAccountsContext } from \"./defaults\";\nimport {\n LedgerAccountsContextInterface,\n LedgerAccountsProviderProps,\n} from \"./types\";\nimport { LedgerAccount } from \"../types\";\nimport {\n getLocalLedgerAccounts,\n getLocalLedgerAddresses,\n isLocalLedgerAccount,\n renameLocalLedgerAddress,\n} from \"./utils\";\nimport { setStateWithRef } from \"@w3ux/utils\";\n\nexport const LedgerAccountsContext =\n createContext<LedgerAccountsContextInterface>(defaultLedgerAccountsContext);\n\nexport const useLedgerAccounts = () => useContext(LedgerAccountsContext);\n\nexport const LedgerAccountsProvider = ({\n children,\n}: LedgerAccountsProviderProps) => {\n // Store the fetched ledger accounts.\n const [ledgerAccounts, setLedgerAccountsState] = useState<LedgerAccount[]>(\n getLocalLedgerAccounts()\n );\n const ledgerAccountsRef = useRef(ledgerAccounts);\n\n // Check if a Ledger address exists in imported addresses.\n const ledgerAccountExists = (network: string, address: string) =>\n !!getLocalLedgerAccounts().find((account) =>\n isLocalLedgerAccount(network, account, address)\n );\n\n // Adds a ledger address to the list of fetched addresses.\n const addLedgerAccount = (\n network: string,\n address: string,\n index: number,\n callback?: () => void\n ) => {\n let newLedgerAccounts = getLocalLedgerAccounts();\n\n const ledgerAddress = getLocalLedgerAddresses().find((a) =>\n isLocalLedgerAccount(network, a, address)\n );\n\n if (\n ledgerAddress &&\n !newLedgerAccounts.find((account) =>\n isLocalLedgerAccount(network, account, address)\n )\n ) {\n const newAccount = {\n address,\n network,\n name: ledgerAddress.name,\n source: \"ledger\",\n index,\n };\n\n // Update the full list of local ledger accounts with new entry.\n newLedgerAccounts = [...newLedgerAccounts].concat(newAccount);\n localStorage.setItem(\n \"ledger_accounts\",\n JSON.stringify(newLedgerAccounts)\n );\n\n // Store only those accounts on the current network in state.\n setStateWithRef(\n newLedgerAccounts.filter((account) => account.network === network),\n setLedgerAccountsState,\n ledgerAccountsRef\n );\n\n // Handle optional callback function.\n if (typeof callback === \"function\") {\n callback();\n }\n return newAccount;\n }\n return null;\n };\n\n // Removes a Ledger account from state and local storage.\n const removeLedgerAccount = (\n network: string,\n address: string,\n callback?: () => void\n ) => {\n // Remove th account from local storage records\n const newLedgerAccounts = getLocalLedgerAccounts().filter((account) => {\n if (account.address !== address) {\n return true;\n }\n if (account.network !== network) {\n return true;\n }\n return false;\n });\n if (!newLedgerAccounts.length) {\n localStorage.removeItem(\"ledger_accounts\");\n } else {\n localStorage.setItem(\n \"ledger_accounts\",\n JSON.stringify(newLedgerAccounts)\n );\n }\n\n // Update state with the new list of accounts.\n setStateWithRef(\n newLedgerAccounts.filter((account) => account.network === network),\n setLedgerAccountsState,\n ledgerAccountsRef\n );\n\n // Handle optional callback function.\n if (typeof callback === \"function\") {\n callback();\n }\n };\n\n // Renames an imported ledger account.\n const renameLedgerAccount = (\n network: string,\n address: string,\n newName: string\n ) => {\n // Update the local storage records.\n const newLedgerAccounts = getLocalLedgerAccounts().map((account) =>\n isLocalLedgerAccount(network, account, address)\n ? {\n ...account,\n name: newName,\n }\n : account\n );\n renameLocalLedgerAddress(address, newName, network);\n localStorage.setItem(\"ledger_accounts\", JSON.stringify(newLedgerAccounts));\n\n // Update state with the new list of accounts.\n setStateWithRef(\n newLedgerAccounts.filter((account) => account.network === network),\n setLedgerAccountsState,\n ledgerAccountsRef\n );\n };\n\n // Gets an imported address along with its Ledger metadata.\n const getLedgerAccount = (network: string, address: string) => {\n const localLedgerAccounts = getLocalLedgerAccounts();\n if (!localLedgerAccounts) {\n return null;\n }\n return (\n localLedgerAccounts.find((account) =>\n isLocalLedgerAccount(network, account, address)\n ) || null\n );\n };\n\n // Gets Ledger accounts for a network.\n const getLedgerAccounts = (network: string) =>\n ledgerAccountsRef.current.filter((a) => a.network === network);\n\n return (\n <LedgerAccountsContext.Provider\n value={{\n ledgerAccountExists,\n getLedgerAccount,\n addLedgerAccount,\n removeLedgerAccount,\n renameLedgerAccount,\n getLedgerAccounts,\n ledgerAccounts: ledgerAccountsRef.current,\n }}\n >\n {children}\n </LedgerAccountsContext.Provider>\n );\n};\n"]}
@@ -1,3 +1,5 @@
1
1
  export {};
2
2
 
3
+ //# sourceMappingURL=types.js.map
3
4
 
5
+ //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/LedgerAccountsProvider/types.ts"],"names":[],"mappings":"AAAA;wCACwC","file":"types.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { ReactNode } from \"react\";\nimport { LedgerAccount } from \"../types\";\n\nexport interface LedgerAccountsContextInterface {\n ledgerAccountExists: (network: string, a: string) => boolean;\n addLedgerAccount: (\n network: string,\n address: string,\n index: number,\n callback?: () => void\n ) => LedgerAccount | null;\n removeLedgerAccount: (\n network: string,\n address: string,\n callback?: () => void\n ) => void;\n renameLedgerAccount: (network: string, address: string, name: string) => void;\n getLedgerAccount: (network: string, address: string) => LedgerAccount | null;\n getLedgerAccounts: (network: string) => LedgerAccount[];\n ledgerAccounts: LedgerAccount[];\n}\n\nexport interface LedgerAccountsProviderProps {\n children: ReactNode;\n}\n\nexport interface LedgerAddress {\n address: string;\n index: number;\n name: string;\n network: string;\n pubKey: string;\n}\n"]}
1
+ {"version":3,"sources":["../src/LedgerAccountsProvider/types.ts"],"names":[],"mappings":"","file":"types.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { ReactNode } from \"react\";\nimport { LedgerAccount } from \"../types\";\n\nexport interface LedgerAccountsContextInterface {\n ledgerAccountExists: (network: string, a: string) => boolean;\n addLedgerAccount: (\n network: string,\n address: string,\n index: number,\n callback?: () => void\n ) => LedgerAccount | null;\n removeLedgerAccount: (\n network: string,\n address: string,\n callback?: () => void\n ) => void;\n renameLedgerAccount: (network: string, address: string, name: string) => void;\n getLedgerAccount: (network: string, address: string) => LedgerAccount | null;\n getLedgerAccounts: (network: string) => LedgerAccount[];\n ledgerAccounts: LedgerAccount[];\n}\n\nexport interface LedgerAccountsProviderProps {\n children: ReactNode;\n}\n\nexport interface LedgerAddress {\n address: string;\n index: number;\n name: string;\n network: string;\n pubKey: string;\n}\n"]}
@@ -1,38 +1,29 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  import { localStorageOrDefault } from "@w3ux/utils";
13
- export var getLocalLedgerAccounts = function (network) {
14
- var localAddresses = localStorageOrDefault("ledger_accounts", [], true);
2
+ export const getLocalLedgerAccounts = (network) => {
3
+ const localAddresses = localStorageOrDefault("ledger_accounts", [], true);
15
4
  return network
16
- ? localAddresses.filter(function (a) { return a.network === network; })
5
+ ? localAddresses.filter((a) => a.network === network)
17
6
  : localAddresses;
18
7
  };
19
- export var isLocalLedgerAccount = function (network, account, address) { return account.address === address && account.network === network; };
20
- export var getLocalLedgerAddresses = function (network) {
21
- var localAddresses = localStorageOrDefault("ledger_addresses", [], true);
8
+ export const isLocalLedgerAccount = (network, account, address) => account.address === address && account.network === network;
9
+ export const getLocalLedgerAddresses = (network) => {
10
+ const localAddresses = localStorageOrDefault("ledger_addresses", [], true);
22
11
  return network
23
- ? localAddresses.filter(function (a) { return a.network === network; })
12
+ ? localAddresses.filter((a) => a.network === network)
24
13
  : localAddresses;
25
14
  };
26
- export var renameLocalLedgerAddress = function (address, name, network) {
27
- var _a;
28
- var localLedger = (_a = localStorageOrDefault("ledger_addresses", [], true)) === null || _a === void 0 ? void 0 : _a.map(function (i) {
29
- return !(i.address === address && i.network === network)
30
- ? i
31
- : __assign(__assign({}, i), { name: name });
32
- });
15
+ export const renameLocalLedgerAddress = (address, name, network) => {
16
+ const localLedger = localStorageOrDefault("ledger_addresses", [], true)?.map((i) => !(i.address === address && i.network === network)
17
+ ? i
18
+ : {
19
+ ...i,
20
+ name,
21
+ });
33
22
  if (localLedger) {
34
23
  localStorage.setItem("ledger_addresses", JSON.stringify(localLedger));
35
24
  }
36
25
  };
37
26
 
27
+ //# sourceMappingURL=utils.js.map
38
28
 
29
+ //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/LedgerAccountsProvider/utils.ts"],"names":[],"mappings":"AAAA;wCACwC;;;;;;;;;;;;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIpD,oDAAoD;AACpD,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,OAAgB;IACrD,IAAM,cAAc,GAAG,qBAAqB,CAC1C,iBAAiB,EACjB,EAAE,EACF,IAAI,CACc,CAAC;IAErB,OAAO,OAAO;QACZ,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,KAAK,OAAO,EAArB,CAAqB,CAAC;QACrD,CAAC,CAAC,cAAc,CAAC;AACrB,CAAC,CAAC;AAEF,qDAAqD;AACrD,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAClC,OAAe,EACf,OAAoD,EACpD,OAAe,IACZ,OAAA,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAA1D,CAA0D,CAAC;AAEhE,kDAAkD;AAClD,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,OAAgB;IACtD,IAAM,cAAc,GAAG,qBAAqB,CAC1C,kBAAkB,EAClB,EAAE,EACF,IAAI,CACc,CAAC;IAErB,OAAO,OAAO;QACZ,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,KAAK,OAAO,EAArB,CAAqB,CAAC;QACrD,CAAC,CAAC,cAAc,CAAC;AACrB,CAAC,CAAC;AAEF,gDAAgD;AAChD,MAAM,CAAC,IAAM,wBAAwB,GAAG,UACtC,OAAe,EACf,IAAY,EACZ,OAAe;;IAEf,IAAM,WAAW,GAAG,MAClB,qBAAqB,CAAC,kBAAkB,EAAE,EAAE,EAAE,IAAI,CACnD,0CAAE,GAAG,CAAC,UAAC,CAAC;QACP,OAAA,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,CAAC,uBACM,CAAC,KACJ,IAAI,MAAA,GACL;IALL,CAKK,CACN,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IACxE,CAAC;AACH,CAAC,CAAC","file":"utils.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { localStorageOrDefault } from \"@w3ux/utils\";\nimport { LedgerAccount } from \"../types\";\nimport { LedgerAddress } from \"./types\";\n\n// Gets imported Ledger accounts from local storage.\nexport const getLocalLedgerAccounts = (network?: string): LedgerAccount[] => {\n const localAddresses = localStorageOrDefault(\n \"ledger_accounts\",\n [],\n true\n ) as LedgerAccount[];\n\n return network\n ? localAddresses.filter((a) => a.network === network)\n : localAddresses;\n};\n\n// Gets whether an address is a local Ledger account.\nexport const isLocalLedgerAccount = (\n network: string,\n account: { address: string | null; network: string },\n address: string\n) => account.address === address && account.network === network;\n\n// Gets saved ledger addresses from local storage.\nexport const getLocalLedgerAddresses = (network?: string) => {\n const localAddresses = localStorageOrDefault(\n \"ledger_addresses\",\n [],\n true\n ) as LedgerAddress[];\n\n return network\n ? localAddresses.filter((a) => a.network === network)\n : localAddresses;\n};\n\n// Renames a record from local ledger addresses.\nexport const renameLocalLedgerAddress = (\n address: string,\n name: string,\n network: string\n) => {\n const localLedger = (\n localStorageOrDefault(\"ledger_addresses\", [], true) as LedgerAddress[]\n )?.map((i) =>\n !(i.address === address && i.network === network)\n ? i\n : {\n ...i,\n name,\n }\n );\n if (localLedger) {\n localStorage.setItem(\"ledger_addresses\", JSON.stringify(localLedger));\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/LedgerAccountsProvider/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAKpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAgB,EAAmB,EAAE;IAC1E,MAAM,cAAc,GAAG,qBAAqB,CAC1C,iBAAiB,EACjB,EAAE,EACF,IAAI,CACc,CAAC;IAErB,OAAO,OAAO;QACZ,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;QACrD,CAAC,CAAC,cAAc,CAAC;AACrB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,OAAe,EACf,OAAoD,EACpD,OAAe,EACf,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC;AAGhE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC1D,MAAM,cAAc,GAAG,qBAAqB,CAC1C,kBAAkB,EAClB,EAAE,EACF,IAAI,CACc,CAAC;IAErB,OAAO,OAAO;QACZ,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;QACrD,CAAC,CAAC,cAAc,CAAC;AACrB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,OAAe,EACf,IAAY,EACZ,OAAe,EACf,EAAE;IACF,MAAM,WAAW,GACf,qBAAqB,CAAC,kBAAkB,EAAE,EAAE,EAAE,IAAI,CACnD,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACX,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,CAAC,CAAC;YACE,GAAG,CAAC;YACJ,IAAI;SACL,CACN,CAAC;IACF,IAAI,WAAW,EAAE,CAAC;QAChB,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IACxE,CAAC;AACH,CAAC,CAAC","file":"utils.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { localStorageOrDefault } from \"@w3ux/utils\";\nimport { LedgerAccount } from \"../types\";\nimport { LedgerAddress } from \"./types\";\n\n// Gets imported Ledger accounts from local storage.\nexport const getLocalLedgerAccounts = (network?: string): LedgerAccount[] => {\n const localAddresses = localStorageOrDefault(\n \"ledger_accounts\",\n [],\n true\n ) as LedgerAccount[];\n\n return network\n ? localAddresses.filter((a) => a.network === network)\n : localAddresses;\n};\n\n// Gets whether an address is a local Ledger account.\nexport const isLocalLedgerAccount = (\n network: string,\n account: { address: string | null; network: string },\n address: string\n) => account.address === address && account.network === network;\n\n// Gets saved ledger addresses from local storage.\nexport const getLocalLedgerAddresses = (network?: string) => {\n const localAddresses = localStorageOrDefault(\n \"ledger_addresses\",\n [],\n true\n ) as LedgerAddress[];\n\n return network\n ? localAddresses.filter((a) => a.network === network)\n : localAddresses;\n};\n\n// Renames a record from local ledger addresses.\nexport const renameLocalLedgerAddress = (\n address: string,\n name: string,\n network: string\n) => {\n const localLedger = (\n localStorageOrDefault(\"ledger_addresses\", [], true) as LedgerAddress[]\n )?.map((i) =>\n !(i.address === address && i.network === network)\n ? i\n : {\n ...i,\n name,\n }\n );\n if (localLedger) {\n localStorage.setItem(\"ledger_addresses\", JSON.stringify(localLedger));\n }\n};\n"]}
@@ -1,11 +1,13 @@
1
- export var defaultVaultAccountsContext = {
2
- vaultAccountExists: function (network, address) { return false; },
3
- addVaultAccount: function (network, address, index, callback) { return null; },
4
- removeVaultAccount: function (network, address, callback) { },
5
- renameVaultAccount: function (network, address, newName) { },
6
- getVaultAccount: function (network, address) { return null; },
7
- getVaultAccounts: function (network) { return []; },
1
+ export const defaultVaultAccountsContext = {
2
+ vaultAccountExists: (network, address) => false,
3
+ addVaultAccount: (network, address, index, callback) => null,
4
+ removeVaultAccount: (network, address, callback) => { },
5
+ renameVaultAccount: (network, address, newName) => { },
6
+ getVaultAccount: (network, address) => null,
7
+ getVaultAccounts: (network) => [],
8
8
  vaultAccounts: [],
9
9
  };
10
10
 
11
+ //# sourceMappingURL=defaults.js.map
11
12
 
13
+ //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/VaultAccountsProvider/defaults.ts"],"names":[],"mappings":"AAAA;wCACwC;AACxC,6GAA6G;AAI7G,MAAM,CAAC,IAAM,2BAA2B,GAAkC;IACxE,kBAAkB,EAAE,UAAC,OAAO,EAAE,OAAO,IAAK,OAAA,KAAK,EAAL,CAAK;IAC/C,eAAe,EAAE,UAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,IAAK,OAAA,IAAI,EAAJ,CAAI;IAC5D,kBAAkB,EAAE,UAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,IAAM,CAAC;IACtD,kBAAkB,EAAE,UAAC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAM,CAAC;IACrD,eAAe,EAAE,UAAC,OAAO,EAAE,OAAO,IAAK,OAAA,IAAI,EAAJ,CAAI;IAC3C,gBAAgB,EAAE,UAAC,OAAO,IAAK,OAAA,EAAE,EAAF,CAAE;IACjC,aAAa,EAAE,EAAE;CAClB,CAAC","file":"defaults.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function, no-unused-vars */\n\nimport type { VaultAccountsContextInterface } from \"./types\";\n\nexport const defaultVaultAccountsContext: VaultAccountsContextInterface = {\n vaultAccountExists: (network, address) => false,\n addVaultAccount: (network, address, index, callback) => null,\n removeVaultAccount: (network, address, callback) => {},\n renameVaultAccount: (network, address, newName) => {},\n getVaultAccount: (network, address) => null,\n getVaultAccounts: (network) => [],\n vaultAccounts: [],\n};\n"]}
1
+ {"version":3,"sources":["../src/VaultAccountsProvider/defaults.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,2BAA2B,GAAkC;IACxE,kBAAkB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK;IAC/C,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI;IAC5D,kBAAkB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAE,CAAC;IACtD,kBAAkB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAE,CAAC;IACrD,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI;IAC3C,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;IACjC,aAAa,EAAE,EAAE;CAClB,CAAC","file":"defaults.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n/* eslint-disable @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function, no-unused-vars */\n\nimport type { VaultAccountsContextInterface } from \"./types\";\n\nexport const defaultVaultAccountsContext: VaultAccountsContextInterface = {\n vaultAccountExists: (network, address) => false,\n addVaultAccount: (network, address, index, callback) => null,\n removeVaultAccount: (network, address, callback) => {},\n renameVaultAccount: (network, address, newName) => {},\n getVaultAccount: (network, address) => null,\n getVaultAccounts: (network) => [],\n vaultAccounts: [],\n};\n"]}
@@ -1,52 +1,27 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
- if (ar || !(i in from)) {
15
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
- ar[i] = from[i];
17
- }
18
- }
19
- return to.concat(ar || Array.prototype.slice.call(from));
20
- };
21
1
  import { jsx as _jsx } from "react/jsx-runtime";
22
2
  import { ellipsisFn, setStateWithRef } from "@w3ux/utils";
23
3
  import { createContext, useContext, useRef, useState } from "react";
24
4
  import { getLocalVaultAccounts, isLocalNetworkAddress } from "./utils";
25
5
  import { defaultVaultAccountsContext } from "./defaults";
26
- export var VaultAccountsContext = createContext(defaultVaultAccountsContext);
27
- export var useVaultAccounts = function () { return useContext(VaultAccountsContext); };
28
- export var VaultAccountsProvider = function (_a) {
29
- var children = _a.children;
30
- var _b = useState(getLocalVaultAccounts()), vaultAccounts = _b[0], seVaultAccountsState = _b[1];
31
- var vaultAccountsRef = useRef(vaultAccounts);
32
- var vaultAccountExists = function (network, address) {
33
- return !!getLocalVaultAccounts().find(function (a) {
34
- return isLocalNetworkAddress(network, a, address);
35
- });
36
- };
37
- var addVaultAccount = function (network, address, index, callback) {
38
- var newVaultAccounts = getLocalVaultAccounts();
39
- if (!newVaultAccounts.find(function (a) { return isLocalNetworkAddress(network, a, address); })) {
40
- var account = {
41
- address: address,
42
- network: network,
6
+ export const VaultAccountsContext = createContext(defaultVaultAccountsContext);
7
+ export const useVaultAccounts = () => useContext(VaultAccountsContext);
8
+ export const VaultAccountsProvider = ({ children, }) => {
9
+ const [vaultAccounts, seVaultAccountsState] = useState(getLocalVaultAccounts());
10
+ const vaultAccountsRef = useRef(vaultAccounts);
11
+ const vaultAccountExists = (network, address) => !!getLocalVaultAccounts().find((a) => isLocalNetworkAddress(network, a, address));
12
+ const addVaultAccount = (network, address, index, callback) => {
13
+ let newVaultAccounts = getLocalVaultAccounts();
14
+ if (!newVaultAccounts.find((a) => isLocalNetworkAddress(network, a, address))) {
15
+ const account = {
16
+ address,
17
+ network,
43
18
  name: ellipsisFn(address),
44
19
  source: "vault",
45
- index: index,
20
+ index,
46
21
  };
47
- newVaultAccounts = __spreadArray([], newVaultAccounts, true).concat(account);
22
+ newVaultAccounts = [...newVaultAccounts].concat(account);
48
23
  localStorage.setItem("polkadot_vault_accounts", JSON.stringify(newVaultAccounts));
49
- setStateWithRef(newVaultAccounts.filter(function (a) { return a.network === network; }), seVaultAccountsState, vaultAccountsRef);
24
+ setStateWithRef(newVaultAccounts.filter((a) => a.network === network), seVaultAccountsState, vaultAccountsRef);
50
25
  if (typeof callback === "function") {
51
26
  callback();
52
27
  }
@@ -54,9 +29,9 @@ export var VaultAccountsProvider = function (_a) {
54
29
  }
55
30
  return null;
56
31
  };
57
- var removeVaultAccount = function (network, address, callback) {
58
- var newVaultAccounts = getLocalVaultAccounts();
59
- newVaultAccounts = newVaultAccounts.filter(function (a) {
32
+ const removeVaultAccount = (network, address, callback) => {
33
+ let newVaultAccounts = getLocalVaultAccounts();
34
+ newVaultAccounts = newVaultAccounts.filter((a) => {
60
35
  if (a.address !== address) {
61
36
  return true;
62
37
  }
@@ -71,42 +46,41 @@ export var VaultAccountsProvider = function (_a) {
71
46
  else {
72
47
  localStorage.setItem("polkadot_vault_accounts", JSON.stringify(newVaultAccounts));
73
48
  }
74
- setStateWithRef(newVaultAccounts.filter(function (a) { return a.network === network; }), seVaultAccountsState, vaultAccountsRef);
49
+ setStateWithRef(newVaultAccounts.filter((a) => a.network === network), seVaultAccountsState, vaultAccountsRef);
75
50
  if (typeof callback === "function") {
76
51
  callback();
77
52
  }
78
53
  };
79
- var getVaultAccount = function (network, address) {
80
- var _a;
81
- var localVaultAccounts = getLocalVaultAccounts();
54
+ const getVaultAccount = (network, address) => {
55
+ const localVaultAccounts = getLocalVaultAccounts();
82
56
  if (!localVaultAccounts) {
83
57
  return null;
84
58
  }
85
- return ((_a = localVaultAccounts.find(function (a) {
86
- return isLocalNetworkAddress(network, a, address);
87
- })) !== null && _a !== void 0 ? _a : null);
59
+ return (localVaultAccounts.find((a) => isLocalNetworkAddress(network, a, address)) ?? null);
88
60
  };
89
- var renameVaultAccount = function (network, address, newName) {
90
- var newVaultAccounts = getLocalVaultAccounts();
91
- newVaultAccounts = newVaultAccounts.map(function (a) {
92
- return isLocalNetworkAddress(network, a, address)
93
- ? __assign(__assign({}, a), { name: newName }) : a;
94
- });
61
+ const renameVaultAccount = (network, address, newName) => {
62
+ let newVaultAccounts = getLocalVaultAccounts();
63
+ newVaultAccounts = newVaultAccounts.map((a) => isLocalNetworkAddress(network, a, address)
64
+ ? {
65
+ ...a,
66
+ name: newName,
67
+ }
68
+ : a);
95
69
  localStorage.setItem("polkadot_vault_accounts", JSON.stringify(newVaultAccounts));
96
- setStateWithRef(newVaultAccounts.filter(function (a) { return a.network === network; }), seVaultAccountsState, vaultAccountsRef);
97
- };
98
- var getVaultAccounts = function (network) {
99
- return vaultAccountsRef.current.filter(function (a) { return a.network === network; });
70
+ setStateWithRef(newVaultAccounts.filter((a) => a.network === network), seVaultAccountsState, vaultAccountsRef);
100
71
  };
72
+ const getVaultAccounts = (network) => vaultAccountsRef.current.filter((a) => a.network === network);
101
73
  return (_jsx(VaultAccountsContext.Provider, { value: {
102
- vaultAccountExists: vaultAccountExists,
103
- addVaultAccount: addVaultAccount,
104
- removeVaultAccount: removeVaultAccount,
105
- renameVaultAccount: renameVaultAccount,
106
- getVaultAccount: getVaultAccount,
107
- getVaultAccounts: getVaultAccounts,
74
+ vaultAccountExists,
75
+ addVaultAccount,
76
+ removeVaultAccount,
77
+ renameVaultAccount,
78
+ getVaultAccount,
79
+ getVaultAccounts,
108
80
  vaultAccounts: vaultAccountsRef.current,
109
81
  }, children: children }));
110
82
  };
111
83
 
84
+ //# sourceMappingURL=index.js.map
112
85
 
86
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/VaultAccountsProvider/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { ellipsisFn, setStateWithRef } from \"@w3ux/utils\";\nimport { createContext, useContext, useRef, useState } from \"react\";\nimport { getLocalVaultAccounts, isLocalNetworkAddress } from \"./utils\";\nimport type {\n VaultAccountsContextInterface,\n VaultAccountsProviderProps,\n} from \"./types\";\nimport { defaultVaultAccountsContext } from \"./defaults\";\nimport { VaultAccount } from \"../types\";\n\nexport const VaultAccountsContext =\n createContext<VaultAccountsContextInterface>(defaultVaultAccountsContext);\n\nexport const useVaultAccounts = () => useContext(VaultAccountsContext);\n\nexport const VaultAccountsProvider = ({\n children,\n}: VaultAccountsProviderProps) => {\n const [vaultAccounts, seVaultAccountsState] = useState<VaultAccount[]>(\n getLocalVaultAccounts()\n );\n const vaultAccountsRef = useRef(vaultAccounts);\n\n // Check if a Vault address exists in imported addresses.\n const vaultAccountExists = (network: string, address: string) =>\n !!getLocalVaultAccounts().find((a) =>\n isLocalNetworkAddress(network, a, address)\n );\n\n // Adds a vault account to state and local storage.\n const addVaultAccount = (\n network: string,\n address: string,\n index: number,\n callback?: () => void\n ) => {\n let newVaultAccounts = getLocalVaultAccounts();\n\n if (\n !newVaultAccounts.find((a) => isLocalNetworkAddress(network, a, address))\n ) {\n const account = {\n address,\n network,\n name: ellipsisFn(address),\n source: \"vault\",\n index,\n };\n\n newVaultAccounts = [...newVaultAccounts].concat(account);\n localStorage.setItem(\n \"polkadot_vault_accounts\",\n JSON.stringify(newVaultAccounts)\n );\n\n // store only those accounts on the current network in state.\n setStateWithRef(\n newVaultAccounts.filter((a) => a.network === network),\n seVaultAccountsState,\n vaultAccountsRef\n );\n\n // Handle optional callback function.\n if (typeof callback === \"function\") {\n callback();\n }\n\n return account;\n }\n return null;\n };\n\n const removeVaultAccount = (\n network: string,\n address: string,\n callback?: () => void\n ) => {\n let newVaultAccounts = getLocalVaultAccounts();\n\n newVaultAccounts = newVaultAccounts.filter((a) => {\n if (a.address !== address) {\n return true;\n }\n if (a.network !== network) {\n return true;\n }\n return false;\n });\n\n if (!newVaultAccounts.length) {\n localStorage.removeItem(\"polkadot_vault_accounts\");\n } else {\n localStorage.setItem(\n \"polkadot_vault_accounts\",\n JSON.stringify(newVaultAccounts)\n );\n }\n setStateWithRef(\n newVaultAccounts.filter((a) => a.network === network),\n seVaultAccountsState,\n vaultAccountsRef\n );\n\n // Handle optional callback function.\n if (typeof callback === \"function\") {\n callback();\n }\n };\n\n const getVaultAccount = (network: string, address: string) => {\n const localVaultAccounts = getLocalVaultAccounts();\n if (!localVaultAccounts) {\n return null;\n }\n return (\n localVaultAccounts.find((a) =>\n isLocalNetworkAddress(network, a, address)\n ) ?? null\n );\n };\n\n const renameVaultAccount = (\n network: string,\n address: string,\n newName: string\n ) => {\n let newVaultAccounts = getLocalVaultAccounts();\n\n newVaultAccounts = newVaultAccounts.map((a) =>\n isLocalNetworkAddress(network, a, address)\n ? {\n ...a,\n name: newName,\n }\n : a\n );\n localStorage.setItem(\n \"polkadot_vault_accounts\",\n JSON.stringify(newVaultAccounts)\n );\n setStateWithRef(\n newVaultAccounts.filter((a) => a.network === network),\n seVaultAccountsState,\n vaultAccountsRef\n );\n };\n\n // Gets Vault accounts for a network.\n const getVaultAccounts = (network: string) =>\n vaultAccountsRef.current.filter((a) => a.network === network);\n\n return (\n <VaultAccountsContext.Provider\n value={{\n vaultAccountExists,\n addVaultAccount,\n removeVaultAccount,\n renameVaultAccount,\n getVaultAccount,\n getVaultAccounts,\n vaultAccounts: vaultAccountsRef.current,\n }}\n >\n {children}\n </VaultAccountsContext.Provider>\n );\n};\n"]}
1
+ {"version":3,"sources":["../src/VaultAccountsProvider/index.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { ellipsisFn, setStateWithRef } from \"@w3ux/utils\";\nimport { createContext, useContext, useRef, useState } from \"react\";\nimport { getLocalVaultAccounts, isLocalNetworkAddress } from \"./utils\";\nimport type {\n VaultAccountsContextInterface,\n VaultAccountsProviderProps,\n} from \"./types\";\nimport { defaultVaultAccountsContext } from \"./defaults\";\nimport { VaultAccount } from \"../types\";\n\nexport const VaultAccountsContext =\n createContext<VaultAccountsContextInterface>(defaultVaultAccountsContext);\n\nexport const useVaultAccounts = () => useContext(VaultAccountsContext);\n\nexport const VaultAccountsProvider = ({\n children,\n}: VaultAccountsProviderProps) => {\n const [vaultAccounts, seVaultAccountsState] = useState<VaultAccount[]>(\n getLocalVaultAccounts()\n );\n const vaultAccountsRef = useRef(vaultAccounts);\n\n // Check if a Vault address exists in imported addresses.\n const vaultAccountExists = (network: string, address: string) =>\n !!getLocalVaultAccounts().find((a) =>\n isLocalNetworkAddress(network, a, address)\n );\n\n // Adds a vault account to state and local storage.\n const addVaultAccount = (\n network: string,\n address: string,\n index: number,\n callback?: () => void\n ) => {\n let newVaultAccounts = getLocalVaultAccounts();\n\n if (\n !newVaultAccounts.find((a) => isLocalNetworkAddress(network, a, address))\n ) {\n const account = {\n address,\n network,\n name: ellipsisFn(address),\n source: \"vault\",\n index,\n };\n\n newVaultAccounts = [...newVaultAccounts].concat(account);\n localStorage.setItem(\n \"polkadot_vault_accounts\",\n JSON.stringify(newVaultAccounts)\n );\n\n // store only those accounts on the current network in state.\n setStateWithRef(\n newVaultAccounts.filter((a) => a.network === network),\n seVaultAccountsState,\n vaultAccountsRef\n );\n\n // Handle optional callback function.\n if (typeof callback === \"function\") {\n callback();\n }\n\n return account;\n }\n return null;\n };\n\n const removeVaultAccount = (\n network: string,\n address: string,\n callback?: () => void\n ) => {\n let newVaultAccounts = getLocalVaultAccounts();\n\n newVaultAccounts = newVaultAccounts.filter((a) => {\n if (a.address !== address) {\n return true;\n }\n if (a.network !== network) {\n return true;\n }\n return false;\n });\n\n if (!newVaultAccounts.length) {\n localStorage.removeItem(\"polkadot_vault_accounts\");\n } else {\n localStorage.setItem(\n \"polkadot_vault_accounts\",\n JSON.stringify(newVaultAccounts)\n );\n }\n setStateWithRef(\n newVaultAccounts.filter((a) => a.network === network),\n seVaultAccountsState,\n vaultAccountsRef\n );\n\n // Handle optional callback function.\n if (typeof callback === \"function\") {\n callback();\n }\n };\n\n const getVaultAccount = (network: string, address: string) => {\n const localVaultAccounts = getLocalVaultAccounts();\n if (!localVaultAccounts) {\n return null;\n }\n return (\n localVaultAccounts.find((a) =>\n isLocalNetworkAddress(network, a, address)\n ) ?? null\n );\n };\n\n const renameVaultAccount = (\n network: string,\n address: string,\n newName: string\n ) => {\n let newVaultAccounts = getLocalVaultAccounts();\n\n newVaultAccounts = newVaultAccounts.map((a) =>\n isLocalNetworkAddress(network, a, address)\n ? {\n ...a,\n name: newName,\n }\n : a\n );\n localStorage.setItem(\n \"polkadot_vault_accounts\",\n JSON.stringify(newVaultAccounts)\n );\n setStateWithRef(\n newVaultAccounts.filter((a) => a.network === network),\n seVaultAccountsState,\n vaultAccountsRef\n );\n };\n\n // Gets Vault accounts for a network.\n const getVaultAccounts = (network: string) =>\n vaultAccountsRef.current.filter((a) => a.network === network);\n\n return (\n <VaultAccountsContext.Provider\n value={{\n vaultAccountExists,\n addVaultAccount,\n removeVaultAccount,\n renameVaultAccount,\n getVaultAccount,\n getVaultAccounts,\n vaultAccounts: vaultAccountsRef.current,\n }}\n >\n {children}\n </VaultAccountsContext.Provider>\n );\n};\n"]}
@@ -1,3 +1,5 @@
1
1
  export {};
2
2
 
3
+ //# sourceMappingURL=types.js.map
3
4
 
5
+ //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/VaultAccountsProvider/types.ts"],"names":[],"mappings":"AAAA;wCACwC","file":"types.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { ReactNode } from \"react\";\nimport { VaultAccount } from \"../types\";\n\nexport interface VaultAccountsProviderProps {\n children: ReactNode;\n network: string;\n}\n\nexport interface VaultAccountsContextInterface {\n vaultAccountExists: (network: string, address: string) => boolean;\n addVaultAccount: (\n network: string,\n address: string,\n index: number,\n callback?: () => void\n ) => VaultAccount | null;\n removeVaultAccount: (\n network: string,\n address: string,\n callback?: () => void\n ) => void;\n renameVaultAccount: (\n network: string,\n address: string,\n newName: string\n ) => void;\n getVaultAccount: (network: string, address: string) => VaultAccount | null;\n getVaultAccounts: (network: string) => VaultAccount[];\n vaultAccounts: VaultAccount[];\n}\n"]}
1
+ {"version":3,"sources":["../src/VaultAccountsProvider/types.ts"],"names":[],"mappings":"","file":"types.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { ReactNode } from \"react\";\nimport { VaultAccount } from \"../types\";\n\nexport interface VaultAccountsProviderProps {\n children: ReactNode;\n network: string;\n}\n\nexport interface VaultAccountsContextInterface {\n vaultAccountExists: (network: string, address: string) => boolean;\n addVaultAccount: (\n network: string,\n address: string,\n index: number,\n callback?: () => void\n ) => VaultAccount | null;\n removeVaultAccount: (\n network: string,\n address: string,\n callback?: () => void\n ) => void;\n renameVaultAccount: (\n network: string,\n address: string,\n newName: string\n ) => void;\n getVaultAccount: (network: string, address: string) => VaultAccount | null;\n getVaultAccounts: (network: string) => VaultAccount[];\n vaultAccounts: VaultAccount[];\n}\n"]}
@@ -1,10 +1,12 @@
1
1
  import { localStorageOrDefault } from "@w3ux/utils";
2
- export var getLocalVaultAccounts = function (network) {
3
- var localAddresses = localStorageOrDefault("polkadot_vault_accounts", [], true);
2
+ export const getLocalVaultAccounts = (network) => {
3
+ const localAddresses = localStorageOrDefault("polkadot_vault_accounts", [], true);
4
4
  return network
5
- ? localAddresses.filter(function (a) { return a.network === network; })
5
+ ? localAddresses.filter((a) => a.network === network)
6
6
  : localAddresses;
7
7
  };
8
- export var isLocalNetworkAddress = function (chain, a, address) { return a.address === address && a.network === chain; };
8
+ export const isLocalNetworkAddress = (chain, a, address) => a.address === address && a.network === chain;
9
9
 
10
+ //# sourceMappingURL=utils.js.map
10
11
 
12
+ //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/VaultAccountsProvider/utils.ts"],"names":[],"mappings":"AAAA;wCACwC;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGpD,mDAAmD;AACnD,MAAM,CAAC,IAAM,qBAAqB,GAAG,UAAC,OAAgB;IACpD,IAAM,cAAc,GAAG,qBAAqB,CAC1C,yBAAyB,EACzB,EAAE,EACF,IAAI,CACa,CAAC;IAEpB,OAAO,OAAO;QACZ,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,KAAK,OAAO,EAArB,CAAqB,CAAC;QACrD,CAAC,CAAC,cAAc,CAAC;AACrB,CAAC,CAAC;AAEF,sDAAsD;AACtD,MAAM,CAAC,IAAM,qBAAqB,GAAG,UACnC,KAAa,EACb,CAAmD,EACnD,OAAe,IACZ,OAAA,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAA5C,CAA4C,CAAC","file":"utils.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { localStorageOrDefault } from \"@w3ux/utils\";\nimport { VaultAccount } from \"../types\";\n\n// Gets imported Vault accounts from local storage.\nexport const getLocalVaultAccounts = (network?: string) => {\n const localAddresses = localStorageOrDefault(\n \"polkadot_vault_accounts\",\n [],\n true\n ) as VaultAccount[];\n\n return network\n ? localAddresses.filter((a) => a.network === network)\n : localAddresses;\n};\n\n// Gets whether an address is a local network address.\nexport const isLocalNetworkAddress = (\n chain: string,\n a: { address: string | undefined; network: string },\n address: string\n) => a.address === address && a.network === chain;\n"]}
1
+ {"version":3,"sources":["../src/VaultAccountsProvider/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAIpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACxD,MAAM,cAAc,GAAG,qBAAqB,CAC1C,yBAAyB,EACzB,EAAE,EACF,IAAI,CACa,CAAC;IAEpB,OAAO,OAAO;QACZ,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;QACrD,CAAC,CAAC,cAAc,CAAC;AACrB,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAa,EACb,CAAmD,EACnD,OAAe,EACf,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC","file":"utils.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport { localStorageOrDefault } from \"@w3ux/utils\";\nimport { VaultAccount } from \"../types\";\n\n// Gets imported Vault accounts from local storage.\nexport const getLocalVaultAccounts = (network?: string) => {\n const localAddresses = localStorageOrDefault(\n \"polkadot_vault_accounts\",\n [],\n true\n ) as VaultAccount[];\n\n return network\n ? localAddresses.filter((a) => a.network === network)\n : localAddresses;\n};\n\n// Gets whether an address is a local network address.\nexport const isLocalNetworkAddress = (\n chain: string,\n a: { address: string | undefined; network: string },\n address: string\n) => a.address === address && a.network === chain;\n"]}
package/index.js CHANGED
@@ -3,4 +3,6 @@ export * from "./ExtensionAccountsProvider/index";
3
3
  export * from "./LedgerAccountsProvider/index";
4
4
  export * from "./VaultAccountsProvider/index";
5
5
 
6
+ //# sourceMappingURL=index.js.map
6
7
 
8
+ //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAAA;wCACwC;AAExC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC","file":"index.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nexport * from \"./ExtensionsProvider/index\";\nexport * from \"./ExtensionAccountsProvider/index\";\nexport * from \"./LedgerAccountsProvider/index\";\nexport * from \"./VaultAccountsProvider/index\";\n"]}
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC","file":"index.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nexport * from \"./ExtensionsProvider/index\";\nexport * from \"./ExtensionAccountsProvider/index\";\nexport * from \"./LedgerAccountsProvider/index\";\nexport * from \"./VaultAccountsProvider/index\";\n"]}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@w3ux/react-connect-kit",
3
- "version": "1.2.1",
3
+ "version": "1.3.0-alpha.2",
4
4
  "license": "GPL-3.0-only",
5
- "type": "module",
6
5
  "dependencies": {
7
6
  "@chainsafe/metamask-polkadot-adapter": "^0.6.0",
8
7
  "@polkadot/util": "^12.6.2",
9
8
  "@polkagate/extension-dapp": "^0.46.13",
10
- "@w3ux/extension-assets": "^0.2.6",
11
- "@w3ux/hooks": "^1.0.0",
12
- "@w3ux/utils": "^0.3.0"
9
+ "@w3ux/extension-assets": "^0.3.0",
10
+ "@w3ux/hooks": "^1.1.0",
11
+ "@w3ux/utils": "^0.4.0"
13
12
  },
13
+ "type": "module",
14
14
  "peerDependencies": {
15
15
  "@polkadot/api": "^11"
16
16
  }
package/types.js CHANGED
@@ -3,4 +3,6 @@ export * from "./ExtensionAccountsProvider/types";
3
3
  export * from "./LedgerAccountsProvider/types";
4
4
  export * from "./VaultAccountsProvider/types";
5
5
 
6
+ //# sourceMappingURL=types.js.map
6
7
 
8
+ //# sourceMappingURL=types.js.map
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"names":[],"mappings":"AAAA;wCACwC;AAOxC;;+DAE+D;AAE/D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC","file":"types.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport {\n ExtensionAccount,\n ExtensionInterface,\n} from \"./ExtensionsProvider/types\";\n\n/*------------------------------------------------------------\n Re-export package inner types.\n ------------------------------------------------------------*/\n\nexport * from \"./ExtensionsProvider/types\";\nexport * from \"./ExtensionAccountsProvider/types\";\nexport * from \"./LedgerAccountsProvider/types\";\nexport * from \"./VaultAccountsProvider/types\";\n\n/*------------------------------------------------------------\n Imported account types.\n ------------------------------------------------------------*/\nexport type MaybeAddress = string | null;\n\nexport type AccountSource = \"extension\" | \"external\" | \"ledger\" | \"vault\";\n\nexport type ExternalAccountAddedBy = \"system\" | \"user\";\n\nexport type ImportedAccount =\n | ExtensionAccount\n | ExternalAccount\n | LedgerAccount\n | VaultAccount;\n\nexport interface ExternalAccount {\n address: string;\n network: string;\n name: string;\n source: string;\n addedBy: ExternalAccountAddedBy;\n}\n\nexport interface LedgerAccount {\n address: string;\n network: string;\n name: string;\n source: string;\n index: number;\n}\n\nexport interface VaultAccount {\n address: string;\n network: string;\n name: string;\n source: string;\n index: number;\n}\n\n/*------------------------------------------------------------\n Extension import process types.\n ------------------------------------------------------------*/\n\nexport type RawExtensions = Map<string, RawExtensionEnable>;\n\nexport type RawExtensionEnable = (name?: string) => Promise<ExtensionInterface>;\n\nexport type ExtensionEnableStatus =\n | \"valid\"\n | \"extension_not_found\"\n | \"enable_invalid\";\n\nexport type ExtensionEnableResults = Map<string, ExtensionEnableResult>;\n\nexport interface ExtensionEnableResult {\n extension?: ExtensionInterface;\n connected: boolean;\n error?: string;\n}\n"]}
1
+ {"version":3,"sources":["../src/types.ts"],"names":[],"mappings":"AAYA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC","file":"types.js","sourcesContent":["/* @license Copyright 2024 w3ux authors & contributors\nSPDX-License-Identifier: GPL-3.0-only */\n\nimport {\n ExtensionAccount,\n ExtensionInterface,\n} from \"./ExtensionsProvider/types\";\n\n/*------------------------------------------------------------\n Re-export package inner types.\n ------------------------------------------------------------*/\n\nexport * from \"./ExtensionsProvider/types\";\nexport * from \"./ExtensionAccountsProvider/types\";\nexport * from \"./LedgerAccountsProvider/types\";\nexport * from \"./VaultAccountsProvider/types\";\n\n/*------------------------------------------------------------\n Imported account types.\n ------------------------------------------------------------*/\nexport type MaybeAddress = string | null;\n\nexport type AccountSource = \"extension\" | \"external\" | \"ledger\" | \"vault\";\n\nexport type ExternalAccountAddedBy = \"system\" | \"user\";\n\nexport type ImportedAccount =\n | ExtensionAccount\n | ExternalAccount\n | LedgerAccount\n | VaultAccount;\n\nexport interface ExternalAccount {\n address: string;\n network: string;\n name: string;\n source: string;\n addedBy: ExternalAccountAddedBy;\n}\n\nexport interface LedgerAccount {\n address: string;\n network: string;\n name: string;\n source: string;\n index: number;\n}\n\nexport interface VaultAccount {\n address: string;\n network: string;\n name: string;\n source: string;\n index: number;\n}\n\n/*------------------------------------------------------------\n Extension import process types.\n ------------------------------------------------------------*/\n\nexport type RawExtensions = Map<string, RawExtensionEnable>;\n\nexport type RawExtensionEnable = (name?: string) => Promise<ExtensionInterface>;\n\nexport type ExtensionEnableStatus =\n | \"valid\"\n | \"extension_not_found\"\n | \"enable_invalid\";\n\nexport type ExtensionEnableResults = Map<string, ExtensionEnableResult>;\n\nexport interface ExtensionEnableResult {\n extension?: ExtensionInterface;\n connected: boolean;\n error?: string;\n}\n"]}