@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 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"),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;
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 H, useState as p, useMemo as d, useEffect as P } from "react";
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 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({
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
- }), he = ({
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: B, bitcoinRPCUrl: F, blockNumberFetcherUrl: C } = d(() => {
22
- const e = te(n.environment);
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(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(
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
- }, V = async (e) => {
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
- }, j = async (e) => {
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
- }, D = d(
114
+ }, j = d(
113
115
  () => async ({ fromAsset: e, toAsset: t, amount: r, isExactOut: u = !1 }) => await w.getQuote(
114
- re(e, t),
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 $(new ee(c), i, {
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: V,
159
+ swapAndInitiate: H,
158
160
  pendingOrders: g,
159
- getQuote: D,
161
+ getQuote: j,
160
162
  secretManager: l,
161
163
  garden: s,
162
164
  isExecuting: I,
163
- evmInitiate: j,
165
+ evmInitiate: V,
164
166
  quote: w
165
167
  }
166
168
  },
167
169
  h
168
170
  );
169
- }, be = () => {
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
- he as GardenProvider,
178
- be as useGarden
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.118",
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.98",
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",