@gardenfi/orderbook 3.0.5-beta.2 → 3.0.5-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/index10.cjs +1 -1
- package/dist/index10.js +42 -30
- package/dist/index11.cjs +1 -1
- package/dist/index11.js +56 -54
- package/dist/index12.cjs +1 -1
- package/dist/index12.js +24 -14
- package/dist/index4.cjs +1 -1
- package/dist/index4.js +61 -14
- package/dist/index8.cjs +1 -1
- package/dist/index8.js +3 -0
- package/dist/src/lib/assetManager/AssetManager.d.ts +9 -3
- package/dist/src/lib/assetManager/utils.d.ts +3 -0
- package/dist/src/lib/chainAsset/chainAsset.d.ts +1 -0
- package/dist/src/lib/constants/asset.d.ts +104 -10
- package/dist/src/lib/orderbook/orderbook.types.d.ts +11 -2
- package/package.json +2 -2
package/dist/index10.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 n=require("@gardenfi/utils"),y=require("./index11.cjs"),p=require("./index4.cjs"),r=require("./index8.cjs"),o=require("./index12.cjs"),h=Object.keys(p.Config);class g{constructor(t,s){this.assets=null,this.chains=null,this.routeMatrix=null,this.isLoading=!1,this.error=null,typeof s=="string"?this.auth=new n.ApiKey(s):this.auth=s;const e=o.ensureUrl(t.baseUrl),i=o.buildDefaultEndpoint(e,"/v2/chains"),a=o.buildDefaultEndpoint(e,"/v2/policy");this.urls={base:e,assets:o.ensureUrl(t.assetsUrl??i),policy:o.ensureUrl(t.policyUrl??a)},this.routeValidator=new y.RouteValidator(this.urls.policy.toString(),this.auth)}async initialize(){await this.fetchAndSetAssetsAndChains(),await this.routeValidator.loadPolicy()}async fetchAndSetAssetsAndChains(){try{this.isLoading=!0,this.error=null;const t=await this.auth.getAuthHeaders();if(!t.ok)return n.Err("Failed to get auth headers");const s=await n.Fetcher.get(this.urls.assets,{headers:{...t.val}});if(!s.result)return n.Err(`Failed to fetch chains data: ${s.error}`);const{assets:e,chains:i}=this.processApiData(s.result);return this.assets=e,this.chains=i,await this.buildRouteMatrix(),n.Ok("AssetManager initialized successfully")}catch(t){return n.Err(`Failed to fetch assets data: ${t}`)}finally{this.isLoading=!1}}async isRouteValid(t,s){return await this.routeValidator.isValidRoute(r.ChainAsset.from(t.id),r.ChainAsset.from(s.id))}getValidDestinations(t){if(!this.routeMatrix||!this.assets||!t.id)return console.warn("Missing routeMatrix, assets, or asset. Returning all assets."),[];const s=this.routeMatrix[t.id.toString().toLowerCase()];return s?s.map(e=>{const i=e.toString();return Object.values(this.assets).find(a=>r.ChainAsset.from(a).toString()===i)}).filter(Boolean):[]}getAsset(t){if(!this.assets)return;const s=r.ChainAsset.from(t).toString();return this.assets[s]}getAssetsByChain(t){return this.assets?Object.values(this.assets).filter(s=>s.chain===t):[]}searchAssets(t){if(!this.assets)return[];const s=t.toLowerCase();return Object.values(this.assets).filter(e=>e.symbol.toLowerCase().includes(s)||e.name.toLowerCase().includes(s))}getChain(t){if(this.chains)return this.chains[t]}async buildRouteMatrix(){if(!this.assets||!this.routeValidator)return;const t=Object.values(this.assets).map(s=>{if(!s.id)return null;try{return r.ChainAsset.from(s.id)}catch{return null}}).filter(s=>s!==null);this.routeMatrix=await this.routeValidator.buildRouteMatrix(t)}processApiData(t){const s={},e={};for(const i of t){const a=this.parseChainIdentifier(i.chain);if(!a||!h.includes(a))continue;const u={...i,name:this.formatChainName(i.chain),chain:a};for(const l of i.assets){const c=r.ChainAsset.from(l.id).toString(),{name:d,symbol:f}=o.parseAssetNameSymbol(l.name,l.id),A={...l,id:r.ChainAsset.from(l.id),chain:a,name:d,symbol:f};s[c]=A,e[a]||(e[a]=u)}}return{assets:s,chains:e}}parseChainIdentifier(t){return h.includes(t)?t:null}formatChainName(t){return t.split("_").map(s=>s.charAt(0).toUpperCase()+s.slice(1)).join(" ")}async refresh(){await this.initialize()}}exports.AssetManager=g;
|
package/dist/index10.js
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ApiKey as A, Err as o, Fetcher as y, Ok as g } from "@gardenfi/utils";
|
|
2
2
|
import { RouteValidator as C } from "./index11.js";
|
|
3
|
-
import { Config as
|
|
3
|
+
import { Config as b } from "./index4.js";
|
|
4
4
|
import { ChainAsset as r } from "./index8.js";
|
|
5
|
-
import { parseAssetNameSymbol as w } from "./index12.js";
|
|
6
|
-
const
|
|
7
|
-
class
|
|
5
|
+
import { ensureUrl as l, buildDefaultEndpoint as u, parseAssetNameSymbol as w } from "./index12.js";
|
|
6
|
+
const c = Object.keys(b);
|
|
7
|
+
class I {
|
|
8
8
|
constructor(t, s) {
|
|
9
|
-
this.assets = null, this.chains = null, this.routeMatrix = null, this.isLoading = !1, this.error = null,
|
|
9
|
+
this.assets = null, this.chains = null, this.routeMatrix = null, this.isLoading = !1, this.error = null, typeof s == "string" ? this.auth = new A(s) : this.auth = s;
|
|
10
|
+
const i = l(t.baseUrl), e = u(i, "/v2/chains"), a = u(i, "/v2/policy");
|
|
11
|
+
this.urls = {
|
|
12
|
+
base: i,
|
|
13
|
+
assets: l(t.assetsUrl ?? e),
|
|
14
|
+
policy: l(t.policyUrl ?? a)
|
|
15
|
+
}, this.routeValidator = new C(
|
|
16
|
+
this.urls.policy.toString(),
|
|
17
|
+
this.auth
|
|
18
|
+
);
|
|
10
19
|
}
|
|
11
20
|
// ============================================
|
|
12
21
|
// Initialization Methods
|
|
@@ -25,14 +34,17 @@ class R {
|
|
|
25
34
|
this.isLoading = !0, this.error = null;
|
|
26
35
|
const t = await this.auth.getAuthHeaders();
|
|
27
36
|
if (!t.ok) return o("Failed to get auth headers");
|
|
28
|
-
const s =
|
|
29
|
-
|
|
30
|
-
|
|
37
|
+
const s = await y.get(
|
|
38
|
+
this.urls.assets,
|
|
39
|
+
{
|
|
40
|
+
headers: {
|
|
41
|
+
...t.val
|
|
42
|
+
}
|
|
31
43
|
}
|
|
32
|
-
|
|
33
|
-
if (!
|
|
34
|
-
const { assets:
|
|
35
|
-
return this.assets =
|
|
44
|
+
);
|
|
45
|
+
if (!s.result) return o(`Failed to fetch chains data: ${s.error}`);
|
|
46
|
+
const { assets: i, chains: e } = this.processApiData(s.result);
|
|
47
|
+
return this.assets = i, this.chains = e, await this.buildRouteMatrix(), g("AssetManager initialized successfully");
|
|
36
48
|
} catch (t) {
|
|
37
49
|
return o(`Failed to fetch assets data: ${t}`);
|
|
38
50
|
} finally {
|
|
@@ -61,8 +73,8 @@ class R {
|
|
|
61
73
|
), [];
|
|
62
74
|
const s = this.routeMatrix[t.id.toString().toLowerCase()];
|
|
63
75
|
return s ? s.map((i) => {
|
|
64
|
-
const
|
|
65
|
-
return Object.values(this.assets).find((
|
|
76
|
+
const e = i.toString();
|
|
77
|
+
return Object.values(this.assets).find((a) => r.from(a).toString() === e);
|
|
66
78
|
}).filter(Boolean) : [];
|
|
67
79
|
}
|
|
68
80
|
// ============================================
|
|
@@ -124,27 +136,27 @@ class R {
|
|
|
124
136
|
*/
|
|
125
137
|
processApiData(t) {
|
|
126
138
|
const s = {}, i = {};
|
|
127
|
-
for (const
|
|
128
|
-
const
|
|
129
|
-
if (!
|
|
139
|
+
for (const e of t) {
|
|
140
|
+
const a = this.parseChainIdentifier(e.chain);
|
|
141
|
+
if (!a || !c.includes(a))
|
|
130
142
|
continue;
|
|
131
143
|
const h = {
|
|
132
|
-
...
|
|
133
|
-
name: this.formatChainName(
|
|
134
|
-
chain:
|
|
144
|
+
...e,
|
|
145
|
+
name: this.formatChainName(e.chain),
|
|
146
|
+
chain: a
|
|
135
147
|
};
|
|
136
|
-
for (const n of
|
|
137
|
-
const
|
|
148
|
+
for (const n of e.assets) {
|
|
149
|
+
const d = r.from(n.id).toString(), { name: f, symbol: m } = w(
|
|
138
150
|
n.name,
|
|
139
151
|
n.id
|
|
140
|
-
),
|
|
152
|
+
), p = {
|
|
141
153
|
...n,
|
|
142
154
|
id: r.from(n.id),
|
|
143
|
-
chain:
|
|
144
|
-
name:
|
|
145
|
-
symbol:
|
|
155
|
+
chain: a,
|
|
156
|
+
name: f,
|
|
157
|
+
symbol: m
|
|
146
158
|
};
|
|
147
|
-
s[
|
|
159
|
+
s[d] = p, i[a] || (i[a] = h);
|
|
148
160
|
}
|
|
149
161
|
}
|
|
150
162
|
return { assets: s, chains: i };
|
|
@@ -153,7 +165,7 @@ class R {
|
|
|
153
165
|
* Parse chain identifier from string
|
|
154
166
|
*/
|
|
155
167
|
parseChainIdentifier(t) {
|
|
156
|
-
return
|
|
168
|
+
return c.includes(t) ? t : null;
|
|
157
169
|
}
|
|
158
170
|
/**
|
|
159
171
|
* Format chain name for display
|
|
@@ -172,5 +184,5 @@ class R {
|
|
|
172
184
|
}
|
|
173
185
|
}
|
|
174
186
|
export {
|
|
175
|
-
|
|
187
|
+
I as AssetManager
|
|
176
188
|
};
|
package/dist/index11.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 a=require("@gardenfi/utils"),h=require("node-cache"),o=class o{constructor(e,t){this.policy=new h({stdTTL:36e3,checkperiod:3600}),typeof t=="string"?this.auth=new a.ApiKey(t):this.auth=t,typeof e=="string"?this.apiBaseUrl=new a.Url(e):this.apiBaseUrl=e}getPolicy(){return this.policy.get(o.POLICY_CACHE_KEY)}setPolicy(e){const t=this.getPolicy(),s={default:e.default||(t==null?void 0:t.default)||"open",isolation_groups:[...new Set([...(t==null?void 0:t.isolation_groups)||[],...e.isolation_groups])],blacklist_pairs:[...new Set([...(t==null?void 0:t.blacklist_pairs)||[],...e.blacklist_pairs])],whitelist_overrides:[...new Set([...(t==null?void 0:t.whitelist_overrides)||[],...e.whitelist_overrides])]};return this.policy.set(o.POLICY_CACHE_KEY,s),s}async loadPolicy(){const e=this.getPolicy();if(e)return a.Ok(e);try{const t=await this.auth.getAuthHeaders();if(!t.ok)return a.Err(`Failed to get auth headers: ${t.error}`);const s=await a.Fetcher.get(this.apiBaseUrl,{headers:{"Content-Type":"application/json",...t.val}});return s.result?a.Ok(this.setPolicy(s.result)):a.Err(`API Error: ${s.error}`)}catch(t){return a.Err(`Failed to load policy: ${t}`)}}async isValidRoute(e,t){const s=await this.loadPolicy();if(!s.ok||e.toString()===t.toString())return!1;const{sortedIsolationRules:r,sortedBlacklistRules:i,sortedWhitelistRules:n}=this.preprocessRules(s.val),c=this.findMatchingRule(e,r);if(c&&!this.matchesRuleDestination(t,c))return!1;const l=this.findMatchingRule(t,r);return l&&l.rule.direction==="<->"&&!this.matchesRuleSource(e,l)?!1:this.matchesRuleList(e,t,i)?!!this.matchesRuleList(e,t,n):s.val.default==="open"}async getValidDestinations(e,t){const s=[];for(const r of t)await this.isValidRoute(e,r)&&s.push(r);return s}async getAllValidRoutes(e){const t=[];for(const s of e)for(const r of e)await this.isValidRoute(s,r)&&t.push({from:s,to:r});return t}preprocessRules(e){const t=e.isolation_groups.map(i=>this.parseRule(i)).sort((i,n)=>n.specificity-i.specificity),s=e.blacklist_pairs.map(i=>this.parseRule(i)).sort((i,n)=>n.specificity-i.specificity),r=e.whitelist_overrides.map(i=>this.parseRule(i)).sort((i,n)=>n.specificity-i.specificity);return{sortedIsolationRules:t,sortedBlacklistRules:s,sortedWhitelistRules:r}}parseRule(e){const s=e.includes("<->")?"<->":"->",[r,i]=e.split(s).map(n=>n.trim());return{pattern:e,fromPattern:r,toPattern:i,direction:s,specificity:this.calculateSpecificity(r,i)}}calculateSpecificity(e,t){const s=r=>{const i=r.toLowerCase();return i==="*"?0:i.includes("*")?1:2};return s(e)*10+s(t)}findMatchingRule(e,t){for(const s of t){if(this.matchesAssetPattern(e,s.fromPattern))return{rule:s,matchedAs:"from"};if(s.direction==="<->"&&this.matchesAssetPattern(e,s.toPattern))return{rule:s,matchedAs:"to"}}return null}matchesRuleDestination(e,t){return t.matchedAs==="from"?this.matchesAssetPattern(e,t.rule.toPattern):t.rule.direction!=="<->"?!1:this.matchesAssetPattern(e,t.rule.fromPattern)}matchesRuleSource(e,t){return t.matchedAs==="to"?this.matchesAssetPattern(e,t.rule.fromPattern):t.rule.direction!=="<->"?!1:this.matchesAssetPattern(e,t.rule.toPattern)}matchesRuleList(e,t,s){return s.some(r=>this.matchesRule(e,t,r))}matchesRule(e,t,s){const r=this.matchesAssetPattern(e,s.fromPattern)&&this.matchesAssetPattern(t,s.toPattern);if(s.direction==="<->"){const i=this.matchesAssetPattern(e,s.toPattern)&&this.matchesAssetPattern(t,s.fromPattern);return r||i}return r}matchesAssetPattern(e,t){const[s="",r=""]=t.split(":").map(c=>c.trim().toLowerCase()),i=s===""||s==="*"||s===e.chain.toLowerCase(),n=r===""||r==="*"||r===e.symbol.toLowerCase();return i&&n}async buildRouteMatrix(e){const t={};for(const s of e){const r=[];for(const i of e)await this.isValidRoute(s,i)&&r.push(i);t[s.toString()]=r}return t}};o.POLICY_CACHE_KEY="route_policy";let u=o;exports.RouteValidator=u;
|
package/dist/index11.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ApiKey as f, Url as p, Ok as u, Err as
|
|
1
|
+
import { ApiKey as f, Url as p, Ok as u, Err as l, Fetcher as d } from "@gardenfi/utils";
|
|
2
2
|
import m from "node-cache";
|
|
3
|
-
const
|
|
3
|
+
const a = class a {
|
|
4
4
|
constructor(e, t) {
|
|
5
5
|
this.policy = new m({
|
|
6
6
|
stdTTL: 36e3,
|
|
@@ -10,7 +10,7 @@ const o = class o {
|
|
|
10
10
|
}), typeof t == "string" ? this.auth = new f(t) : this.auth = t, typeof e == "string" ? this.apiBaseUrl = new p(e) : this.apiBaseUrl = e;
|
|
11
11
|
}
|
|
12
12
|
getPolicy() {
|
|
13
|
-
return this.policy.get(
|
|
13
|
+
return this.policy.get(a.POLICY_CACHE_KEY);
|
|
14
14
|
}
|
|
15
15
|
setPolicy(e) {
|
|
16
16
|
const t = this.getPolicy(), s = {
|
|
@@ -34,7 +34,7 @@ const o = class o {
|
|
|
34
34
|
])
|
|
35
35
|
]
|
|
36
36
|
};
|
|
37
|
-
return this.policy.set(
|
|
37
|
+
return this.policy.set(a.POLICY_CACHE_KEY, s), s;
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* Loads the current route policy, cached or via API.
|
|
@@ -45,9 +45,9 @@ const o = class o {
|
|
|
45
45
|
try {
|
|
46
46
|
const t = await this.auth.getAuthHeaders();
|
|
47
47
|
if (!t.ok)
|
|
48
|
-
return
|
|
48
|
+
return l(`Failed to get auth headers: ${t.error}`);
|
|
49
49
|
const s = await d.get(
|
|
50
|
-
this.apiBaseUrl
|
|
50
|
+
this.apiBaseUrl,
|
|
51
51
|
{
|
|
52
52
|
headers: {
|
|
53
53
|
"Content-Type": "application/json",
|
|
@@ -55,9 +55,9 @@ const o = class o {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
);
|
|
58
|
-
return s.result ? u(this.setPolicy(s.result)) :
|
|
58
|
+
return s.result ? u(this.setPolicy(s.result)) : l(`API Error: ${s.error}`);
|
|
59
59
|
} catch (t) {
|
|
60
|
-
return
|
|
60
|
+
return l(`Failed to load policy: ${t}`);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
@@ -66,29 +66,25 @@ const o = class o {
|
|
|
66
66
|
async isValidRoute(e, t) {
|
|
67
67
|
const s = await this.loadPolicy();
|
|
68
68
|
if (!s.ok || e.toString() === t.toString()) return !1;
|
|
69
|
-
const { sortedIsolationRules:
|
|
69
|
+
const { sortedIsolationRules: r, sortedBlacklistRules: i, sortedWhitelistRules: n } = this.preprocessRules(s.val), o = this.findMatchingRule(
|
|
70
70
|
e,
|
|
71
|
-
|
|
72
|
-
"from"
|
|
73
|
-
/* From */
|
|
71
|
+
r
|
|
74
72
|
);
|
|
75
|
-
if (
|
|
73
|
+
if (o && !this.matchesRuleDestination(t, o))
|
|
76
74
|
return !1;
|
|
77
|
-
const
|
|
75
|
+
const c = this.findMatchingRule(
|
|
78
76
|
t,
|
|
79
|
-
|
|
80
|
-
"to"
|
|
81
|
-
/* To */
|
|
77
|
+
r
|
|
82
78
|
);
|
|
83
|
-
return
|
|
79
|
+
return c && c.rule.direction === "<->" && !this.matchesRuleSource(e, c) ? !1 : this.matchesRuleList(e, t, i) ? !!this.matchesRuleList(e, t, n) : s.val.default === "open";
|
|
84
80
|
}
|
|
85
81
|
/**
|
|
86
82
|
* Returns all valid destinations for a given source asset.
|
|
87
83
|
*/
|
|
88
84
|
async getValidDestinations(e, t) {
|
|
89
85
|
const s = [];
|
|
90
|
-
for (const
|
|
91
|
-
await this.isValidRoute(e,
|
|
86
|
+
for (const r of t)
|
|
87
|
+
await this.isValidRoute(e, r) && s.push(r);
|
|
92
88
|
return s;
|
|
93
89
|
}
|
|
94
90
|
/**
|
|
@@ -97,16 +93,16 @@ const o = class o {
|
|
|
97
93
|
async getAllValidRoutes(e) {
|
|
98
94
|
const t = [];
|
|
99
95
|
for (const s of e)
|
|
100
|
-
for (const
|
|
101
|
-
await this.isValidRoute(s,
|
|
96
|
+
for (const r of e)
|
|
97
|
+
await this.isValidRoute(s, r) && t.push({ from: s, to: r });
|
|
102
98
|
return t;
|
|
103
99
|
}
|
|
104
100
|
/**
|
|
105
101
|
* Turns policy string rules into sorted ParsedRule objects.
|
|
106
102
|
*/
|
|
107
103
|
preprocessRules(e) {
|
|
108
|
-
const t = e.isolation_groups.map((
|
|
109
|
-
return { sortedIsolationRules: t, sortedBlacklistRules: s, sortedWhitelistRules:
|
|
104
|
+
const t = e.isolation_groups.map((i) => this.parseRule(i)).sort((i, n) => n.specificity - i.specificity), s = e.blacklist_pairs.map((i) => this.parseRule(i)).sort((i, n) => n.specificity - i.specificity), r = e.whitelist_overrides.map((i) => this.parseRule(i)).sort((i, n) => n.specificity - i.specificity);
|
|
105
|
+
return { sortedIsolationRules: t, sortedBlacklistRules: s, sortedWhitelistRules: r };
|
|
110
106
|
}
|
|
111
107
|
/**
|
|
112
108
|
* Parses a rule string (e.g. "ethereum:usdc -> base:usdt") into parts.
|
|
@@ -115,22 +111,22 @@ const o = class o {
|
|
|
115
111
|
const s = e.includes(
|
|
116
112
|
"<->"
|
|
117
113
|
/* Bidirectional */
|
|
118
|
-
) ? "<->" : "->", [
|
|
114
|
+
) ? "<->" : "->", [r, i] = e.split(s).map((n) => n.trim());
|
|
119
115
|
return {
|
|
120
116
|
pattern: e,
|
|
121
|
-
fromPattern:
|
|
122
|
-
toPattern:
|
|
117
|
+
fromPattern: r,
|
|
118
|
+
toPattern: i,
|
|
123
119
|
direction: s,
|
|
124
|
-
specificity: this.calculateSpecificity(
|
|
120
|
+
specificity: this.calculateSpecificity(r, i)
|
|
125
121
|
};
|
|
126
122
|
}
|
|
127
123
|
/**
|
|
128
124
|
* Gives a specificity score to a rule pattern for prioritizing.
|
|
129
125
|
*/
|
|
130
126
|
calculateSpecificity(e, t) {
|
|
131
|
-
const s = (
|
|
132
|
-
const
|
|
133
|
-
return
|
|
127
|
+
const s = (r) => {
|
|
128
|
+
const i = r.toLowerCase();
|
|
129
|
+
return i === "*" ? 0 : i.includes(
|
|
134
130
|
"*"
|
|
135
131
|
/* Any */
|
|
136
132
|
) ? 1 : 2;
|
|
@@ -140,14 +136,20 @@ const o = class o {
|
|
|
140
136
|
/**
|
|
141
137
|
* Finds the first matching rule for an asset given the rule "side".
|
|
142
138
|
*/
|
|
143
|
-
findMatchingRule(e, t
|
|
144
|
-
for (const
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
139
|
+
findMatchingRule(e, t) {
|
|
140
|
+
for (const s of t) {
|
|
141
|
+
if (this.matchesAssetPattern(e, s.fromPattern))
|
|
142
|
+
return {
|
|
143
|
+
rule: s,
|
|
144
|
+
matchedAs: "from"
|
|
145
|
+
/* From */
|
|
146
|
+
};
|
|
147
|
+
if (s.direction === "<->" && this.matchesAssetPattern(e, s.toPattern))
|
|
148
|
+
return {
|
|
149
|
+
rule: s,
|
|
150
|
+
matchedAs: "to"
|
|
151
|
+
/* To */
|
|
152
|
+
};
|
|
151
153
|
}
|
|
152
154
|
return null;
|
|
153
155
|
}
|
|
@@ -155,51 +157,51 @@ const o = class o {
|
|
|
155
157
|
* Checks if a given toAsset matches the rule's destination side.
|
|
156
158
|
*/
|
|
157
159
|
matchesRuleDestination(e, t) {
|
|
158
|
-
return
|
|
160
|
+
return t.matchedAs === "from" ? this.matchesAssetPattern(e, t.rule.toPattern) : t.rule.direction !== "<->" ? !1 : this.matchesAssetPattern(e, t.rule.fromPattern);
|
|
159
161
|
}
|
|
160
162
|
/**
|
|
161
163
|
* Checks if a given fromAsset matches the rule's source side.
|
|
162
164
|
*/
|
|
163
165
|
matchesRuleSource(e, t) {
|
|
164
|
-
return
|
|
166
|
+
return t.matchedAs === "to" ? this.matchesAssetPattern(e, t.rule.fromPattern) : t.rule.direction !== "<->" ? !1 : this.matchesAssetPattern(e, t.rule.toPattern);
|
|
165
167
|
}
|
|
166
168
|
/**
|
|
167
169
|
* Checks if any rule in a list matches fromAsset and toAsset.
|
|
168
170
|
*/
|
|
169
171
|
matchesRuleList(e, t, s) {
|
|
170
|
-
return s.some((
|
|
172
|
+
return s.some((r) => this.matchesRule(e, t, r));
|
|
171
173
|
}
|
|
172
174
|
/**
|
|
173
175
|
* Checks if a rule matches fromAsset and toAsset (forward or backward if bidirectional).
|
|
174
176
|
*/
|
|
175
177
|
matchesRule(e, t, s) {
|
|
176
|
-
const
|
|
178
|
+
const r = this.matchesAssetPattern(e, s.fromPattern) && this.matchesAssetPattern(t, s.toPattern);
|
|
177
179
|
if (s.direction === "<->") {
|
|
178
|
-
const
|
|
179
|
-
return
|
|
180
|
+
const i = this.matchesAssetPattern(e, s.toPattern) && this.matchesAssetPattern(t, s.fromPattern);
|
|
181
|
+
return r || i;
|
|
180
182
|
}
|
|
181
|
-
return
|
|
183
|
+
return r;
|
|
182
184
|
}
|
|
183
185
|
/**
|
|
184
186
|
* Checks if an asset string matches a rule's pattern (wildcards supported).
|
|
185
187
|
*/
|
|
186
188
|
matchesAssetPattern(e, t) {
|
|
187
|
-
const [s,
|
|
188
|
-
return
|
|
189
|
+
const [s = "", r = ""] = t.split(":").map((o) => o.trim().toLowerCase()), i = s === "" || s === "*" || s === e.chain.toLowerCase(), n = r === "" || r === "*" || r === e.symbol.toLowerCase();
|
|
190
|
+
return i && n;
|
|
189
191
|
}
|
|
190
192
|
async buildRouteMatrix(e) {
|
|
191
193
|
const t = {};
|
|
192
194
|
for (const s of e) {
|
|
193
|
-
const
|
|
194
|
-
for (const
|
|
195
|
-
await this.isValidRoute(s,
|
|
196
|
-
t[s.toString()] =
|
|
195
|
+
const r = [];
|
|
196
|
+
for (const i of e)
|
|
197
|
+
await this.isValidRoute(s, i) && r.push(i);
|
|
198
|
+
t[s.toString()] = r;
|
|
197
199
|
}
|
|
198
200
|
return t;
|
|
199
201
|
}
|
|
200
202
|
};
|
|
201
|
-
|
|
202
|
-
let h =
|
|
203
|
+
a.POLICY_CACHE_KEY = "route_policy";
|
|
204
|
+
let h = a;
|
|
203
205
|
export {
|
|
204
206
|
h as RouteValidator
|
|
205
207
|
};
|
package/dist/index12.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 c=require("@gardenfi/utils"),p=require("./index8.cjs");function d(n,t,e){var o;const r=(n??"").trim();if(!r)return{name:"",symbol:""};const i=r.split(":");if(i.length>=2){const u=((o=i[0])==null?void 0:o.trim())||"",m=i.slice(1).join(":").trim()||(e==null?void 0:e.trim())||"";return{name:u,symbol:m}}let s="";if(t)try{s=(typeof t=="string"?p.ChainAsset.from(t):t).symbol.toUpperCase()}catch{}return{name:r,symbol:s||(e==null?void 0:e.trim())||""}}function h(n){return n instanceof c.Url?n:new c.Url(n)}function A(n,t){const e=n.toString().replace(/\/+$/,""),r=t.startsWith("/")?t:`/${t}`;return`${e}${r}`}exports.buildDefaultEndpoint=A;exports.ensureUrl=h;exports.parseAssetNameSymbol=d;
|
package/dist/index12.js
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { Url as p } from "@gardenfi/utils";
|
|
2
|
+
import { ChainAsset as c } from "./index8.js";
|
|
3
|
+
function $(r, t, n) {
|
|
4
|
+
var o;
|
|
5
|
+
const e = (r ?? "").trim();
|
|
6
|
+
if (!e) return { name: "", symbol: "" };
|
|
7
|
+
const i = e.split(":");
|
|
8
|
+
if (i.length >= 2) {
|
|
9
|
+
const m = ((o = i[0]) == null ? void 0 : o.trim()) || "", u = i.slice(1).join(":").trim() || (n == null ? void 0 : n.trim()) || "";
|
|
10
|
+
return { name: m, symbol: u };
|
|
10
11
|
}
|
|
11
|
-
let
|
|
12
|
-
if (
|
|
12
|
+
let s = "";
|
|
13
|
+
if (t)
|
|
13
14
|
try {
|
|
14
|
-
|
|
15
|
+
s = (typeof t == "string" ? c.from(t) : t).symbol.toUpperCase();
|
|
15
16
|
} catch {
|
|
16
17
|
}
|
|
17
|
-
return { name:
|
|
18
|
+
return { name: e, symbol: s || (n == null ? void 0 : n.trim()) || "" };
|
|
19
|
+
}
|
|
20
|
+
function d(r) {
|
|
21
|
+
return r instanceof p ? r : new p(r);
|
|
22
|
+
}
|
|
23
|
+
function f(r, t) {
|
|
24
|
+
const n = r.toString().replace(/\/+$/, ""), e = t.startsWith("/") ? t : `/${t}`;
|
|
25
|
+
return `${n}${e}`;
|
|
18
26
|
}
|
|
19
27
|
export {
|
|
20
|
-
|
|
28
|
+
f as buildDefaultEndpoint,
|
|
29
|
+
d as ensureUrl,
|
|
30
|
+
$ as parseAssetNameSymbol
|
|
21
31
|
};
|
package/dist/index4.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@gardenfi/utils"),e=require("./index3.cjs"),n=require("./index5.cjs"),v=require("./index6.cjs");var m=(c=>(c.Created="Created",c.InitiateDetected="Initiate Detected",c.Initiated="Initiated",c.AwaitingRedeem="Awaiting Redeem",c.RedeemDetected="Redeem Detected",c.Redeemed="Redeemed",c.AwaitingRefund="Awaiting Refund",c.RefundDetected="Refund Detected",c.Refunded="Refunded",c.Expired="Expired",c))(m||{}),r=(c=>(c.refunded="refunded",c.expired="expired",c.completed="completed",c.inProgress="in-progress",c.notInitiated="not-initiated",c.all="all",c.pending="pending",c.fulfilled="fulfilled",c))(r||{});const i={solana_localnet:{type:e.BlockchainType.solana,SOL:n.SOLSolanaLocalnetAsset,network:a.Network.LOCALNET},arbitrum_localnet:{type:e.BlockchainType.evm,WBTC:n.WBTCArbitrumLocalnetAsset,network:a.Network.LOCALNET},ethereum_localnet:{type:e.BlockchainType.evm,WBTC:n.WBTCEthereumLocalnetAsset,network:a.Network.LOCALNET},bitcoin_regtest:{type:e.BlockchainType.bitcoin,BTC:n.bitcoinRegtestAsset,network:a.Network.LOCALNET},starknet_devnet:{type:e.BlockchainType.starknet,STRK:n.STRKStarknetLocalnetAsset,ETH:n.ETHStarknetLocalnetAsset,network:a.Network.LOCALNET},solana_testnet:{type:e.BlockchainType.solana,network:a.Network.TESTNET,SOL:{id:"solana_testnet:sol",name:"Solana",symbol:"SOL",decimals:9,icon:"https://garden-finance.imgix.net/chain_images/solana.png",chain:"solana:103",htlc:{address:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",schema:"solana:htlc"},token:null},USDC:{id:"solana_testnet:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"solana:103",htlc:{address:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU",schema:"solana:htlc_spltoken"},token:{address:"5JbWjyLdYKTuykpq2itWbdRcZkhK3hs6fiH62pkmLYZi",schema:null}},cbBTC:{id:"solana_testnet:cbbtc",name:"Coinbase Wrapped Bitcoin",symbol:"cbBTC",decimals:8,icon:"https://garden.imgix.net/token-images/cbBTC.svg",chain:"solana:103",htlc:{address:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU",schema:"solana:htlc_spltoken"},token:{address:"CL8C4gsaEQyWPxL4Zn7dcnZ8LKvPYqHmv4ipMax4cDUL",schema:null}}},bitcoin_testnet:{type:e.BlockchainType.bitcoin,network:a.Network.TESTNET,BTC:{id:"bitcoin_testnet:btc",name:"Bitcoin",symbol:"BTC",decimals:8,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"bitcoin",htlc:null,token:null}},ethereum_sepolia:{type:e.BlockchainType.evm,network:a.Network.TESTNET,WBTC:{id:"ethereum_sepolia:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:11155111",htlc:{address:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",schema:"evm:htlc_erc20"},token:{address:"0xE918A5a47b8e0AFAC2382bC5D1e981613e63fB07",schema:"evm:erc20"}},USDC:{id:"ethereum_sepolia:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:11155111",htlc:{address:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",schema:"evm:htlc_erc20"},token:{address:"0xadDD620EA6D20f4f9c24fff3BC039E497ceBEDc2",schema:"evm:erc20"}}},arbitrum_sepolia:{type:e.BlockchainType.evm,network:a.Network.TESTNET,iBTC:{id:"arbitrum_sepolia:ibtc",name:"iBTC",symbol:"iBTC",decimals:8,icon:"https://garden.imgix.net/token-images/dlcBTCIcon.svg",chain:"evm:421614",htlc:{address:"0x7e8c18fa79bd4014cfCf49294Bf315139eD39f45",schema:"evm:htlc_erc20"},token:{address:"0x685437f025c5f33A94818408C286bc1F023201Fc",schema:"evm:erc20"}},WBTC:{id:"arbitrum_sepolia:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:421614",htlc:{address:"0xb5AE9785349186069C48794a763DB39EC756B1cF",schema:"evm:htlc_erc20"},token:{address:"0x1c287717c886794ac9f5DF3987195431Ceb3456E",schema:"evm:erc20"}},USDC:{id:"arbitrum_sepolia:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:421614",htlc:{address:"0x8E12d730756457B99ce6E6AbFd60eBe751dA169B",schema:"evm:htlc_erc20"},token:{address:"0xC90Ad772eCc10a52a681ceDAE6EbBD3470A0c829",schema:"evm:erc20"}},SEED:{id:"arbitrum_sepolia:seed",name:"Seed",symbol:"SEED",decimals:18,icon:"https://garden.imgix.net/token-images/SEED.svg",chain:"evm:421614",htlc:{address:"0xFBD30cB9313fe580031A7E0258693E1cec002803",schema:"evm:htlc_erc20"},token:{address:"0x432B43764548c3E47eA65aAdeB91D75C84DBcC2c",schema:"evm:erc20"}}},base_sepolia:{type:e.BlockchainType.evm,network:a.Network.TESTNET,iBTC:{id:"base_sepolia:ibtc",name:"iBTC",symbol:"iBTC",decimals:8,icon:"https://garden.imgix.net/token-images/dlcBTCIcon.svg",chain:"evm:84532",htlc:{address:"0x46F1Ba9C9d89C34F9dbC4085F6B1f9965c589ca1",schema:"evm:htlc_erc20"},token:{address:"0x0b0D554D9573bAe1a7556d220847f45182918B28",schema:"evm:erc20"}},WBTC:{id:"base_sepolia:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:84532",htlc:{address:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",schema:"evm:htlc_erc20"},token:{address:"0xD8a6E3FCA403d79b6AD6216b60527F51cc967D39",schema:"evm:erc20"}},USDT:{id:"base_sepolia:usdt",name:"Tether USD",symbol:"USDT",decimals:6,icon:"https://garden.imgix.net/token-images/usdt.svg",chain:"evm:84532",htlc:{address:"0x917cfef972d667dC0FeC76806cB5623585B81493",schema:"evm:htlc_erc20"},token:{address:"0xeaE7721d779276eb0f5837e2fE260118724a2Ba4",schema:"evm:erc20"}},USDC:{id:"base_sepolia:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:84532",htlc:{address:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",schema:"evm:htlc_erc20"},token:{address:"0x1ac7A0ebf13a996D5915e212900bE2d074f94988",schema:"evm:erc20"}}},bera_testnet:{type:e.BlockchainType.evm,network:a.Network.TESTNET},citrea_testnet:{type:e.BlockchainType.evm,network:a.Network.TESTNET,WCBTC:{id:"citrea_testnet:wcbtc",name:"Wrapped Citrea Bitcoin",symbol:"WCBTC",decimals:18,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:5115",htlc:{address:"0xD8e99df8cf77E7383c2f2a84bC6384b2DF88CAd3",schema:"evm:htlc_erc20"},token:{address:"0x8d0c9d1c17aE5e40ffF9bE350f57840E9E66Cd93",schema:"evm:erc20"}},WBTC:{id:"citrea_testnet:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:5115",htlc:{address:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",schema:"evm:htlc_erc20"},token:{address:"0x3edA22460259b29433704dda71cc921F528165Ea",schema:"evm:erc20"}},CBTC:{id:"citrea_testnet:cbtc",name:"Citrea Bitcoin",symbol:"CBTC",decimals:18,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"evm:5115",htlc:{address:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",schema:"evm:htlc"},token:null},CBBTC:{id:"citrea_testnet:cbbtc",name:"Coinbase Wrapped Bitcoin",symbol:"CBBTC",decimals:8,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"evm:5115",htlc:{address:"0x8656d38352CD90ca55881eBd0AF6822839b435A8",schema:"evm:htlc_erc20"},token:{address:"0xeAa998aF280a62Ae08BaE4f9fa59C9b30e6BD306",schema:"evm:erc20"}},USDC:{id:"citrea_testnet:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:5115",htlc:{address:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",schema:"evm:htlc_erc20"},token:{address:"0xCdA8661fDA031deFCc9BdD88C0e12669Cac47Fb0",schema:"evm:erc20"}},USDT:{id:"citrea_testnet:usdt",name:"Tether USD",symbol:"USDT",decimals:6,icon:"https://garden.imgix.net/token-images/usdt.svg",chain:"evm:5115",htlc:{address:"0x917cfef972d667dC0FeC76806cB5623585B81493",schema:"evm:htlc_erc20"},token:{address:"0xF5cFE09b852Ddb164cF6Db419B9c11aAb5F30cb6",schema:"evm:erc20"}}},monad_testnet:{type:e.BlockchainType.evm,network:a.Network.TESTNET,cBBTC:{id:"monad_testnet:cbbtc",name:"Coinbase Wrapped Bitcoin",symbol:"cBBTC",decimals:8,icon:"https://garden.imgix.net/token-images/cbBTC.svg",chain:"evm:10143",htlc:{address:"0x8656d38352CD90ca55881eBd0AF6822839b435A8",schema:"evm:htlc_erc20"},token:{address:"0x6b6303fAb8eC7232b4f2a7b9fa58E5216F608fcb",schema:"evm:erc20"}},USDC:{id:"monad_testnet:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:10143",htlc:{address:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",schema:"evm:htlc_erc20"},token:{address:"0xf817257fed379853cde0fa4f97ab987181b1e5ea",schema:"evm:erc20"}}},starknet_sepolia:{type:e.BlockchainType.starknet,network:a.Network.TESTNET,WBTC:{id:"starknet_sepolia:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"starknet:393402133025997798000961",htlc:{address:"0x06579d255314109429a4477d89629bc2b94f529ae01979c2f8014f9246482603",schema:"starknet:htlc_erc20"},token:{address:"0x496bef3ed20371382fbe0ca6a5a64252c5c848f9f1f0cccf8110fc4def912d5",schema:"starknet:erc20"}}},sui_testnet:{type:e.BlockchainType.sui,network:a.Network.TESTNET,SUI:{id:"sui_testnet:sui",name:"SUI",symbol:"SUI",decimals:9,icon:"https://garden-finance.imgix.net/chain_images/sui.svg",chain:"sui",htlc:{address:"0x5c438715b7dcc02d12ab92449153a1e5ade2301620d5bf60aa748f006726d369",schema:null},token:{address:"0x2::sui::SUI",schema:null}}},hyperliquid_testnet:{type:e.BlockchainType.evm,network:a.Network.TESTNET},bnbchain_testnet:{type:e.BlockchainType.evm,network:a.Network.TESTNET,WBTC:{id:"bnbchain_testnet:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:97",htlc:{address:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",schema:"evm:htlc_erc20"},token:{address:"0x39f3294352208905fc6ebf033954E6c6455CdB4C",schema:"evm:erc20"}}},alpen_testnet:{type:e.BlockchainType.evm,network:a.Network.TESTNET,sBTC:{id:"alpen_testnet:sbtc",name:"Signet Bitcoin",symbol:"sBTC",decimals:18,icon:"https://avatars.githubusercontent.com/u/113091135",chain:"evm:2892",htlc:{address:"0x39269522737a4a155F78EC1B1BDb86288c1Fcf67",schema:"evm:htlc"},token:null},USDC:{id:"alpen_testnet:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:2892",htlc:{address:"0x45b0d0c85bEb4512610fC2627CCB1587A7a044d4",schema:"evm:htlc_erc20"},token:{address:"0x9753D0481fC7e18797877B4e731B496439c849dE",schema:"evm:erc20"}}},tron_shasta:{type:e.BlockchainType.tron,network:a.Network.TESTNET,USDT:{id:"tron_shasta:usdt",name:"Tether USD",symbol:"USDT",decimals:6,icon:"https://garden.imgix.net/assets/TetherIcon.svg",chain:"tron:2494104990",htlc:{address:"TQa4rN2Vayesv5vmMAXzP5QA1PnPwD46w6",schema:"tron:htlc_erc20"},token:{address:"TDg6r1BXkxWbmXXvHWweqdpUY9qPhgUJsC",schema:"tron:erc20"}}},bitcoin:{type:e.BlockchainType.bitcoin,network:a.Network.MAINNET,BTC:{id:"bitcoin:btc",name:"Bitcoin",symbol:"BTC",decimals:8,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"bitcoin",htlc:null,token:null}},base:{type:e.BlockchainType.evm,network:a.Network.MAINNET,USDC:{id:"base:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:8453",htlc:{address:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",schema:"evm:htlc_erc20"},token:{address:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",schema:"evm:erc20"}},cBBTC:{id:"base:cbbtc",name:"Coinbase Wrapped Bitcoin",symbol:"cBBTC",decimals:8,icon:"https://coin-images.coingecko.com/coins/images/51336/large/cbbtc.png?1730814747",chain:"evm:8453",htlc:{address:"0xe35d025d0f0d9492db4700FE8646f7F89150eC04",schema:"evm:htlc_erc20"},token:{address:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",schema:"evm:erc20"}}},arbitrum:{type:e.BlockchainType.evm,network:a.Network.MAINNET,WBTC:{id:"arbitrum:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:42161",htlc:{address:"0xb5AE9785349186069C48794a763DB39EC756B1cF",schema:"evm:htlc_erc20"},token:{address:"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",schema:"evm:erc20"}},USDC:{id:"arbitrum:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:42161",htlc:{address:"0x8E12d730756457B99ce6E6AbFd60eBe751dA169B",schema:"evm:htlc_erc20"},token:{address:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",schema:"evm:erc20"}},SEED:{id:"arbitrum:seed",name:"SEED",symbol:"SEED",decimals:18,icon:"https://garden.imgix.net/token-images/SEED.svg",chain:"evm:42161",htlc:{address:"0xFBD30cB9313fe580031A7E0258693E1cec002803",schema:"evm:htlc_erc20"},token:{address:"0x86f65121804D2Cdbef79F9f072D4e0c2eEbABC08",schema:"evm:erc20"}}},ethereum:{type:e.BlockchainType.evm,network:a.Network.MAINNET,ETH:{id:"ethereum:eth",name:"Ethereum",symbol:"ETH",decimals:18,icon:"https://garden.imgix.net/chain_images/ethereum.svg",chain:"evm:1",htlc:{address:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",schema:"evm:htlc"},token:null},USDC:{id:"ethereum:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:1",htlc:{address:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",schema:"evm:htlc_erc20"},token:{address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",schema:"evm:erc20"}},WBTC:{id:"ethereum:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:1",htlc:{address:"0xD781a2abB3FCB9fC0D1Dd85697c237d06b75fe95",schema:"evm:htlc_erc20"},token:{address:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",schema:"evm:erc20"}},cBBTC:{id:"ethereum:cbbtc",name:"Coinbase Wrapped Bitcoin",symbol:"cBBTC",decimals:8,icon:"https://garden.imgix.net/token-images/cbBTC.svg",chain:"evm:1",htlc:{address:"0xe35d025d0f0d9492db4700FE8646f7F89150eC04",schema:"evm:htlc_erc20"},token:{address:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",schema:"evm:erc20"}},SEED:{id:"ethereum:seed",name:"SEED",symbol:"SEED",decimals:18,icon:"https://garden.imgix.net/token-images/SEED.svg",chain:"evm:1",htlc:{address:"0xCE511De667885f92B8c36fcfC79C3B5bEb875463",schema:"evm:htlc_erc20"},token:{address:"0x5eed99d066a8CaF10f3E4327c1b3D8b673485eED",schema:"evm:erc20"}}},solana:{type:e.BlockchainType.solana,network:a.Network.MAINNET,SOL:{id:"solana:sol",name:"Solana",symbol:"SOL",decimals:9,icon:"https://garden-finance.imgix.net/chain_images/solana.png",chain:"solana:101",htlc:{address:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",schema:"solana:htlc"},token:null},USDC:{id:"solana:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"solana:101",htlc:{address:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU",schema:"solana:htlc_spltoken"},token:{address:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",schema:"primary"}},cBBTC:{id:"solana:cbbtc",name:"Coinbase Wrapped Bitcoin",symbol:"cBBTC",decimals:8,icon:"https://garden.imgix.net/token-images/cbBTC.svg",chain:"solana:101",htlc:{address:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU",schema:"solana:htlc_spltoken"},token:{address:"cbbtcf3aa214zXHbiAZQwf4122FBYbraNdFqgw4iMij",schema:"primary"}}},bera:{type:e.BlockchainType.evm,network:a.Network.MAINNET,LBTC:{id:"bera:lbtc",name:"Lombard Bitcoin",symbol:"LBTC",decimals:8,icon:"https://garden.imgix.net/token-images/LBTC.svg",chain:"evm:80094",htlc:{address:"0x84A396920d8B8CA2e69bD9503Bc1B2f73f1b8b33",schema:"evm:htlc_erc20"},token:{address:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",schema:"evm:erc20"}}},starknet:{type:e.BlockchainType.starknet,network:a.Network.MAINNET,WBTC:{id:"starknet:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"starknet:23448594291968334",htlc:{address:"0x7defd8eb3b770005ab1ca5f89ad31f98fb5bc3c52deaeafd130be3b49f967b4",schema:"starknet:htlc_erc20"},token:{address:"0x3fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac",schema:"starknet:erc20"}}},sui:{type:e.BlockchainType.sui,network:a.Network.MAINNET,SUI:{id:"sui:sui",name:"SUI",symbol:"SUI",decimals:9,icon:"https://garden-finance.imgix.net/chain_images/sui.svg",chain:"sui:0",htlc:{address:"0xa4f4e653547e98d4b541378e14db2393a09aff4b829f158b133d2eb3c3a942b5",schema:null},token:{address:"0x2::sui::SUI",schema:null}}},hyperliquid:{type:e.BlockchainType.evm,network:a.Network.MAINNET,uBTC:{id:"hyperliquid:ubtc",name:"Unit Bitcoin",symbol:"uBTC",decimals:8,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"evm:999",htlc:{address:"0xDC74a45e86DEdf1fF7c6dac77e0c2F082f9E4F72",schema:"evm:htlc_erc20"},token:{address:"0x9FDBdA0A5e284c32744D2f17Ee5c74B284993463",schema:"evm:erc20"}}},unichain:{type:e.BlockchainType.evm,network:a.Network.MAINNET,WBTC:{id:"unichain:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:130",htlc:{address:"0xD781a2abB3FCB9fC0D1Dd85697c237d06b75fe95",schema:"evm:htlc_erc20"},token:{address:"0x927B51f251480a681271180DA4de28D44EC4AfB8",schema:"evm:erc20"}},USDC:{id:"unichain:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:130",htlc:{address:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",schema:"evm:htlc_erc20"},token:{address:"0x078D782b760474a361dDA0AF3839290b0EF57AD6",schema:"evm:erc20"}}},corn:{type:e.BlockchainType.evm,network:a.Network.MAINNET,BTCN:{id:"corn:btcn",name:"Bitcorn",symbol:"BTCN",decimals:18,icon:"https://garden.imgix.net/token-images/bitcorn.svg",chain:"evm:21000000",htlc:{address:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",schema:"evm:htlc"},token:null}},botanix:{type:e.BlockchainType.evm,network:a.Network.MAINNET,BTC:{id:"botanix:btc",name:"Botanix Bitcoin",symbol:"BTC",decimals:18,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"evm:3637",htlc:{address:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",schema:"evm:htlc"},token:null}},bnbchain:{type:e.BlockchainType.evm,network:a.Network.MAINNET,BTCB:{id:"bnbchain:btcb",name:"Binance Bitcoin",symbol:"BTCB",decimals:18,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"evm:56",htlc:{address:"0xe74784E5A45528fDEcB257477DD6bd31c8ef0761",schema:"evm:htlc_erc20"},token:{address:"0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c",schema:"evm:erc20"}},USDC:{id:"bnbchain:usdc",name:"USD Coin",symbol:"USDC",decimals:18,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:56",htlc:{address:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",schema:"evm:htlc_erc20"},token:{address:"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",schema:"evm:erc20"}},BNB:{id:"bnbchain:bnb",name:"BNB",symbol:"BNB",decimals:18,icon:"https://garden-finance.imgix.net/chain_images/bnb.png",chain:"evm:56",htlc:{address:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",schema:"evm:htlc"},token:null}},core:{type:e.BlockchainType.evm,network:a.Network.MAINNET,WBTC:{id:"core:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:1116",htlc:{address:"0xD781a2abB3FCB9fC0D1Dd85697c237d06b75fe95",schema:"evm:htlc_erc20"},token:{address:"0x5832f53d147b3d6Cd4578B9CBD62425C7ea9d0Bd",schema:"evm:erc20"}}},hypercore:{type:e.BlockchainType.evm,network:a.Network.MAINNET},hypercore_testnet:{type:e.BlockchainType.evm,network:a.Network.TESTNET}},T=Object.keys(i).reduce((c,t)=>(c[t]=t,c),{}),f=v.buildAssetsWithChain(i),E=c=>i[c].network===a.Network.MAINNET;function s(c){return t=>i[t].type===c}const h=s(e.BlockchainType.evm),l=s(e.BlockchainType.bitcoin),b=s(e.BlockchainType.solana),B=s(e.BlockchainType.starknet),k=s(e.BlockchainType.sui),D=s(e.BlockchainType.tron),x=c=>i[c].type,d={[e.BlockchainType.evm]:"eth",[e.BlockchainType.solana]:"sol",[e.BlockchainType.sui]:"sui"},g=(c,t)=>h(c)&&t.toLowerCase()===d[e.BlockchainType.evm],C=(c,t)=>b(c)&&t.toLowerCase()===d[e.BlockchainType.solana],p=(c,t)=>k(c)&&t.toLowerCase()===d[e.BlockchainType.sui],y=c=>{const t=c.chain,o=c.symbol;return g(t,o)||C(t,o)||l(t)||p(t,o)||!B(t)};exports.Assets=f;exports.Chains=T;exports.Config=i;exports.NATIVE_TOKENS=d;exports.OrderLifecycle=r;exports.OrderStatus=m;exports.getBlockchainType=x;exports.is=s;exports.isBitcoin=l;exports.isEVM=h;exports.isEvmNativeToken=g;exports.isMainnet=E;exports.isNativeToken=y;exports.isSolana=b;exports.isSolanaNativeToken=C;exports.isStarknet=B;exports.isSui=k;exports.isSuiNativeToken=p;exports.isTron=D;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@gardenfi/utils"),e=require("./index3.cjs"),i=require("./index5.cjs"),v=require("./index6.cjs");var o=(a=>(a.Created="Created",a.InitiateDetected="Initiate Detected",a.Initiated="Initiated",a.AwaitingRedeem="Awaiting Redeem",a.RedeemDetected="Redeem Detected",a.Redeemed="Redeemed",a.AwaitingRefund="Awaiting Refund",a.RefundDetected="Refund Detected",a.Refunded="Refunded",a.Expired="Expired",a))(o||{}),r=(a=>(a.refunded="refunded",a.expired="expired",a.completed="completed",a.inProgress="in-progress",a.notInitiated="not-initiated",a.all="all",a.pending="pending",a.fulfilled="fulfilled",a))(r||{});const n={solana_localnet:{type:e.BlockchainType.solana,SOL:i.SOLSolanaLocalnetAsset,network:c.Network.LOCALNET},arbitrum_localnet:{type:e.BlockchainType.evm,WBTC:i.WBTCArbitrumLocalnetAsset,network:c.Network.LOCALNET},ethereum_localnet:{type:e.BlockchainType.evm,WBTC:i.WBTCEthereumLocalnetAsset,network:c.Network.LOCALNET},bitcoin_regtest:{type:e.BlockchainType.bitcoin,BTC:i.bitcoinRegtestAsset,network:c.Network.LOCALNET},starknet_devnet:{type:e.BlockchainType.starknet,STRK:i.STRKStarknetLocalnetAsset,ETH:i.ETHStarknetLocalnetAsset,network:c.Network.LOCALNET},solana_testnet:{type:e.BlockchainType.solana,network:c.Network.TESTNET,SOL:{id:"solana_testnet:sol",name:"Solana",symbol:"SOL",decimals:9,icon:"https://garden-finance.imgix.net/chain_images/solana.png",chain:"solana:103",htlc:{address:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",schema:"solana:htlc"},token:null},USDC:{id:"solana_testnet:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"solana:103",htlc:{address:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU",schema:"solana:htlc_spltoken"},token:{address:"5JbWjyLdYKTuykpq2itWbdRcZkhK3hs6fiH62pkmLYZi",schema:null}},cbBTC:{id:"solana_testnet:cbbtc",name:"Coinbase Wrapped Bitcoin",symbol:"cbBTC",decimals:8,icon:"https://garden.imgix.net/token-images/cbBTC.svg",chain:"solana:103",htlc:{address:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU",schema:"solana:htlc_spltoken"},token:{address:"CL8C4gsaEQyWPxL4Zn7dcnZ8LKvPYqHmv4ipMax4cDUL",schema:null}}},bitcoin_testnet:{type:e.BlockchainType.bitcoin,network:c.Network.TESTNET,BTC:{id:"bitcoin_testnet:btc",name:"Bitcoin",symbol:"BTC",decimals:8,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"bitcoin",htlc:null,token:null}},ethereum_sepolia:{type:e.BlockchainType.evm,network:c.Network.TESTNET,WBTC:{id:"ethereum_sepolia:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:11155111",htlc:{address:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",schema:"evm:htlc_erc20"},token:{address:"0xE918A5a47b8e0AFAC2382bC5D1e981613e63fB07",schema:"evm:erc20"}},USDC:{id:"ethereum_sepolia:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:11155111",htlc:{address:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",schema:"evm:htlc_erc20"},token:{address:"0xadDD620EA6D20f4f9c24fff3BC039E497ceBEDc2",schema:"evm:erc20"}}},arbitrum_sepolia:{type:e.BlockchainType.evm,network:c.Network.TESTNET,iBTC:{id:"arbitrum_sepolia:ibtc",name:"iBTC",symbol:"iBTC",decimals:8,icon:"https://garden.imgix.net/token-images/dlcBTCIcon.svg",chain:"evm:421614",htlc:{address:"0x7e8c18fa79bd4014cfCf49294Bf315139eD39f45",schema:"evm:htlc_erc20"},token:{address:"0x685437f025c5f33A94818408C286bc1F023201Fc",schema:"evm:erc20"}},WBTC:{id:"arbitrum_sepolia:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:421614",htlc:{address:"0xb5AE9785349186069C48794a763DB39EC756B1cF",schema:"evm:htlc_erc20"},token:{address:"0x1c287717c886794ac9f5DF3987195431Ceb3456E",schema:"evm:erc20"}},USDC:{id:"arbitrum_sepolia:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:421614",htlc:{address:"0x8E12d730756457B99ce6E6AbFd60eBe751dA169B",schema:"evm:htlc_erc20"},token:{address:"0xC90Ad772eCc10a52a681ceDAE6EbBD3470A0c829",schema:"evm:erc20"}},SEED:{id:"arbitrum_sepolia:seed",name:"Seed",symbol:"SEED",decimals:18,icon:"https://garden.imgix.net/token-images/SEED.svg",chain:"evm:421614",htlc:{address:"0xFBD30cB9313fe580031A7E0258693E1cec002803",schema:"evm:htlc_erc20"},token:{address:"0x432B43764548c3E47eA65aAdeB91D75C84DBcC2c",schema:"evm:erc20"}}},base_sepolia:{type:e.BlockchainType.evm,network:c.Network.TESTNET,iBTC:{id:"base_sepolia:ibtc",name:"iBTC",symbol:"iBTC",decimals:8,icon:"https://garden.imgix.net/token-images/dlcBTCIcon.svg",chain:"evm:84532",htlc:{address:"0x46F1Ba9C9d89C34F9dbC4085F6B1f9965c589ca1",schema:"evm:htlc_erc20"},token:{address:"0x0b0D554D9573bAe1a7556d220847f45182918B28",schema:"evm:erc20"}},WBTC:{id:"base_sepolia:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:84532",htlc:{address:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",schema:"evm:htlc_erc20"},token:{address:"0xD8a6E3FCA403d79b6AD6216b60527F51cc967D39",schema:"evm:erc20"}},USDT:{id:"base_sepolia:usdt",name:"Tether USD",symbol:"USDT",decimals:6,icon:"https://garden.imgix.net/token-images/usdt.svg",chain:"evm:84532",htlc:{address:"0x917cfef972d667dC0FeC76806cB5623585B81493",schema:"evm:htlc_erc20"},token:{address:"0xeaE7721d779276eb0f5837e2fE260118724a2Ba4",schema:"evm:erc20"}},USDC:{id:"base_sepolia:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:84532",htlc:{address:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",schema:"evm:htlc_erc20"},token:{address:"0x1ac7A0ebf13a996D5915e212900bE2d074f94988",schema:"evm:erc20"}}},bera_testnet:{type:e.BlockchainType.evm,network:c.Network.TESTNET},citrea_testnet:{type:e.BlockchainType.evm,network:c.Network.TESTNET,WCBTC:{id:"citrea_testnet:wcbtc",name:"Wrapped Citrea Bitcoin",symbol:"WCBTC",decimals:18,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:5115",htlc:{address:"0xD8e99df8cf77E7383c2f2a84bC6384b2DF88CAd3",schema:"evm:htlc_erc20"},token:{address:"0x8d0c9d1c17aE5e40ffF9bE350f57840E9E66Cd93",schema:"evm:erc20"}},WBTC:{id:"citrea_testnet:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:5115",htlc:{address:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",schema:"evm:htlc_erc20"},token:{address:"0x3edA22460259b29433704dda71cc921F528165Ea",schema:"evm:erc20"}},CBTC:{id:"citrea_testnet:cbtc",name:"Citrea Bitcoin",symbol:"CBTC",decimals:18,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"evm:5115",htlc:{address:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",schema:"evm:htlc"},token:null},CBBTC:{id:"citrea_testnet:cbbtc",name:"Coinbase Wrapped Bitcoin",symbol:"CBBTC",decimals:8,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"evm:5115",htlc:{address:"0x8656d38352CD90ca55881eBd0AF6822839b435A8",schema:"evm:htlc_erc20"},token:{address:"0xeAa998aF280a62Ae08BaE4f9fa59C9b30e6BD306",schema:"evm:erc20"}},USDC:{id:"citrea_testnet:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:5115",htlc:{address:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",schema:"evm:htlc_erc20"},token:{address:"0xCdA8661fDA031deFCc9BdD88C0e12669Cac47Fb0",schema:"evm:erc20"}},USDT:{id:"citrea_testnet:usdt",name:"Tether USD",symbol:"USDT",decimals:6,icon:"https://garden.imgix.net/token-images/usdt.svg",chain:"evm:5115",htlc:{address:"0x917cfef972d667dC0FeC76806cB5623585B81493",schema:"evm:htlc_erc20"},token:{address:"0xF5cFE09b852Ddb164cF6Db419B9c11aAb5F30cb6",schema:"evm:erc20"}}},monad_testnet:{type:e.BlockchainType.evm,network:c.Network.TESTNET,cBBTC:{id:"monad_testnet:cbbtc",name:"Coinbase Wrapped Bitcoin",symbol:"cBBTC",decimals:8,icon:"https://garden.imgix.net/token-images/cbBTC.svg",chain:"evm:10143",htlc:{address:"0x8656d38352CD90ca55881eBd0AF6822839b435A8",schema:"evm:htlc_erc20"},token:{address:"0x6b6303fAb8eC7232b4f2a7b9fa58E5216F608fcb",schema:"evm:erc20"}},USDC:{id:"monad_testnet:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:10143",htlc:{address:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",schema:"evm:htlc_erc20"},token:{address:"0xf817257fed379853cde0fa4f97ab987181b1e5ea",schema:"evm:erc20"}}},starknet_sepolia:{type:e.BlockchainType.starknet,network:c.Network.TESTNET,WBTC:{id:"starknet_sepolia:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"starknet:393402133025997798000961",htlc:{address:"0x06579d255314109429a4477d89629bc2b94f529ae01979c2f8014f9246482603",schema:"starknet:htlc_erc20"},token:{address:"0x496bef3ed20371382fbe0ca6a5a64252c5c848f9f1f0cccf8110fc4def912d5",schema:"starknet:erc20"}}},sui_testnet:{type:e.BlockchainType.sui,network:c.Network.TESTNET,SUI:{id:"sui_testnet:sui",name:"SUI",symbol:"SUI",decimals:9,icon:"https://garden-finance.imgix.net/chain_images/sui.svg",chain:"sui",htlc:{address:"0x5c438715b7dcc02d12ab92449153a1e5ade2301620d5bf60aa748f006726d369",schema:null},token:{address:"0x2::sui::SUI",schema:null}}},hyperliquid_testnet:{type:e.BlockchainType.evm,network:c.Network.TESTNET},bnbchain_testnet:{type:e.BlockchainType.evm,network:c.Network.TESTNET,WBTC:{id:"bnbchain_testnet:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:97",htlc:{address:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",schema:"evm:htlc_erc20"},token:{address:"0x39f3294352208905fc6ebf033954E6c6455CdB4C",schema:"evm:erc20"}}},alpen_signet:{type:e.BlockchainType.bitcoin,network:c.Network.TESTNET,BTC:{id:"alpen_signet:btc",name:"Alpen Bitcoin",symbol:"BTC",decimals:8,icon:"https://garden-finance.imgix.net/token-images/bitcoin.svg",chain:"alpen_signet",htlc:null,token:null}},alpen_testnet:{type:e.BlockchainType.evm,network:c.Network.TESTNET,sBTC:{id:"alpen_testnet:sbtc",name:"Signet Bitcoin",symbol:"sBTC",decimals:18,icon:"https://avatars.githubusercontent.com/u/113091135",chain:"evm:8150",htlc:{address:"0x934C87EE12c6c541E9C3A4997ae70371b3db7b3e",schema:"evm:htlc"},token:null},USDC:{id:"alpen_testnet:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:8150",htlc:{address:"0x7031336949223a512C0435dF75dd8114fa3b7261",schema:"evm:htlc_erc20"},token:{address:"0x9753D0481fC7e18797877B4e731B496439c849dE",schema:"evm:erc20"}}},tron_shasta:{type:e.BlockchainType.tron,network:c.Network.TESTNET,USDT:{id:"tron_shasta:usdt",name:"Tether USD",symbol:"USDT",decimals:6,icon:"https://garden.imgix.net/assets/TetherIcon.svg",chain:"tron:2494104990",htlc:{address:"TQa4rN2Vayesv5vmMAXzP5QA1PnPwD46w6",schema:"tron:htlc_erc20"},token:{address:"TDg6r1BXkxWbmXXvHWweqdpUY9qPhgUJsC",schema:"tron:erc20"}}},bitcoin:{type:e.BlockchainType.bitcoin,network:c.Network.MAINNET,BTC:{id:"bitcoin:btc",name:"Bitcoin",symbol:"BTC",decimals:8,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"bitcoin",htlc:null,token:null}},base:{type:e.BlockchainType.evm,network:c.Network.MAINNET,USDC:{id:"base:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:8453",htlc:{address:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",schema:"evm:htlc_erc20"},token:{address:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",schema:"evm:erc20"}},cBBTC:{id:"base:cbbtc",name:"Coinbase Wrapped Bitcoin",symbol:"cBBTC",decimals:8,icon:"https://coin-images.coingecko.com/coins/images/51336/large/cbbtc.png?1730814747",chain:"evm:8453",htlc:{address:"0xe35d025d0f0d9492db4700FE8646f7F89150eC04",schema:"evm:htlc_erc20"},token:{address:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",schema:"evm:erc20"}}},monad:{type:e.BlockchainType.evm,network:c.Network.MAINNET,MON:{id:"monad:mon",name:"Mon:MON",symbol:"MON",decimals:18,icon:"https://garden.imgix.net/chain_images/monad.svg",chain:"evm:143",htlc:{address:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",schema:"evm:htlc"},token:null},USDC:{id:"monad:usdc",name:"USD Coin:USDC",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:143",htlc:{address:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",schema:"evm:htlc_erc20"},token:{address:"0x754704Bc059F8C67012fEd69BC8A327a5aafb603",schema:"evm:erc20"}}},arbitrum:{type:e.BlockchainType.evm,network:c.Network.MAINNET,WBTC:{id:"arbitrum:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:42161",htlc:{address:"0xb5AE9785349186069C48794a763DB39EC756B1cF",schema:"evm:htlc_erc20"},token:{address:"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f",schema:"evm:erc20"}},USDC:{id:"arbitrum:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:42161",htlc:{address:"0x8E12d730756457B99ce6E6AbFd60eBe751dA169B",schema:"evm:htlc_erc20"},token:{address:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",schema:"evm:erc20"}},SEED:{id:"arbitrum:seed",name:"SEED",symbol:"SEED",decimals:18,icon:"https://garden.imgix.net/token-images/SEED.svg",chain:"evm:42161",htlc:{address:"0xFBD30cB9313fe580031A7E0258693E1cec002803",schema:"evm:htlc_erc20"},token:{address:"0x86f65121804D2Cdbef79F9f072D4e0c2eEbABC08",schema:"evm:erc20"}}},ethereum:{type:e.BlockchainType.evm,network:c.Network.MAINNET,ETH:{id:"ethereum:eth",name:"Ethereum",symbol:"ETH",decimals:18,icon:"https://garden.imgix.net/chain_images/ethereum.svg",chain:"evm:1",htlc:{address:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",schema:"evm:htlc"},token:null},USDC:{id:"ethereum:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:1",htlc:{address:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",schema:"evm:htlc_erc20"},token:{address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",schema:"evm:erc20"}},WBTC:{id:"ethereum:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:1",htlc:{address:"0xD781a2abB3FCB9fC0D1Dd85697c237d06b75fe95",schema:"evm:htlc_erc20"},token:{address:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599",schema:"evm:erc20"}},cBBTC:{id:"ethereum:cbbtc",name:"Coinbase Wrapped Bitcoin",symbol:"cBBTC",decimals:8,icon:"https://garden.imgix.net/token-images/cbBTC.svg",chain:"evm:1",htlc:{address:"0xe35d025d0f0d9492db4700FE8646f7F89150eC04",schema:"evm:htlc_erc20"},token:{address:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf",schema:"evm:erc20"}},SEED:{id:"ethereum:seed",name:"SEED",symbol:"SEED",decimals:18,icon:"https://garden.imgix.net/token-images/SEED.svg",chain:"evm:1",htlc:{address:"0xCE511De667885f92B8c36fcfC79C3B5bEb875463",schema:"evm:htlc_erc20"},token:{address:"0x5eed99d066a8CaF10f3E4327c1b3D8b673485eED",schema:"evm:erc20"}}},solana:{type:e.BlockchainType.solana,network:c.Network.MAINNET,SOL:{id:"solana:sol",name:"Solana",symbol:"SOL",decimals:9,icon:"https://garden-finance.imgix.net/chain_images/solana.png",chain:"solana:101",htlc:{address:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",schema:"solana:htlc"},token:null},USDC:{id:"solana:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"solana:101",htlc:{address:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU",schema:"solana:htlc_spltoken"},token:{address:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",schema:"primary"}},cBBTC:{id:"solana:cbbtc",name:"Coinbase Wrapped Bitcoin",symbol:"cBBTC",decimals:8,icon:"https://garden.imgix.net/token-images/cbBTC.svg",chain:"solana:101",htlc:{address:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU",schema:"solana:htlc_spltoken"},token:{address:"cbbtcf3aa214zXHbiAZQwf4122FBYbraNdFqgw4iMij",schema:"primary"}}},bera:{type:e.BlockchainType.evm,network:c.Network.MAINNET,LBTC:{id:"bera:lbtc",name:"Lombard Bitcoin",symbol:"LBTC",decimals:8,icon:"https://garden.imgix.net/token-images/LBTC.svg",chain:"evm:80094",htlc:{address:"0x84A396920d8B8CA2e69bD9503Bc1B2f73f1b8b33",schema:"evm:htlc_erc20"},token:{address:"0xecAc9C5F704e954931349Da37F60E39f515c11c1",schema:"evm:erc20"}}},starknet:{type:e.BlockchainType.starknet,network:c.Network.MAINNET,WBTC:{id:"starknet:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"starknet:23448594291968334",htlc:{address:"0x7defd8eb3b770005ab1ca5f89ad31f98fb5bc3c52deaeafd130be3b49f967b4",schema:"starknet:htlc_erc20"},token:{address:"0x3fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac",schema:"starknet:erc20"}}},sui:{type:e.BlockchainType.sui,network:c.Network.MAINNET,SUI:{id:"sui:sui",name:"SUI",symbol:"SUI",decimals:9,icon:"https://garden-finance.imgix.net/chain_images/sui.svg",chain:"sui:0",htlc:{address:"0xa4f4e653547e98d4b541378e14db2393a09aff4b829f158b133d2eb3c3a942b5",schema:null},token:{address:"0x2::sui::SUI",schema:null}}},hyperliquid:{type:e.BlockchainType.evm,network:c.Network.MAINNET,uBTC:{id:"hyperliquid:ubtc",name:"Unit Bitcoin",symbol:"uBTC",decimals:8,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"evm:999",htlc:{address:"0xDC74a45e86DEdf1fF7c6dac77e0c2F082f9E4F72",schema:"evm:htlc_erc20"},token:{address:"0x9FDBdA0A5e284c32744D2f17Ee5c74B284993463",schema:"evm:erc20"}}},unichain:{type:e.BlockchainType.evm,network:c.Network.MAINNET,WBTC:{id:"unichain:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:130",htlc:{address:"0xD781a2abB3FCB9fC0D1Dd85697c237d06b75fe95",schema:"evm:htlc_erc20"},token:{address:"0x927B51f251480a681271180DA4de28D44EC4AfB8",schema:"evm:erc20"}},USDC:{id:"unichain:usdc",name:"USD Coin",symbol:"USDC",decimals:6,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:130",htlc:{address:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",schema:"evm:htlc_erc20"},token:{address:"0x078D782b760474a361dDA0AF3839290b0EF57AD6",schema:"evm:erc20"}}},corn:{type:e.BlockchainType.evm,network:c.Network.MAINNET,BTCN:{id:"corn:btcn",name:"Bitcorn",symbol:"BTCN",decimals:18,icon:"https://garden.imgix.net/token-images/bitcorn.svg",chain:"evm:21000000",htlc:{address:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",schema:"evm:htlc"},token:null}},botanix:{type:e.BlockchainType.evm,network:c.Network.MAINNET,BTC:{id:"botanix:btc",name:"Botanix Bitcoin",symbol:"BTC",decimals:18,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"evm:3637",htlc:{address:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",schema:"evm:htlc"},token:null}},bnbchain:{type:e.BlockchainType.evm,network:c.Network.MAINNET,BTCB:{id:"bnbchain:btcb",name:"Binance Bitcoin",symbol:"BTCB",decimals:18,icon:"https://garden.imgix.net/token-images/bitcoin.svg",chain:"evm:56",htlc:{address:"0xe74784E5A45528fDEcB257477DD6bd31c8ef0761",schema:"evm:htlc_erc20"},token:{address:"0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c",schema:"evm:erc20"}},USDC:{id:"bnbchain:usdc",name:"USD Coin",symbol:"USDC",decimals:18,icon:"https://garden.imgix.net/token-images/usdc.svg",chain:"evm:56",htlc:{address:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",schema:"evm:htlc_erc20"},token:{address:"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",schema:"evm:erc20"}},BNB:{id:"bnbchain:bnb",name:"BNB",symbol:"BNB",decimals:18,icon:"https://garden-finance.imgix.net/chain_images/bnb.png",chain:"evm:56",htlc:{address:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",schema:"evm:htlc"},token:null}},core:{type:e.BlockchainType.evm,network:c.Network.MAINNET,WBTC:{id:"core:wbtc",name:"Wrapped Bitcoin",symbol:"WBTC",decimals:8,icon:"https://garden.imgix.net/token-images/wbtc.svg",chain:"evm:1116",htlc:{address:"0xD781a2abB3FCB9fC0D1Dd85697c237d06b75fe95",schema:"evm:htlc_erc20"},token:{address:"0x5832f53d147b3d6Cd4578B9CBD62425C7ea9d0Bd",schema:"evm:erc20"}}},hypercore:{type:e.BlockchainType.evm,network:c.Network.MAINNET},hypercore_testnet:{type:e.BlockchainType.evm,network:c.Network.TESTNET}},T=Object.keys(n).reduce((a,t)=>(a[t]=t,a),{}),f=v.buildAssetsWithChain(n),E=a=>n[a].network===c.Network.MAINNET;function s(a){return t=>n[t]&&n[t].type===a}const h=s(e.BlockchainType.evm),l=s(e.BlockchainType.bitcoin),b=s(e.BlockchainType.solana),B=s(e.BlockchainType.starknet),k=s(e.BlockchainType.sui),D=s(e.BlockchainType.tron),x=a=>n[a].type,d={[e.BlockchainType.evm]:"eth",[e.BlockchainType.solana]:"sol",[e.BlockchainType.sui]:"sui"},g=(a,t)=>h(a)&&t.toLowerCase()===d[e.BlockchainType.evm],p=(a,t)=>b(a)&&t.toLowerCase()===d[e.BlockchainType.solana],C=(a,t)=>k(a)&&t.toLowerCase()===d[e.BlockchainType.sui],y=a=>{const t=a.chain,m=a.symbol;return g(t,m)||p(t,m)||l(t)||C(t,m)||!B(t)};exports.Assets=f;exports.Chains=T;exports.Config=n;exports.NATIVE_TOKENS=d;exports.OrderLifecycle=r;exports.OrderStatus=o;exports.getBlockchainType=x;exports.is=s;exports.isBitcoin=l;exports.isEVM=h;exports.isEvmNativeToken=g;exports.isMainnet=E;exports.isNativeToken=y;exports.isSolana=b;exports.isSolanaNativeToken=p;exports.isStarknet=B;exports.isSui=k;exports.isSuiNativeToken=C;exports.isTron=D;
|
package/dist/index4.js
CHANGED
|
@@ -3,7 +3,7 @@ import { BlockchainType as e } from "./index3.js";
|
|
|
3
3
|
import { ETHStarknetLocalnetAsset as m, STRKStarknetLocalnetAsset as o, bitcoinRegtestAsset as r, WBTCEthereumLocalnetAsset as h, WBTCArbitrumLocalnetAsset as l, SOLSolanaLocalnetAsset as b } from "./index5.js";
|
|
4
4
|
import { buildAssetsWithChain as g } from "./index6.js";
|
|
5
5
|
var C = /* @__PURE__ */ ((a) => (a.Created = "Created", a.InitiateDetected = "Initiate Detected", a.Initiated = "Initiated", a.AwaitingRedeem = "Awaiting Redeem", a.RedeemDetected = "Redeem Detected", a.Redeemed = "Redeemed", a.AwaitingRefund = "Awaiting Refund", a.RefundDetected = "Refund Detected", a.Refunded = "Refunded", a.Expired = "Expired", a))(C || {}), B = /* @__PURE__ */ ((a) => (a.refunded = "refunded", a.expired = "expired", a.completed = "completed", a.inProgress = "in-progress", a.notInitiated = "not-initiated", a.all = "all", a.pending = "pending", a.fulfilled = "fulfilled", a))(B || {});
|
|
6
|
-
const
|
|
6
|
+
const s = {
|
|
7
7
|
solana_localnet: {
|
|
8
8
|
type: e.solana,
|
|
9
9
|
SOL: b,
|
|
@@ -466,6 +466,20 @@ const n = {
|
|
|
466
466
|
}
|
|
467
467
|
}
|
|
468
468
|
},
|
|
469
|
+
alpen_signet: {
|
|
470
|
+
type: e.bitcoin,
|
|
471
|
+
network: t.TESTNET,
|
|
472
|
+
BTC: {
|
|
473
|
+
id: "alpen_signet:btc",
|
|
474
|
+
name: "Alpen Bitcoin",
|
|
475
|
+
symbol: "BTC",
|
|
476
|
+
decimals: 8,
|
|
477
|
+
icon: "https://garden-finance.imgix.net/token-images/bitcoin.svg",
|
|
478
|
+
chain: "alpen_signet",
|
|
479
|
+
htlc: null,
|
|
480
|
+
token: null
|
|
481
|
+
}
|
|
482
|
+
},
|
|
469
483
|
alpen_testnet: {
|
|
470
484
|
type: e.evm,
|
|
471
485
|
network: t.TESTNET,
|
|
@@ -475,9 +489,9 @@ const n = {
|
|
|
475
489
|
symbol: "sBTC",
|
|
476
490
|
decimals: 18,
|
|
477
491
|
icon: "https://avatars.githubusercontent.com/u/113091135",
|
|
478
|
-
chain: "evm:
|
|
492
|
+
chain: "evm:8150",
|
|
479
493
|
htlc: {
|
|
480
|
-
address: "
|
|
494
|
+
address: "0x934C87EE12c6c541E9C3A4997ae70371b3db7b3e",
|
|
481
495
|
schema: "evm:htlc"
|
|
482
496
|
},
|
|
483
497
|
token: null
|
|
@@ -488,9 +502,9 @@ const n = {
|
|
|
488
502
|
symbol: "USDC",
|
|
489
503
|
decimals: 6,
|
|
490
504
|
icon: "https://garden.imgix.net/token-images/usdc.svg",
|
|
491
|
-
chain: "evm:
|
|
505
|
+
chain: "evm:8150",
|
|
492
506
|
htlc: {
|
|
493
|
-
address: "
|
|
507
|
+
address: "0x7031336949223a512C0435dF75dd8114fa3b7261",
|
|
494
508
|
schema: "evm:htlc_erc20"
|
|
495
509
|
},
|
|
496
510
|
token: {
|
|
@@ -569,6 +583,39 @@ const n = {
|
|
|
569
583
|
}
|
|
570
584
|
}
|
|
571
585
|
},
|
|
586
|
+
monad: {
|
|
587
|
+
type: e.evm,
|
|
588
|
+
network: t.MAINNET,
|
|
589
|
+
MON: {
|
|
590
|
+
id: "monad:mon",
|
|
591
|
+
name: "Mon:MON",
|
|
592
|
+
symbol: "MON",
|
|
593
|
+
decimals: 18,
|
|
594
|
+
icon: "https://garden.imgix.net/chain_images/monad.svg",
|
|
595
|
+
chain: "evm:143",
|
|
596
|
+
htlc: {
|
|
597
|
+
address: "0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",
|
|
598
|
+
schema: "evm:htlc"
|
|
599
|
+
},
|
|
600
|
+
token: null
|
|
601
|
+
},
|
|
602
|
+
USDC: {
|
|
603
|
+
id: "monad:usdc",
|
|
604
|
+
name: "USD Coin:USDC",
|
|
605
|
+
symbol: "USDC",
|
|
606
|
+
decimals: 6,
|
|
607
|
+
icon: "https://garden.imgix.net/token-images/usdc.svg",
|
|
608
|
+
chain: "evm:143",
|
|
609
|
+
htlc: {
|
|
610
|
+
address: "0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",
|
|
611
|
+
schema: "evm:htlc_erc20"
|
|
612
|
+
},
|
|
613
|
+
token: {
|
|
614
|
+
address: "0x754704Bc059F8C67012fEd69BC8A327a5aafb603",
|
|
615
|
+
schema: "evm:erc20"
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
},
|
|
572
619
|
arbitrum: {
|
|
573
620
|
type: e.evm,
|
|
574
621
|
network: t.MAINNET,
|
|
@@ -978,14 +1025,14 @@ const n = {
|
|
|
978
1025
|
type: e.evm,
|
|
979
1026
|
network: t.TESTNET
|
|
980
1027
|
}
|
|
981
|
-
}, _ = Object.keys(
|
|
1028
|
+
}, _ = Object.keys(s).reduce(
|
|
982
1029
|
(a, c) => (a[c] = c, a),
|
|
983
1030
|
{}
|
|
984
|
-
), w = g(
|
|
985
|
-
function
|
|
986
|
-
return (c) =>
|
|
1031
|
+
), w = g(s), U = (a) => s[a].network === t.MAINNET;
|
|
1032
|
+
function n(a) {
|
|
1033
|
+
return (c) => s[c] && s[c].type === a;
|
|
987
1034
|
}
|
|
988
|
-
const v =
|
|
1035
|
+
const v = n(e.evm), p = n(e.bitcoin), f = n(e.solana), k = n(e.starknet), E = n(e.sui), N = n(e.tron), F = (a) => s[a].type, d = {
|
|
989
1036
|
[e.evm]: "eth",
|
|
990
1037
|
[e.solana]: "sol",
|
|
991
1038
|
[e.sui]: "sui"
|
|
@@ -997,12 +1044,12 @@ const v = s(e.evm), p = s(e.bitcoin), f = s(e.solana), k = s(e.starknet), E = s(
|
|
|
997
1044
|
export {
|
|
998
1045
|
w as Assets,
|
|
999
1046
|
_ as Chains,
|
|
1000
|
-
|
|
1047
|
+
s as Config,
|
|
1001
1048
|
d as NATIVE_TOKENS,
|
|
1002
1049
|
B as OrderLifecycle,
|
|
1003
1050
|
C as OrderStatus,
|
|
1004
|
-
|
|
1005
|
-
|
|
1051
|
+
F as getBlockchainType,
|
|
1052
|
+
n as is,
|
|
1006
1053
|
p as isBitcoin,
|
|
1007
1054
|
v as isEVM,
|
|
1008
1055
|
D as isEvmNativeToken,
|
|
@@ -1013,5 +1060,5 @@ export {
|
|
|
1013
1060
|
k as isStarknet,
|
|
1014
1061
|
E as isSui,
|
|
1015
1062
|
x as isSuiNativeToken,
|
|
1016
|
-
|
|
1063
|
+
N as isTron
|
|
1017
1064
|
};
|
package/dist/index8.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index4.cjs");class o{constructor(t,r){this.chain=t,this.symbol=r,this.blockchainType=e.getBlockchainType(t),this.formatted=`${t.toLowerCase()}:${r.toLowerCase()}`,this.network=e.Config[t].network,this.asset=e.Assets[t][r]}static from(t){return t instanceof o?t:typeof t=="string"?o.fromString(t):o.fromAsset(t)}static fromChainAndSymbol(t,r){return new o(t,r)}static fromString(t){const[r,n]=t.split(":");if(!(r in e.Chains))throw new Error(`Invalid chain in asset string: ${r}`);return new o(r,n)}static fromAsset(t){return new o(t.chain,t.symbol)}toString(){return this.formatted}}exports.ChainAsset=o;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index4.cjs");class o{constructor(t,r){this.chain=t,this.symbol=r,this.blockchainType=e.getBlockchainType(t),this.formatted=`${t.toLowerCase()}:${r.toLowerCase()}`,this.network=e.Config[t].network,this.asset=e.Assets[t][r]}static from(t){return t instanceof o?t:typeof t=="string"?o.fromString(t):o.fromAsset(t)}static fromChainAndSymbol(t,r){return new o(t,r)}static fromString(t){const[r,n]=t.split(":");if(!(r in e.Chains))throw new Error(`Invalid chain in asset string: ${r}`);return new o(r,n)}static fromAsset(t){return new o(t.chain,t.symbol)}toString(){return this.formatted}toJSON(){return this.formatted}}exports.ChainAsset=o;
|
package/dist/index8.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import { AsyncResult, IAuth } from '@gardenfi/utils';
|
|
1
|
+
import { Url, AsyncResult, IAuth } from '@gardenfi/utils';
|
|
2
2
|
import { RouteValidator } from './routeValidator/routeValidator';
|
|
3
3
|
import { Assets, ChainData, Chains } from './types';
|
|
4
4
|
import { ChainAsset } from '../chainAsset/chainAsset';
|
|
5
5
|
import { Asset, Chain } from '../constants/asset.types';
|
|
6
6
|
|
|
7
|
+
type AssetManagerUrlConfig = {
|
|
8
|
+
baseUrl: string | Url;
|
|
9
|
+
assetsUrl?: string | Url;
|
|
10
|
+
policyUrl?: string | Url;
|
|
11
|
+
};
|
|
7
12
|
/**
|
|
8
13
|
* AssetManager
|
|
9
14
|
*
|
|
@@ -18,9 +23,9 @@ export declare class AssetManager {
|
|
|
18
23
|
routeMatrix: Record<string, ChainAsset[]> | null;
|
|
19
24
|
isLoading: boolean;
|
|
20
25
|
error: string | null;
|
|
21
|
-
private readonly
|
|
26
|
+
private readonly urls;
|
|
22
27
|
private auth;
|
|
23
|
-
constructor(
|
|
28
|
+
constructor(urlConfig: AssetManagerUrlConfig, apiKey: IAuth | string);
|
|
24
29
|
/**
|
|
25
30
|
* Initialize the AssetManager by fetching all required data
|
|
26
31
|
*/
|
|
@@ -74,3 +79,4 @@ export declare class AssetManager {
|
|
|
74
79
|
*/
|
|
75
80
|
refresh(): Promise<void>;
|
|
76
81
|
}
|
|
82
|
+
export {};
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { Url } from '@gardenfi/utils';
|
|
1
2
|
import { ChainAsset } from '../chainAsset/chainAsset';
|
|
2
3
|
|
|
3
4
|
export declare function parseAssetNameSymbol(input: string | undefined, assetId?: string | ChainAsset, fallbackSymbol?: string): {
|
|
4
5
|
name: string;
|
|
5
6
|
symbol: string;
|
|
6
7
|
};
|
|
8
|
+
export declare function ensureUrl(value: string | Url): Url;
|
|
9
|
+
export declare function buildDefaultEndpoint(baseUrl: Url, path: string): string;
|
|
@@ -523,6 +523,20 @@ export declare const Config: {
|
|
|
523
523
|
};
|
|
524
524
|
};
|
|
525
525
|
};
|
|
526
|
+
readonly alpen_signet: {
|
|
527
|
+
readonly type: BlockchainType.bitcoin;
|
|
528
|
+
readonly network: Network.TESTNET;
|
|
529
|
+
readonly BTC: {
|
|
530
|
+
readonly id: "alpen_signet:btc";
|
|
531
|
+
readonly name: "Alpen Bitcoin";
|
|
532
|
+
readonly symbol: "BTC";
|
|
533
|
+
readonly decimals: 8;
|
|
534
|
+
readonly icon: "https://garden-finance.imgix.net/token-images/bitcoin.svg";
|
|
535
|
+
readonly chain: "alpen_signet";
|
|
536
|
+
readonly htlc: null;
|
|
537
|
+
readonly token: null;
|
|
538
|
+
};
|
|
539
|
+
};
|
|
526
540
|
readonly alpen_testnet: {
|
|
527
541
|
readonly type: BlockchainType.evm;
|
|
528
542
|
readonly network: Network.TESTNET;
|
|
@@ -532,9 +546,9 @@ export declare const Config: {
|
|
|
532
546
|
readonly symbol: "sBTC";
|
|
533
547
|
readonly decimals: 18;
|
|
534
548
|
readonly icon: "https://avatars.githubusercontent.com/u/113091135";
|
|
535
|
-
readonly chain: "evm:
|
|
549
|
+
readonly chain: "evm:8150";
|
|
536
550
|
readonly htlc: {
|
|
537
|
-
readonly address: "
|
|
551
|
+
readonly address: "0x934C87EE12c6c541E9C3A4997ae70371b3db7b3e";
|
|
538
552
|
readonly schema: "evm:htlc";
|
|
539
553
|
};
|
|
540
554
|
readonly token: null;
|
|
@@ -545,9 +559,9 @@ export declare const Config: {
|
|
|
545
559
|
readonly symbol: "USDC";
|
|
546
560
|
readonly decimals: 6;
|
|
547
561
|
readonly icon: "https://garden.imgix.net/token-images/usdc.svg";
|
|
548
|
-
readonly chain: "evm:
|
|
562
|
+
readonly chain: "evm:8150";
|
|
549
563
|
readonly htlc: {
|
|
550
|
-
readonly address: "
|
|
564
|
+
readonly address: "0x7031336949223a512C0435dF75dd8114fa3b7261";
|
|
551
565
|
readonly schema: "evm:htlc_erc20";
|
|
552
566
|
};
|
|
553
567
|
readonly token: {
|
|
@@ -626,6 +640,39 @@ export declare const Config: {
|
|
|
626
640
|
};
|
|
627
641
|
};
|
|
628
642
|
};
|
|
643
|
+
readonly monad: {
|
|
644
|
+
readonly type: BlockchainType.evm;
|
|
645
|
+
readonly network: Network.MAINNET;
|
|
646
|
+
readonly MON: {
|
|
647
|
+
readonly id: "monad:mon";
|
|
648
|
+
readonly name: "Mon:MON";
|
|
649
|
+
readonly symbol: "MON";
|
|
650
|
+
readonly decimals: 18;
|
|
651
|
+
readonly icon: "https://garden.imgix.net/chain_images/monad.svg";
|
|
652
|
+
readonly chain: "evm:143";
|
|
653
|
+
readonly htlc: {
|
|
654
|
+
readonly address: "0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb";
|
|
655
|
+
readonly schema: "evm:htlc";
|
|
656
|
+
};
|
|
657
|
+
readonly token: null;
|
|
658
|
+
};
|
|
659
|
+
readonly USDC: {
|
|
660
|
+
readonly id: "monad:usdc";
|
|
661
|
+
readonly name: "USD Coin:USDC";
|
|
662
|
+
readonly symbol: "USDC";
|
|
663
|
+
readonly decimals: 6;
|
|
664
|
+
readonly icon: "https://garden.imgix.net/token-images/usdc.svg";
|
|
665
|
+
readonly chain: "evm:143";
|
|
666
|
+
readonly htlc: {
|
|
667
|
+
readonly address: "0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E";
|
|
668
|
+
readonly schema: "evm:htlc_erc20";
|
|
669
|
+
};
|
|
670
|
+
readonly token: {
|
|
671
|
+
readonly address: "0x754704Bc059F8C67012fEd69BC8A327a5aafb603";
|
|
672
|
+
readonly schema: "evm:erc20";
|
|
673
|
+
};
|
|
674
|
+
};
|
|
675
|
+
};
|
|
629
676
|
readonly arbitrum: {
|
|
630
677
|
readonly type: BlockchainType.evm;
|
|
631
678
|
readonly network: Network.MAINNET;
|
|
@@ -1536,6 +1583,20 @@ export declare const Assets: import('./utils').AssetsType<{
|
|
|
1536
1583
|
};
|
|
1537
1584
|
};
|
|
1538
1585
|
};
|
|
1586
|
+
readonly alpen_signet: {
|
|
1587
|
+
readonly type: BlockchainType.bitcoin;
|
|
1588
|
+
readonly network: Network.TESTNET;
|
|
1589
|
+
readonly BTC: {
|
|
1590
|
+
readonly id: "alpen_signet:btc";
|
|
1591
|
+
readonly name: "Alpen Bitcoin";
|
|
1592
|
+
readonly symbol: "BTC";
|
|
1593
|
+
readonly decimals: 8;
|
|
1594
|
+
readonly icon: "https://garden-finance.imgix.net/token-images/bitcoin.svg";
|
|
1595
|
+
readonly chain: "alpen_signet";
|
|
1596
|
+
readonly htlc: null;
|
|
1597
|
+
readonly token: null;
|
|
1598
|
+
};
|
|
1599
|
+
};
|
|
1539
1600
|
readonly alpen_testnet: {
|
|
1540
1601
|
readonly type: BlockchainType.evm;
|
|
1541
1602
|
readonly network: Network.TESTNET;
|
|
@@ -1545,9 +1606,9 @@ export declare const Assets: import('./utils').AssetsType<{
|
|
|
1545
1606
|
readonly symbol: "sBTC";
|
|
1546
1607
|
readonly decimals: 18;
|
|
1547
1608
|
readonly icon: "https://avatars.githubusercontent.com/u/113091135";
|
|
1548
|
-
readonly chain: "evm:
|
|
1609
|
+
readonly chain: "evm:8150";
|
|
1549
1610
|
readonly htlc: {
|
|
1550
|
-
readonly address: "
|
|
1611
|
+
readonly address: "0x934C87EE12c6c541E9C3A4997ae70371b3db7b3e";
|
|
1551
1612
|
readonly schema: "evm:htlc";
|
|
1552
1613
|
};
|
|
1553
1614
|
readonly token: null;
|
|
@@ -1558,9 +1619,9 @@ export declare const Assets: import('./utils').AssetsType<{
|
|
|
1558
1619
|
readonly symbol: "USDC";
|
|
1559
1620
|
readonly decimals: 6;
|
|
1560
1621
|
readonly icon: "https://garden.imgix.net/token-images/usdc.svg";
|
|
1561
|
-
readonly chain: "evm:
|
|
1622
|
+
readonly chain: "evm:8150";
|
|
1562
1623
|
readonly htlc: {
|
|
1563
|
-
readonly address: "
|
|
1624
|
+
readonly address: "0x7031336949223a512C0435dF75dd8114fa3b7261";
|
|
1564
1625
|
readonly schema: "evm:htlc_erc20";
|
|
1565
1626
|
};
|
|
1566
1627
|
readonly token: {
|
|
@@ -1639,6 +1700,39 @@ export declare const Assets: import('./utils').AssetsType<{
|
|
|
1639
1700
|
};
|
|
1640
1701
|
};
|
|
1641
1702
|
};
|
|
1703
|
+
readonly monad: {
|
|
1704
|
+
readonly type: BlockchainType.evm;
|
|
1705
|
+
readonly network: Network.MAINNET;
|
|
1706
|
+
readonly MON: {
|
|
1707
|
+
readonly id: "monad:mon";
|
|
1708
|
+
readonly name: "Mon:MON";
|
|
1709
|
+
readonly symbol: "MON";
|
|
1710
|
+
readonly decimals: 18;
|
|
1711
|
+
readonly icon: "https://garden.imgix.net/chain_images/monad.svg";
|
|
1712
|
+
readonly chain: "evm:143";
|
|
1713
|
+
readonly htlc: {
|
|
1714
|
+
readonly address: "0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb";
|
|
1715
|
+
readonly schema: "evm:htlc";
|
|
1716
|
+
};
|
|
1717
|
+
readonly token: null;
|
|
1718
|
+
};
|
|
1719
|
+
readonly USDC: {
|
|
1720
|
+
readonly id: "monad:usdc";
|
|
1721
|
+
readonly name: "USD Coin:USDC";
|
|
1722
|
+
readonly symbol: "USDC";
|
|
1723
|
+
readonly decimals: 6;
|
|
1724
|
+
readonly icon: "https://garden.imgix.net/token-images/usdc.svg";
|
|
1725
|
+
readonly chain: "evm:143";
|
|
1726
|
+
readonly htlc: {
|
|
1727
|
+
readonly address: "0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E";
|
|
1728
|
+
readonly schema: "evm:htlc_erc20";
|
|
1729
|
+
};
|
|
1730
|
+
readonly token: {
|
|
1731
|
+
readonly address: "0x754704Bc059F8C67012fEd69BC8A327a5aafb603";
|
|
1732
|
+
readonly schema: "evm:erc20";
|
|
1733
|
+
};
|
|
1734
|
+
};
|
|
1735
|
+
};
|
|
1642
1736
|
readonly arbitrum: {
|
|
1643
1737
|
readonly type: BlockchainType.evm;
|
|
1644
1738
|
readonly network: Network.MAINNET;
|
|
@@ -2051,8 +2145,8 @@ export declare const Assets: import('./utils').AssetsType<{
|
|
|
2051
2145
|
}>;
|
|
2052
2146
|
export declare const isMainnet: (chain: Chain) => boolean;
|
|
2053
2147
|
export declare function is<T extends BlockchainType>(type: T): (chain: Chain) => chain is Extract<Chain, ChainsByBlockchainType<T>>;
|
|
2054
|
-
export declare const isEVM: (chain: Chain) => chain is "arbitrum_localnet" | "ethereum_localnet" | "ethereum_sepolia" | "arbitrum_sepolia" | "base_sepolia" | "bera_testnet" | "citrea_testnet" | "monad_testnet" | "hyperliquid_testnet" | "bnbchain_testnet" | "alpen_testnet" | "base" | "arbitrum" | "ethereum" | "bera" | "hyperliquid" | "unichain" | "corn" | "botanix" | "bnbchain" | "core" | "hypercore" | "hypercore_testnet";
|
|
2055
|
-
export declare const isBitcoin: (chain: Chain) => chain is "bitcoin" | "bitcoin_regtest" | "bitcoin_testnet";
|
|
2148
|
+
export declare const isEVM: (chain: Chain) => chain is "arbitrum_localnet" | "ethereum_localnet" | "ethereum_sepolia" | "arbitrum_sepolia" | "base_sepolia" | "bera_testnet" | "citrea_testnet" | "monad_testnet" | "hyperliquid_testnet" | "bnbchain_testnet" | "alpen_testnet" | "base" | "monad" | "arbitrum" | "ethereum" | "bera" | "hyperliquid" | "unichain" | "corn" | "botanix" | "bnbchain" | "core" | "hypercore" | "hypercore_testnet";
|
|
2149
|
+
export declare const isBitcoin: (chain: Chain) => chain is "bitcoin" | "alpen_signet" | "bitcoin_regtest" | "bitcoin_testnet";
|
|
2056
2150
|
export declare const isSolana: (chain: Chain) => chain is "solana_localnet" | "solana_testnet" | "solana";
|
|
2057
2151
|
export declare const isStarknet: (chain: Chain) => chain is "starknet_devnet" | "starknet_sepolia" | "starknet";
|
|
2058
2152
|
export declare const isSui: (chain: Chain) => chain is "sui" | "sui_testnet";
|
|
@@ -101,7 +101,7 @@ export type Order = {
|
|
|
101
101
|
destination_swap: Swap;
|
|
102
102
|
slippage: number;
|
|
103
103
|
nonce: string;
|
|
104
|
-
affiliate_fees:
|
|
104
|
+
affiliate_fees: AffiliateFeeV2[];
|
|
105
105
|
integrator: string;
|
|
106
106
|
version: string;
|
|
107
107
|
};
|
|
@@ -139,6 +139,9 @@ export type AffiliateFee = {
|
|
|
139
139
|
asset: ChainAsset;
|
|
140
140
|
fee: number;
|
|
141
141
|
};
|
|
142
|
+
export type AffiliateFeeV2 = AffiliateFee & {
|
|
143
|
+
asset: string;
|
|
144
|
+
};
|
|
142
145
|
export type AffiliateFeeWithAmount = AffiliateFee & {
|
|
143
146
|
amount: string;
|
|
144
147
|
};
|
|
@@ -172,7 +175,13 @@ type EvmTypedData = {
|
|
|
172
175
|
domain: Record<string, unknown>;
|
|
173
176
|
types: Record<string, unknown>;
|
|
174
177
|
primaryType: string;
|
|
175
|
-
message:
|
|
178
|
+
message: {
|
|
179
|
+
amount: string;
|
|
180
|
+
secretHash: string;
|
|
181
|
+
timelock: string;
|
|
182
|
+
redeemer: string;
|
|
183
|
+
destinationData: string;
|
|
184
|
+
};
|
|
176
185
|
};
|
|
177
186
|
export type EvmOrderResponse = WithTypedData<BaseCreateOrderResponse & {
|
|
178
187
|
approval_transaction: EVMTransaction | null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gardenfi/orderbook",
|
|
3
|
-
"version": "3.0.5-beta.
|
|
3
|
+
"version": "3.0.5-beta.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@coral-xyz/anchor": "^0.31.1",
|
|
31
|
-
"@gardenfi/utils": "3.0.0",
|
|
31
|
+
"@gardenfi/utils": "3.0.0-beta.1",
|
|
32
32
|
"bufferutil": "^4.0.8",
|
|
33
33
|
"node-cache": "^5.1.2",
|
|
34
34
|
"siwe": "^2.1.4",
|