add node manager

This commit is contained in:
Paul Miller
2023-04-04 13:14:13 -05:00
parent ae703183df
commit 3efac0814d
9 changed files with 192 additions and 33 deletions

View File

@@ -0,0 +1,31 @@
import { NodeManager } from "@mutinywallet/node-manager";
import { createContext, JSX, useContext, createResource } from "solid-js";
import { setupNodeManager } from "~/logic/nodeManagerSetup";
const NodeManagerContext = createContext();
export function NodeManagerProvider(props: { children: JSX.Element }) {
const [nodeManager] = createResource({}, setupNodeManager);
const fetchBalance = async (nm: NodeManager) => {
console.log("refetching balance");
const balance = await nm.get_balance();
return balance
};
const [balance, { refetch }] = createResource(nodeManager, fetchBalance);
const value = {
nodeManager,
balance,
refetchBalance: refetch
};
return (
<NodeManagerContext.Provider value={value}>
{props.children}
</NodeManagerContext.Provider>
)
}
export function useNodeManager() { return useContext(NodeManagerContext); }