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