@w3ux/react-connect-kit 1.2.1 → 1.3.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/ExtensionAccountsProvider/Extensions.js +129 -0
- package/cjs/ExtensionAccountsProvider/Extensions.js.map +1 -0
- package/cjs/ExtensionAccountsProvider/defaults.js +20 -0
- package/cjs/ExtensionAccountsProvider/defaults.js.map +1 -0
- package/cjs/ExtensionAccountsProvider/index.js +242 -0
- package/cjs/ExtensionAccountsProvider/index.js.map +1 -0
- package/cjs/ExtensionAccountsProvider/snap.js +73 -0
- package/cjs/ExtensionAccountsProvider/snap.js.map +1 -0
- package/cjs/ExtensionAccountsProvider/types.js +6 -0
- package/cjs/ExtensionAccountsProvider/types.js.map +1 -0
- package/cjs/ExtensionAccountsProvider/useImportExtension.js +53 -0
- package/cjs/ExtensionAccountsProvider/useImportExtension.js.map +1 -0
- package/cjs/ExtensionAccountsProvider/utils.js +47 -0
- package/cjs/ExtensionAccountsProvider/utils.js.map +1 -0
- package/cjs/ExtensionsProvider/defaults.js +16 -0
- package/cjs/ExtensionsProvider/defaults.js.map +1 -0
- package/cjs/ExtensionsProvider/index.js +117 -0
- package/cjs/ExtensionsProvider/index.js.map +1 -0
- package/cjs/ExtensionsProvider/types.js +6 -0
- package/cjs/ExtensionsProvider/types.js.map +1 -0
- package/cjs/ExtensionsProvider/utils.js +40 -0
- package/cjs/ExtensionsProvider/utils.js.map +1 -0
- package/cjs/LedgerAccountsProvider/defaults.js +16 -0
- package/cjs/LedgerAccountsProvider/defaults.js.map +1 -0
- package/cjs/LedgerAccountsProvider/index.js +88 -0
- package/cjs/LedgerAccountsProvider/index.js.map +1 -0
- package/cjs/LedgerAccountsProvider/types.js +6 -0
- package/cjs/LedgerAccountsProvider/types.js.map +1 -0
- package/cjs/LedgerAccountsProvider/utils.js +34 -0
- package/cjs/LedgerAccountsProvider/utils.js.map +1 -0
- package/cjs/VaultAccountsProvider/defaults.js +16 -0
- package/cjs/VaultAccountsProvider/defaults.js.map +1 -0
- package/cjs/VaultAccountsProvider/index.js +88 -0
- package/cjs/VaultAccountsProvider/index.js.map +1 -0
- package/cjs/VaultAccountsProvider/types.js +6 -0
- package/cjs/VaultAccountsProvider/types.js.map +1 -0
- package/cjs/VaultAccountsProvider/utils.js +17 -0
- package/cjs/VaultAccountsProvider/utils.js.map +1 -0
- package/cjs/index.js +24 -0
- package/cjs/index.js.map +1 -0
- package/cjs/types.js +24 -0
- package/cjs/types.js.map +1 -0
- package/mjs/ExtensionAccountsProvider/Extensions.d.ts +13 -0
- package/mjs/ExtensionAccountsProvider/Extensions.js +114 -0
- package/mjs/ExtensionAccountsProvider/Extensions.js.map +1 -0
- package/mjs/ExtensionAccountsProvider/defaults.d.ts +10 -0
- package/mjs/ExtensionAccountsProvider/defaults.js +17 -0
- package/mjs/ExtensionAccountsProvider/defaults.js.map +1 -0
- package/mjs/ExtensionAccountsProvider/index.d.ts +5 -0
- package/mjs/ExtensionAccountsProvider/index.js +227 -0
- package/mjs/ExtensionAccountsProvider/index.js.map +1 -0
- package/mjs/ExtensionAccountsProvider/snap.d.ts +2 -0
- package/mjs/ExtensionAccountsProvider/snap.js +60 -0
- package/mjs/ExtensionAccountsProvider/snap.js.map +1 -0
- package/mjs/ExtensionAccountsProvider/types.d.ts +24 -0
- package/mjs/ExtensionAccountsProvider/types.js +5 -0
- package/mjs/ExtensionAccountsProvider/types.js.map +1 -0
- package/mjs/ExtensionAccountsProvider/useImportExtension.d.ts +6 -0
- package/mjs/ExtensionAccountsProvider/useImportExtension.js +45 -0
- package/mjs/ExtensionAccountsProvider/useImportExtension.js.map +1 -0
- package/mjs/ExtensionAccountsProvider/utils.d.ts +8 -0
- package/mjs/ExtensionAccountsProvider/utils.js +34 -0
- package/mjs/ExtensionAccountsProvider/utils.js.map +1 -0
- package/mjs/ExtensionsProvider/defaults.d.ts +2 -0
- package/mjs/ExtensionsProvider/defaults.js +13 -0
- package/mjs/ExtensionsProvider/defaults.js.map +1 -0
- package/mjs/ExtensionsProvider/index.d.ts +11 -0
- package/mjs/ExtensionsProvider/index.js +106 -0
- package/mjs/ExtensionsProvider/index.js.map +1 -0
- package/mjs/ExtensionsProvider/types.d.ts +44 -0
- package/mjs/ExtensionsProvider/types.js +5 -0
- package/mjs/ExtensionsProvider/types.js.map +1 -0
- package/mjs/ExtensionsProvider/utils.d.ts +20 -0
- package/mjs/ExtensionsProvider/utils.js +26 -0
- package/mjs/ExtensionsProvider/utils.js.map +1 -0
- package/mjs/LedgerAccountsProvider/defaults.d.ts +2 -0
- package/mjs/LedgerAccountsProvider/defaults.js +13 -0
- package/mjs/LedgerAccountsProvider/defaults.js.map +1 -0
- package/mjs/LedgerAccountsProvider/index.d.ts +5 -0
- package/mjs/LedgerAccountsProvider/index.js +87 -0
- package/mjs/LedgerAccountsProvider/index.js.map +1 -0
- package/mjs/LedgerAccountsProvider/types.d.ts +21 -0
- package/mjs/LedgerAccountsProvider/types.js +5 -0
- package/mjs/LedgerAccountsProvider/types.js.map +1 -0
- package/mjs/LedgerAccountsProvider/utils.d.ts +9 -0
- package/mjs/LedgerAccountsProvider/utils.js +29 -0
- package/mjs/LedgerAccountsProvider/utils.js.map +1 -0
- package/mjs/VaultAccountsProvider/defaults.d.ts +2 -0
- package/mjs/VaultAccountsProvider/defaults.js +13 -0
- package/mjs/VaultAccountsProvider/defaults.js.map +1 -0
- package/mjs/VaultAccountsProvider/index.d.ts +5 -0
- package/mjs/VaultAccountsProvider/index.js +86 -0
- package/mjs/VaultAccountsProvider/index.js.map +1 -0
- package/mjs/VaultAccountsProvider/types.d.ts +15 -0
- package/mjs/VaultAccountsProvider/types.js +5 -0
- package/mjs/VaultAccountsProvider/types.js.map +1 -0
- package/mjs/VaultAccountsProvider/utils.d.ts +6 -0
- package/mjs/VaultAccountsProvider/utils.js +12 -0
- package/mjs/VaultAccountsProvider/utils.js.map +1 -0
- package/{index.js → mjs/index.d.ts} +0 -2
- package/mjs/index.js +8 -0
- package/mjs/index.js.map +1 -0
- package/mjs/types.d.ts +39 -0
- package/{types.js → mjs/types.js} +2 -0
- package/mjs/types.js.map +1 -0
- package/package.json +12 -5
- package/ExtensionAccountsProvider/Extensions.js +0 -206
- package/ExtensionAccountsProvider/Extensions.js.map +0 -1
- package/ExtensionAccountsProvider/defaults.js +0 -15
- package/ExtensionAccountsProvider/defaults.js.map +0 -1
- package/ExtensionAccountsProvider/index.js +0 -344
- package/ExtensionAccountsProvider/index.js.map +0 -1
- package/ExtensionAccountsProvider/snap.js +0 -129
- package/ExtensionAccountsProvider/snap.js.map +0 -1
- package/ExtensionAccountsProvider/types.js +0 -3
- package/ExtensionAccountsProvider/types.js.map +0 -1
- package/ExtensionAccountsProvider/useImportExtension.js +0 -65
- package/ExtensionAccountsProvider/useImportExtension.js.map +0 -1
- package/ExtensionAccountsProvider/utils.js +0 -37
- package/ExtensionAccountsProvider/utils.js.map +0 -1
- package/ExtensionsProvider/defaults.js +0 -11
- package/ExtensionsProvider/defaults.js.map +0 -1
- package/ExtensionsProvider/index.js +0 -165
- package/ExtensionsProvider/index.js.map +0 -1
- package/ExtensionsProvider/types.js +0 -3
- package/ExtensionsProvider/types.js.map +0 -1
- package/ExtensionsProvider/utils.js +0 -78
- package/ExtensionsProvider/utils.js.map +0 -1
- package/LedgerAccountsProvider/defaults.js +0 -11
- package/LedgerAccountsProvider/defaults.js.map +0 -1
- package/LedgerAccountsProvider/index.js +0 -116
- package/LedgerAccountsProvider/index.js.map +0 -1
- package/LedgerAccountsProvider/types.js +0 -3
- package/LedgerAccountsProvider/types.js.map +0 -1
- package/LedgerAccountsProvider/utils.js +0 -38
- package/LedgerAccountsProvider/utils.js.map +0 -1
- package/VaultAccountsProvider/defaults.js +0 -11
- package/VaultAccountsProvider/defaults.js.map +0 -1
- package/VaultAccountsProvider/index.js +0 -112
- package/VaultAccountsProvider/index.js.map +0 -1
- package/VaultAccountsProvider/types.js +0 -3
- package/VaultAccountsProvider/types.js.map +0 -1
- package/VaultAccountsProvider/utils.js +0 -10
- package/VaultAccountsProvider/utils.js.map +0 -1
- package/index.js.map +0 -1
- package/types.js.map +0 -1
- /package/{ExtensionAccountsProvider → cjs/ExtensionAccountsProvider}/Extensions.d.ts +0 -0
- /package/{ExtensionAccountsProvider → cjs/ExtensionAccountsProvider}/defaults.d.ts +0 -0
- /package/{ExtensionAccountsProvider → cjs/ExtensionAccountsProvider}/index.d.ts +0 -0
- /package/{ExtensionAccountsProvider → cjs/ExtensionAccountsProvider}/snap.d.ts +0 -0
- /package/{ExtensionAccountsProvider → cjs/ExtensionAccountsProvider}/types.d.ts +0 -0
- /package/{ExtensionAccountsProvider → cjs/ExtensionAccountsProvider}/useImportExtension.d.ts +0 -0
- /package/{ExtensionAccountsProvider → cjs/ExtensionAccountsProvider}/utils.d.ts +0 -0
- /package/{ExtensionsProvider → cjs/ExtensionsProvider}/defaults.d.ts +0 -0
- /package/{ExtensionsProvider → cjs/ExtensionsProvider}/index.d.ts +0 -0
- /package/{ExtensionsProvider → cjs/ExtensionsProvider}/types.d.ts +0 -0
- /package/{ExtensionsProvider → cjs/ExtensionsProvider}/utils.d.ts +0 -0
- /package/{LedgerAccountsProvider → cjs/LedgerAccountsProvider}/defaults.d.ts +0 -0
- /package/{LedgerAccountsProvider → cjs/LedgerAccountsProvider}/index.d.ts +0 -0
- /package/{LedgerAccountsProvider → cjs/LedgerAccountsProvider}/types.d.ts +0 -0
- /package/{LedgerAccountsProvider → cjs/LedgerAccountsProvider}/utils.d.ts +0 -0
- /package/{VaultAccountsProvider → cjs/VaultAccountsProvider}/defaults.d.ts +0 -0
- /package/{VaultAccountsProvider → cjs/VaultAccountsProvider}/index.d.ts +0 -0
- /package/{VaultAccountsProvider → cjs/VaultAccountsProvider}/types.d.ts +0 -0
- /package/{VaultAccountsProvider → cjs/VaultAccountsProvider}/utils.d.ts +0 -0
- /package/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/{types.d.ts → cjs/types.d.ts} +0 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext, useRef, useState } from "react";
|
|
3
|
+
import { defaultLedgerAccountsContext } from "./defaults";
|
|
4
|
+
import { getLocalLedgerAccounts, getLocalLedgerAddresses, isLocalLedgerAccount, renameLocalLedgerAddress, } from "./utils";
|
|
5
|
+
import { setStateWithRef } from "@w3ux/utils";
|
|
6
|
+
export const LedgerAccountsContext = createContext(defaultLedgerAccountsContext);
|
|
7
|
+
export const useLedgerAccounts = () => useContext(LedgerAccountsContext);
|
|
8
|
+
export const LedgerAccountsProvider = ({ children, }) => {
|
|
9
|
+
const [ledgerAccounts, setLedgerAccountsState] = useState(getLocalLedgerAccounts());
|
|
10
|
+
const ledgerAccountsRef = useRef(ledgerAccounts);
|
|
11
|
+
const ledgerAccountExists = (network, address) => !!getLocalLedgerAccounts().find((account) => isLocalLedgerAccount(network, account, address));
|
|
12
|
+
const addLedgerAccount = (network, address, index, callback) => {
|
|
13
|
+
let newLedgerAccounts = getLocalLedgerAccounts();
|
|
14
|
+
const ledgerAddress = getLocalLedgerAddresses().find((a) => isLocalLedgerAccount(network, a, address));
|
|
15
|
+
if (ledgerAddress &&
|
|
16
|
+
!newLedgerAccounts.find((account) => isLocalLedgerAccount(network, account, address))) {
|
|
17
|
+
const newAccount = {
|
|
18
|
+
address,
|
|
19
|
+
network,
|
|
20
|
+
name: ledgerAddress.name,
|
|
21
|
+
source: "ledger",
|
|
22
|
+
index,
|
|
23
|
+
};
|
|
24
|
+
newLedgerAccounts = [...newLedgerAccounts].concat(newAccount);
|
|
25
|
+
localStorage.setItem("ledger_accounts", JSON.stringify(newLedgerAccounts));
|
|
26
|
+
setStateWithRef(newLedgerAccounts.filter((account) => account.network === network), setLedgerAccountsState, ledgerAccountsRef);
|
|
27
|
+
if (typeof callback === "function") {
|
|
28
|
+
callback();
|
|
29
|
+
}
|
|
30
|
+
return newAccount;
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
};
|
|
34
|
+
const removeLedgerAccount = (network, address, callback) => {
|
|
35
|
+
const newLedgerAccounts = getLocalLedgerAccounts().filter((account) => {
|
|
36
|
+
if (account.address !== address) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
if (account.network !== network) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
});
|
|
44
|
+
if (!newLedgerAccounts.length) {
|
|
45
|
+
localStorage.removeItem("ledger_accounts");
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
localStorage.setItem("ledger_accounts", JSON.stringify(newLedgerAccounts));
|
|
49
|
+
}
|
|
50
|
+
setStateWithRef(newLedgerAccounts.filter((account) => account.network === network), setLedgerAccountsState, ledgerAccountsRef);
|
|
51
|
+
if (typeof callback === "function") {
|
|
52
|
+
callback();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const renameLedgerAccount = (network, address, newName) => {
|
|
56
|
+
const newLedgerAccounts = getLocalLedgerAccounts().map((account) => isLocalLedgerAccount(network, account, address)
|
|
57
|
+
? {
|
|
58
|
+
...account,
|
|
59
|
+
name: newName,
|
|
60
|
+
}
|
|
61
|
+
: account);
|
|
62
|
+
renameLocalLedgerAddress(address, newName, network);
|
|
63
|
+
localStorage.setItem("ledger_accounts", JSON.stringify(newLedgerAccounts));
|
|
64
|
+
setStateWithRef(newLedgerAccounts.filter((account) => account.network === network), setLedgerAccountsState, ledgerAccountsRef);
|
|
65
|
+
};
|
|
66
|
+
const getLedgerAccount = (network, address) => {
|
|
67
|
+
const localLedgerAccounts = getLocalLedgerAccounts();
|
|
68
|
+
if (!localLedgerAccounts) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
return (localLedgerAccounts.find((account) => isLocalLedgerAccount(network, account, address)) || null);
|
|
72
|
+
};
|
|
73
|
+
const getLedgerAccounts = (network) => ledgerAccountsRef.current.filter((a) => a.network === network);
|
|
74
|
+
return (_jsx(LedgerAccountsContext.Provider, { value: {
|
|
75
|
+
ledgerAccountExists,
|
|
76
|
+
getLedgerAccount,
|
|
77
|
+
addLedgerAccount,
|
|
78
|
+
removeLedgerAccount,
|
|
79
|
+
renameLedgerAccount,
|
|
80
|
+
getLedgerAccounts,
|
|
81
|
+
ledgerAccounts: ledgerAccountsRef.current,
|
|
82
|
+
}, children: children }));
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=index.js.map
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/LedgerAccountsProvider/index.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAM1D,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,qBAAqB,GAChC,aAAa,CAAiC,4BAA4B,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,QAAQ,GACoB,EAAE,EAAE;IAEhC,MAAM,CAAC,cAAc,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CACvD,sBAAsB,EAAE,CACzB,CAAC;IACF,MAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAGjD,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE,CAC/D,CAAC,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAChD,CAAC;IAGJ,MAAM,gBAAgB,GAAG,CACvB,OAAe,EACf,OAAe,EACf,KAAa,EACb,QAAqB,EACrB,EAAE;QACF,IAAI,iBAAiB,GAAG,sBAAsB,EAAE,CAAC;QAEjD,MAAM,aAAa,GAAG,uBAAuB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACzD,oBAAoB,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAC1C,CAAC;QAEF,IACE,aAAa;YACb,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAClC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAChD,EACD,CAAC;YACD,MAAM,UAAU,GAAG;gBACjB,OAAO;gBACP,OAAO;gBACP,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,MAAM,EAAE,QAAQ;gBAChB,KAAK;aACN,CAAC;YAGF,iBAAiB,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC9D,YAAY,CAAC,OAAO,CAClB,iBAAiB,EACjB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAClC,CAAC;YAGF,eAAe,CACb,iBAAiB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,EAClE,sBAAsB,EACtB,iBAAiB,CAClB,CAAC;YAGF,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACnC,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAGF,MAAM,mBAAmB,GAAG,CAC1B,OAAe,EACf,OAAe,EACf,QAAqB,EACrB,EAAE;QAEF,MAAM,iBAAiB,GAAG,sBAAsB,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;YACpE,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC9B,YAAY,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,OAAO,CAClB,iBAAiB,EACjB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAClC,CAAC;QACJ,CAAC;QAGD,eAAe,CACb,iBAAiB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,EAClE,sBAAsB,EACtB,iBAAiB,CAClB,CAAC;QAGF,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC;IAGF,MAAM,mBAAmB,GAAG,CAC1B,OAAe,EACf,OAAe,EACf,OAAe,EACf,EAAE;QAEF,MAAM,iBAAiB,GAAG,sBAAsB,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACjE,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;YAC7C,CAAC,CAAC;gBACE,GAAG,OAAO;gBACV,IAAI,EAAE,OAAO;aACd;YACH,CAAC,CAAC,OAAO,CACZ,CAAC;QACF,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAG3E,eAAe,CACb,iBAAiB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,EAClE,sBAAsB,EACtB,iBAAiB,CAClB,CAAC;IACJ,CAAC,CAAC;IAGF,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE;QAC5D,MAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;QACrD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CACL,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACnC,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAChD,IAAI,IAAI,CACV,CAAC;IACJ,CAAC,CAAC;IAGF,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,EAAE,CAC5C,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IAEjE,OAAO,CACL,KAAC,qBAAqB,CAAC,QAAQ,IAC7B,KAAK,EAAE;YACL,mBAAmB;YACnB,gBAAgB;YAChB,gBAAgB;YAChB,mBAAmB;YACnB,mBAAmB;YACnB,iBAAiB;YACjB,cAAc,EAAE,iBAAiB,CAAC,OAAO;SAC1C,YAEA,QAAQ,GACsB,CAClC,CAAC;AACJ,CAAC,CAAC","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"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { LedgerAccount } from "../types";
|
|
3
|
+
export interface LedgerAccountsContextInterface {
|
|
4
|
+
ledgerAccountExists: (network: string, a: string) => boolean;
|
|
5
|
+
addLedgerAccount: (network: string, address: string, index: number, callback?: () => void) => LedgerAccount | null;
|
|
6
|
+
removeLedgerAccount: (network: string, address: string, callback?: () => void) => void;
|
|
7
|
+
renameLedgerAccount: (network: string, address: string, name: string) => void;
|
|
8
|
+
getLedgerAccount: (network: string, address: string) => LedgerAccount | null;
|
|
9
|
+
getLedgerAccounts: (network: string) => LedgerAccount[];
|
|
10
|
+
ledgerAccounts: LedgerAccount[];
|
|
11
|
+
}
|
|
12
|
+
export interface LedgerAccountsProviderProps {
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export interface LedgerAddress {
|
|
16
|
+
address: string;
|
|
17
|
+
index: number;
|
|
18
|
+
name: string;
|
|
19
|
+
network: string;
|
|
20
|
+
pubKey: string;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { LedgerAccount } from "../types";
|
|
2
|
+
import { LedgerAddress } from "./types";
|
|
3
|
+
export declare const getLocalLedgerAccounts: (network?: string) => LedgerAccount[];
|
|
4
|
+
export declare const isLocalLedgerAccount: (network: string, account: {
|
|
5
|
+
address: string | null;
|
|
6
|
+
network: string;
|
|
7
|
+
}, address: string) => boolean;
|
|
8
|
+
export declare const getLocalLedgerAddresses: (network?: string) => LedgerAddress[];
|
|
9
|
+
export declare const renameLocalLedgerAddress: (address: string, name: string, network: string) => void;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { localStorageOrDefault } from "@w3ux/utils";
|
|
2
|
+
export const getLocalLedgerAccounts = (network) => {
|
|
3
|
+
const localAddresses = localStorageOrDefault("ledger_accounts", [], true);
|
|
4
|
+
return network
|
|
5
|
+
? localAddresses.filter((a) => a.network === network)
|
|
6
|
+
: localAddresses;
|
|
7
|
+
};
|
|
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);
|
|
11
|
+
return network
|
|
12
|
+
? localAddresses.filter((a) => a.network === network)
|
|
13
|
+
: localAddresses;
|
|
14
|
+
};
|
|
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
|
+
});
|
|
22
|
+
if (localLedger) {
|
|
23
|
+
localStorage.setItem("ledger_addresses", JSON.stringify(localLedger));
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=utils.js.map
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
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
|
+
vaultAccounts: [],
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=defaults.js.map
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { VaultAccountsContextInterface, VaultAccountsProviderProps } from "./types";
|
|
3
|
+
export declare const VaultAccountsContext: import("react").Context<VaultAccountsContextInterface>;
|
|
4
|
+
export declare const useVaultAccounts: () => VaultAccountsContextInterface;
|
|
5
|
+
export declare const VaultAccountsProvider: ({ children, }: VaultAccountsProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ellipsisFn, setStateWithRef } from "@w3ux/utils";
|
|
3
|
+
import { createContext, useContext, useRef, useState } from "react";
|
|
4
|
+
import { getLocalVaultAccounts, isLocalNetworkAddress } from "./utils";
|
|
5
|
+
import { defaultVaultAccountsContext } from "./defaults";
|
|
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,
|
|
18
|
+
name: ellipsisFn(address),
|
|
19
|
+
source: "vault",
|
|
20
|
+
index,
|
|
21
|
+
};
|
|
22
|
+
newVaultAccounts = [...newVaultAccounts].concat(account);
|
|
23
|
+
localStorage.setItem("polkadot_vault_accounts", JSON.stringify(newVaultAccounts));
|
|
24
|
+
setStateWithRef(newVaultAccounts.filter((a) => a.network === network), seVaultAccountsState, vaultAccountsRef);
|
|
25
|
+
if (typeof callback === "function") {
|
|
26
|
+
callback();
|
|
27
|
+
}
|
|
28
|
+
return account;
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
};
|
|
32
|
+
const removeVaultAccount = (network, address, callback) => {
|
|
33
|
+
let newVaultAccounts = getLocalVaultAccounts();
|
|
34
|
+
newVaultAccounts = newVaultAccounts.filter((a) => {
|
|
35
|
+
if (a.address !== address) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
if (a.network !== network) {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
});
|
|
43
|
+
if (!newVaultAccounts.length) {
|
|
44
|
+
localStorage.removeItem("polkadot_vault_accounts");
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
localStorage.setItem("polkadot_vault_accounts", JSON.stringify(newVaultAccounts));
|
|
48
|
+
}
|
|
49
|
+
setStateWithRef(newVaultAccounts.filter((a) => a.network === network), seVaultAccountsState, vaultAccountsRef);
|
|
50
|
+
if (typeof callback === "function") {
|
|
51
|
+
callback();
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
const getVaultAccount = (network, address) => {
|
|
55
|
+
const localVaultAccounts = getLocalVaultAccounts();
|
|
56
|
+
if (!localVaultAccounts) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
return (localVaultAccounts.find((a) => isLocalNetworkAddress(network, a, address)) ?? null);
|
|
60
|
+
};
|
|
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);
|
|
69
|
+
localStorage.setItem("polkadot_vault_accounts", JSON.stringify(newVaultAccounts));
|
|
70
|
+
setStateWithRef(newVaultAccounts.filter((a) => a.network === network), seVaultAccountsState, vaultAccountsRef);
|
|
71
|
+
};
|
|
72
|
+
const getVaultAccounts = (network) => vaultAccountsRef.current.filter((a) => a.network === network);
|
|
73
|
+
return (_jsx(VaultAccountsContext.Provider, { value: {
|
|
74
|
+
vaultAccountExists,
|
|
75
|
+
addVaultAccount,
|
|
76
|
+
removeVaultAccount,
|
|
77
|
+
renameVaultAccount,
|
|
78
|
+
getVaultAccount,
|
|
79
|
+
getVaultAccounts,
|
|
80
|
+
vaultAccounts: vaultAccountsRef.current,
|
|
81
|
+
}, children: children }));
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
//# sourceMappingURL=index.js.map
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +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"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { VaultAccount } from "../types";
|
|
3
|
+
export interface VaultAccountsProviderProps {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
network: string;
|
|
6
|
+
}
|
|
7
|
+
export interface VaultAccountsContextInterface {
|
|
8
|
+
vaultAccountExists: (network: string, address: string) => boolean;
|
|
9
|
+
addVaultAccount: (network: string, address: string, index: number, callback?: () => void) => VaultAccount | null;
|
|
10
|
+
removeVaultAccount: (network: string, address: string, callback?: () => void) => void;
|
|
11
|
+
renameVaultAccount: (network: string, address: string, newName: string) => void;
|
|
12
|
+
getVaultAccount: (network: string, address: string) => VaultAccount | null;
|
|
13
|
+
getVaultAccounts: (network: string) => VaultAccount[];
|
|
14
|
+
vaultAccounts: VaultAccount[];
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { VaultAccount } from "../types";
|
|
2
|
+
export declare const getLocalVaultAccounts: (network?: string) => VaultAccount[];
|
|
3
|
+
export declare const isLocalNetworkAddress: (chain: string, a: {
|
|
4
|
+
address: string | undefined;
|
|
5
|
+
network: string;
|
|
6
|
+
}, address: string) => boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { localStorageOrDefault } from "@w3ux/utils";
|
|
2
|
+
export const getLocalVaultAccounts = (network) => {
|
|
3
|
+
const localAddresses = localStorageOrDefault("polkadot_vault_accounts", [], true);
|
|
4
|
+
return network
|
|
5
|
+
? localAddresses.filter((a) => a.network === network)
|
|
6
|
+
: localAddresses;
|
|
7
|
+
};
|
|
8
|
+
export const isLocalNetworkAddress = (chain, a, address) => a.address === address && a.network === chain;
|
|
9
|
+
|
|
10
|
+
//# sourceMappingURL=utils.js.map
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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/mjs/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./ExtensionsProvider/index";
|
|
2
|
+
export * from "./ExtensionAccountsProvider/index";
|
|
3
|
+
export * from "./LedgerAccountsProvider/index";
|
|
4
|
+
export * from "./VaultAccountsProvider/index";
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
package/mjs/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
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/mjs/types.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ExtensionAccount, ExtensionInterface } from "./ExtensionsProvider/types";
|
|
2
|
+
export * from "./ExtensionsProvider/types";
|
|
3
|
+
export * from "./ExtensionAccountsProvider/types";
|
|
4
|
+
export * from "./LedgerAccountsProvider/types";
|
|
5
|
+
export * from "./VaultAccountsProvider/types";
|
|
6
|
+
export type MaybeAddress = string | null;
|
|
7
|
+
export type AccountSource = "extension" | "external" | "ledger" | "vault";
|
|
8
|
+
export type ExternalAccountAddedBy = "system" | "user";
|
|
9
|
+
export type ImportedAccount = ExtensionAccount | ExternalAccount | LedgerAccount | VaultAccount;
|
|
10
|
+
export interface ExternalAccount {
|
|
11
|
+
address: string;
|
|
12
|
+
network: string;
|
|
13
|
+
name: string;
|
|
14
|
+
source: string;
|
|
15
|
+
addedBy: ExternalAccountAddedBy;
|
|
16
|
+
}
|
|
17
|
+
export interface LedgerAccount {
|
|
18
|
+
address: string;
|
|
19
|
+
network: string;
|
|
20
|
+
name: string;
|
|
21
|
+
source: string;
|
|
22
|
+
index: number;
|
|
23
|
+
}
|
|
24
|
+
export interface VaultAccount {
|
|
25
|
+
address: string;
|
|
26
|
+
network: string;
|
|
27
|
+
name: string;
|
|
28
|
+
source: string;
|
|
29
|
+
index: number;
|
|
30
|
+
}
|
|
31
|
+
export type RawExtensions = Map<string, RawExtensionEnable>;
|
|
32
|
+
export type RawExtensionEnable = (name?: string) => Promise<ExtensionInterface>;
|
|
33
|
+
export type ExtensionEnableStatus = "valid" | "extension_not_found" | "enable_invalid";
|
|
34
|
+
export type ExtensionEnableResults = Map<string, ExtensionEnableResult>;
|
|
35
|
+
export interface ExtensionEnableResult {
|
|
36
|
+
extension?: ExtensionInterface;
|
|
37
|
+
connected: boolean;
|
|
38
|
+
error?: string;
|
|
39
|
+
}
|
package/mjs/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
package/package.json
CHANGED
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@w3ux/react-connect-kit",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0-alpha.0",
|
|
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.
|
|
11
|
-
"@w3ux/hooks": "^1.
|
|
12
|
-
"@w3ux/utils": "^0.
|
|
9
|
+
"@w3ux/extension-assets": "^0.3.0",
|
|
10
|
+
"@w3ux/hooks": "^1.1.0",
|
|
11
|
+
"@w3ux/utils": "^0.4.0"
|
|
12
|
+
},
|
|
13
|
+
"main": "cjs/index.js",
|
|
14
|
+
"module": "mjs/index.js",
|
|
15
|
+
"exports": {
|
|
16
|
+
".": {
|
|
17
|
+
"import": "./mjs/index.js",
|
|
18
|
+
"require": "./cjs/index.js"
|
|
19
|
+
}
|
|
13
20
|
},
|
|
14
21
|
"peerDependencies": {
|
|
15
22
|
"@polkadot/api": "^11"
|