@gardenfi/react-hooks 0.0.1-beta.30 → 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(),[c,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 l=c;if(!a||!l){const k=await C();if(k.error)return i.Err(k.error);const E=h.BitcoinWallet.fromPrivateKey(k.val.getMasterPrivKey(),P);l=new d.Garden({orderbookURl:r.orderBookUrl,secretManager:k.val,quote:b,auth:s,wallets:{evmWallet:o,btcWallet:E}}),B(l),q(E)}const n=await l.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:l,amount:n,isExactOut:u=!1})=>await b.getQuote(N.constructOrderpair(t,l),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(()=>{c&&(c.execute(),c.on("onPendingOrdersChanged",t=>{R(t)}))},[c]),e.createElement(m.Provider,{value:{orderBookUrl:r.orderBookUrl,initializeSecretManager:C,orderBook:v,swap:M,pendingOrders:y,getQuote:W,secretManager:a}},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=$;
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(), [s, 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(
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 i = s;
22
- if (!n || !i) {
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
- i = new C({
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(i), P(B);
38
+ }), b(s), P(B);
39
39
  }
40
- const o = await i.swap(r);
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: i,
61
+ toAsset: s,
62
62
  amount: o,
63
63
  isExactOut: l = !1
64
64
  }) => await k.getQuote(
65
- T(r, i),
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
- s && (s.execute(), s.on("onPendingOrdersChanged", (r) => {
96
+ i && (i.execute(), i.on("onPendingOrdersChanged", (r) => {
97
97
  g(r);
98
98
  }));
99
- }, [s]), /* @__PURE__ */ O.createElement(
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.30",
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.18",
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",