@gardenfi/react-hooks 0.0.1-beta.31 → 0.0.1-beta.32
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
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),x=require("wagmi"),_=require("./index4.cjs"),K=require("./index3.cjs"),d=require("@gardenfi/core"),i=require("@catalogfi/utils"),A=require("@gardenfi/orderbook"),h=require("@catalogfi/wallets"),G=require("@gardenfi/utils"),N=require("./index5.cjs"),m=e.createContext({}),Q=({children:w,config:r})=>{const[a,O]=e.useState(),[
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react"),x=require("wagmi"),_=require("./index4.cjs"),K=require("./index3.cjs"),d=require("@gardenfi/core"),i=require("@catalogfi/utils"),A=require("@gardenfi/orderbook"),h=require("@catalogfi/wallets"),G=require("@gardenfi/utils"),N=require("./index5.cjs"),m=e.createContext({}),Q=({children:w,config:r})=>{const[a,O]=e.useState(),[l,B]=e.useState(),[s,S]=e.useState(),[U,q]=e.useState(),[y,R]=e.useState(),b=new d.Quote(r.quoteUrl),{data:o}=x.useWalletClient(),{initializeSecretManager:C}=_.useSecretManager(O),{orderbook:v}=K.useOrderbook(r.orderBookUrl,s),P=e.useMemo(()=>new h.BitcoinProvider(r.bitcoinNetwork,r.bitcoinRPCUrl),[r.bitcoinNetwork,r.bitcoinRPCUrl]),M=async t=>{if(!v||!o||!s)return i.Err("Orderbook or walletClient or auth not initialized");let c=l;if(!a||!c){const k=await C();if(k.error)return i.Err(k.error);const E=h.BitcoinWallet.fromPrivateKey(k.val.getMasterPrivKey(),P);c=new d.Garden({orderbookURl:r.orderBookUrl,secretManager:k.val,quote:b,auth:s,wallets:{evmWallet:o,btcWallet:E}}),B(c),q(E)}const n=await c.swap(t);if(n.error)return i.Err(n.error);if(A.isBitcoin(n.val.source_swap.chain))return i.Ok(n.val);const u=await d.switchOrAddNetwork(t.fromAsset.chain,o);if(u.error)return i.Err("Failed to switch network: "+u.error);const g=u.val.walletClient,f=await new d.EvmRelay(n.val,r.orderBookUrl,s).init(g);if(f.error)return i.Err(f.error);const p={...n.val,source_swap:{...n.val.source_swap,initiate_tx_hash:f.val}};return i.Ok(p)},W=async({fromAsset:t,toAsset:c,amount:n,isExactOut:u=!1})=>await b.getQuote(N.constructOrderpair(t,c),n,u);return e.useEffect(()=>{if(!o)return;const t=new G.Siwe(new G.Url(r.orderBookUrl),o,{store:r.store});S(t)},[o]),e.useEffect(()=>{if(!a)return;const t=h.BitcoinWallet.fromPrivateKey(a.getMasterPrivKey(),P);q(t)},[a,P]),e.useEffect(()=>{if(!a||!o||!v||!s)return;const t=new d.Garden({orderbookURl:r.orderBookUrl,secretManager:a,quote:b,auth:s,wallets:{evmWallet:o,btcWallet:U}});B(t)},[a,o,v,s,U]),e.useEffect(()=>{l&&(l.execute(),l.on("onPendingOrdersChanged",t=>{R(t)}))},[l]),e.createElement(m.Provider,{value:{orderBookUrl:r.orderBookUrl,initializeSecretManager:C,orderBook:v,swap:M,pendingOrders:y,getQuote:W,secretManager:a,garden:l}},w)},$=()=>{const w=e.useContext(m);if(!w)throw new Error("useGarden must be used within a GardenProvider");return w};exports.GardenContext=m;exports.GardenProvider=Q;exports.useGarden=$;
|
package/dist/index2.js
CHANGED
|
@@ -12,21 +12,21 @@ const W = A({}), ie = ({
|
|
|
12
12
|
children: u,
|
|
13
13
|
config: e
|
|
14
14
|
}) => {
|
|
15
|
-
const [n, G] = c(), [
|
|
15
|
+
const [n, G] = c(), [i, b] = c(), [a, M] = c(), [h, P] = c(), [x, g] = c(), k = new F(e.quoteUrl), { data: t } = Q(), { initializeSecretManager: U } = q(G), { orderbook: w } = z(e.orderBookUrl, a), p = N(
|
|
16
16
|
() => new I(e.bitcoinNetwork, e.bitcoinRPCUrl),
|
|
17
17
|
[e.bitcoinNetwork, e.bitcoinRPCUrl]
|
|
18
18
|
), E = async (r) => {
|
|
19
19
|
if (!w || !t || !a)
|
|
20
20
|
return d("Orderbook or walletClient or auth not initialized");
|
|
21
|
-
let
|
|
22
|
-
if (!n || !
|
|
21
|
+
let s = i;
|
|
22
|
+
if (!n || !s) {
|
|
23
23
|
const m = await U();
|
|
24
24
|
if (m.error) return d(m.error);
|
|
25
25
|
const B = y.fromPrivateKey(
|
|
26
26
|
m.val.getMasterPrivKey(),
|
|
27
27
|
p
|
|
28
28
|
);
|
|
29
|
-
|
|
29
|
+
s = new C({
|
|
30
30
|
orderbookURl: e.orderBookUrl,
|
|
31
31
|
secretManager: m.val,
|
|
32
32
|
quote: k,
|
|
@@ -35,9 +35,9 @@ const W = A({}), ie = ({
|
|
|
35
35
|
evmWallet: t,
|
|
36
36
|
btcWallet: B
|
|
37
37
|
}
|
|
38
|
-
}), b(
|
|
38
|
+
}), b(s), P(B);
|
|
39
39
|
}
|
|
40
|
-
const o = await
|
|
40
|
+
const o = await s.swap(r);
|
|
41
41
|
if (o.error) return d(o.error);
|
|
42
42
|
if (H(o.val.source_swap.chain)) return R(o.val);
|
|
43
43
|
const l = await j(
|
|
@@ -58,11 +58,11 @@ const W = A({}), ie = ({
|
|
|
58
58
|
return R(K);
|
|
59
59
|
}, S = async ({
|
|
60
60
|
fromAsset: r,
|
|
61
|
-
toAsset:
|
|
61
|
+
toAsset: s,
|
|
62
62
|
amount: o,
|
|
63
63
|
isExactOut: l = !1
|
|
64
64
|
}) => await k.getQuote(
|
|
65
|
-
T(r,
|
|
65
|
+
T(r, s),
|
|
66
66
|
o,
|
|
67
67
|
l
|
|
68
68
|
);
|
|
@@ -93,10 +93,10 @@ const W = A({}), ie = ({
|
|
|
93
93
|
});
|
|
94
94
|
b(r);
|
|
95
95
|
}, [n, t, w, a, h]), v(() => {
|
|
96
|
-
|
|
96
|
+
i && (i.execute(), i.on("onPendingOrdersChanged", (r) => {
|
|
97
97
|
g(r);
|
|
98
98
|
}));
|
|
99
|
-
}, [
|
|
99
|
+
}, [i]), /* @__PURE__ */ O.createElement(
|
|
100
100
|
W.Provider,
|
|
101
101
|
{
|
|
102
102
|
value: {
|
|
@@ -106,7 +106,8 @@ const W = A({}), ie = ({
|
|
|
106
106
|
swap: E,
|
|
107
107
|
pendingOrders: x,
|
|
108
108
|
getQuote: S,
|
|
109
|
-
secretManager: n
|
|
109
|
+
secretManager: n,
|
|
110
|
+
garden: i
|
|
110
111
|
}
|
|
111
112
|
},
|
|
112
113
|
u
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AsyncResult } from '@catalogfi/utils';
|
|
2
2
|
import { BitcoinNetwork } from '@catalogfi/wallets';
|
|
3
|
-
import { ISecretManager, QuoteResponse, SecretManager, SwapParams } from '@gardenfi/core';
|
|
3
|
+
import { IGardenJS, ISecretManager, QuoteResponse, SecretManager, SwapParams } from '@gardenfi/core';
|
|
4
4
|
import { Asset, IOrderbook, MatchedOrder } from '@gardenfi/orderbook';
|
|
5
5
|
import { IStore } from '@gardenfi/utils';
|
|
6
6
|
|
|
@@ -17,6 +17,7 @@ export type GardenContextType = {
|
|
|
17
17
|
pendingOrders?: MatchedOrder[];
|
|
18
18
|
getQuote?: (params: QuoteParams) => AsyncResult<QuoteResponse, string>;
|
|
19
19
|
secretManager?: ISecretManager;
|
|
20
|
+
garden?: IGardenJS;
|
|
20
21
|
};
|
|
21
22
|
export type GardenProviderProps = {
|
|
22
23
|
children: React.ReactNode;
|
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.32",
|
|
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.50",
|
|
31
|
-
"@gardenfi/core": "^0.2.0-beta.
|
|
31
|
+
"@gardenfi/core": "^0.2.0-beta.19",
|
|
32
32
|
"@gardenfi/orderbook": "^0.2.0-beta.10",
|
|
33
33
|
"@gardenfi/utils": "^0.0.1-beta.17",
|
|
34
34
|
"react": "^18.3.1",
|