@gardenfi/orderbook 3.0.1 → 3.0.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/index11.cjs +1 -1
- package/dist/index11.js +53 -65
- package/dist/index4.cjs +1 -1
- package/dist/index4.js +22 -8
- package/dist/src/lib/constants/asset.d.ts +29 -1
- package/package.json +1 -1
package/dist/index11.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
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(),
|
|
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,19 +1,19 @@
|
|
|
1
|
-
import { ApiKey as f, Url as
|
|
2
|
-
import
|
|
1
|
+
import { ApiKey as f, Url as p, Ok as u, Err as l, Fetcher as d } from "@gardenfi/utils";
|
|
2
|
+
import m from "node-cache";
|
|
3
3
|
const a = class a {
|
|
4
4
|
constructor(e, t) {
|
|
5
|
-
this.policy = new
|
|
5
|
+
this.policy = new m({
|
|
6
6
|
stdTTL: 36e3,
|
|
7
7
|
// 10 hours in seconds
|
|
8
8
|
checkperiod: 3600
|
|
9
9
|
// Check for expired keys every hour
|
|
10
|
-
}), typeof t == "string" ? this.auth = new f(t) : this.auth = t, typeof e == "string" ? this.apiBaseUrl = new
|
|
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
13
|
return this.policy.get(a.POLICY_CACHE_KEY);
|
|
14
14
|
}
|
|
15
15
|
setPolicy(e) {
|
|
16
|
-
const t = this.getPolicy(),
|
|
16
|
+
const t = this.getPolicy(), s = {
|
|
17
17
|
default: e.default || (t == null ? void 0 : t.default) || "open",
|
|
18
18
|
isolation_groups: [
|
|
19
19
|
.../* @__PURE__ */ new Set([
|
|
@@ -34,7 +34,7 @@ const a = class a {
|
|
|
34
34
|
])
|
|
35
35
|
]
|
|
36
36
|
};
|
|
37
|
-
return this.policy.set(a.POLICY_CACHE_KEY,
|
|
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.
|
|
@@ -46,7 +46,7 @@ const a = class a {
|
|
|
46
46
|
const t = await this.auth.getAuthHeaders();
|
|
47
47
|
if (!t.ok)
|
|
48
48
|
return l(`Failed to get auth headers: ${t.error}`);
|
|
49
|
-
const
|
|
49
|
+
const s = await d.get(
|
|
50
50
|
this.apiBaseUrl,
|
|
51
51
|
{
|
|
52
52
|
headers: {
|
|
@@ -55,19 +55,7 @@ const a = class a {
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
);
|
|
58
|
-
return
|
|
59
|
-
"*:* -> bnbchain:btcb",
|
|
60
|
-
"bnbchain:btcb -> *:*",
|
|
61
|
-
"*:* -> botanix:btc",
|
|
62
|
-
"botanix:btc -> *:*"
|
|
63
|
-
), i.result.whitelist_overrides.push(
|
|
64
|
-
"bitcoin:btc -> bnbchain:btcb",
|
|
65
|
-
"botanix:btc -> bnbchain:btcb",
|
|
66
|
-
"bnbchain:btcb -> bitcoin:btc",
|
|
67
|
-
"bnbchain:btcb -> botanix:btc",
|
|
68
|
-
"bitcoin:btc -> botanix:btc",
|
|
69
|
-
"botanix:btc -> bitcoin:btc"
|
|
70
|
-
), u(this.setPolicy(i.result))) : l(`API Error: ${i.error}`);
|
|
58
|
+
return s.result ? u(this.setPolicy(s.result)) : l(`API Error: ${s.error}`);
|
|
71
59
|
} catch (t) {
|
|
72
60
|
return l(`Failed to load policy: ${t}`);
|
|
73
61
|
}
|
|
@@ -76,89 +64,89 @@ const a = class a {
|
|
|
76
64
|
* Checks if a given route is valid based on all route rules.
|
|
77
65
|
*/
|
|
78
66
|
async isValidRoute(e, t) {
|
|
79
|
-
const
|
|
80
|
-
if (!
|
|
81
|
-
const { sortedIsolationRules:
|
|
67
|
+
const s = await this.loadPolicy();
|
|
68
|
+
if (!s.ok || e.toString() === t.toString()) return !1;
|
|
69
|
+
const { sortedIsolationRules: r, sortedBlacklistRules: i, sortedWhitelistRules: n } = this.preprocessRules(s.val), o = this.findMatchingRule(
|
|
82
70
|
e,
|
|
83
|
-
|
|
71
|
+
r
|
|
84
72
|
);
|
|
85
73
|
if (o && !this.matchesRuleDestination(t, o))
|
|
86
74
|
return !1;
|
|
87
75
|
const c = this.findMatchingRule(
|
|
88
76
|
t,
|
|
89
|
-
|
|
77
|
+
r
|
|
90
78
|
);
|
|
91
|
-
return c && c.rule.direction === "<->" && !this.matchesRuleSource(e, c) ? !1 : this.matchesRuleList(e, t,
|
|
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";
|
|
92
80
|
}
|
|
93
81
|
/**
|
|
94
82
|
* Returns all valid destinations for a given source asset.
|
|
95
83
|
*/
|
|
96
84
|
async getValidDestinations(e, t) {
|
|
97
|
-
const
|
|
98
|
-
for (const
|
|
99
|
-
await this.isValidRoute(e,
|
|
100
|
-
return
|
|
85
|
+
const s = [];
|
|
86
|
+
for (const r of t)
|
|
87
|
+
await this.isValidRoute(e, r) && s.push(r);
|
|
88
|
+
return s;
|
|
101
89
|
}
|
|
102
90
|
/**
|
|
103
91
|
* Returns every valid route (from-to pair) among the provided assets.
|
|
104
92
|
*/
|
|
105
93
|
async getAllValidRoutes(e) {
|
|
106
94
|
const t = [];
|
|
107
|
-
for (const
|
|
108
|
-
for (const
|
|
109
|
-
await this.isValidRoute(
|
|
95
|
+
for (const s of e)
|
|
96
|
+
for (const r of e)
|
|
97
|
+
await this.isValidRoute(s, r) && t.push({ from: s, to: r });
|
|
110
98
|
return t;
|
|
111
99
|
}
|
|
112
100
|
/**
|
|
113
101
|
* Turns policy string rules into sorted ParsedRule objects.
|
|
114
102
|
*/
|
|
115
103
|
preprocessRules(e) {
|
|
116
|
-
const t = e.isolation_groups.map((
|
|
117
|
-
return { sortedIsolationRules: t, sortedBlacklistRules:
|
|
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 };
|
|
118
106
|
}
|
|
119
107
|
/**
|
|
120
108
|
* Parses a rule string (e.g. "ethereum:usdc -> base:usdt") into parts.
|
|
121
109
|
*/
|
|
122
110
|
parseRule(e) {
|
|
123
|
-
const
|
|
111
|
+
const s = e.includes(
|
|
124
112
|
"<->"
|
|
125
113
|
/* Bidirectional */
|
|
126
|
-
) ? "<->" : "->", [
|
|
114
|
+
) ? "<->" : "->", [r, i] = e.split(s).map((n) => n.trim());
|
|
127
115
|
return {
|
|
128
116
|
pattern: e,
|
|
129
|
-
fromPattern:
|
|
130
|
-
toPattern:
|
|
131
|
-
direction:
|
|
132
|
-
specificity: this.calculateSpecificity(
|
|
117
|
+
fromPattern: r,
|
|
118
|
+
toPattern: i,
|
|
119
|
+
direction: s,
|
|
120
|
+
specificity: this.calculateSpecificity(r, i)
|
|
133
121
|
};
|
|
134
122
|
}
|
|
135
123
|
/**
|
|
136
124
|
* Gives a specificity score to a rule pattern for prioritizing.
|
|
137
125
|
*/
|
|
138
126
|
calculateSpecificity(e, t) {
|
|
139
|
-
const
|
|
140
|
-
const
|
|
141
|
-
return
|
|
127
|
+
const s = (r) => {
|
|
128
|
+
const i = r.toLowerCase();
|
|
129
|
+
return i === "*" ? 0 : i.includes(
|
|
142
130
|
"*"
|
|
143
131
|
/* Any */
|
|
144
132
|
) ? 1 : 2;
|
|
145
133
|
};
|
|
146
|
-
return
|
|
134
|
+
return s(e) * 10 + s(t);
|
|
147
135
|
}
|
|
148
136
|
/**
|
|
149
137
|
* Finds the first matching rule for an asset given the rule "side".
|
|
150
138
|
*/
|
|
151
139
|
findMatchingRule(e, t) {
|
|
152
|
-
for (const
|
|
153
|
-
if (this.matchesAssetPattern(e,
|
|
140
|
+
for (const s of t) {
|
|
141
|
+
if (this.matchesAssetPattern(e, s.fromPattern))
|
|
154
142
|
return {
|
|
155
|
-
rule:
|
|
143
|
+
rule: s,
|
|
156
144
|
matchedAs: "from"
|
|
157
145
|
/* From */
|
|
158
146
|
};
|
|
159
|
-
if (
|
|
147
|
+
if (s.direction === "<->" && this.matchesAssetPattern(e, s.toPattern))
|
|
160
148
|
return {
|
|
161
|
-
rule:
|
|
149
|
+
rule: s,
|
|
162
150
|
matchedAs: "to"
|
|
163
151
|
/* To */
|
|
164
152
|
};
|
|
@@ -180,34 +168,34 @@ const a = class a {
|
|
|
180
168
|
/**
|
|
181
169
|
* Checks if any rule in a list matches fromAsset and toAsset.
|
|
182
170
|
*/
|
|
183
|
-
matchesRuleList(e, t,
|
|
184
|
-
return
|
|
171
|
+
matchesRuleList(e, t, s) {
|
|
172
|
+
return s.some((r) => this.matchesRule(e, t, r));
|
|
185
173
|
}
|
|
186
174
|
/**
|
|
187
175
|
* Checks if a rule matches fromAsset and toAsset (forward or backward if bidirectional).
|
|
188
176
|
*/
|
|
189
|
-
matchesRule(e, t,
|
|
190
|
-
const
|
|
191
|
-
if (
|
|
192
|
-
const
|
|
193
|
-
return
|
|
177
|
+
matchesRule(e, t, s) {
|
|
178
|
+
const r = this.matchesAssetPattern(e, s.fromPattern) && this.matchesAssetPattern(t, s.toPattern);
|
|
179
|
+
if (s.direction === "<->") {
|
|
180
|
+
const i = this.matchesAssetPattern(e, s.toPattern) && this.matchesAssetPattern(t, s.fromPattern);
|
|
181
|
+
return r || i;
|
|
194
182
|
}
|
|
195
|
-
return
|
|
183
|
+
return r;
|
|
196
184
|
}
|
|
197
185
|
/**
|
|
198
186
|
* Checks if an asset string matches a rule's pattern (wildcards supported).
|
|
199
187
|
*/
|
|
200
188
|
matchesAssetPattern(e, t) {
|
|
201
|
-
const [
|
|
202
|
-
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;
|
|
203
191
|
}
|
|
204
192
|
async buildRouteMatrix(e) {
|
|
205
193
|
const t = {};
|
|
206
|
-
for (const
|
|
207
|
-
const
|
|
208
|
-
for (const
|
|
209
|
-
await this.isValidRoute(
|
|
210
|
-
t[
|
|
194
|
+
for (const s of e) {
|
|
195
|
+
const r = [];
|
|
196
|
+
for (const i of e)
|
|
197
|
+
await this.isValidRoute(s, i) && r.push(i);
|
|
198
|
+
t[s.toString()] = r;
|
|
211
199
|
}
|
|
212
200
|
return t;
|
|
213
201
|
}
|
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 o=(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))(o||{}),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 s={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"}}},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"}}},monad:{type:e.BlockchainType.evm,network:a.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: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(s).reduce((c,t)=>(c[t]=t,c),{}),f=v.buildAssetsWithChain(s),E=c=>s[c].network===a.Network.MAINNET;function i(c){return t=>s[t]&&s[t].type===c}const h=i(e.BlockchainType.evm),l=i(e.BlockchainType.bitcoin),b=i(e.BlockchainType.solana),B=i(e.BlockchainType.starknet),k=i(e.BlockchainType.sui),D=c=>s[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],x=c=>{const t=c.chain,m=c.symbol;return g(t,m)||C(t,m)||l(t)||p(t,m)||!B(t)};exports.Assets=f;exports.Chains=T;exports.Config=s;exports.NATIVE_TOKENS=d;exports.OrderLifecycle=r;exports.OrderStatus=o;exports.getBlockchainType=D;exports.is=i;exports.isBitcoin=l;exports.isEVM=h;exports.isEvmNativeToken=g;exports.isMainnet=E;exports.isNativeToken=x;exports.isSolana=b;exports.isSolanaNativeToken=C;exports.isStarknet=B;exports.isSui=k;exports.isSuiNativeToken=p;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@gardenfi/utils"),e=require("./index3.cjs"),s=require("./index5.cjs"),v=require("./index6.cjs");var o=(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))(o||{}),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 n={solana_localnet:{type:e.BlockchainType.solana,SOL:s.SOLSolanaLocalnetAsset,network:a.Network.LOCALNET},arbitrum_localnet:{type:e.BlockchainType.evm,WBTC:s.WBTCArbitrumLocalnetAsset,network:a.Network.LOCALNET},ethereum_localnet:{type:e.BlockchainType.evm,WBTC:s.WBTCEthereumLocalnetAsset,network:a.Network.LOCALNET},bitcoin_regtest:{type:e.BlockchainType.bitcoin,BTC:s.bitcoinRegtestAsset,network:a.Network.LOCALNET},starknet_devnet:{type:e.BlockchainType.starknet,STRK:s.STRKStarknetLocalnetAsset,ETH:s.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_signet:{type:e.BlockchainType.bitcoin,network:a.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: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"}}},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"}}},monad:{type:e.BlockchainType.evm,network:a.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: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(n).reduce((c,t)=>(c[t]=t,c),{}),f=v.buildAssetsWithChain(n),E=c=>n[c].network===a.Network.MAINNET;function i(c){return t=>n[t]&&n[t].type===c}const h=i(e.BlockchainType.evm),l=i(e.BlockchainType.bitcoin),b=i(e.BlockchainType.solana),B=i(e.BlockchainType.starknet),k=i(e.BlockchainType.sui),D=c=>n[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],x=c=>{const t=c.chain,m=c.symbol;return g(t,m)||C(t,m)||l(t)||p(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=D;exports.is=i;exports.isBitcoin=l;exports.isEVM=h;exports.isEvmNativeToken=g;exports.isMainnet=E;exports.isNativeToken=x;exports.isSolana=b;exports.isSolanaNativeToken=C;exports.isStarknet=B;exports.isSui=k;exports.isSuiNativeToken=p;
|
package/dist/index4.js
CHANGED
|
@@ -466,6 +466,20 @@ const s = {
|
|
|
466
466
|
}
|
|
467
467
|
}
|
|
468
468
|
},
|
|
469
|
+
alpen_signet: {
|
|
470
|
+
type: e.bitcoin,
|
|
471
|
+
network: c.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: c.TESTNET,
|
|
@@ -994,21 +1008,21 @@ const s = {
|
|
|
994
1008
|
}, _ = Object.keys(s).reduce(
|
|
995
1009
|
(a, t) => (a[t] = t, a),
|
|
996
1010
|
{}
|
|
997
|
-
),
|
|
1011
|
+
), w = g(s), F = (a) => s[a].network === c.MAINNET;
|
|
998
1012
|
function n(a) {
|
|
999
1013
|
return (t) => s[t] && s[t].type === a;
|
|
1000
1014
|
}
|
|
1001
|
-
const v = n(e.evm), p = n(e.bitcoin), f = n(e.solana),
|
|
1015
|
+
const v = n(e.evm), p = n(e.bitcoin), f = n(e.solana), k = n(e.starknet), E = n(e.sui), N = (a) => s[a].type, d = {
|
|
1002
1016
|
[e.evm]: "eth",
|
|
1003
1017
|
[e.solana]: "sol",
|
|
1004
1018
|
[e.sui]: "sui"
|
|
1005
|
-
}, D = (a, t) => v(a) && t.toLowerCase() === d[e.evm], T = (a, t) => f(a) && t.toLowerCase() === d[e.solana], x = (a, t) =>
|
|
1019
|
+
}, D = (a, t) => v(a) && t.toLowerCase() === d[e.evm], T = (a, t) => f(a) && t.toLowerCase() === d[e.solana], x = (a, t) => E(a) && t.toLowerCase() === d[e.sui], U = (a) => {
|
|
1006
1020
|
const t = a.chain, i = a.symbol;
|
|
1007
1021
|
return D(t, i) || T(t, i) || p(t) || x(t, i) || // Starknet doesn't have a native token
|
|
1008
|
-
!
|
|
1022
|
+
!k(t);
|
|
1009
1023
|
};
|
|
1010
1024
|
export {
|
|
1011
|
-
|
|
1025
|
+
w as Assets,
|
|
1012
1026
|
_ as Chains,
|
|
1013
1027
|
s as Config,
|
|
1014
1028
|
d as NATIVE_TOKENS,
|
|
@@ -1019,11 +1033,11 @@ export {
|
|
|
1019
1033
|
p as isBitcoin,
|
|
1020
1034
|
v as isEVM,
|
|
1021
1035
|
D as isEvmNativeToken,
|
|
1022
|
-
|
|
1036
|
+
F as isMainnet,
|
|
1023
1037
|
U as isNativeToken,
|
|
1024
1038
|
f as isSolana,
|
|
1025
1039
|
T as isSolanaNativeToken,
|
|
1026
|
-
|
|
1027
|
-
|
|
1040
|
+
k as isStarknet,
|
|
1041
|
+
E as isSui,
|
|
1028
1042
|
x as isSuiNativeToken
|
|
1029
1043
|
};
|
|
@@ -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;
|
|
@@ -1549,6 +1563,20 @@ export declare const Assets: import('./utils').AssetsType<{
|
|
|
1549
1563
|
};
|
|
1550
1564
|
};
|
|
1551
1565
|
};
|
|
1566
|
+
readonly alpen_signet: {
|
|
1567
|
+
readonly type: BlockchainType.bitcoin;
|
|
1568
|
+
readonly network: Network.TESTNET;
|
|
1569
|
+
readonly BTC: {
|
|
1570
|
+
readonly id: "alpen_signet:btc";
|
|
1571
|
+
readonly name: "Alpen Bitcoin";
|
|
1572
|
+
readonly symbol: "BTC";
|
|
1573
|
+
readonly decimals: 8;
|
|
1574
|
+
readonly icon: "https://garden-finance.imgix.net/token-images/bitcoin.svg";
|
|
1575
|
+
readonly chain: "alpen_signet";
|
|
1576
|
+
readonly htlc: null;
|
|
1577
|
+
readonly token: null;
|
|
1578
|
+
};
|
|
1579
|
+
};
|
|
1552
1580
|
readonly alpen_testnet: {
|
|
1553
1581
|
readonly type: BlockchainType.evm;
|
|
1554
1582
|
readonly network: Network.TESTNET;
|
|
@@ -2078,7 +2106,7 @@ export declare const Assets: import('./utils').AssetsType<{
|
|
|
2078
2106
|
export declare const isMainnet: (chain: Chain) => boolean;
|
|
2079
2107
|
export declare function is<T extends BlockchainType>(type: T): (chain: Chain) => chain is Extract<Chain, ChainsByBlockchainType<T>>;
|
|
2080
2108
|
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";
|
|
2081
|
-
export declare const isBitcoin: (chain: Chain) => chain is "bitcoin" | "bitcoin_regtest" | "bitcoin_testnet";
|
|
2109
|
+
export declare const isBitcoin: (chain: Chain) => chain is "bitcoin" | "alpen_signet" | "bitcoin_regtest" | "bitcoin_testnet";
|
|
2082
2110
|
export declare const isSolana: (chain: Chain) => chain is "solana_localnet" | "solana_testnet" | "solana";
|
|
2083
2111
|
export declare const isStarknet: (chain: Chain) => chain is "starknet_devnet" | "starknet_sepolia" | "starknet";
|
|
2084
2112
|
export declare const isSui: (chain: Chain) => chain is "sui" | "sui_testnet";
|