@gardenfi/react-hooks 2.0.28-beta.16 → 2.0.28-beta.18
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 +1 -1
- package/dist/index2.js +75 -82
- package/dist/index4.cjs +1 -1
- package/dist/index4.js +8 -8
- package/dist/src/lib/context/gardenProvider.types.d.ts +3 -19
- package/package.json +4 -4
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"),f=require("./index3.cjs"),w=require("@gardenfi/core"),n=require("./index4.cjs"),c=require("@gardenfi/orderbook"),C=require("./index5.cjs"),E=require("./index6.cjs"),v=o.createContext({}),G=({children:d,config:a})=>{const[r,p]=o.useState(),{digestKey:u}=E.useDigestKey(),{pendingOrders:h}=f.useOrderbook(r,u),k=o.useMemo(()=>async({fromAsset:i,toAsset:e,amount:s,isExactOut:l=!1,request:t})=>r&&await r.quote.getQuote(C.constructOrderpair(i,e),s,l,t),[r]),T=async i=>{if(!r)return n.Err("Garden not initialized");const e=await r.swap(i);if(e.error)return n.Err(e.error);if(c.isBitcoin(e.val.source_swap.chain))return n.Ok(e.val);let s;switch(c.getBlockchainType(e.val.source_swap.chain)){case c.BlockchainType.EVM:{if(!r.evmHTLC)return n.Err("EVM HTLC not initialized: Please provide evmHTLC");const t=await r.evmHTLC.initiate(e.val);if(t.error)return n.Err(t.error);s=t.val;break}case c.BlockchainType.Starknet:{if(!r.starknetHTLC)return n.Err("Starknet HTLC not initialized: Please provide starknetHTLC");const t=await r.starknetHTLC.initiate(e.val);if(t.error)return n.Err(t.error);s=t.val;break}case c.BlockchainType.Bitcoin:s=e.val.source_swap.initiate_tx_hash;break;default:return n.Err("Unsupported chain")}const l={...e.val,source_swap:{...e.val.source_swap,initiate_tx_hash:s}};return n.Ok(l)};return o.useEffect(()=>{if(!window||!u||!("wallets"in a)&&!("htlc"in a))return;let i;if("wallets"in a)i=w.Garden.fromWallets({...a,digestKey:u});else if("htlc"in a)i=new w.Garden({...a,digestKey:u});else return;p(i)},[a,u]),o.createElement(v.Provider,{value:{swapAndInitiate:T,pendingOrders:h,getQuote:k,garden:r}},d)},y=()=>{const d=o.useContext(v);if(!d)throw new Error("useGarden must be used within a GardenProvider");return d};exports.GardenContext=v;exports.GardenProvider=G;exports.useGarden=y;
|
package/dist/index2.js
CHANGED
|
@@ -1,111 +1,104 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useOrderbook as
|
|
3
|
-
import {
|
|
4
|
-
import { Err as
|
|
5
|
-
import { isBitcoin as
|
|
6
|
-
import { constructOrderpair as
|
|
7
|
-
import { useDigestKey as
|
|
8
|
-
const
|
|
9
|
-
children:
|
|
10
|
-
config:
|
|
1
|
+
import m, { useState as C, useMemo as _, useEffect as T, createContext as G } from "react";
|
|
2
|
+
import { useOrderbook as H } from "./index3.js";
|
|
3
|
+
import { Garden as l } from "@gardenfi/core";
|
|
4
|
+
import { Err as i, Ok as p } from "./index4.js";
|
|
5
|
+
import { isBitcoin as L, getBlockchainType as x, BlockchainType as d } from "@gardenfi/orderbook";
|
|
6
|
+
import { constructOrderpair as y } from "./index5.js";
|
|
7
|
+
import { useDigestKey as E } from "./index6.js";
|
|
8
|
+
const w = G({}), R = ({
|
|
9
|
+
children: u,
|
|
10
|
+
config: a
|
|
11
11
|
}) => {
|
|
12
|
-
const [
|
|
12
|
+
const [r, v] = C(), { digestKey: o } = E(), { pendingOrders: f } = H(r, o), h = _(
|
|
13
13
|
() => async ({
|
|
14
|
-
fromAsset:
|
|
15
|
-
toAsset:
|
|
16
|
-
amount:
|
|
17
|
-
isExactOut:
|
|
18
|
-
request:
|
|
19
|
-
}) => await
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
fromAsset: n,
|
|
15
|
+
toAsset: e,
|
|
16
|
+
amount: s,
|
|
17
|
+
isExactOut: c = !1,
|
|
18
|
+
request: t
|
|
19
|
+
}) => r && await r.quote.getQuote(
|
|
20
|
+
y(n, e),
|
|
21
|
+
s,
|
|
22
|
+
c,
|
|
23
|
+
t
|
|
24
24
|
),
|
|
25
|
-
[
|
|
26
|
-
),
|
|
27
|
-
if (!
|
|
28
|
-
const
|
|
29
|
-
if (
|
|
30
|
-
if (
|
|
31
|
-
let
|
|
32
|
-
switch (
|
|
33
|
-
case
|
|
34
|
-
if (!
|
|
35
|
-
return
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
38
|
-
|
|
25
|
+
[r]
|
|
26
|
+
), k = async (n) => {
|
|
27
|
+
if (!r) return i("Garden not initialized");
|
|
28
|
+
const e = await r.swap(n);
|
|
29
|
+
if (e.error) return i(e.error);
|
|
30
|
+
if (L(e.val.source_swap.chain)) return p(e.val);
|
|
31
|
+
let s;
|
|
32
|
+
switch (x(e.val.source_swap.chain)) {
|
|
33
|
+
case d.EVM: {
|
|
34
|
+
if (!r.evmHTLC)
|
|
35
|
+
return i("EVM HTLC not initialized: Please provide evmHTLC");
|
|
36
|
+
const t = await r.evmHTLC.initiate(e.val);
|
|
37
|
+
if (t.error) return i(t.error);
|
|
38
|
+
s = t.val;
|
|
39
39
|
break;
|
|
40
40
|
}
|
|
41
|
-
case
|
|
42
|
-
if (!
|
|
43
|
-
return
|
|
41
|
+
case d.Starknet: {
|
|
42
|
+
if (!r.starknetHTLC)
|
|
43
|
+
return i(
|
|
44
44
|
"Starknet HTLC not initialized: Please provide starknetHTLC"
|
|
45
45
|
);
|
|
46
|
-
const
|
|
47
|
-
if (
|
|
48
|
-
|
|
46
|
+
const t = await r.starknetHTLC.initiate(e.val);
|
|
47
|
+
if (t.error) return i(t.error);
|
|
48
|
+
s = t.val;
|
|
49
49
|
break;
|
|
50
50
|
}
|
|
51
|
+
case d.Bitcoin:
|
|
52
|
+
s = e.val.source_swap.initiate_tx_hash;
|
|
53
|
+
break;
|
|
51
54
|
default:
|
|
52
|
-
return
|
|
55
|
+
return i("Unsupported chain");
|
|
53
56
|
}
|
|
54
|
-
const
|
|
55
|
-
...
|
|
57
|
+
const c = {
|
|
58
|
+
...e.val,
|
|
56
59
|
source_swap: {
|
|
57
|
-
...
|
|
58
|
-
initiate_tx_hash:
|
|
60
|
+
...e.val.source_swap,
|
|
61
|
+
initiate_tx_hash: s
|
|
59
62
|
}
|
|
60
63
|
};
|
|
61
|
-
return p(
|
|
64
|
+
return p(c);
|
|
62
65
|
};
|
|
63
|
-
return
|
|
64
|
-
if (!window || !
|
|
65
|
-
let
|
|
66
|
-
if (
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
digestKey:
|
|
70
|
-
wallets: e.wallets,
|
|
71
|
-
siweOpts: {
|
|
72
|
-
store: localStorage
|
|
73
|
-
}
|
|
66
|
+
return T(() => {
|
|
67
|
+
if (!window || !o || !("wallets" in a) && !("htlc" in a)) return;
|
|
68
|
+
let n;
|
|
69
|
+
if ("wallets" in a)
|
|
70
|
+
n = l.fromWallets({
|
|
71
|
+
...a,
|
|
72
|
+
digestKey: o
|
|
74
73
|
});
|
|
75
|
-
else if (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
digestKey:
|
|
79
|
-
htlc: e.htlc,
|
|
80
|
-
siweOpts: {
|
|
81
|
-
store: localStorage
|
|
82
|
-
}
|
|
74
|
+
else if ("htlc" in a)
|
|
75
|
+
n = new l({
|
|
76
|
+
...a,
|
|
77
|
+
digestKey: o
|
|
83
78
|
});
|
|
84
79
|
else
|
|
85
80
|
return;
|
|
86
|
-
|
|
87
|
-
}, [
|
|
88
|
-
|
|
81
|
+
v(n);
|
|
82
|
+
}, [a, o]), /* @__PURE__ */ m.createElement(
|
|
83
|
+
w.Provider,
|
|
89
84
|
{
|
|
90
85
|
value: {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
getQuote: T,
|
|
96
|
-
garden: t
|
|
86
|
+
swapAndInitiate: k,
|
|
87
|
+
pendingOrders: f,
|
|
88
|
+
getQuote: h,
|
|
89
|
+
garden: r
|
|
97
90
|
}
|
|
98
91
|
},
|
|
99
|
-
|
|
92
|
+
u
|
|
100
93
|
);
|
|
101
|
-
},
|
|
102
|
-
const
|
|
103
|
-
if (!
|
|
94
|
+
}, S = () => {
|
|
95
|
+
const u = m.useContext(w);
|
|
96
|
+
if (!u)
|
|
104
97
|
throw new Error("useGarden must be used within a GardenProvider");
|
|
105
|
-
return
|
|
98
|
+
return u;
|
|
106
99
|
};
|
|
107
100
|
export {
|
|
108
|
-
|
|
101
|
+
w as GardenContext,
|
|
109
102
|
R as GardenProvider,
|
|
110
|
-
|
|
103
|
+
S as useGarden
|
|
111
104
|
};
|
package/dist/index4.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var
|
|
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,14 +1,14 @@
|
|
|
1
1
|
var u = (e, t, r) => {
|
|
2
2
|
if (!t.has(e))
|
|
3
3
|
throw TypeError("Cannot " + r);
|
|
4
|
-
}, s = (e, t, r) => (u(e, t, "read from private field"), r ? r.call(e) : t.get(e)),
|
|
4
|
+
}, s = (e, t, r) => (u(e, t, "read from private field"), r ? r.call(e) : t.get(e)), l = (e, t, r) => {
|
|
5
5
|
if (t.has(e))
|
|
6
6
|
throw TypeError("Cannot add the same private member more than once");
|
|
7
7
|
t instanceof WeakSet ? t.add(e) : t.set(e, r);
|
|
8
|
-
},
|
|
9
|
-
class
|
|
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
10
|
constructor(t, r, i = void 0) {
|
|
11
|
-
|
|
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
12
|
}
|
|
13
13
|
get ok() {
|
|
14
14
|
return s(this, n);
|
|
@@ -21,7 +21,7 @@ class f {
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
n = /* @__PURE__ */ new WeakMap(), a = /* @__PURE__ */ new WeakMap(), o = /* @__PURE__ */ new WeakMap();
|
|
24
|
-
const d = (e) => new
|
|
24
|
+
const d = (e) => new h(!0, e), p = (e, ...t) => {
|
|
25
25
|
if (typeof e == "string" && t && t.length > 0) {
|
|
26
26
|
let r = [e, ...t].map((i) => {
|
|
27
27
|
if (i) {
|
|
@@ -33,16 +33,16 @@ const d = (e) => new f(!0, e), p = (e, ...t) => {
|
|
|
33
33
|
return i.toString();
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
-
return new
|
|
36
|
+
return new h(
|
|
37
37
|
!1,
|
|
38
38
|
null,
|
|
39
39
|
r.filter((i) => i !== void 0).join(" ")
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
|
-
return new
|
|
42
|
+
return new h(!1, null, e);
|
|
43
43
|
};
|
|
44
44
|
export {
|
|
45
45
|
p as Err,
|
|
46
46
|
d as Ok,
|
|
47
|
-
|
|
47
|
+
h as Result
|
|
48
48
|
};
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IEVMHTLC, IStarknetHTLC, OrderWithStatus, IGardenJS, IQuote, QuoteResponse, SwapParams } from '@gardenfi/core';
|
|
1
|
+
import { OrderWithStatus, IGardenJS, IQuote, QuoteResponse, SwapParams, GardenConfigWithHTLCs, GardenConfigWithWallets } from '@gardenfi/core';
|
|
3
2
|
import { AsyncResult, Request, Result } from '@catalogfi/utils';
|
|
4
3
|
import { Asset, IOrderbook, MatchedOrder } from '@gardenfi/orderbook';
|
|
5
|
-
import { Environment, Url } from '@gardenfi/utils';
|
|
6
|
-
import { AccountInterface } from 'starknet';
|
|
7
4
|
|
|
8
5
|
export type GardenContextType = {
|
|
9
6
|
/**
|
|
@@ -28,7 +25,7 @@ export type GardenContextType = {
|
|
|
28
25
|
* @param params
|
|
29
26
|
* @returns
|
|
30
27
|
*/
|
|
31
|
-
getQuote?: (params: QuoteParams) => Promise<Result<QuoteResponse, string
|
|
28
|
+
getQuote?: (params: QuoteParams) => Promise<Result<QuoteResponse, string> | undefined>;
|
|
32
29
|
/**
|
|
33
30
|
* The garden instance.
|
|
34
31
|
* @returns {IGardenJS}
|
|
@@ -42,20 +39,7 @@ export type GardenContextType = {
|
|
|
42
39
|
};
|
|
43
40
|
export type GardenProviderProps = {
|
|
44
41
|
children: React.ReactNode;
|
|
45
|
-
config:
|
|
46
|
-
environment: Environment;
|
|
47
|
-
orderBook?: IOrderbook;
|
|
48
|
-
quote?: IQuote;
|
|
49
|
-
blockNumberFetcherUrl?: Url;
|
|
50
|
-
htlc?: {
|
|
51
|
-
evm?: IEVMHTLC;
|
|
52
|
-
starknet?: IStarknetHTLC;
|
|
53
|
-
};
|
|
54
|
-
wallets?: {
|
|
55
|
-
evm?: WalletClient;
|
|
56
|
-
starknet?: AccountInterface;
|
|
57
|
-
};
|
|
58
|
-
};
|
|
42
|
+
config: Omit<GardenConfigWithHTLCs, 'digestKey'> | Omit<GardenConfigWithWallets, 'digestKey'>;
|
|
59
43
|
};
|
|
60
44
|
export type QuoteParams = {
|
|
61
45
|
fromAsset: Asset;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gardenfi/react-hooks",
|
|
3
|
-
"version": "2.0.28-beta.
|
|
3
|
+
"version": "2.0.28-beta.18",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@catalogfi/wallets": "^0.2.59",
|
|
30
|
-
"@gardenfi/core": "2.0.25-beta.
|
|
31
|
-
"@gardenfi/orderbook": "2.0.9-beta.
|
|
32
|
-
"@gardenfi/utils": "2.0.6-beta.
|
|
30
|
+
"@gardenfi/core": "2.0.25-beta.17",
|
|
31
|
+
"@gardenfi/orderbook": "2.0.9-beta.15",
|
|
32
|
+
"@gardenfi/utils": "2.0.6-beta.12",
|
|
33
33
|
"react": "^18.3.1",
|
|
34
34
|
"starknet": "6.23.1",
|
|
35
35
|
"viem": "^2.21.23"
|