@gardenfi/react-hooks 2.2.1-beta.2 → 2.2.1-beta.3

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/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index2.cjs"),r=require("./index3.cjs"),o=require("@gardenfi/core");exports.GardenProvider=e.GardenProvider;exports.useGarden=e.useGarden;exports.useOrderbook=r.useOrderbook;Object.defineProperty(exports,"BitcoinNetwork",{enumerable:!0,get:()=>o.BitcoinNetwork});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index2.cjs"),r=require("./index3.cjs"),o=require("@catalogfi/wallets");exports.GardenProvider=e.GardenProvider;exports.useGarden=e.useGarden;exports.useOrderbook=r.useOrderbook;Object.defineProperty(exports,"BitcoinNetwork",{enumerable:!0,get:()=>o.BitcoinNetwork});
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { GardenProvider as e, useGarden as t } from "./index2.js";
2
2
  import { useOrderbook as f } from "./index3.js";
3
- import { BitcoinNetwork as m } from "@gardenfi/core";
3
+ import { BitcoinNetwork as m } from "@catalogfi/wallets";
4
4
  export {
5
5
  m as BitcoinNetwork,
6
6
  e as GardenProvider,
package/dist/index2.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),q=require("./index3.cjs"),d=require("@gardenfi/core"),u=require("@gardenfi/orderbook"),k=require("./index4.cjs"),E=require("./index5.cjs"),n=require("@gardenfi/utils"),h=o.createContext({pendingOrders:[]}),b=({children:l,config:r})=>{const[e,w]=o.useState(),{digestKey:c}=E.useDigestKey(),{pendingOrders:T}=q.useOrderbook(e),p=o.useMemo(()=>{const{api:s}=d.resolveApiConfig(r.environment);return r.quote??new d.Quote(s.quote)},[r.environment,r.quote]),C=o.useMemo(()=>async({fromAsset:s,toAsset:t,amount:i,isExactOut:v=!1,options:a})=>await(e?e.quote:p).getQuote(k.constructOrderpair(s,t),i,v,a),[e,p]),y=async s=>{if(!e)return n.Err("Garden not initialized");const t=await e.swap(s);if(!t.val)return n.Err(t.error);if(u.isBitcoin(t.val.source_swap.chain))return n.Ok(t.val);let i;switch(u.getBlockchainType(t.val.source_swap.chain)){case u.BlockchainType.EVM:{if(!e.evmHTLC)return n.Err("EVM HTLC not initialized: Please provide evmHTLC");const a=await e.evmHTLC.initiate(t.val);if(!a.ok)return n.Err(a.error);i=a.val;break}case u.BlockchainType.Starknet:{if(!e.starknetHTLC)return n.Err("Starknet HTLC not initialized: Please provide starknetHTLC");const a=await e.starknetHTLC.initiate(t.val);if(!a.ok)return n.Err(a.error);i=a.val;break}case u.BlockchainType.Solana:{if(!e.solanaHTLC)return n.Err("Solana HTLC not initialized: Please provide solanaHTLC");const a=await e.solanaHTLC.initiate(t.val);if(!a.ok)return n.Err(a.error);i=a.val;break}case u.BlockchainType.Bitcoin:i=t.val.source_swap.initiate_tx_hash;break;default:return n.Err("Unsupported chain")}const v={...t.val,source_swap:{...t.val.source_swap,initiate_tx_hash:i}};return n.Ok(v)};return o.useEffect(()=>{if(!window||!c||!("wallets"in r)&&!("htlc"in r))return;let s;if("wallets"in r&&Object.keys(r.wallets).length>0&&k.hasAnyValidValue(r.wallets))s=d.Garden.fromWallets({...r,digestKey:c});else if("htlc"in r&&Object.keys(r.htlc).length>0&&k.hasAnyValidValue(r.htlc))s=new d.Garden({...r,digestKey:c});else return;w(s)},[r,c]),o.createElement(h.Provider,{value:{swapAndInitiate:y,pendingOrders:T,getQuote:C,garden:e,orderBook:e==null?void 0:e.orderbook}},l)},_=()=>{const l=o.useContext(h);if(!l)throw new Error("useGarden must be used within a GardenProvider");return l};exports.GardenContext=h;exports.GardenProvider=b;exports.useGarden=_;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),E=require("./index3.cjs"),v=require("@gardenfi/core"),n=require("./index4.cjs"),u=require("@gardenfi/orderbook"),p=require("./index5.cjs"),b=require("./index6.cjs"),w=o.createContext({pendingOrders:[]}),_=({children:c,config:r,handleSecretManagement:l})=>{const[e,T]=o.useState(),{digestKey:d}=b.useDigestKey(),{pendingOrders:C}=E.useOrderbook(e),h=o.useMemo(()=>{const{api:s}=v.resolveApiConfig(r.environment);return r.quote??new v.Quote(s.quote)},[r.environment,r.quote]),y=o.useMemo(()=>async({fromAsset:s,toAsset:t,amount:i,isExactOut:k=!1,options:a})=>await(e?e.quote:h).getQuote(p.constructOrderpair(s,t),i,k,a),[e,h]),q=async s=>{if(!e)return n.Err("Garden not initialized");const t=await e.swap(s);if(t.error)return n.Err(t.error);if(u.isBitcoin(t.val.source_swap.chain))return n.Ok(t.val);let i;switch(u.getBlockchainType(t.val.source_swap.chain)){case u.BlockchainType.EVM:{if(!e.evmHTLC)return n.Err("EVM HTLC not initialized: Please provide evmHTLC");const a=await e.evmHTLC.initiate(t.val);if(!a.ok)return n.Err(a.error);i=a.val;break}case u.BlockchainType.Starknet:{if(!e.starknetHTLC)return n.Err("Starknet HTLC not initialized: Please provide starknetHTLC");const a=await e.starknetHTLC.initiate(t.val);if(a.error)return n.Err(a.error);i=a.val;break}case u.BlockchainType.Solana:{if(!e.solanaHTLC)return n.Err("Solana HTLC not initialized: Please provide solanaHTLC");const a=await e.solanaHTLC.initiate(t.val);if(a.error)return n.Err(a.error);i=a.val;break}case u.BlockchainType.Bitcoin:i=t.val.source_swap.initiate_tx_hash;break;default:return n.Err("Unsupported chain")}const k={...t.val,source_swap:{...t.val.source_swap,initiate_tx_hash:i}};return n.Ok(k)};return o.useEffect(()=>{if(!window||!d||!("wallets"in r)&&!("htlc"in r))return;let s;if("wallets"in r&&Object.keys(r.wallets).length>0&&p.hasAnyValidValue(r.wallets))s=v.Garden.fromWallets({...r,digestKey:d}).handleSecretManagement(l||!1);else if("htlc"in r&&Object.keys(r.htlc).length>0&&p.hasAnyValidValue(r.htlc))s=new v.Garden({...r,digestKey:d}).handleSecretManagement(l||!1);else return;T(s)},[r,d,l]),o.createElement(w.Provider,{value:{swapAndInitiate:q,pendingOrders:C,getQuote:y,garden:e,orderBook:e==null?void 0:e.orderbook}},c)},G=()=>{const c=o.useContext(w);if(!c)throw new Error("useGarden must be used within a GardenProvider");return c};exports.GardenContext=w;exports.GardenProvider=_;exports.useGarden=G;
package/dist/index2.js CHANGED
@@ -1,118 +1,123 @@
1
- import h, { useState as H, useMemo as p, useEffect as L, createContext as b } from "react";
2
- import { useOrderbook as y } from "./index3.js";
3
- import { resolveApiConfig as G, Quote as O, Garden as v } from "@gardenfi/core";
4
- import { isBitcoin as q, getBlockchainType as x, BlockchainType as u } from "@gardenfi/orderbook";
5
- import { constructOrderpair as E, hasAnyValidValue as w } from "./index4.js";
6
- import { useDigestKey as P } from "./index5.js";
7
- import { Err as i, Ok as m } from "@gardenfi/utils";
8
- const k = b({
1
+ import k, { useState as L, useMemo as v, useEffect as b, createContext as y } from "react";
2
+ import { useOrderbook as G } from "./index3.js";
3
+ import { resolveApiConfig as O, Quote as q, Garden as w } from "@gardenfi/core";
4
+ import { Err as s, Ok as m } from "./index4.js";
5
+ import { isBitcoin as x, getBlockchainType as E, BlockchainType as d } from "@gardenfi/orderbook";
6
+ import { constructOrderpair as P, hasAnyValidValue as h } from "./index5.js";
7
+ import { useDigestKey as B } from "./index6.js";
8
+ const C = y({
9
9
  pendingOrders: []
10
- }), Q = ({
11
- children: s,
12
- config: t
10
+ }), K = ({
11
+ children: l,
12
+ config: t,
13
+ handleSecretManagement: o
13
14
  }) => {
14
- const [e, C] = H(), { digestKey: l } = P(), { pendingOrders: T } = y(e), c = p(() => {
15
- const { api: n } = G(t.environment);
16
- return t.quote ?? new O(n.quote);
17
- }, [t.environment, t.quote]), f = p(
15
+ const [e, f] = L(), { digestKey: u } = B(), { pendingOrders: T } = G(e), p = v(() => {
16
+ const { api: n } = O(t.environment);
17
+ return t.quote ?? new q(n.quote);
18
+ }, [t.environment, t.quote]), _ = v(
18
19
  () => async ({
19
20
  fromAsset: n,
20
21
  toAsset: r,
21
- amount: o,
22
- isExactOut: d = !1,
22
+ amount: i,
23
+ isExactOut: c = !1,
23
24
  options: a
24
- }) => await (e ? e.quote : c).getQuote(
25
- E(n, r),
26
- o,
27
- d,
25
+ }) => await (e ? e.quote : p).getQuote(
26
+ P(n, r),
27
+ i,
28
+ c,
28
29
  a
29
30
  ),
30
- [e, c]
31
- ), _ = async (n) => {
32
- if (!e) return i("Garden not initialized");
31
+ [e, p]
32
+ ), H = async (n) => {
33
+ if (!e) return s("Garden not initialized");
33
34
  const r = await e.swap(n);
34
- if (!r.val) return i(r.error);
35
- if (q(r.val.source_swap.chain)) return m(r.val);
36
- let o;
37
- switch (x(r.val.source_swap.chain)) {
38
- case u.EVM: {
35
+ if (r.error) return s(r.error);
36
+ if (x(r.val.source_swap.chain)) return m(r.val);
37
+ let i;
38
+ switch (E(r.val.source_swap.chain)) {
39
+ case d.EVM: {
39
40
  if (!e.evmHTLC)
40
- return i("EVM HTLC not initialized: Please provide evmHTLC");
41
+ return s("EVM HTLC not initialized: Please provide evmHTLC");
41
42
  const a = await e.evmHTLC.initiate(r.val);
42
- if (!a.ok) return i(a.error);
43
- o = a.val;
43
+ if (!a.ok) return s(a.error);
44
+ i = a.val;
44
45
  break;
45
46
  }
46
- case u.Starknet: {
47
+ case d.Starknet: {
47
48
  if (!e.starknetHTLC)
48
- return i(
49
+ return s(
49
50
  "Starknet HTLC not initialized: Please provide starknetHTLC"
50
51
  );
51
52
  const a = await e.starknetHTLC.initiate(r.val);
52
- if (!a.ok) return i(a.error);
53
- o = a.val;
53
+ if (a.error) return s(a.error);
54
+ i = a.val;
54
55
  break;
55
56
  }
56
- case u.Solana: {
57
+ case d.Solana: {
57
58
  if (!e.solanaHTLC)
58
- return i("Solana HTLC not initialized: Please provide solanaHTLC");
59
+ return s("Solana HTLC not initialized: Please provide solanaHTLC");
59
60
  const a = await e.solanaHTLC.initiate(r.val);
60
- if (!a.ok) return i(a.error);
61
- o = a.val;
61
+ if (a.error) return s(a.error);
62
+ i = a.val;
62
63
  break;
63
64
  }
64
- case u.Bitcoin:
65
- o = r.val.source_swap.initiate_tx_hash;
65
+ case d.Bitcoin:
66
+ i = r.val.source_swap.initiate_tx_hash;
66
67
  break;
67
68
  default:
68
- return i("Unsupported chain");
69
+ return s("Unsupported chain");
69
70
  }
70
- const d = {
71
+ const c = {
71
72
  ...r.val,
72
73
  source_swap: {
73
74
  ...r.val.source_swap,
74
- initiate_tx_hash: o
75
+ initiate_tx_hash: i
75
76
  }
76
77
  };
77
- return m(d);
78
+ return m(c);
78
79
  };
79
- return L(() => {
80
- if (!window || !l || !("wallets" in t) && !("htlc" in t)) return;
80
+ return b(() => {
81
+ if (!window || !u || !("wallets" in t) && !("htlc" in t)) return;
81
82
  let n;
82
- if ("wallets" in t && Object.keys(t.wallets).length > 0 && w(t.wallets))
83
- n = v.fromWallets({
83
+ if ("wallets" in t && Object.keys(t.wallets).length > 0 && h(t.wallets))
84
+ n = w.fromWallets({
84
85
  ...t,
85
- digestKey: l
86
- });
87
- else if ("htlc" in t && Object.keys(t.htlc).length > 0 && w(t.htlc))
88
- n = new v({
86
+ digestKey: u
87
+ }).handleSecretManagement(
88
+ o || !1
89
+ );
90
+ else if ("htlc" in t && Object.keys(t.htlc).length > 0 && h(t.htlc))
91
+ n = new w({
89
92
  ...t,
90
- digestKey: l
91
- });
93
+ digestKey: u
94
+ }).handleSecretManagement(
95
+ o || !1
96
+ );
92
97
  else
93
98
  return;
94
- C(n);
95
- }, [t, l]), /* @__PURE__ */ h.createElement(
96
- k.Provider,
99
+ f(n);
100
+ }, [t, u, o]), /* @__PURE__ */ k.createElement(
101
+ C.Provider,
97
102
  {
98
103
  value: {
99
- swapAndInitiate: _,
104
+ swapAndInitiate: H,
100
105
  pendingOrders: T,
101
- getQuote: f,
106
+ getQuote: _,
102
107
  garden: e,
103
108
  orderBook: e == null ? void 0 : e.orderbook
104
109
  }
105
110
  },
106
- s
111
+ l
107
112
  );
108
- }, j = () => {
109
- const s = h.useContext(k);
110
- if (!s)
113
+ }, W = () => {
114
+ const l = k.useContext(C);
115
+ if (!l)
111
116
  throw new Error("useGarden must be used within a GardenProvider");
112
- return s;
117
+ return l;
113
118
  };
114
119
  export {
115
- k as GardenContext,
116
- Q as GardenProvider,
117
- j as useGarden
120
+ C as GardenContext,
121
+ K as GardenProvider,
122
+ W as useGarden
118
123
  };
package/dist/index4.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=(a,e)=>`${a.chain}:${a.atomicSwapAddress}::${e.chain}:${e.atomicSwapAddress}`,c=a=>Object.values(a).some(e=>e!==void 0);exports.constructOrderpair=r;exports.hasAnyValidValue=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var h=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)},l=(e,t,r)=>(h(e,t,"read from private field"),r?r.call(e):t.get(e)),f=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},u=(e,t,r,i)=>(h(e,t,"write to private field"),t.set(e,r),r),n,a,o;class s{constructor(t,r,i=void 0){f(this,n,void 0),f(this,a,void 0),f(this,o,void 0),u(this,n,t),u(this,o,i),u(this,a,r)}get ok(){return l(this,n)}get error(){return l(this,o)}get val(){return l(this,a)}}n=new WeakMap,a=new WeakMap,o=new WeakMap;const d=e=>new s(!0,e),v=(e,...t)=>{if(typeof e=="string"&&t&&t.length>0){let r=[e,...t].map(i=>{if(i){if(i instanceof Error)return i.message;if(typeof i=="string")return i;if(i!=null&&i.toString)return i.toString()}});return new s(!1,null,r.filter(i=>i!==void 0).join(" "))}return new s(!1,null,e)};exports.Err=v;exports.Ok=d;exports.Result=s;
package/dist/index4.js CHANGED
@@ -1,5 +1,48 @@
1
- const r = (a, c) => `${a.chain}:${a.atomicSwapAddress}::${c.chain}:${c.atomicSwapAddress}`, d = (a) => Object.values(a).some((c) => c !== void 0);
1
+ var u = (e, t, r) => {
2
+ if (!t.has(e))
3
+ throw TypeError("Cannot " + r);
4
+ }, s = (e, t, r) => (u(e, t, "read from private field"), r ? r.call(e) : t.get(e)), l = (e, t, r) => {
5
+ if (t.has(e))
6
+ throw TypeError("Cannot add the same private member more than once");
7
+ t instanceof WeakSet ? t.add(e) : t.set(e, r);
8
+ }, f = (e, t, r, i) => (u(e, t, "write to private field"), t.set(e, r), r), n, a, o;
9
+ class h {
10
+ constructor(t, r, i = void 0) {
11
+ l(this, n, void 0), l(this, a, void 0), l(this, o, void 0), f(this, n, t), f(this, o, i), f(this, a, r);
12
+ }
13
+ get ok() {
14
+ return s(this, n);
15
+ }
16
+ get error() {
17
+ return s(this, o);
18
+ }
19
+ get val() {
20
+ return s(this, a);
21
+ }
22
+ }
23
+ n = /* @__PURE__ */ new WeakMap(), a = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
24
+ const d = (e) => new h(!0, e), p = (e, ...t) => {
25
+ if (typeof e == "string" && t && t.length > 0) {
26
+ let r = [e, ...t].map((i) => {
27
+ if (i) {
28
+ if (i instanceof Error)
29
+ return i.message;
30
+ if (typeof i == "string")
31
+ return i;
32
+ if (i != null && i.toString)
33
+ return i.toString();
34
+ }
35
+ });
36
+ return new h(
37
+ !1,
38
+ null,
39
+ r.filter((i) => i !== void 0).join(" ")
40
+ );
41
+ }
42
+ return new h(!1, null, e);
43
+ };
2
44
  export {
3
- r as constructOrderpair,
4
- d as hasAnyValidValue
45
+ p as Err,
46
+ d as Ok,
47
+ h as Result
5
48
  };
package/dist/index5.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@gardenfi/utils"),e=require("./index6.cjs"),E=require("react"),D=()=>{const[y,d]=E.useState();return E.useEffect(()=>{if(!indexedDB){console.error("IndexedDB is not supported in this browser");return}let o;const a=indexedDB.open(e.DB_NAME,e.VERSION);a.onerror=s=>{console.error("IndexedDB error:",s.target.error)},a.onupgradeneeded=s=>{const n=s.target.result;n.objectStoreNames.contains(e.STORE_NAME)||n.createObjectStore(e.STORE_NAME,{keyPath:"id"})},a.onsuccess=s=>{if(o=s.target.result,!o.objectStoreNames.contains(e.STORE_NAME)){o.close();const r=indexedDB.open(e.DB_NAME,o.version+1);r.onupgradeneeded=n=>{n.target.result.createObjectStore(e.STORE_NAME,{keyPath:"id"})},r.onsuccess=()=>{g(r.result)};return}g(o)};function g(s){try{const r=s.transaction(e.STORE_NAME,"readwrite"),n=r.objectStore(e.STORE_NAME),c=n.get(e.DIGEST_KEY);c.onsuccess=()=>{if(c.result){const i=u.DigestKey.from(c.result.value);if(!i.error){d(i.val);return}}const t=u.DigestKey.generateRandom();if(!t.ok){console.error("Error generating new digest key:",t.error);return}const l=n.put({id:e.DIGEST_KEY,value:t.val.digestKey});l.onsuccess=()=>{d(u.DigestKey.from(t.val.digestKey).val)},l.onerror=i=>{console.error("Error storing new digest key:",i)}},c.onerror=t=>{console.error("Error retrieving digest key:",t)},r.oncomplete=()=>{},r.onerror=t=>{console.error("Error in digestKey transaction:",t)}}catch(r){console.error("Transaction error:",r)}}return()=>{o&&o.close()}},[]),{digestKey:y}};exports.useDigestKey=D;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=(a,e)=>`${a.chain}:${a.atomicSwapAddress}::${e.chain}:${e.atomicSwapAddress}`,c=a=>Object.values(a).some(e=>e!==void 0);exports.constructOrderpair=r;exports.hasAnyValidValue=c;
package/dist/index5.js CHANGED
@@ -1,76 +1,5 @@
1
- import { DigestKey as u } from "@gardenfi/utils";
2
- import { DB_NAME as f, VERSION as D, STORE_NAME as n, DIGEST_KEY as p } from "./index6.js";
3
- import { useState as m, useEffect as E } from "react";
4
- const v = () => {
5
- const [y, d] = m();
6
- return E(() => {
7
- if (!indexedDB) {
8
- console.error("IndexedDB is not supported in this browser");
9
- return;
10
- }
11
- let t;
12
- const a = indexedDB.open(f, D);
13
- a.onerror = (o) => {
14
- console.error(
15
- "IndexedDB error:",
16
- o.target.error
17
- );
18
- }, a.onupgradeneeded = (o) => {
19
- const s = o.target.result;
20
- s.objectStoreNames.contains(n) || s.createObjectStore(n, { keyPath: "id" });
21
- }, a.onsuccess = (o) => {
22
- if (t = o.target.result, !t.objectStoreNames.contains(n)) {
23
- t.close();
24
- const e = indexedDB.open(f, t.version + 1);
25
- e.onupgradeneeded = (s) => {
26
- s.target.result.createObjectStore(n, { keyPath: "id" });
27
- }, e.onsuccess = () => {
28
- g(e.result);
29
- };
30
- return;
31
- }
32
- g(t);
33
- };
34
- function g(o) {
35
- try {
36
- const e = o.transaction(n, "readwrite"), s = e.objectStore(n), c = s.get(p);
37
- c.onsuccess = () => {
38
- if (c.result) {
39
- const i = u.from(c.result.value);
40
- if (!i.error) {
41
- d(i.val);
42
- return;
43
- }
44
- }
45
- const r = u.generateRandom();
46
- if (!r.ok) {
47
- console.error("Error generating new digest key:", r.error);
48
- return;
49
- }
50
- const l = s.put({
51
- id: p,
52
- value: r.val.digestKey
53
- });
54
- l.onsuccess = () => {
55
- d(u.from(r.val.digestKey).val);
56
- }, l.onerror = (i) => {
57
- console.error("Error storing new digest key:", i);
58
- };
59
- }, c.onerror = (r) => {
60
- console.error("Error retrieving digest key:", r);
61
- }, e.oncomplete = () => {
62
- }, e.onerror = (r) => {
63
- console.error("Error in digestKey transaction:", r);
64
- };
65
- } catch (e) {
66
- console.error("Transaction error:", e);
67
- }
68
- }
69
- return () => {
70
- t && t.close();
71
- };
72
- }, []), { digestKey: y };
73
- };
1
+ const r = (a, c) => `${a.chain}:${a.atomicSwapAddress}::${c.chain}:${c.atomicSwapAddress}`, d = (a) => Object.values(a).some((c) => c !== void 0);
74
2
  export {
75
- v as useDigestKey
3
+ r as constructOrderpair,
4
+ d as hasAnyValidValue
76
5
  };
package/dist/index6.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="garden-finance-db",n="garden-finance-store",t="digest-key",E=1;exports.DB_NAME=e;exports.DIGEST_KEY=t;exports.STORE_NAME=n;exports.VERSION=E;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("@gardenfi/utils"),e=require("./index7.cjs"),E=require("react"),D=()=>{const[y,d]=E.useState();return E.useEffect(()=>{if(!indexedDB){console.error("IndexedDB is not supported in this browser");return}let o;const a=indexedDB.open(e.DB_NAME,e.VERSION);a.onerror=s=>{console.error("IndexedDB error:",s.target.error)},a.onupgradeneeded=s=>{const n=s.target.result;n.objectStoreNames.contains(e.STORE_NAME)||n.createObjectStore(e.STORE_NAME,{keyPath:"id"})},a.onsuccess=s=>{if(o=s.target.result,!o.objectStoreNames.contains(e.STORE_NAME)){o.close();const r=indexedDB.open(e.DB_NAME,o.version+1);r.onupgradeneeded=n=>{n.target.result.createObjectStore(e.STORE_NAME,{keyPath:"id"})},r.onsuccess=()=>{g(r.result)};return}g(o)};function g(s){try{const r=s.transaction(e.STORE_NAME,"readwrite"),n=r.objectStore(e.STORE_NAME),c=n.get(e.DIGEST_KEY);c.onsuccess=()=>{if(c.result){const i=u.DigestKey.from(c.result.value);if(!i.error){d(i.val);return}}const t=u.DigestKey.generateRandom();if(!t.ok){console.error("Error generating new digest key:",t.error);return}const l=n.put({id:e.DIGEST_KEY,value:t.val.digestKey});l.onsuccess=()=>{d(u.DigestKey.from(t.val.digestKey).val)},l.onerror=i=>{console.error("Error storing new digest key:",i)}},c.onerror=t=>{console.error("Error retrieving digest key:",t)},r.oncomplete=()=>{},r.onerror=t=>{console.error("Error in digestKey transaction:",t)}}catch(r){console.error("Transaction error:",r)}}return()=>{o&&o.close()}},[]),{digestKey:y}};exports.useDigestKey=D;
package/dist/index6.js CHANGED
@@ -1,7 +1,76 @@
1
- const n = "garden-finance-db", e = "garden-finance-store", t = "digest-key", c = 1;
1
+ import { DigestKey as u } from "@gardenfi/utils";
2
+ import { DB_NAME as f, VERSION as D, STORE_NAME as n, DIGEST_KEY as p } from "./index7.js";
3
+ import { useState as m, useEffect as E } from "react";
4
+ const v = () => {
5
+ const [y, d] = m();
6
+ return E(() => {
7
+ if (!indexedDB) {
8
+ console.error("IndexedDB is not supported in this browser");
9
+ return;
10
+ }
11
+ let t;
12
+ const a = indexedDB.open(f, D);
13
+ a.onerror = (o) => {
14
+ console.error(
15
+ "IndexedDB error:",
16
+ o.target.error
17
+ );
18
+ }, a.onupgradeneeded = (o) => {
19
+ const s = o.target.result;
20
+ s.objectStoreNames.contains(n) || s.createObjectStore(n, { keyPath: "id" });
21
+ }, a.onsuccess = (o) => {
22
+ if (t = o.target.result, !t.objectStoreNames.contains(n)) {
23
+ t.close();
24
+ const e = indexedDB.open(f, t.version + 1);
25
+ e.onupgradeneeded = (s) => {
26
+ s.target.result.createObjectStore(n, { keyPath: "id" });
27
+ }, e.onsuccess = () => {
28
+ g(e.result);
29
+ };
30
+ return;
31
+ }
32
+ g(t);
33
+ };
34
+ function g(o) {
35
+ try {
36
+ const e = o.transaction(n, "readwrite"), s = e.objectStore(n), c = s.get(p);
37
+ c.onsuccess = () => {
38
+ if (c.result) {
39
+ const i = u.from(c.result.value);
40
+ if (!i.error) {
41
+ d(i.val);
42
+ return;
43
+ }
44
+ }
45
+ const r = u.generateRandom();
46
+ if (!r.ok) {
47
+ console.error("Error generating new digest key:", r.error);
48
+ return;
49
+ }
50
+ const l = s.put({
51
+ id: p,
52
+ value: r.val.digestKey
53
+ });
54
+ l.onsuccess = () => {
55
+ d(u.from(r.val.digestKey).val);
56
+ }, l.onerror = (i) => {
57
+ console.error("Error storing new digest key:", i);
58
+ };
59
+ }, c.onerror = (r) => {
60
+ console.error("Error retrieving digest key:", r);
61
+ }, e.oncomplete = () => {
62
+ }, e.onerror = (r) => {
63
+ console.error("Error in digestKey transaction:", r);
64
+ };
65
+ } catch (e) {
66
+ console.error("Transaction error:", e);
67
+ }
68
+ }
69
+ return () => {
70
+ t && t.close();
71
+ };
72
+ }, []), { digestKey: y };
73
+ };
2
74
  export {
3
- n as DB_NAME,
4
- t as DIGEST_KEY,
5
- e as STORE_NAME,
6
- c as VERSION
75
+ v as useDigestKey
7
76
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="garden-finance-db",n="garden-finance-store",t="digest-key",E=1;exports.DB_NAME=e;exports.DIGEST_KEY=t;exports.STORE_NAME=n;exports.VERSION=E;
package/dist/index7.js ADDED
@@ -0,0 +1,7 @@
1
+ const n = "garden-finance-db", e = "garden-finance-store", t = "digest-key", c = 1;
2
+ export {
3
+ n as DB_NAME,
4
+ t as DIGEST_KEY,
5
+ e as STORE_NAME,
6
+ c as VERSION
7
+ };
@@ -1,4 +1,4 @@
1
1
  export { GardenProvider, useGarden } from './lib/context/GardenProvider';
2
2
  export type { QuoteParams, GardenContextType, GardenProviderProps, } from './lib/context/gardenProvider.types';
3
3
  export { useOrderbook } from './lib/hooks/useOrderbook';
4
- export { BitcoinNetwork } from '@gardenfi/core';
4
+ export { BitcoinNetwork } from '@catalogfi/wallets';
@@ -1,6 +1,6 @@
1
1
  import { OrderWithStatus, IGardenJS, QuoteResponse, SwapParams, GardenConfigWithHTLCs, GardenConfigWithWallets } from '@gardenfi/core';
2
+ import { AsyncResult, Request, Result } from '@catalogfi/utils';
2
3
  import { Asset, IOrderbook, MatchedOrder } from '@gardenfi/orderbook';
3
- import { AsyncResult, Result } from '@gardenfi/utils';
4
4
 
5
5
  export type GardenContextType = {
6
6
  /**
@@ -35,6 +35,7 @@ export type GardenContextType = {
35
35
  export type GardenProviderProps = {
36
36
  children: React.ReactNode;
37
37
  config: Omit<GardenConfigWithHTLCs, 'digestKey'> | Omit<GardenConfigWithWallets, 'digestKey'>;
38
+ handleSecretManagement?: boolean;
38
39
  };
39
40
  export type QuoteParams = {
40
41
  fromAsset: Asset;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gardenfi/react-hooks",
3
- "version": "2.2.1-beta.2",
3
+ "version": "2.2.1-beta.3",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -26,9 +26,10 @@
26
26
  "registry": "https://registry.npmjs.org/"
27
27
  },
28
28
  "dependencies": {
29
- "@gardenfi/core": "2.2.1-beta.2",
30
- "@gardenfi/orderbook": "2.2.1-beta.2",
31
- "@gardenfi/utils": "2.2.1-beta.2",
29
+ "@catalogfi/wallets": "^0.2.59",
30
+ "@gardenfi/core": "2.2.1-beta.3",
31
+ "@gardenfi/orderbook": "2.2.1-beta.3",
32
+ "@gardenfi/utils": "2.2.1",
32
33
  "react": "^18.3.1",
33
34
  "starknet": "6.23.1"
34
35
  },