@gardenfi/react-hooks 0.0.1-beta.74 → 0.0.1-beta.75
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/dist/index2.cjs +1 -1
- package/dist/index2.js +25 -25
- package/package.json +1 -1
package/dist/index2.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),z=require("wagmi"),A=require("./index4.cjs"),K=require("./index3.cjs"),d=require("@gardenfi/core"),n=require("@catalogfi/utils"),q=require("@gardenfi/orderbook"),v=require("@catalogfi/wallets"),S=require("@gardenfi/utils"),Q=require("./index5.cjs"),y=s.createContext({isExecuting:!1}),$=({children:b,config:r})=>{const[l,_]=s.useState(),[c,B]=s.useState(),[i,N]=s.useState(),[O,U]=s.useState(),W=!!(l&&c&&i&&O),h=s.useMemo(()=>new d.Quote(r.quoteUrl),[r.quoteUrl]),{data:a}=z.useWalletClient(),{initializeSecretManager:C}=A.useSecretManager(_),{orderbook:m}=K.useOrderbook(r.orderBookUrl,i,U),P=r.network===v.BitcoinNetwork.Mainnet?"mainnet":r.network===v.BitcoinNetwork.Testnet?"testnet":void 0,f=r.blockNumberFetcherUrl&&P?{url:r.blockNumberFetcherUrl,network:P}:void 0,p=s.useMemo(()=>new v.BitcoinProvider(r.network,r.bitcoinRPCUrl),[r.network,r.bitcoinRPCUrl]),G=async()=>{if(!a||!i)return n.Err("WalletClient or auth not initialized");const e=await C();if(e.error)return n.Err(e.error);const o=v.BitcoinWallet.fromPrivateKey(e.val.getMasterPrivKey(),p),t=new d.Garden({orderbookURl:r.orderBookUrl,secretManager:e.val,quote:h,auth:i,wallets:{evmWallet:a,btcWallet:o},blockNumberFetcher:f});return B(t),n.Ok(t)},x=async e=>{if(!m||!a||!i)return n.Err("Orderbook or walletClient or auth not initialized");let o=c;if(!l||!o){const R=await G();if(R.error)return n.Err(R.error);o=R.val}const t=await o.swap(e);if(t.error)return n.Err(t.error);if(q.isBitcoin(t.val.source_swap.chain))return n.Ok(t.val);const u=await d.switchOrAddNetwork(e.fromAsset.chain,a);if(u.error)return n.Err("Failed to switch network: "+u.error);const M=u.val.walletClient,w=await new d.EvmRelay(t.val,r.orderBookUrl,i).init(M);if(w.error)return n.Err(w.error);const k={...t.val,source_swap:{...t.val.source_swap,initiate_tx_hash:w.val}};return n.Ok(k)},g=async e=>{if(!a||!i)return n.Err("Orderbook or walletClient or auth not initialized");let o=c;if(!l||!o){const k=await G();if(k.error)return n.Err(k.error);o=k.val}if(q.isBitcoin(e.source_swap.chain))return n.Err("Not an EVM order: sourceSwap.chain is Bitcoin");const t=await d.switchOrAddNetwork(e.source_swap.chain,a);if(t.error)return n.Err("Failed to switch network: "+t.error);const u=t.val.walletClient,E=await new d.EvmRelay(e,r.orderBookUrl,i).init(u);if(E.error)return n.Err(E.error);const w={...e,source_swap:{...e.source_swap,initiate_tx_hash:E.val}};return n.Ok(w)},F=async({fromAsset:e,toAsset:o,amount:t,isExactOut:u=!1})=>await h.getQuote(Q.constructOrderpair(e,o),t,u);return s.useEffect(()=>{if(!a)return;const e=new S.Siwe(new S.Url(r.orderBookUrl),a,{store:r.store});N(e)},[a]),s.useEffect(()=>{if(!l||!a||!m||!i)return;const e=v.BitcoinWallet.fromPrivateKey(l.getMasterPrivKey(),p),o=new d.Garden({orderbookURl:r.orderBookUrl,secretManager:l,quote:h,auth:i,wallets:{evmWallet:a,btcWallet:e},blockNumberFetcher:f});B(o)},[l,a,m,i]),s.useEffect(()=>{if(!c)return;const e=c.execute();return c.on("onPendingOrdersChanged",o=>{U(o)}),()=>{(async()=>(await e)())()}},[c]),s.createElement(y.Provider,{value:{orderBookUrl:r.orderBookUrl,initializeSecretManager:C,orderBook:m,swap:x,pendingOrders:O,getQuote:F,secretManager:l,garden:c,isExecuting:W,evmInitiate:g,quote:h}},b)},T=()=>{const b=s.useContext(y);if(!b)throw new Error("useGarden must be used within a GardenProvider");return b};exports.GardenContext=y;exports.GardenProvider=$;exports.useGarden=T;
|
package/dist/index2.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import
|
|
1
|
+
import z, { createContext as V, useState as h, useMemo as G, useEffect as f } from "react";
|
|
2
2
|
import { useWalletClient as j } from "wagmi";
|
|
3
3
|
import { useSecretManager as D } from "./index4.js";
|
|
4
4
|
import { useOrderbook as H } from "./index3.js";
|
|
5
|
-
import { Quote as J, Garden as
|
|
5
|
+
import { Quote as J, Garden as x, switchOrAddNetwork as W, EvmRelay as E } from "@gardenfi/core";
|
|
6
6
|
import { Err as a, Ok as b } from "@catalogfi/utils";
|
|
7
|
-
import { isBitcoin as
|
|
8
|
-
import { BitcoinNetwork as
|
|
7
|
+
import { isBitcoin as F } from "@gardenfi/orderbook";
|
|
8
|
+
import { BitcoinNetwork as N, BitcoinProvider as L, BitcoinWallet as S } from "@catalogfi/wallets";
|
|
9
9
|
import { Siwe as X, Url as Y } from "@gardenfi/utils";
|
|
10
10
|
import { constructOrderpair as Z } from "./index5.js";
|
|
11
|
-
const g =
|
|
11
|
+
const g = V({
|
|
12
12
|
isExecuting: !1
|
|
13
13
|
}), ce = ({
|
|
14
14
|
children: w,
|
|
15
15
|
config: r
|
|
16
16
|
}) => {
|
|
17
|
-
const [s,
|
|
17
|
+
const [s, K] = h(), [l, R] = h(), [i, q] = h(), [U, C] = h(), A = !!(s && l && i && U), m = G(() => new J(r.quoteUrl), [r.quoteUrl]), { data: n } = j(), { initializeSecretManager: y } = D(K), { orderbook: v } = H(
|
|
18
18
|
r.orderBookUrl,
|
|
19
19
|
i,
|
|
20
20
|
C
|
|
21
|
-
), B = r.network ===
|
|
21
|
+
), B = r.network === N.Mainnet ? "mainnet" : r.network === N.Testnet ? "testnet" : void 0, P = r.blockNumberFetcherUrl && B ? {
|
|
22
22
|
url: r.blockNumberFetcherUrl,
|
|
23
23
|
network: B
|
|
24
|
-
} : void 0, M =
|
|
24
|
+
} : void 0, M = G(
|
|
25
25
|
() => new L(r.network, r.bitcoinRPCUrl),
|
|
26
26
|
[r.network, r.bitcoinRPCUrl]
|
|
27
27
|
), O = async () => {
|
|
@@ -29,10 +29,10 @@ const g = T({
|
|
|
29
29
|
return a("WalletClient or auth not initialized");
|
|
30
30
|
const e = await y();
|
|
31
31
|
if (e.error) return a(e.error);
|
|
32
|
-
const o =
|
|
32
|
+
const o = S.fromPrivateKey(
|
|
33
33
|
e.val.getMasterPrivKey(),
|
|
34
34
|
M
|
|
35
|
-
), t = new
|
|
35
|
+
), t = new x({
|
|
36
36
|
orderbookURl: r.orderBookUrl,
|
|
37
37
|
secretManager: e.val,
|
|
38
38
|
quote: m,
|
|
@@ -55,14 +55,14 @@ const g = T({
|
|
|
55
55
|
}
|
|
56
56
|
const t = await o.swap(e);
|
|
57
57
|
if (t.error) return a(t.error);
|
|
58
|
-
if (
|
|
59
|
-
const c = await
|
|
58
|
+
if (F(t.val.source_swap.chain)) return b(t.val);
|
|
59
|
+
const c = await W(
|
|
60
60
|
e.fromAsset.chain,
|
|
61
61
|
n
|
|
62
62
|
);
|
|
63
63
|
if (c.error)
|
|
64
64
|
return a("Failed to switch network: " + c.error);
|
|
65
|
-
const _ = c.val.walletClient, u = await new
|
|
65
|
+
const _ = c.val.walletClient, u = await new E(t.val, r.orderBookUrl, i).init(_);
|
|
66
66
|
if (u.error) return a(u.error);
|
|
67
67
|
const d = {
|
|
68
68
|
...t.val,
|
|
@@ -72,7 +72,7 @@ const g = T({
|
|
|
72
72
|
}
|
|
73
73
|
};
|
|
74
74
|
return b(d);
|
|
75
|
-
},
|
|
75
|
+
}, I = async (e) => {
|
|
76
76
|
if (!n || !i)
|
|
77
77
|
return a("Orderbook or walletClient or auth not initialized");
|
|
78
78
|
let o = l;
|
|
@@ -81,15 +81,15 @@ const g = T({
|
|
|
81
81
|
if (d.error) return a(d.error);
|
|
82
82
|
o = d.val;
|
|
83
83
|
}
|
|
84
|
-
if (
|
|
84
|
+
if (F(e.source_swap.chain))
|
|
85
85
|
return a("Not an EVM order: sourceSwap.chain is Bitcoin");
|
|
86
|
-
const t = await
|
|
86
|
+
const t = await W(
|
|
87
87
|
e.source_swap.chain,
|
|
88
88
|
n
|
|
89
89
|
);
|
|
90
90
|
if (t.error)
|
|
91
91
|
return a("Failed to switch network: " + t.error);
|
|
92
|
-
const c = t.val.walletClient, k = await new
|
|
92
|
+
const c = t.val.walletClient, k = await new E(e, r.orderBookUrl, i).init(c);
|
|
93
93
|
if (k.error) return a(k.error);
|
|
94
94
|
const u = {
|
|
95
95
|
...e,
|
|
@@ -99,7 +99,7 @@ const g = T({
|
|
|
99
99
|
}
|
|
100
100
|
};
|
|
101
101
|
return b(u);
|
|
102
|
-
},
|
|
102
|
+
}, T = async ({
|
|
103
103
|
fromAsset: e,
|
|
104
104
|
toAsset: o,
|
|
105
105
|
amount: t,
|
|
@@ -114,13 +114,13 @@ const g = T({
|
|
|
114
114
|
const e = new X(new Y(r.orderBookUrl), n, {
|
|
115
115
|
store: r.store
|
|
116
116
|
});
|
|
117
|
-
|
|
117
|
+
q(e);
|
|
118
118
|
}, [n]), f(() => {
|
|
119
119
|
if (!s || !n || !v || !i) return;
|
|
120
|
-
const e =
|
|
120
|
+
const e = S.fromPrivateKey(
|
|
121
121
|
s.getMasterPrivKey(),
|
|
122
122
|
M
|
|
123
|
-
), o = new
|
|
123
|
+
), o = new x({
|
|
124
124
|
orderbookURl: r.orderBookUrl,
|
|
125
125
|
secretManager: s,
|
|
126
126
|
quote: m,
|
|
@@ -140,7 +140,7 @@ const g = T({
|
|
|
140
140
|
}), () => {
|
|
141
141
|
(async () => (await e)())();
|
|
142
142
|
};
|
|
143
|
-
}, [l]), /* @__PURE__ */
|
|
143
|
+
}, [l]), /* @__PURE__ */ z.createElement(
|
|
144
144
|
g.Provider,
|
|
145
145
|
{
|
|
146
146
|
value: {
|
|
@@ -149,18 +149,18 @@ const g = T({
|
|
|
149
149
|
orderBook: v,
|
|
150
150
|
swap: Q,
|
|
151
151
|
pendingOrders: U,
|
|
152
|
-
getQuote:
|
|
152
|
+
getQuote: T,
|
|
153
153
|
secretManager: s,
|
|
154
154
|
garden: l,
|
|
155
155
|
isExecuting: A,
|
|
156
|
-
evmInitiate:
|
|
156
|
+
evmInitiate: I,
|
|
157
157
|
quote: m
|
|
158
158
|
}
|
|
159
159
|
},
|
|
160
160
|
w
|
|
161
161
|
);
|
|
162
162
|
}, ue = () => {
|
|
163
|
-
const w =
|
|
163
|
+
const w = z.useContext(g);
|
|
164
164
|
if (!w)
|
|
165
165
|
throw new Error("useGarden must be used within a GardenProvider");
|
|
166
166
|
return w;
|