@gardenfi/react-hooks 0.0.1-beta.118 → 0.0.1-beta.119
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 +27 -25
- package/package.json +2 -2
package/dist/index2.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),Q=require("wagmi"),I=require("./index4.cjs"),j=require("./index3.cjs"),u=require("@gardenfi/core"),t=require("@catalogfi/utils"),F=require("@gardenfi/orderbook"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),Q=require("wagmi"),I=require("./index4.cjs"),j=require("./index3.cjs"),u=require("@gardenfi/core"),t=require("@catalogfi/utils"),F=require("@gardenfi/orderbook"),P=require("@catalogfi/wallets"),N=require("@gardenfi/utils"),H=require("./index6.cjs"),_=require("./index5.cjs"),O=n.createContext({isExecuting:!1}),T=({children:h,config:a})=>{const[l,W]=n.useState(),[c,U]=n.useState(),[i,x]=n.useState(),[f,y]=n.useState(),z=n.useMemo(()=>!!(l&&c&&i&&f),[l,c,i,f]),{orderBookUrl:d,quoteUrl:M,bitcoinRPCUrl:q,blockNumberFetcherUrl:C}=n.useMemo(()=>{const e=_.getConfigForNetwork(a.environment);return{orderBookUrl:a.orderBookUrl||e.orderBookUrl,quoteUrl:a.quoteUrl||e.quoteUrl,bitcoinRPCUrl:a.bitcoinRPCUrl||e.bitcoinRPCUrl,blockNumberFetcherUrl:a.blockNumberFetcherUrl||e.blockNumberFetcherUrl}},[a]),v=n.useMemo(()=>new u.Quote(M),[M]),E=n.useMemo(()=>C&&a.environment?new u.BlockNumberFetcher(C,a.environment):void 0,[C,a.environment]),p=n.useMemo(()=>new P.BitcoinProvider(_.getBitcoinNetwork(a.environment),q),[a.environment,q]);u.testForReactHooks();const{data:s}=Q.useWalletClient(),{initializeSecretManager:G}=I.useSecretManager(W),{orderbook:k}=j.useOrderbook(d,i,y,E),B=async()=>{if(!s||!i)return t.Err("WalletClient or auth not initialized");const e=await G();if(e.error)return t.Err(e.error);const o=P.BitcoinWallet.fromPrivateKey(e.val.getMasterPrivKey(),p),r=new u.Garden({orderbookURl:d,secretManager:e.val,quote:v,auth:i,wallets:{evmWallet:s,btcWallet:o},blockNumberFetcher:E});return U(r),t.Ok(r)},A=async e=>{if(console.log("swap params from gardenProvider",e),!k||!s||!i)return t.Err("Orderbook or walletClient or auth not initialized");let o=c;if(!l||!o){const R=await B();if(R.error)return t.Err(R.error);o=R.val}const r=await o.swap(e);if(r.error)return t.Err(r.error);if(F.isBitcoin(r.val.source_swap.chain))return t.Ok(r.val);const w=await u.switchOrAddNetwork(e.fromAsset.chain,s);if(w.error)return t.Err("Failed to switch network: "+w.error);const S=w.val.walletClient,m=await new u.EvmRelay(r.val,d,i).init(S);if(m.error)return t.Err(m.error);const b={...r.val,source_swap:{...r.val.source_swap,initiate_tx_hash:m.val}};return t.Ok(b)},K=async e=>{if(!s||!i)return t.Err("Orderbook or walletClient or auth not initialized");if(F.isBitcoin(e.source_swap.chain))return t.Err("Not an EVM order: sourceSwap.chain is Bitcoin");let o=c;if(!l||!o){const b=await B();if(b.error)return t.Err(b.error);o=b.val}const r=await u.switchOrAddNetwork(e.source_swap.chain,s);if(r.error)return t.Err("Failed to switch network: "+r.error);const w=r.val.walletClient,g=await new u.EvmRelay(e,d,i).init(w);if(g.error)return t.Err(g.error);const m={...e,source_swap:{...e.source_swap,initiate_tx_hash:g.val}};return t.Ok(m)},$=n.useMemo(()=>async({fromAsset:e,toAsset:o,amount:r,isExactOut:w=!1})=>await v.getQuote(H.constructOrderpair(e,o),r,w),[v]);return n.useEffect(()=>{if(!s||!window)return;const e=new N.Siwe(new N.Url(d),s,{store:a.store,domain:window.location.hostname});x(e)},[s]),n.useEffect(()=>{if(!l||!s||!k||!i)return;const e=P.BitcoinWallet.fromPrivateKey(l.getMasterPrivKey(),p),o=new u.Garden({orderbookURl:d,secretManager:l,quote:v,auth:i,wallets:{evmWallet:s,btcWallet:e},blockNumberFetcher:E});U(o)},[l,s,k,i]),n.useEffect(()=>{if(!c)return;const e=c.execute(),o=r=>y(r);return c.on("onPendingOrdersChanged",o),()=>{(async()=>(await e)())(),c.off("onPendingOrdersChanged",o)}},[c]),n.createElement(O.Provider,{value:{orderBookUrl:d,initializeSecretManager:G,orderBook:k,swapAndInitiate:A,pendingOrders:f,getQuote:$,secretManager:l,garden:c,isExecuting:z,evmInitiate:K,quote:v}},h)},V=()=>{const h=n.useContext(O);if(!h)throw new Error("useGarden must be used within a GardenProvider");return h};exports.GardenContext=O;exports.GardenProvider=T;exports.useGarden=V;
|
package/dist/index2.js
CHANGED
|
@@ -1,35 +1,37 @@
|
|
|
1
|
-
import z, { createContext as
|
|
1
|
+
import z, { createContext as D, useState as p, useMemo as d, useEffect as P } from "react";
|
|
2
2
|
import { useWalletClient as J } from "wagmi";
|
|
3
3
|
import { useSecretManager as L } from "./index4.js";
|
|
4
4
|
import { useOrderbook as T } from "./index3.js";
|
|
5
|
-
import { Quote as X, BlockNumberFetcher as Y, Garden as x, switchOrAddNetwork as W, EvmRelay as E } from "@gardenfi/core";
|
|
5
|
+
import { Quote as X, BlockNumberFetcher as Y, testForReactHooks as Z, Garden as x, switchOrAddNetwork as W, EvmRelay as E } from "@gardenfi/core";
|
|
6
6
|
import { Err as a, Ok as k } from "@catalogfi/utils";
|
|
7
7
|
import { isBitcoin as S } from "@gardenfi/orderbook";
|
|
8
|
-
import { BitcoinProvider as
|
|
9
|
-
import { Siwe as
|
|
10
|
-
import { constructOrderpair as
|
|
11
|
-
import { getConfigForNetwork as
|
|
12
|
-
const A =
|
|
8
|
+
import { BitcoinProvider as $, BitcoinWallet as q } from "@catalogfi/wallets";
|
|
9
|
+
import { Siwe as ee, Url as re } from "@gardenfi/utils";
|
|
10
|
+
import { constructOrderpair as te } from "./index6.js";
|
|
11
|
+
import { getConfigForNetwork as ne, getBitcoinNetwork as oe } from "./index5.js";
|
|
12
|
+
const A = D({
|
|
13
13
|
isExecuting: !1
|
|
14
|
-
}),
|
|
14
|
+
}), be = ({
|
|
15
15
|
children: h,
|
|
16
16
|
config: n
|
|
17
17
|
}) => {
|
|
18
18
|
const [l, K] = p(), [s, y] = p(), [o, Q] = p(), [g, O] = p(), I = d(
|
|
19
19
|
() => !!(l && s && o && g),
|
|
20
20
|
[l, s, o, g]
|
|
21
|
-
), { orderBookUrl: c, quoteUrl:
|
|
22
|
-
const e =
|
|
21
|
+
), { orderBookUrl: c, quoteUrl: F, bitcoinRPCUrl: B, blockNumberFetcherUrl: C } = d(() => {
|
|
22
|
+
const e = ne(n.environment);
|
|
23
23
|
return {
|
|
24
24
|
orderBookUrl: n.orderBookUrl || e.orderBookUrl,
|
|
25
25
|
quoteUrl: n.quoteUrl || e.quoteUrl,
|
|
26
26
|
bitcoinRPCUrl: n.bitcoinRPCUrl || e.bitcoinRPCUrl,
|
|
27
27
|
blockNumberFetcherUrl: n.blockNumberFetcherUrl || e.blockNumberFetcherUrl
|
|
28
28
|
};
|
|
29
|
-
}, [n]), w = d(() => new X(
|
|
30
|
-
() => new
|
|
31
|
-
[n.environment,
|
|
32
|
-
)
|
|
29
|
+
}, [n]), w = d(() => new X(F), [F]), R = d(() => C && n.environment ? new Y(C, n.environment) : void 0, [C, n.environment]), _ = d(
|
|
30
|
+
() => new $(oe(n.environment), B),
|
|
31
|
+
[n.environment, B]
|
|
32
|
+
);
|
|
33
|
+
Z();
|
|
34
|
+
const { data: i } = J(), { initializeSecretManager: G } = L(K), { orderbook: b } = T(
|
|
33
35
|
c,
|
|
34
36
|
o,
|
|
35
37
|
O,
|
|
@@ -54,7 +56,7 @@ const A = H({
|
|
|
54
56
|
blockNumberFetcher: R
|
|
55
57
|
});
|
|
56
58
|
return y(r), k(r);
|
|
57
|
-
},
|
|
59
|
+
}, H = async (e) => {
|
|
58
60
|
if (console.log("swap params from gardenProvider", e), !b || !i || !o)
|
|
59
61
|
return a("Orderbook or walletClient or auth not initialized");
|
|
60
62
|
let t = s;
|
|
@@ -82,7 +84,7 @@ const A = H({
|
|
|
82
84
|
}
|
|
83
85
|
};
|
|
84
86
|
return k(v);
|
|
85
|
-
},
|
|
87
|
+
}, V = async (e) => {
|
|
86
88
|
if (!i || !o)
|
|
87
89
|
return a("Orderbook or walletClient or auth not initialized");
|
|
88
90
|
if (S(e.source_swap.chain))
|
|
@@ -109,9 +111,9 @@ const A = H({
|
|
|
109
111
|
}
|
|
110
112
|
};
|
|
111
113
|
return k(m);
|
|
112
|
-
},
|
|
114
|
+
}, j = d(
|
|
113
115
|
() => async ({ fromAsset: e, toAsset: t, amount: r, isExactOut: u = !1 }) => await w.getQuote(
|
|
114
|
-
|
|
116
|
+
te(e, t),
|
|
115
117
|
r,
|
|
116
118
|
u
|
|
117
119
|
),
|
|
@@ -119,7 +121,7 @@ const A = H({
|
|
|
119
121
|
);
|
|
120
122
|
return P(() => {
|
|
121
123
|
if (!i || !window) return;
|
|
122
|
-
const e = new
|
|
124
|
+
const e = new ee(new re(c), i, {
|
|
123
125
|
store: n.store,
|
|
124
126
|
domain: window.location.hostname
|
|
125
127
|
});
|
|
@@ -154,19 +156,19 @@ const A = H({
|
|
|
154
156
|
orderBookUrl: c,
|
|
155
157
|
initializeSecretManager: G,
|
|
156
158
|
orderBook: b,
|
|
157
|
-
swapAndInitiate:
|
|
159
|
+
swapAndInitiate: H,
|
|
158
160
|
pendingOrders: g,
|
|
159
|
-
getQuote:
|
|
161
|
+
getQuote: j,
|
|
160
162
|
secretManager: l,
|
|
161
163
|
garden: s,
|
|
162
164
|
isExecuting: I,
|
|
163
|
-
evmInitiate:
|
|
165
|
+
evmInitiate: V,
|
|
164
166
|
quote: w
|
|
165
167
|
}
|
|
166
168
|
},
|
|
167
169
|
h
|
|
168
170
|
);
|
|
169
|
-
},
|
|
171
|
+
}, fe = () => {
|
|
170
172
|
const h = z.useContext(A);
|
|
171
173
|
if (!h)
|
|
172
174
|
throw new Error("useGarden must be used within a GardenProvider");
|
|
@@ -174,6 +176,6 @@ const A = H({
|
|
|
174
176
|
};
|
|
175
177
|
export {
|
|
176
178
|
A as GardenContext,
|
|
177
|
-
|
|
178
|
-
|
|
179
|
+
be as GardenProvider,
|
|
180
|
+
fe as useGarden
|
|
179
181
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gardenfi/react-hooks",
|
|
3
|
-
"version": "0.0.1-beta.
|
|
3
|
+
"version": "0.0.1-beta.119",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@catalogfi/utils": "^0.1.6",
|
|
30
30
|
"@catalogfi/wallets": "^0.2.51",
|
|
31
|
-
"@gardenfi/core": "^0.2.0-beta.
|
|
31
|
+
"@gardenfi/core": "^0.2.0-beta.99",
|
|
32
32
|
"@gardenfi/orderbook": "^0.2.0-beta.33",
|
|
33
33
|
"@gardenfi/utils": "^0.0.1-beta.18",
|
|
34
34
|
"react": "^18.3.1",
|