@gardenfi/react-hooks 2.2.1-beta.1 → 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 +1 -1
- package/dist/index.js +1 -1
- package/dist/index2.cjs +1 -1
- package/dist/index2.js +74 -69
- package/dist/index4.cjs +1 -1
- package/dist/index4.js +46 -3
- package/dist/index5.cjs +1 -1
- package/dist/index5.js +3 -74
- package/dist/index6.cjs +1 -1
- package/dist/index6.js +74 -5
- package/dist/index7.cjs +1 -0
- package/dist/index7.js +7 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/lib/context/gardenProvider.types.d.ts +2 -1
- package/package.json +5 -4
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("@
|
|
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 "@
|
|
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"),
|
|
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
|
|
2
|
-
import { useOrderbook as
|
|
3
|
-
import { resolveApiConfig as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
const
|
|
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
|
-
}),
|
|
11
|
-
children:
|
|
12
|
-
config: t
|
|
10
|
+
}), K = ({
|
|
11
|
+
children: l,
|
|
12
|
+
config: t,
|
|
13
|
+
handleSecretManagement: o
|
|
13
14
|
}) => {
|
|
14
|
-
const [e,
|
|
15
|
-
const { api: n } =
|
|
16
|
-
return t.quote ?? new
|
|
17
|
-
}, [t.environment, t.quote]),
|
|
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:
|
|
22
|
-
isExactOut:
|
|
22
|
+
amount: i,
|
|
23
|
+
isExactOut: c = !1,
|
|
23
24
|
options: a
|
|
24
|
-
}) => await (e ? e.quote :
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
}) => await (e ? e.quote : p).getQuote(
|
|
26
|
+
P(n, r),
|
|
27
|
+
i,
|
|
28
|
+
c,
|
|
28
29
|
a
|
|
29
30
|
),
|
|
30
|
-
[e,
|
|
31
|
-
),
|
|
32
|
-
if (!e) return
|
|
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 (
|
|
35
|
-
if (
|
|
36
|
-
let
|
|
37
|
-
switch (
|
|
38
|
-
case
|
|
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
|
|
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
|
|
43
|
-
|
|
43
|
+
if (!a.ok) return s(a.error);
|
|
44
|
+
i = a.val;
|
|
44
45
|
break;
|
|
45
46
|
}
|
|
46
|
-
case
|
|
47
|
+
case d.Starknet: {
|
|
47
48
|
if (!e.starknetHTLC)
|
|
48
|
-
return
|
|
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 (
|
|
53
|
-
|
|
53
|
+
if (a.error) return s(a.error);
|
|
54
|
+
i = a.val;
|
|
54
55
|
break;
|
|
55
56
|
}
|
|
56
|
-
case
|
|
57
|
+
case d.Solana: {
|
|
57
58
|
if (!e.solanaHTLC)
|
|
58
|
-
return
|
|
59
|
+
return s("Solana HTLC not initialized: Please provide solanaHTLC");
|
|
59
60
|
const a = await e.solanaHTLC.initiate(r.val);
|
|
60
|
-
if (
|
|
61
|
-
|
|
61
|
+
if (a.error) return s(a.error);
|
|
62
|
+
i = a.val;
|
|
62
63
|
break;
|
|
63
64
|
}
|
|
64
|
-
case
|
|
65
|
-
|
|
65
|
+
case d.Bitcoin:
|
|
66
|
+
i = r.val.source_swap.initiate_tx_hash;
|
|
66
67
|
break;
|
|
67
68
|
default:
|
|
68
|
-
return
|
|
69
|
+
return s("Unsupported chain");
|
|
69
70
|
}
|
|
70
|
-
const
|
|
71
|
+
const c = {
|
|
71
72
|
...r.val,
|
|
72
73
|
source_swap: {
|
|
73
74
|
...r.val.source_swap,
|
|
74
|
-
initiate_tx_hash:
|
|
75
|
+
initiate_tx_hash: i
|
|
75
76
|
}
|
|
76
77
|
};
|
|
77
|
-
return m(
|
|
78
|
+
return m(c);
|
|
78
79
|
};
|
|
79
|
-
return
|
|
80
|
-
if (!window || !
|
|
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 &&
|
|
83
|
-
n =
|
|
83
|
+
if ("wallets" in t && Object.keys(t.wallets).length > 0 && h(t.wallets))
|
|
84
|
+
n = w.fromWallets({
|
|
84
85
|
...t,
|
|
85
|
-
digestKey:
|
|
86
|
-
})
|
|
87
|
-
|
|
88
|
-
|
|
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:
|
|
91
|
-
})
|
|
93
|
+
digestKey: u
|
|
94
|
+
}).handleSecretManagement(
|
|
95
|
+
o || !1
|
|
96
|
+
);
|
|
92
97
|
else
|
|
93
98
|
return;
|
|
94
|
-
|
|
95
|
-
}, [t,
|
|
96
|
-
|
|
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:
|
|
106
|
+
getQuote: _,
|
|
102
107
|
garden: e,
|
|
103
108
|
orderBook: e == null ? void 0 : e.orderbook
|
|
104
109
|
}
|
|
105
110
|
},
|
|
106
|
-
|
|
111
|
+
l
|
|
107
112
|
);
|
|
108
|
-
},
|
|
109
|
-
const
|
|
110
|
-
if (!
|
|
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
|
|
117
|
+
return l;
|
|
113
118
|
};
|
|
114
119
|
export {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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"});
|
|
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
|
-
|
|
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
|
-
|
|
4
|
-
d as
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
4
|
-
t as DIGEST_KEY,
|
|
5
|
-
e as STORE_NAME,
|
|
6
|
-
c as VERSION
|
|
75
|
+
v as useDigestKey
|
|
7
76
|
};
|
package/dist/index7.cjs
ADDED
|
@@ -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
package/dist/src/index.d.ts
CHANGED
|
@@ -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 '@
|
|
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.
|
|
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
|
-
"@
|
|
30
|
-
"@gardenfi/
|
|
31
|
-
"@gardenfi/
|
|
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
|
},
|