@gardenfi/orderbook 2.5.3-beta.3 → 2.5.3-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.js +30 -25
- package/dist/index10.cjs +1 -0
- package/dist/index10.js +238 -0
- package/dist/index11.cjs +1 -0
- package/dist/index11.js +90 -0
- package/dist/index4.cjs +1 -1
- package/dist/index4.js +659 -292
- package/dist/index7.cjs +1 -1
- package/dist/index7.js +4 -4
- package/dist/src/index.d.ts +5 -1
- package/dist/src/lib/assetManager/AssetManager.d.ts +96 -0
- package/dist/src/lib/assetManager/index.d.ts +2 -0
- package/dist/src/lib/assetManager/routeValidator/routeValidator.d.ts +31 -0
- package/dist/src/lib/assetManager/types.d.ts +39 -0
- package/dist/src/lib/constants/asset.d.ts +1188 -454
- package/dist/src/lib/constants/asset.types.d.ts +15 -9
- package/package.json +2 -2
package/dist/index.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("./index2.cjs"),a=require("./index3.cjs"),e=require("./index4.cjs"),s=require("./index5.cjs"),o=require("./index6.cjs"),t=require("./index7.cjs"),c=require("./index8.cjs"),i=require("./index9.cjs"),l=require("./index10.cjs"),r=require("./index11.cjs");exports.Orderbook=n.Orderbook;exports.BlockchainType=a.BlockchainType;exports.Assets=e.Assets;exports.Chains=e.Chains;exports.Config=e.Config;exports.NATIVE_TOKENS=e.NATIVE_TOKENS;exports.OrderLifecycle=e.OrderLifecycle;exports.OrderStatus=e.OrderStatus;exports.getBlockchainType=e.getBlockchainType;exports.is=e.is;exports.isBitcoin=e.isBitcoin;exports.isEVM=e.isEVM;exports.isEvmNativeToken=e.isEvmNativeToken;exports.isMainnet=e.isMainnet;exports.isNativeToken=e.isNativeToken;exports.isSolana=e.isSolana;exports.isSolanaNativeToken=e.isSolanaNativeToken;exports.isStarknet=e.isStarknet;exports.isSui=e.isSui;exports.isSuiNativeToken=e.isSuiNativeToken;exports.ArbitrumLocalnet=s.ArbitrumLocalnet;exports.ETHStarknetLocalnetAsset=s.ETHStarknetLocalnetAsset;exports.EthereumLocalnet=s.EthereumLocalnet;exports.SOLSolanaLocalnetAsset=s.SOLSolanaLocalnetAsset;exports.STRKStarknetLocalnetAsset=s.STRKStarknetLocalnetAsset;exports.StarknetLocalnet=s.StarknetLocalnet;exports.WBTCArbitrumLocalnetAsset=s.WBTCArbitrumLocalnetAsset;exports.WBTCEthereumLocalnetAsset=s.WBTCEthereumLocalnetAsset;exports.bitcoinRegtestAsset=s.bitcoinRegtestAsset;exports.buildAssetsWithChain=o.buildAssetsWithChain;exports.ConstructUrl=t.ConstructUrl;exports.discriminateOrderResponse=t.discriminateOrderResponse;exports.getOrderResponseType=t.getOrderResponseType;exports.isBitcoinOrderResponse=t.isBitcoinOrderResponse;exports.isEvmOrderResponse=t.isEvmOrderResponse;exports.isOrder=t.isOrder;exports.isSolanaOrderResponse=t.isSolanaOrderResponse;exports.isStarknetOrderResponse=t.isStarknetOrderResponse;exports.isSuiOrderResponse=t.isSuiOrderResponse;exports.ChainAsset=c.ChainAsset;exports.OrderAction=i.OrderAction;exports.ParseOrderStatus=i.ParseOrderStatus;exports.isCompleted=i.isCompleted;exports.isDeadlinePassed=i.isDeadlinePassed;exports.parseAction=i.parseAction;exports.AssetManager=l.AssetManager;exports.RouteValidator=r.RouteValidator;exports.buildRouteMatrix=r.buildRouteMatrix;
|
package/dist/index.js
CHANGED
|
@@ -1,55 +1,60 @@
|
|
|
1
|
-
import { Orderbook as
|
|
1
|
+
import { Orderbook as r } from "./index2.js";
|
|
2
2
|
import { BlockchainType as o } from "./index3.js";
|
|
3
|
-
import { Assets as n, Chains as a, Config as
|
|
4
|
-
import { ArbitrumLocalnet as E, ETHStarknetLocalnetAsset as
|
|
5
|
-
import { buildAssetsWithChain as
|
|
3
|
+
import { Assets as n, Chains as a, Config as p, NATIVE_TOKENS as c, OrderLifecycle as l, OrderStatus as d, getBlockchainType as m, is as S, isBitcoin as A, isEVM as O, isEvmNativeToken as u, isMainnet as T, isNativeToken as f, isSolana as k, isSolanaNativeToken as x, isStarknet as R, isSui as L, isSuiNativeToken as h } from "./index4.js";
|
|
4
|
+
import { ArbitrumLocalnet as E, ETHStarknetLocalnetAsset as b, EthereumLocalnet as v, SOLSolanaLocalnetAsset as B, STRKStarknetLocalnetAsset as N, StarknetLocalnet as g, WBTCArbitrumLocalnetAsset as y, WBTCEthereumLocalnetAsset as M, bitcoinRegtestAsset as V } from "./index5.js";
|
|
5
|
+
import { buildAssetsWithChain as K } from "./index6.js";
|
|
6
6
|
import { ConstructUrl as D, discriminateOrderResponse as H, getOrderResponseType as I, isBitcoinOrderResponse as U, isEvmOrderResponse as _, isOrder as j, isSolanaOrderResponse as q, isStarknetOrderResponse as w, isSuiOrderResponse as z } from "./index7.js";
|
|
7
7
|
import { ChainAsset as G } from "./index8.js";
|
|
8
8
|
import { OrderAction as Q, ParseOrderStatus as X, isCompleted as Y, isDeadlinePassed as Z, parseAction as $ } from "./index9.js";
|
|
9
|
+
import { AssetManager as te } from "./index10.js";
|
|
10
|
+
import { RouteValidator as se, buildRouteMatrix as oe } from "./index11.js";
|
|
9
11
|
export {
|
|
10
12
|
E as ArbitrumLocalnet,
|
|
13
|
+
te as AssetManager,
|
|
11
14
|
n as Assets,
|
|
12
15
|
o as BlockchainType,
|
|
13
16
|
G as ChainAsset,
|
|
14
17
|
a as Chains,
|
|
15
|
-
|
|
18
|
+
p as Config,
|
|
16
19
|
D as ConstructUrl,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
b as ETHStarknetLocalnetAsset,
|
|
21
|
+
v as EthereumLocalnet,
|
|
22
|
+
c as NATIVE_TOKENS,
|
|
20
23
|
Q as OrderAction,
|
|
21
24
|
l as OrderLifecycle,
|
|
22
25
|
d as OrderStatus,
|
|
23
|
-
|
|
26
|
+
r as Orderbook,
|
|
24
27
|
X as ParseOrderStatus,
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
se as RouteValidator,
|
|
29
|
+
B as SOLSolanaLocalnetAsset,
|
|
30
|
+
N as STRKStarknetLocalnetAsset,
|
|
27
31
|
g as StarknetLocalnet,
|
|
28
32
|
y as WBTCArbitrumLocalnetAsset,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
M as WBTCEthereumLocalnetAsset,
|
|
34
|
+
V as bitcoinRegtestAsset,
|
|
35
|
+
K as buildAssetsWithChain,
|
|
36
|
+
oe as buildRouteMatrix,
|
|
32
37
|
H as discriminateOrderResponse,
|
|
33
|
-
|
|
38
|
+
m as getBlockchainType,
|
|
34
39
|
I as getOrderResponseType,
|
|
35
|
-
|
|
36
|
-
|
|
40
|
+
S as is,
|
|
41
|
+
A as isBitcoin,
|
|
37
42
|
U as isBitcoinOrderResponse,
|
|
38
43
|
Y as isCompleted,
|
|
39
44
|
Z as isDeadlinePassed,
|
|
40
|
-
|
|
41
|
-
|
|
45
|
+
O as isEVM,
|
|
46
|
+
u as isEvmNativeToken,
|
|
42
47
|
_ as isEvmOrderResponse,
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
T as isMainnet,
|
|
49
|
+
f as isNativeToken,
|
|
45
50
|
j as isOrder,
|
|
46
|
-
|
|
47
|
-
|
|
51
|
+
k as isSolana,
|
|
52
|
+
x as isSolanaNativeToken,
|
|
48
53
|
q as isSolanaOrderResponse,
|
|
49
54
|
R as isStarknet,
|
|
50
55
|
w as isStarknetOrderResponse,
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
L as isSui,
|
|
57
|
+
h as isSuiNativeToken,
|
|
53
58
|
z as isSuiOrderResponse,
|
|
54
59
|
$ as parseAction
|
|
55
60
|
};
|
package/dist/index10.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("@gardenfi/utils"),p=require("./index11.cjs"),w=require("./index4.cjs"),n=require("./index8.cjs"),y=Object.keys(w.Config);class b{constructor(s,t){this._allChains=null,this._allAssets=null,this._assets=null,this._chains=null,this._routeValidator=null,this._routeMatrix=null,this._isLoading=!1,this._error=null,this.url=new C.Url(s),this.apiKey=t}get allChains(){return this._allChains}get allAssets(){return this._allAssets}get assets(){return this._assets}get chains(){return this._chains}get routeValidator(){return this._routeValidator}get routeMatrix(){return this._routeMatrix}get isLoading(){return this._isLoading}get error(){return this._error}async initialize(){await Promise.all([this.fetchAndSetAssetsAndChains()])}async fetchAndSetAssetsAndChains(){try{this._isLoading=!0,this._error=null,await this.initializeRouteValidator();const s=this.url.endpoint("/v2/assets"),t=await C.Fetcher.get(s);if(t.error)throw new Error(t.error);if(!t.result)throw new Error("Failed to fetch chains data");const{allChains:e,allAssets:a,assets:o,chains:h}=this.processApiData(t.result);this._allChains=e,this._allAssets=a,this._assets=o,this._chains=h,this.buildRouteMatrix(),console.info("AssetManager initialized successfully ✅")}catch(s){throw console.error("Failed to fetch assets data ❌",s),this._error="Failed to fetch assets data",s}finally{this._isLoading=!1}}isRouteValid(s,t){if(!this._routeValidator||!s||!t||!s.id||!t.id)return console.warn("Missing routeValidator, from, or to. Returning true."),!0;try{const e=n.ChainAsset.from(s.id),a=n.ChainAsset.from(t.id);return this._routeValidator.isValidRoute(e,a)}catch(e){return console.error("Error in isRouteValid:",e),!0}}getValidDestinations(s){if(!this._routeMatrix||!this._assets||!s.id)return Object.values(this._assets||{});try{const t=this._routeMatrix[s.id.toString()];return t?t.map(e=>{const a=e.toString();return Object.values(this._assets).find(o=>n.ChainAsset.from(o).toString()===a)}).filter(Boolean):Object.values(this._assets)}catch(t){return console.error("Error in getValidDestinations:",t),Object.values(this._assets||{})}}getAsset(s){if(!this._assets)return;const t=n.ChainAsset.from(s).toString();return this._assets[t]}getAssetsByChain(s){return this._assets?Object.values(this._assets).filter(t=>t.chain===s):[]}searchAssets(s){if(!this._assets)return[];const t=s.toLowerCase();return Object.values(this._assets).filter(e=>e.symbol.toLowerCase().includes(t)||e.name.toLowerCase().includes(t))}getChain(s){if(this._chains)return this._chains[s]}async initializeRouteValidator(){this._routeValidator=new p.RouteValidator(this.url.toString(),this.apiKey),await this._routeValidator.loadPolicy()}buildRouteMatrix(){if(!this._allAssets||!this._routeValidator)return;const s=Object.values(this._allAssets).map(t=>{if(!t.id)return null;try{return n.ChainAsset.from(t.id)}catch{return null}}).filter(t=>t!==null);this._routeMatrix=p.buildRouteMatrix(s,this._routeValidator)}processApiData(s){var h,u,c,d;const t={},e={},a={},o={};for(const r of s){const l=this.parseChainIdentifier(r.chain);if(!l||!y.includes(l))continue;const _={name:this.formatChainName(r.chain),chain:l,id:r.id,explorer_url:r.explorer_url,icon:r.icon,confirmation_target:r.confirmation_target,source_timelock:r.source_timelock,destination_timelock:r.destination_timelock,supported_htlc_schemas:r.supported_htlc_schemas,supported_token_schemas:r.supported_token_schemas};t[l]=_;let f=0;for(const i of r.assets){const m=((h=i.htlc)==null?void 0:h.address)||"",V=((u=i.token)==null?void 0:u.address)||m,A=n.ChainAsset.from(i.id).toString(),g={id:n.ChainAsset.from(i.id),chain:l,htlc:{address:m,schema:((c=i.htlc)==null?void 0:c.schema)||null},token:{address:V,schema:((d=i.token)==null?void 0:d.schema)||null},decimals:i.decimals,name:i.name,symbol:n.ChainAsset.from(i.id).symbol.toUpperCase(),icon:i.icon,price:i.price,min_amount:i.min_amount,max_amount:i.max_amount};e[A]=g,a[A]=g,f++}f>0&&(o[l]=_)}return{allChains:t,allAssets:e,assets:a,chains:o}}parseChainIdentifier(s){return y.includes(s)?s:null}formatChainName(s){return s.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}async refresh(){await this.initialize()}clear(){this._allChains=null,this._allAssets=null,this._assets=null,this._chains=null,this._routeValidator=null,this._routeMatrix=null,this._error=null}}exports.AssetManager=b;
|
package/dist/index10.js
ADDED
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import { Url as y, Fetcher as V } from "@gardenfi/utils";
|
|
2
|
+
import { RouteValidator as w, buildRouteMatrix as x } from "./index11.js";
|
|
3
|
+
import { Config as b } from "./index4.js";
|
|
4
|
+
import { ChainAsset as n } from "./index8.js";
|
|
5
|
+
const g = Object.keys(b);
|
|
6
|
+
class j {
|
|
7
|
+
constructor(s, t) {
|
|
8
|
+
this._allChains = null, this._allAssets = null, this._assets = null, this._chains = null, this._routeValidator = null, this._routeMatrix = null, this._isLoading = !1, this._error = null, this.url = new y(s), this.apiKey = t;
|
|
9
|
+
}
|
|
10
|
+
// ============================================
|
|
11
|
+
// Getters
|
|
12
|
+
// ============================================
|
|
13
|
+
get allChains() {
|
|
14
|
+
return this._allChains;
|
|
15
|
+
}
|
|
16
|
+
get allAssets() {
|
|
17
|
+
return this._allAssets;
|
|
18
|
+
}
|
|
19
|
+
get assets() {
|
|
20
|
+
return this._assets;
|
|
21
|
+
}
|
|
22
|
+
get chains() {
|
|
23
|
+
return this._chains;
|
|
24
|
+
}
|
|
25
|
+
get routeValidator() {
|
|
26
|
+
return this._routeValidator;
|
|
27
|
+
}
|
|
28
|
+
get routeMatrix() {
|
|
29
|
+
return this._routeMatrix;
|
|
30
|
+
}
|
|
31
|
+
get isLoading() {
|
|
32
|
+
return this._isLoading;
|
|
33
|
+
}
|
|
34
|
+
get error() {
|
|
35
|
+
return this._error;
|
|
36
|
+
}
|
|
37
|
+
// ============================================
|
|
38
|
+
// Initialization Methods
|
|
39
|
+
// ============================================
|
|
40
|
+
/**
|
|
41
|
+
* Initialize the AssetManager by fetching all required data
|
|
42
|
+
*/
|
|
43
|
+
async initialize() {
|
|
44
|
+
await Promise.all([this.fetchAndSetAssetsAndChains()]);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Fetch and cache asset and chain data from API
|
|
48
|
+
*/
|
|
49
|
+
async fetchAndSetAssetsAndChains() {
|
|
50
|
+
try {
|
|
51
|
+
this._isLoading = !0, this._error = null, await this.initializeRouteValidator();
|
|
52
|
+
const s = this.url.endpoint("/v2/assets"), t = await V.get(s);
|
|
53
|
+
if (t.error)
|
|
54
|
+
throw new Error(t.error);
|
|
55
|
+
if (!t.result)
|
|
56
|
+
throw new Error("Failed to fetch chains data");
|
|
57
|
+
const { allChains: e, allAssets: a, assets: o, chains: h } = this.processApiData(
|
|
58
|
+
t.result
|
|
59
|
+
);
|
|
60
|
+
this._allChains = e, this._allAssets = a, this._assets = o, this._chains = h, this.buildRouteMatrix(), console.info("AssetManager initialized successfully ✅");
|
|
61
|
+
} catch (s) {
|
|
62
|
+
throw console.error("Failed to fetch assets data ❌", s), this._error = "Failed to fetch assets data", s;
|
|
63
|
+
} finally {
|
|
64
|
+
this._isLoading = !1;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// ============================================
|
|
68
|
+
// Route Validation Methods
|
|
69
|
+
// ============================================
|
|
70
|
+
/**
|
|
71
|
+
* Check if a swap route from one asset to another is valid
|
|
72
|
+
*/
|
|
73
|
+
isRouteValid(s, t) {
|
|
74
|
+
if (!this._routeValidator || !s || !t || !s.id || !t.id)
|
|
75
|
+
return console.warn("Missing routeValidator, from, or to. Returning true."), !0;
|
|
76
|
+
try {
|
|
77
|
+
const e = n.from(s.id), a = n.from(t.id);
|
|
78
|
+
return this._routeValidator.isValidRoute(e, a);
|
|
79
|
+
} catch (e) {
|
|
80
|
+
return console.error("Error in isRouteValid:", e), !0;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get all valid destination assets for a given source asset
|
|
85
|
+
*/
|
|
86
|
+
getValidDestinations(s) {
|
|
87
|
+
if (!this._routeMatrix || !this._assets || !s.id)
|
|
88
|
+
return Object.values(this._assets || {});
|
|
89
|
+
try {
|
|
90
|
+
const t = this._routeMatrix[s.id.toString()];
|
|
91
|
+
return t ? t.map((e) => {
|
|
92
|
+
const a = e.toString();
|
|
93
|
+
return Object.values(this._assets).find((o) => n.from(o).toString() === a);
|
|
94
|
+
}).filter(Boolean) : Object.values(this._assets);
|
|
95
|
+
} catch (t) {
|
|
96
|
+
return console.error("Error in getValidDestinations:", t), Object.values(this._assets || {});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// ============================================
|
|
100
|
+
// Asset Query Methods
|
|
101
|
+
// ============================================
|
|
102
|
+
/**
|
|
103
|
+
* Get asset by chain and token address
|
|
104
|
+
*/
|
|
105
|
+
getAsset(s) {
|
|
106
|
+
if (!this._assets) return;
|
|
107
|
+
const t = n.from(s).toString();
|
|
108
|
+
return this._assets[t];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Get all assets for a specific chain
|
|
112
|
+
*/
|
|
113
|
+
getAssetsByChain(s) {
|
|
114
|
+
return this._assets ? Object.values(this._assets).filter((t) => t.chain === s) : [];
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Search assets by symbol or name
|
|
118
|
+
*/
|
|
119
|
+
searchAssets(s) {
|
|
120
|
+
if (!this._assets) return [];
|
|
121
|
+
const t = s.toLowerCase();
|
|
122
|
+
return Object.values(this._assets).filter(
|
|
123
|
+
(e) => e.symbol.toLowerCase().includes(t) || e.name.toLowerCase().includes(t)
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Get chain data by chain identifier
|
|
128
|
+
*/
|
|
129
|
+
getChain(s) {
|
|
130
|
+
if (this._chains)
|
|
131
|
+
return this._chains[s];
|
|
132
|
+
}
|
|
133
|
+
// ============================================
|
|
134
|
+
// Private Helper Methods
|
|
135
|
+
// ============================================
|
|
136
|
+
/**
|
|
137
|
+
* Initialize the route validator
|
|
138
|
+
*/
|
|
139
|
+
async initializeRouteValidator() {
|
|
140
|
+
this._routeValidator = new w(this.url.toString(), this.apiKey), await this._routeValidator.loadPolicy();
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Build route matrix for fast O(1) route lookups
|
|
144
|
+
*/
|
|
145
|
+
buildRouteMatrix() {
|
|
146
|
+
if (!this._allAssets || !this._routeValidator)
|
|
147
|
+
return;
|
|
148
|
+
const s = Object.values(this._allAssets).map((t) => {
|
|
149
|
+
if (!t.id) return null;
|
|
150
|
+
try {
|
|
151
|
+
return n.from(t.id);
|
|
152
|
+
} catch {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
}).filter((t) => t !== null);
|
|
156
|
+
this._routeMatrix = x(s, this._routeValidator);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Process raw API data into structured format
|
|
160
|
+
*/
|
|
161
|
+
processApiData(s) {
|
|
162
|
+
var h, u, c, d;
|
|
163
|
+
const t = {}, e = {}, a = {}, o = {};
|
|
164
|
+
for (const r of s) {
|
|
165
|
+
const l = this.parseChainIdentifier(r.chain);
|
|
166
|
+
if (!l || !g.includes(l))
|
|
167
|
+
continue;
|
|
168
|
+
const _ = {
|
|
169
|
+
name: this.formatChainName(r.chain),
|
|
170
|
+
chain: l,
|
|
171
|
+
id: r.id,
|
|
172
|
+
explorer_url: r.explorer_url,
|
|
173
|
+
icon: r.icon,
|
|
174
|
+
confirmation_target: r.confirmation_target,
|
|
175
|
+
source_timelock: r.source_timelock,
|
|
176
|
+
destination_timelock: r.destination_timelock,
|
|
177
|
+
supported_htlc_schemas: r.supported_htlc_schemas,
|
|
178
|
+
supported_token_schemas: r.supported_token_schemas
|
|
179
|
+
};
|
|
180
|
+
t[l] = _;
|
|
181
|
+
let m = 0;
|
|
182
|
+
for (const i of r.assets) {
|
|
183
|
+
const f = ((h = i.htlc) == null ? void 0 : h.address) || "", C = ((u = i.token) == null ? void 0 : u.address) || f, p = n.from(i.id).toString(), A = {
|
|
184
|
+
id: n.from(i.id),
|
|
185
|
+
chain: l,
|
|
186
|
+
htlc: {
|
|
187
|
+
address: f,
|
|
188
|
+
schema: ((c = i.htlc) == null ? void 0 : c.schema) || null
|
|
189
|
+
},
|
|
190
|
+
token: {
|
|
191
|
+
address: C,
|
|
192
|
+
schema: ((d = i.token) == null ? void 0 : d.schema) || null
|
|
193
|
+
},
|
|
194
|
+
decimals: i.decimals,
|
|
195
|
+
name: i.name,
|
|
196
|
+
symbol: n.from(i.id).symbol.toUpperCase(),
|
|
197
|
+
icon: i.icon,
|
|
198
|
+
price: i.price,
|
|
199
|
+
min_amount: i.min_amount,
|
|
200
|
+
max_amount: i.max_amount
|
|
201
|
+
};
|
|
202
|
+
e[p] = A, a[p] = A, m++;
|
|
203
|
+
}
|
|
204
|
+
m > 0 && (o[l] = _);
|
|
205
|
+
}
|
|
206
|
+
return { allChains: t, allAssets: e, assets: a, chains: o };
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Parse chain identifier from string
|
|
210
|
+
*/
|
|
211
|
+
parseChainIdentifier(s) {
|
|
212
|
+
return g.includes(s) ? s : null;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Format chain name for display
|
|
216
|
+
*/
|
|
217
|
+
formatChainName(s) {
|
|
218
|
+
return s.split("_").map((t) => t.charAt(0).toUpperCase() + t.slice(1)).join(" ");
|
|
219
|
+
}
|
|
220
|
+
// ============================================
|
|
221
|
+
// Data Refresh Methods
|
|
222
|
+
// ============================================
|
|
223
|
+
/**
|
|
224
|
+
* Refresh all data
|
|
225
|
+
*/
|
|
226
|
+
async refresh() {
|
|
227
|
+
await this.initialize();
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Clear all cached data
|
|
231
|
+
*/
|
|
232
|
+
clear() {
|
|
233
|
+
this._allChains = null, this._allAssets = null, this._assets = null, this._chains = null, this._routeValidator = null, this._routeMatrix = null, this._error = null;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
export {
|
|
237
|
+
j as AssetManager
|
|
238
|
+
};
|
package/dist/index11.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class u{constructor(t,r){this.apiBaseUrl=t,this.apiKey=r,this.policy=null}async loadPolicy(){try{const r=await(await fetch(`${this.apiBaseUrl}/v2/policy`,{headers:{"garden-app-id":this.apiKey,accept:"application/json"}})).json();if(r.status!=="Ok")throw new Error(`API Error: ${r.error}`);this.policy=r.result}catch(t){throw new Error(`Failed to load policy: ${t}`)}}isValidRoute(t,r){const e=this.ensurePolicyLoaded();if(t===r)return!1;const i=this.findIsolationGroup(t),o=this.findIsolationGroup(r);return i!==null||o!==null?i===o:this.matchesPatternList(t,r,e.whitelist_overrides)?!0:this.matchesPatternList(t,r,e.blacklist_pairs)?!1:e.default==="open"}isAssetInIsolationGroup(t){return this.ensurePolicyLoaded(),this.findIsolationGroup(t)!==null}getValidDestinations(t,r){this.ensurePolicyLoaded();const e=this.findIsolationGroup(t);return e!==null?r.filter(i=>i!==t&&this.findIsolationGroup(i)===e):r.filter(i=>t===i||this.findIsolationGroup(i)!==null?!1:this.isValidRoute(t,i))}getAllValidRoutes(t){return t.flatMap(r=>t.filter(e=>this.isValidRoute(r,e)).map(e=>({from:r,to:e})))}ensurePolicyLoaded(){if(!this.policy)throw new Error("Policy not loaded. Call loadPolicy() first.");return this.policy}findIsolationGroup(t){if(!this.policy)return null;for(let r=0;r<this.policy.isolation_groups.length;r++)if(this.matchesIsolationGroup(t,this.policy.isolation_groups[r]))return r;return null}matchesIsolationGroup(t,r){return this.parsePattern(r).some(i=>this.matchesAssetPattern(t,i))}matchesPatternList(t,r,e){return e.some(i=>this.matchesRoutePattern(t,r,i))}matchesRoutePattern(t,r,e){const i=e.includes("<->")?"<->":"->",[o,a]=e.split(i).map(s=>s.trim()),l=this.matchesAssetPattern(t,o)&&this.matchesAssetPattern(r,a);if(i==="<->"){const s=this.matchesAssetPattern(t,a)&&this.matchesAssetPattern(r,o);return l||s}return l}parsePattern(t){const r=t.includes("<->")?"<->":"->";return t.split(r).map(e=>e.trim())}matchesAssetPattern(t,r){const e=t.toString().toLowerCase(),i=r.toLowerCase();return i==="*"?!0:i.endsWith(":*")?e.startsWith(i.slice(0,-2)+":"):i.startsWith("*:")?e.endsWith(":"+i.slice(2)):e===i}}function c(n,t){return Object.fromEntries(n.map(r=>[r.toString(),t.getValidDestinations(r,n)]))}exports.RouteValidator=u;exports.buildRouteMatrix=c;
|
package/dist/index11.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
class u {
|
|
2
|
+
constructor(t, r) {
|
|
3
|
+
this.apiBaseUrl = t, this.apiKey = r, this.policy = null;
|
|
4
|
+
}
|
|
5
|
+
// Fetch policy from the API
|
|
6
|
+
async loadPolicy() {
|
|
7
|
+
try {
|
|
8
|
+
const r = await (await fetch(`${this.apiBaseUrl}/v2/policy`, {
|
|
9
|
+
headers: {
|
|
10
|
+
"garden-app-id": this.apiKey,
|
|
11
|
+
accept: "application/json"
|
|
12
|
+
}
|
|
13
|
+
})).json();
|
|
14
|
+
if (r.status !== "Ok")
|
|
15
|
+
throw new Error(`API Error: ${r.error}`);
|
|
16
|
+
this.policy = r.result;
|
|
17
|
+
} catch (t) {
|
|
18
|
+
throw new Error(`Failed to load policy: ${t}`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
isValidRoute(t, r) {
|
|
22
|
+
const e = this.ensurePolicyLoaded();
|
|
23
|
+
if (t === r) return !1;
|
|
24
|
+
const i = this.findIsolationGroup(t), o = this.findIsolationGroup(r);
|
|
25
|
+
return i !== null || o !== null ? i === o : this.matchesPatternList(t, r, e.whitelist_overrides) ? !0 : this.matchesPatternList(t, r, e.blacklist_pairs) ? !1 : e.default === "open";
|
|
26
|
+
}
|
|
27
|
+
isAssetInIsolationGroup(t) {
|
|
28
|
+
return this.ensurePolicyLoaded(), this.findIsolationGroup(t) !== null;
|
|
29
|
+
}
|
|
30
|
+
getValidDestinations(t, r) {
|
|
31
|
+
this.ensurePolicyLoaded();
|
|
32
|
+
const e = this.findIsolationGroup(t);
|
|
33
|
+
return e !== null ? r.filter(
|
|
34
|
+
(i) => i !== t && this.findIsolationGroup(i) === e
|
|
35
|
+
) : r.filter((i) => t === i || this.findIsolationGroup(i) !== null ? !1 : this.isValidRoute(t, i));
|
|
36
|
+
}
|
|
37
|
+
getAllValidRoutes(t) {
|
|
38
|
+
return t.flatMap(
|
|
39
|
+
(r) => t.filter((e) => this.isValidRoute(r, e)).map((e) => ({ from: r, to: e }))
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
ensurePolicyLoaded() {
|
|
43
|
+
if (!this.policy)
|
|
44
|
+
throw new Error("Policy not loaded. Call loadPolicy() first.");
|
|
45
|
+
return this.policy;
|
|
46
|
+
}
|
|
47
|
+
findIsolationGroup(t) {
|
|
48
|
+
if (!this.policy) return null;
|
|
49
|
+
for (let r = 0; r < this.policy.isolation_groups.length; r++)
|
|
50
|
+
if (this.matchesIsolationGroup(t, this.policy.isolation_groups[r]))
|
|
51
|
+
return r;
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
matchesIsolationGroup(t, r) {
|
|
55
|
+
return this.parsePattern(r).some((i) => this.matchesAssetPattern(t, i));
|
|
56
|
+
}
|
|
57
|
+
matchesPatternList(t, r, e) {
|
|
58
|
+
return e.some(
|
|
59
|
+
(i) => this.matchesRoutePattern(t, r, i)
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
matchesRoutePattern(t, r, e) {
|
|
63
|
+
const i = e.includes("<->") ? "<->" : "->", [o, a] = e.split(i).map((s) => s.trim()), l = this.matchesAssetPattern(t, o) && this.matchesAssetPattern(r, a);
|
|
64
|
+
if (i === "<->") {
|
|
65
|
+
const s = this.matchesAssetPattern(t, a) && this.matchesAssetPattern(r, o);
|
|
66
|
+
return l || s;
|
|
67
|
+
}
|
|
68
|
+
return l;
|
|
69
|
+
}
|
|
70
|
+
parsePattern(t) {
|
|
71
|
+
const r = t.includes("<->") ? "<->" : "->";
|
|
72
|
+
return t.split(r).map((e) => e.trim());
|
|
73
|
+
}
|
|
74
|
+
matchesAssetPattern(t, r) {
|
|
75
|
+
const e = t.toString().toLowerCase(), i = r.toLowerCase();
|
|
76
|
+
return i === "*" ? !0 : i.endsWith(":*") ? e.startsWith(i.slice(0, -2) + ":") : i.startsWith("*:") ? e.endsWith(":" + i.slice(2)) : e === i;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function c(n, t) {
|
|
80
|
+
return Object.fromEntries(
|
|
81
|
+
n.map((r) => [
|
|
82
|
+
r.toString(),
|
|
83
|
+
t.getValidDestinations(r, n)
|
|
84
|
+
])
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
export {
|
|
88
|
+
u as RouteValidator,
|
|
89
|
+
c as buildRouteMatrix
|
|
90
|
+
};
|
package/dist/index4.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@gardenfi/utils"),e=require("./index3.cjs"),o=require("./index5.cjs"),T=require("./index6.cjs");var m=(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))(m||{}),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 d={solana_localnet:{type:e.BlockchainType.solana,SOL:o.SOLSolanaLocalnetAsset,network:t.Network.LOCALNET},arbitrum_localnet:{type:e.BlockchainType.evm,WBTC:o.WBTCArbitrumLocalnetAsset,network:t.Network.LOCALNET},ethereum_localnet:{type:e.BlockchainType.evm,WBTC:o.WBTCEthereumLocalnetAsset,network:t.Network.LOCALNET},bitcoin_regtest:{type:e.BlockchainType.bitcoin,BTC:o.bitcoinRegtestAsset,network:t.Network.LOCALNET},starknet_devnet:{type:e.BlockchainType.starknet,STRK:o.STRKStarknetLocalnetAsset,ETH:o.ETHStarknetLocalnetAsset,network:t.Network.LOCALNET},solana_testnet:{type:e.BlockchainType.solana,network:t.Network.TESTNET,SOL:{name:"Solana",decimals:9,symbol:"SOL",logo:"https://garden-finance.imgix.net/chain_images/solana.png",tokenAddress:"primary",atomicSwapAddress:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF_primary"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",logo:"https://garden.imgix.net/token-images/usdc.svg",tokenAddress:"5JbWjyLdYKTuykpq2itWbdRcZkhK3hs6fiH62pkmLYZi",atomicSwapAddress:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU_5JbWjyLdYKTuykpq2itWbdRcZkhK3hs6fiH62pkmLYZi"},cbBTC:{name:"Coinbase Wrapped Bitcoin",decimals:8,symbol:"cbBTC",logo:"https://garden.imgix.net/token-images/cbBTC.svg",tokenAddress:"CL8C4gsaEQyWPxL4Zn7dcnZ8LKvPYqHmv4ipMax4cDUL",atomicSwapAddress:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU_CL8C4gsaEQyWPxL4Zn7dcnZ8LKvPYqHmv4ipMax4cDUL"}},bitcoin_testnet:{type:e.BlockchainType.bitcoin,network:t.Network.TESTNET,BTC:{name:"Bitcoin",decimals:8,symbol:"BTC",logo:"https://garden.imgix.net/token-images/bitcoin.svg",tokenAddress:"primary",atomicSwapAddress:"primary"}},ethereum_sepolia:{type:e.BlockchainType.evm,network:t.Network.TESTNET,WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",logo:"https://garden.imgix.net/token-images/wbtc.svg",tokenAddress:"0xE918A5a47b8e0AFAC2382bC5D1e981613e63fB07",atomicSwapAddress:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",logo:"https://garden.imgix.net/token-images/usdc.svg",tokenAddress:"0xadDD620EA6D20f4f9c24fff3BC039E497ceBEDc2",atomicSwapAddress:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493"}},arbitrum_sepolia:{type:e.BlockchainType.evm,network:t.Network.TESTNET,iBTC:{name:"iBTC",decimals:8,symbol:"iBTC",logo:"https://garden.imgix.net/token-images/dlcBTCIcon.svg",atomicSwapAddress:"0x7e8c18fa79bd4014cfCf49294Bf315139eD39f45",tokenAddress:"0x685437f025c5f33A94818408C286bc1F023201Fc"},WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xb5AE9785349186069C48794a763DB39EC756B1cF",tokenAddress:"0x1c287717c886794ac9f5DF3987195431Ceb3456E"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x8E12d730756457B99ce6E6AbFd60eBe751dA169B",tokenAddress:"0xC90Ad72eCc10a52a681ceDAE6EbBD3470A0c829"},SEED:{name:"Seed",decimals:18,symbol:"SEED",logo:"https://garden.imgix.net/token-images/seed.svg",atomicSwapAddress:"0xFBD30cB9313fe580031A7E0258693E1cec002803",tokenAddress:"0x432B43764548c3E47eA65aAdeB91D75C84DBcC2c"}},base_sepolia:{type:e.BlockchainType.evm,network:t.Network.TESTNET,iBTC:{name:"iBTC",decimals:8,symbol:"iBTC",logo:"https://garden.imgix.net/token-images/dlcBTCIcon.svg",atomicSwapAddress:"0x46F1Ba9C9d89C34F9dbC4085F6B1f9965c589ca1",tokenAddress:"0x0b0D554D9573bAe1a7556d220847f45182918B28"},WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",tokenAddress:"0xD8a6E3FCA403d79b6AD6216b60527F51cc967D39"},USDT:{name:"Tether USD",decimals:6,symbol:"USDT",logo:"https://garden.imgix.net/token-images/usdt.svg",atomicSwapAddress:"0x917cfef972d667dC0FeC76806cB5623585B81493",tokenAddress:"0xeaE7721d779276eb0f5837e2fE260118724a2Ba4"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",tokenAddress:"0x1ac7A0ebf13a996D5915e212900bE2d074f94988"}},bera_testnet:{type:e.BlockchainType.evm,network:t.Network.TESTNET},citrea_testnet:{type:e.BlockchainType.evm,network:t.Network.TESTNET,WCBTC:{name:"Wrapped Citrea Bitcoin",decimals:18,symbol:"WCBTC",logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xD8e99df8cf77E7383c2f2a84bC6384b2DF88CAd3",tokenAddress:"0x8d0c9d1c17aE5e40ffF9bE350f57840E9E66Cd93"},WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",tokenAddress:"0x3edA22460259b29433704dda71cc921F528165Ea"},CBTC:{name:"Citrea Bitcoin",decimals:18,symbol:"CBTC",logo:"https://garden.imgix.net/token-images/bitcoin.svg",atomicSwapAddress:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",tokenAddress:"primary"},CBBTC:{name:"Citrea Bridged Bitcoin",decimals:8,symbol:"CBBTC",logo:"https://garden.imgix.net/token-images/bitcoin.svg",atomicSwapAddress:"0x8656d38352CD90ca55881eBd0AF6822839b435A8",tokenAddress:"0xeAa998aF280a62Ae08BaE4f9fa59C9b30e6BD306"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",tokenAddress:"0xCdA8661fDA031deFCc9BdD88C0e12669Cac47Fb0"},USDT:{name:"Tether USD",decimals:6,symbol:"USDT",logo:"https://garden.imgix.net/token-images/usdt.svg",atomicSwapAddress:"0x917cfef972d667dC0FeC76806cB5623585B81493",tokenAddress:"0xF5cFE09b852Ddb164cF6Db419B9c11aAb5F30cb6"}},monad_testnet:{type:e.BlockchainType.evm,network:t.Network.TESTNET,cbBTC:{name:"Coinbase Wrapped Bitcoin",decimals:8,symbol:"cbBTC",logo:"https://garden.imgix.net/token-images/cbBTC.svg",atomicSwapAddress:"0x8656d38352CD90ca55881eBd0AF6822839b435A8",tokenAddress:"0x6b6303fAb8eC7232b4f2a7b9fa58E5216F608fcb"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",tokenAddress:"0xf817257fed379853cde0fa4f97ab987181b1e5ea"}},starknet_sepolia:{type:e.BlockchainType.starknet,network:t.Network.TESTNET,WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0x06579d255314109429a4477d89629bc2b94f529ae01979c2f8014f9246482603",tokenAddress:"0x496bef3ed20371382fbe0ca6a5a64252c5c848f9f1f0cccf8110fc4def912d5"}},sui_testnet:{type:e.BlockchainType.sui,network:t.Network.TESTNET,SUI:{name:"SUI",decimals:9,symbol:"SUI",logo:"https://garden-finance.imgix.net/chain_images/sui.svg",tokenAddress:"0x2::sui::SUI",atomicSwapAddress:"0x5c438715b7dcc02d12ab92449153a1e5ade2301620d5bf60aa748f006726d369"}},hyperliquid_testnet:{type:e.BlockchainType.evm,network:t.Network.TESTNET},bnbchain_testnet:{type:e.BlockchainType.evm,network:t.Network.TESTNET,WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",tokenAddress:"0x39f3294352208905fc6ebf033954E6c6455CdB4C"}},bitcoin:{type:e.BlockchainType.bitcoin,network:t.Network.MAINNET,BTC:{name:"Bitcoin",decimals:8,symbol:"BTC",logo:"https://garden.imgix.net/token-images/bitcoin.svg",atomicSwapAddress:"primary",tokenAddress:"primary"}},base:{type:e.BlockchainType.evm,network:t.Network.MAINNET,USDC:{name:"USD Coin",decimals:6,symbol:"USDC",logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",tokenAddress:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},cBBTC:{name:"Coinbase Wrapped BTC",decimals:8,symbol:"cBBTC",logo:"https://coin-images.coingecko.com/coins/images/51336/large/cbbtc.png?1730814747",atomicSwapAddress:"0xe35d025d0f0d9492db4700FE8646f7F89150eC04",tokenAddress:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf"}},arbitrum:{type:e.BlockchainType.evm,network:t.Network.MAINNET,WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xb5AE9785349186069C48794a763DB39EC756B1cF",tokenAddress:"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x8E12d730756457B99ce6E6AbFd60eBe751dA169B",tokenAddress:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"},iBTC:{name:"iBTC",decimals:8,symbol:"iBTC",logo:"https://garden.imgix.net/token-images/iBTC.png",atomicSwapAddress:"0x7e8c18fa79bd4014cfCf49294Bf315139eD39f45",tokenAddress:"0x050C24dBf1eEc17babE5fc585F06116A259CC77A"},SEED:{name:"Seed Token",decimals:18,symbol:"SEED",logo:"https://garden.imgix.net/token-images/seed.svg",atomicSwapAddress:"0xFBD30cB9313fe580031A7E0258693E1cec002803",tokenAddress:"0x86f65121804D2Cdbef79F9f072D4e0c2eEbABC08"}},ethereum:{type:e.BlockchainType.evm,network:t.Network.MAINNET,ETH:{name:"Ethereum",decimals:18,symbol:"ETH",logo:"https://garden.imgix.net/chain_images/ethereum.svg",atomicSwapAddress:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",tokenAddress:"primary"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",tokenAddress:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xD781a2abB3FCB9fC0D1Dd85697c237d06b75fe95",tokenAddress:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},cBBTC:{name:"Coinbase Wrapped BTC",decimals:8,symbol:"cBBTC",logo:"https://garden.imgix.net/token-images/cbBTC.svg",atomicSwapAddress:"0xe35d025d0f0d9492db4700FE8646f7F89150eC04",tokenAddress:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf"},iBTC:{name:"iBTC",decimals:8,symbol:"iBTC",logo:"https://garden.imgix.net/token-images/iBTC.png",atomicSwapAddress:"0x3aebBC6Dd1d024BE1C579E18e2EB92667B6f3579",tokenAddress:"0x20157DBAbb84e3BBFE68C349d0d44E48AE7B5AD2"},SEED:{name:"Seed Token",decimals:18,symbol:"SEED",logo:"https://garden.imgix.net/token-images/seed.svg",atomicSwapAddress:"0xCE511De667885f92B8c36fcfC79C3B5bEb875463",tokenAddress:"0x5eed99d066a8CaF10f3E4327c1b3D8b673485eED"}},solana:{type:e.BlockchainType.solana,network:t.Network.MAINNET,SOL:{name:"Solana",decimals:9,symbol:"SOL",logo:"https://garden-finance.imgix.net/chain_images/solana.png",atomicSwapAddress:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",tokenAddress:"primary"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU",tokenAddress:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"},cBBTC:{name:"Coinbase Wrapped BTC",decimals:8,symbol:"cBBTC",logo:"https://garden.imgix.net/token-images/cbBTC.svg",atomicSwapAddress:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU",tokenAddress:"cbbtcf3aa214zXHbiAZQwf4122FBYbraNdFqgw4iMij"}},bera:{type:e.BlockchainType.evm,network:t.Network.MAINNET,LBTC:{name:"Lombard BTC",decimals:8,symbol:"LBTC",logo:"https://garden.imgix.net/token-images/LBTC.svg",atomicSwapAddress:"0x84A396920d8B8CA2e69bD9503Bc1B2f73f1b8b33",tokenAddress:"0xecAc9C5F704e954931349Da37F60E39f515c11c1"}},starknet:{type:e.BlockchainType.starknet,network:t.Network.MAINNET,WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0x7defd8eb3b770005ab1ca5f89ad31f98fb5bc3c52deaeafd130be3b49f967b4",tokenAddress:"0x3fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac"}},sui:{type:e.BlockchainType.sui,network:t.Network.MAINNET,SUI:{name:"Sui",decimals:9,symbol:"SUI",logo:"https://garden-finance.imgix.net/chain_images/sui.svg",atomicSwapAddress:"0xa4f4e653547e98d4b541378e14db2393a09aff4b829f158b133d2eb3c3a942b5",tokenAddress:"0x2::sui::SUI"}},hyperliquid:{type:e.BlockchainType.evm,network:t.Network.MAINNET,uBTC:{name:"uBTC",decimals:8,symbol:"uBTC",logo:"https://garden.imgix.net/token-images/bitcoin.svg",atomicSwapAddress:"0xDC74a45e86DEdf1fF7c6dac77e0c2F082f9E4F72",tokenAddress:"0x9FDBdA0A5e284c32744D2f17Ee5c74B284993463"}},unichain:{type:e.BlockchainType.evm,network:t.Network.MAINNET,WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xD781a2abB3FCB9fC0D1Dd85697c237d06b75fe95",tokenAddress:"0x927B51f251480a681271180DA4de28D44EC4AfB8"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",tokenAddress:"0x078D782b760474a361dDA0AF3839290b0EF57AD6"}},corn:{type:e.BlockchainType.evm,network:t.Network.MAINNET,BTCN:{name:"Bitcorn",decimals:18,symbol:"BTCN",logo:"https://garden.imgix.net/token-images/bitcorn.svg",atomicSwapAddress:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",tokenAddress:"primary"}},botanix:{type:e.BlockchainType.evm,network:t.Network.MAINNET,BTC:{name:"Botanix Bitcoin",decimals:18,symbol:"BTC",logo:"https://garden.imgix.net/token-images/bitcoin.svg",atomicSwapAddress:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",tokenAddress:"primary"}},bnbchain:{type:e.BlockchainType.evm,network:t.Network.MAINNET,BTCB:{name:"BTCB",decimals:18,symbol:"BTCB",logo:"https://garden.imgix.net/token-images/bitcoin.svg",atomicSwapAddress:"0xe74784E5A45528fDEcB257477DD6bd31c8ef0761",tokenAddress:"0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c"},USDC:{name:"USD Coin",decimals:18,symbol:"USDC",logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",tokenAddress:"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d"}},core:{type:e.BlockchainType.evm,network:t.Network.MAINNET,WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xD781a2abB3FCB9fC0D1Dd85697c237d06b75fe95",tokenAddress:"0x5832f53d147b3d6Cd4578B9CBD62425C7ea9d0Bd"}}},f=Object.keys(d).reduce((a,s)=>(a[s]=s,a),{}),E=T.buildAssetsWithChain(d),D=a=>d[a].network===t.Network.MAINNET;function i(a){return s=>d[s].type===a}const g=i(e.BlockchainType.evm),B=i(e.BlockchainType.bitcoin),p=i(e.BlockchainType.solana),l=i(e.BlockchainType.starknet),b=i(e.BlockchainType.sui),S=a=>d[a].type,n={[e.BlockchainType.evm]:"eth",[e.BlockchainType.solana]:"sol",[e.BlockchainType.sui]:"sui"},C=(a,s)=>g(a)&&s.toLowerCase()===n[e.BlockchainType.evm],k=(a,s)=>p(a)&&s.toLowerCase()===n[e.BlockchainType.solana],A=(a,s)=>b(a)&&s.toLowerCase()===n[e.BlockchainType.sui],x=a=>{const s=a.chain,c=a.symbol;return C(s,c)||k(s,c)||B(s)||A(s,c)||!l(s)};exports.Assets=E;exports.Chains=f;exports.Config=d;exports.NATIVE_TOKENS=n;exports.OrderLifecycle=r;exports.OrderStatus=m;exports.getBlockchainType=S;exports.is=i;exports.isBitcoin=B;exports.isEVM=g;exports.isEvmNativeToken=C;exports.isMainnet=D;exports.isNativeToken=x;exports.isSolana=p;exports.isSolanaNativeToken=k;exports.isStarknet=l;exports.isSui=b;exports.isSuiNativeToken=A;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@gardenfi/utils"),e=require("./index3.cjs"),s=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:s.SOLSolanaLocalnetAsset,network:c.Network.LOCALNET},arbitrum_localnet:{type:e.BlockchainType.evm,WBTC:s.WBTCArbitrumLocalnetAsset,network:c.Network.LOCALNET},ethereum_localnet:{type:e.BlockchainType.evm,WBTC:s.WBTCEthereumLocalnetAsset,network:c.Network.LOCALNET},bitcoin_regtest:{type:e.BlockchainType.bitcoin,BTC:s.bitcoinRegtestAsset,network:c.Network.LOCALNET},starknet_devnet:{type:e.BlockchainType.starknet,STRK:s.STRKStarknetLocalnetAsset,ETH:s.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"}}},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"}}},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"}}}},T=Object.keys(n).reduce((a,t)=>(a[t]=t,a),{}),f=v.buildAssetsWithChain(n),E=a=>n[a].network===c.Network.MAINNET;function i(a){return t=>n[t].type===a}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=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],C=(a,t)=>b(a)&&t.toLowerCase()===d[e.BlockchainType.solana],p=(a,t)=>k(a)&&t.toLowerCase()===d[e.BlockchainType.sui],x=a=>{const t=a.chain,m=a.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;
|