@gardenfi/orderbook 2.5.2 → 2.5.3-beta.0

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/README.md CHANGED
@@ -1,19 +1,35 @@
1
- ## @gardenfi/orderbook
1
+ # @gardenfi/orderbook
2
2
 
3
- The `@gardenfi/orderbook` package is used to facilitate the creation of orders. It also provides functionality for listening to orders and retrieving orders created by a specific address.
3
+ The `@gardenfi/orderbook` package manages the orderbook for cross-chain atomic swaps. It provides APIs for creating orders, retrieving order information, managing matched orders, and subscribing to real-time order updates. The package handles order lifecycle management, pagination for large order datasets, and supports filtering orders by various criteria including user address, transaction hash, and order status.
4
4
 
5
- ### Installation
5
+ ## Installation
6
6
 
7
7
  ```
8
- npm install @gardenfi/orderbook
8
+ yarn add @gardenfi/orderbook
9
9
  ```
10
10
 
11
- ### Usage
11
+ ## Usage
12
12
 
13
- 1. Creating an order: ([should create an order with the valid configuration](https://github.com/catalogfi/garden.js/blob/4623a0679d1948755500c7179113112a025e33f8/packages/orderbook/src/lib/orderbook.spec.ts#L61 ))
14
- 2. Getting all orders created by an address: ([should return orders where the user is the maker](https://github.com/catalogfi/garden.js/blob/4623a0679d1948755500c7179113112a025e33f8/packages/orderbook/src/lib/orderbook.spec.ts#L79))
15
- 3. Listening to orders: ([should update when order is created](https://github.com/catalogfi/garden.js/blob/4623a0679d1948755500c7179113112a025e33f8/packages/orderbook/src/lib/orderbook.spec.ts#L94))
13
+ ```typescript
14
+ import { Orderbook } from '@gardenfi/orderbook';
15
+ import { Url } from '@gardenfi/utils';
16
16
 
17
- ### Setup
17
+ // Initialize the orderbook with the API URL
18
+ const orderbook = new Orderbook(new Url('<ORDERBOOK_API_URL>'));
18
19
 
19
- Both CommonJs and ES imports are supported so there is not extra setup needed to use the library. To use the orderbook simply import it (using import or require statements) and perform your logic. Make sure to use a signer if you're using the library in an environment where you do not have access to the private keys.
20
+ // Get matched orders for a user
21
+ const matchedOrdersResult = await orderbook.getMatchedOrders(
22
+ '<USER_ADDRESS>', // user address
23
+ 'pending', // status: 'all' | 'pending' | 'fulfilled'
24
+ {
25
+ page: 1,
26
+ per_page: 10,
27
+ },
28
+ );
29
+
30
+ if (matchedOrdersResult.ok) {
31
+ console.log('Matched orders:', matchedOrdersResult.val.data);
32
+ } else {
33
+ console.error('Error fetching matched orders:', matchedOrdersResult.error);
34
+ }
35
+ ```
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index2.cjs"),e=require("./index3.cjs"),t=require("./index4.cjs");exports.Orderbook=s.Orderbook;exports.BlockchainType=e.BlockchainType;exports.Chains=e.Chains;exports.NativeTokenAddress=e.NativeTokenAddress;exports.NetworkType=e.NetworkType;exports.getBlockchainType=e.getBlockchainType;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=t.ArbitrumLocalnet;exports.ETHStarknetLocalnetAsset=t.ETHStarknetLocalnetAsset;exports.EthereumLocalnet=t.EthereumLocalnet;exports.SOLSolanaLocalnetAsset=t.SOLSolanaLocalnetAsset;exports.STRKStarknetLocalnetAsset=t.STRKStarknetLocalnetAsset;exports.StarknetLocalnet=t.StarknetLocalnet;exports.SupportedAssets=t.SupportedAssets;exports.WBTCArbitrumLocalnetAsset=t.WBTCArbitrumLocalnetAsset;exports.WBTCEthereumLocalnetAsset=t.WBTCEthereumLocalnetAsset;exports.bitcoinRegtestAsset=t.bitcoinRegtestAsset;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index2.cjs"),s=require("./index3.cjs"),e=require("./index4.cjs"),t=require("./index5.cjs"),n=require("./index6.cjs");exports.Orderbook=i.Orderbook;exports.ArbitrumLocalnet=s.ArbitrumLocalnet;exports.Assets=s.Assets;exports.ETHStarknetLocalnetAsset=s.ETHStarknetLocalnetAsset;exports.EthereumLocalnet=s.EthereumLocalnet;exports.SOLSolanaLocalnetAsset=s.SOLSolanaLocalnetAsset;exports.STRKStarknetLocalnetAsset=s.STRKStarknetLocalnetAsset;exports.StarknetLocalnet=s.StarknetLocalnet;exports.SupportedAssets=s.SupportedAssets;exports.WBTCArbitrumLocalnetAsset=s.WBTCArbitrumLocalnetAsset;exports.WBTCEthereumLocalnetAsset=s.WBTCEthereumLocalnetAsset;exports.bitcoinRegtestAsset=s.bitcoinRegtestAsset;exports.BlockchainType=e.BlockchainType;exports.Chains=e.Chains;exports.ChainsConfig=e.ChainsConfig;exports.NATIVE_TOKENS=e.NATIVE_TOKENS;exports.NativeTokenAddress=e.NativeTokenAddress;exports.NetworkType=e.NetworkType;exports.OrderLifecycle=e.OrderLifecycle;exports.getBlockchainType=e.getBlockchainType;exports.getChainTypeFromAssetChain=e.getChainTypeFromAssetChain;exports.getChainsFromOrder=e.getChainsFromOrder;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.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=n.ChainAsset;
package/dist/index.js CHANGED
@@ -1,31 +1,49 @@
1
- import { Orderbook as o } from "./index2.js";
2
- import { BlockchainType as a, Chains as i, NativeTokenAddress as n, NetworkType as r, getBlockchainType as c, isBitcoin as k, isEVM as l, isEvmNativeToken as S, isMainnet as T, isNativeToken as A, isSolana as L, isSolanaNativeToken as m, isStarknet as p, isSui as u, isSuiNativeToken as v } from "./index3.js";
3
- import { ArbitrumLocalnet as h, ETHStarknetLocalnetAsset as B, EthereumLocalnet as E, SOLSolanaLocalnetAsset as b, STRKStarknetLocalnetAsset as d, StarknetLocalnet as f, SupportedAssets as x, WBTCArbitrumLocalnetAsset as y, WBTCEthereumLocalnetAsset as C, bitcoinRegtestAsset as g } from "./index4.js";
1
+ import { Orderbook as t } from "./index2.js";
2
+ import { ArbitrumLocalnet as o, Assets as i, ETHStarknetLocalnetAsset as n, EthereumLocalnet as a, SOLSolanaLocalnetAsset as c, STRKStarknetLocalnetAsset as p, StarknetLocalnet as l, SupportedAssets as S, WBTCArbitrumLocalnetAsset as T, WBTCEthereumLocalnetAsset as d, bitcoinRegtestAsset as k } from "./index3.js";
3
+ import { BlockchainType as A, Chains as O, ChainsConfig as h, NATIVE_TOKENS as C, NativeTokenAddress as L, NetworkType as u, OrderLifecycle as R, getBlockchainType as E, getChainTypeFromAssetChain as N, getChainsFromOrder as f, isBitcoin as v, isEVM as g, isEvmNativeToken as y, isMainnet as B, isNativeToken as x, isSolana as b, isSolanaNativeToken as F, isStarknet as K, isSui as M, isSuiNativeToken as V } from "./index4.js";
4
+ import { ConstructUrl as w, discriminateOrderResponse as H, getOrderResponseType as I, isBitcoinOrderResponse as U, isEvmOrderResponse as _, isOrder as j, isSolanaOrderResponse as q, isStarknetOrderResponse as z, isSuiOrderResponse as D } from "./index5.js";
5
+ import { ChainAsset as J } from "./index6.js";
4
6
  export {
5
- h as ArbitrumLocalnet,
6
- a as BlockchainType,
7
- i as Chains,
8
- B as ETHStarknetLocalnetAsset,
9
- E as EthereumLocalnet,
10
- n as NativeTokenAddress,
11
- r as NetworkType,
12
- o as Orderbook,
13
- b as SOLSolanaLocalnetAsset,
14
- d as STRKStarknetLocalnetAsset,
15
- f as StarknetLocalnet,
16
- x as SupportedAssets,
17
- y as WBTCArbitrumLocalnetAsset,
18
- C as WBTCEthereumLocalnetAsset,
19
- g as bitcoinRegtestAsset,
20
- c as getBlockchainType,
21
- k as isBitcoin,
22
- l as isEVM,
23
- S as isEvmNativeToken,
24
- T as isMainnet,
25
- A as isNativeToken,
26
- L as isSolana,
27
- m as isSolanaNativeToken,
28
- p as isStarknet,
29
- u as isSui,
30
- v as isSuiNativeToken
7
+ o as ArbitrumLocalnet,
8
+ i as Assets,
9
+ A as BlockchainType,
10
+ J as ChainAsset,
11
+ O as Chains,
12
+ h as ChainsConfig,
13
+ w as ConstructUrl,
14
+ n as ETHStarknetLocalnetAsset,
15
+ a as EthereumLocalnet,
16
+ C as NATIVE_TOKENS,
17
+ L as NativeTokenAddress,
18
+ u as NetworkType,
19
+ R as OrderLifecycle,
20
+ t as Orderbook,
21
+ c as SOLSolanaLocalnetAsset,
22
+ p as STRKStarknetLocalnetAsset,
23
+ l as StarknetLocalnet,
24
+ S as SupportedAssets,
25
+ T as WBTCArbitrumLocalnetAsset,
26
+ d as WBTCEthereumLocalnetAsset,
27
+ k as bitcoinRegtestAsset,
28
+ H as discriminateOrderResponse,
29
+ E as getBlockchainType,
30
+ N as getChainTypeFromAssetChain,
31
+ f as getChainsFromOrder,
32
+ I as getOrderResponseType,
33
+ v as isBitcoin,
34
+ U as isBitcoinOrderResponse,
35
+ g as isEVM,
36
+ y as isEvmNativeToken,
37
+ _ as isEvmOrderResponse,
38
+ B as isMainnet,
39
+ x as isNativeToken,
40
+ j as isOrder,
41
+ b as isSolana,
42
+ F as isSolanaNativeToken,
43
+ q as isSolanaOrderResponse,
44
+ K as isStarknet,
45
+ z as isStarknetOrderResponse,
46
+ M as isSui,
47
+ V as isSuiNativeToken,
48
+ D as isSuiOrderResponse
31
49
  };
package/dist/index2.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@gardenfi/utils"),a=require("./index5.cjs");class O{constructor(c){this.Url=c}async createOrder(c,n){const t=await n.getAuthHeaders();if(t.error)return r.Err(t.error);try{const e=await r.Fetcher.post(this.Url,{body:JSON.stringify(c),headers:{...t.val,"Content-Type":"application/json"}});return e.error?r.Err(e.error):e.result?r.Ok(e.result):r.Err("CreateOrder: Unexpected error, result is undefined")}catch(e){return r.Err("CreateOrder Err:",String(e))}}async getOrder(c,n,t){const e=this.Url.endpoint(n?`/id/${c}/matched`:`/id/${c}/unmatched`);try{const s=await r.Fetcher.get(e,{...t});return s.error?r.Err(s.error):s.result?r.Ok(s.result):r.Err("GetOrder: Unexpected error, result is undefined")}catch(s){return r.Err("GetOrder:",String(s))}}async getMatchedOrders(c,n,t,e){const s=a.ConstructUrl(this.Url,`/user/${c}/matched`,{...t,status:n});try{const u=await r.Fetcher.get(s,{...e});return u.error?r.Err(u.error):u.result?r.Ok(u.result):r.Err("GetMatchedOrders: Unexpected error, result is undefined")}catch(u){return r.Err("GetMatchedOrders:",String(u))}}async getUnMatchedOrders(c,n,t){const e=a.ConstructUrl(this.Url,`/user/${c}/unmatched`,n);try{const s=await r.Fetcher.get(e,{...t});return s.error?r.Err(s.error):s.result?r.Ok(s.result):r.Err("GetUnMatchedOrders: Unexpected error, result is undefined")}catch(s){return r.Err("GetUnMatchedOrders:",String(s))}}async getOrders(c,n,t,e){const s=c?"/matched":"/unmatched",u={page:t==null?void 0:t.page,per_page:t==null?void 0:t.per_page,...n},l=a.ConstructUrl(this.Url,s,u);try{const d=await r.Fetcher.get(l,{...e});return d.error?r.Err(d.error):d.result?r.Ok(d.result):r.Err("GetAllOrders: Unexpected error, result is undefined")}catch(d){return r.Err("GetAllOrders:",String(d))}}async subscribeOrders(c,n,t,e,s="all",u,l){let d=!1;const h=async()=>{if(!d){d=!0;try{const o=n?await this.getMatchedOrders(c,s,u,l):await this.getUnMatchedOrders(c,u,l);o.ok?await e(o.val):console.error("Error fetching orders:",o.error)}catch(o){console.error("Error fetching orders:",o)}finally{d=!1}}};await h();const i=setInterval(h,t);return()=>{clearInterval(i)}}async getOrdersCount(c,n){const t=this.Url.endpoint(`/user/${c}/count`);try{const e=await r.Fetcher.get(t,{...n});return e.error?r.Err(e.error):e.status===r.ApiStatus.Ok&&e.result!==void 0?r.Ok(e.result):r.Err("GetOrdersCount: Unexpected error, result is undefined")}catch(e){return r.Err("GetOrdersCount:",String(e))}}}exports.Orderbook=O;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("@gardenfi/utils"),a=require("./index5.cjs");class d{constructor(n){this.url=n}async createOrder(n,o){try{const t=await o.getAuthHeaders();if(t.error)return r.Err(t.error);const s=await r.Fetcher.post(this.url.endpoint("/v2/orders"),{body:JSON.stringify(n),headers:{...t.val,"Content-Type":"application/json"}});if(s.error)return r.Err(s.error);if(!s.result)return r.Err("CreateOrder: Unexpected error, result is undefined");const e=a.discriminateOrderResponse(s.result);return e?r.Ok(e):r.Err("CreateOrder: Unable to determine order type from response")}catch(t){return r.Err("CreateOrder Err:",String(t))}}async getOrder(n,o){try{const t=this.url.endpoint("/v2/orders").endpoint(n),s=await r.Fetcher.get(t,{...o});return s.error?r.Err(s.error):s.result?r.Ok(s.result):r.Err("GetOrder: Unexpected error, result is undefined")}catch(t){return r.Err(`GetOrder: ${t instanceof Error?t.message:String(t)}`)}}async getOrders(n,o){const s=a.ConstructUrl(this.url,"/v2/orders",n);try{const e=await r.Fetcher.get(s,{...o});return e.error?r.Err(e.error):e.result?r.Ok(e.result):r.Err("GetAllOrders: Unexpected error, result is undefined")}catch(e){return r.Err(`GetAllOrders: ${e instanceof Error?e.message:String(e)}`)}}async subscribeOrders(n,o,t,s){let e=!1;const c=async()=>{if(!e){e=!0;try{const i=await this.getOrders(n,s);i.ok?await o(i.val):console.error("Error fetching orders:",i.error)}catch(i){console.error("Error fetching orders:",i)}finally{e=!1}}};await c();const u=setInterval(c,t);return()=>{clearInterval(u)}}}exports.Orderbook=d;
package/dist/index2.js CHANGED
@@ -1,125 +1,87 @@
1
- import { Err as s, Fetcher as o, Ok as a, ApiStatus as U } from "@gardenfi/utils";
2
- import { ConstructUrl as i } from "./index5.js";
3
- class w {
4
- constructor(c) {
5
- this.Url = c;
1
+ import { Err as s, Fetcher as a, Ok as c } from "@gardenfi/utils";
2
+ import { discriminateOrderResponse as l, ConstructUrl as f } from "./index5.js";
3
+ class g {
4
+ constructor(n) {
5
+ this.url = n;
6
6
  }
7
- /**
8
- * Creates an order
9
- * @param {CreateOrderRequestWithAdditionalData} order - The configuration for the creating the order.
10
- * @param {IAuth} auth - The auth object.
11
- * @returns {string} The create order ID.
12
- */
13
- async createOrder(c, n) {
14
- const e = await n.getAuthHeaders();
15
- if (e.error)
16
- return s(e.error);
7
+ async createOrder(n, o) {
17
8
  try {
18
- const r = await o.post(this.Url, {
19
- body: JSON.stringify(c),
20
- headers: {
21
- ...e.val,
22
- "Content-Type": "application/json"
9
+ const e = await o.getAuthHeaders();
10
+ if (e.error)
11
+ return s(e.error);
12
+ const t = await a.post(
13
+ this.url.endpoint("/v2/orders"),
14
+ {
15
+ body: JSON.stringify(n),
16
+ headers: {
17
+ ...e.val,
18
+ "Content-Type": "application/json"
19
+ }
23
20
  }
24
- });
25
- return r.error ? s(r.error) : r.result ? a(r.result) : s("CreateOrder: Unexpected error, result is undefined");
26
- } catch (r) {
27
- return s("CreateOrder Err:", String(r));
28
- }
29
- }
30
- async getOrder(c, n, e) {
31
- const r = this.Url.endpoint(
32
- n ? `/id/${c}/matched` : `/id/${c}/unmatched`
33
- );
34
- try {
35
- const t = await o.get(r, { ...e });
36
- return t.error ? s(t.error) : t.result ? a(t.result) : s("GetOrder: Unexpected error, result is undefined");
37
- } catch (t) {
38
- return s("GetOrder:", String(t));
39
- }
40
- }
41
- async getMatchedOrders(c, n, e, r) {
42
- const t = i(this.Url, `/user/${c}/matched`, {
43
- ...e,
44
- status: n
45
- });
46
- try {
47
- const d = await o.get(
48
- t,
49
- { ...r }
50
21
  );
51
- return d.error ? s(d.error) : d.result ? a(d.result) : s("GetMatchedOrders: Unexpected error, result is undefined");
52
- } catch (d) {
53
- return s("GetMatchedOrders:", String(d));
22
+ if (t.error) return s(t.error);
23
+ if (!t.result)
24
+ return s("CreateOrder: Unexpected error, result is undefined");
25
+ const r = l(t.result);
26
+ return r ? c(r) : s("CreateOrder: Unable to determine order type from response");
27
+ } catch (e) {
28
+ return s("CreateOrder Err:", String(e));
54
29
  }
55
30
  }
56
- async getUnMatchedOrders(c, n, e) {
57
- const r = i(
58
- this.Url,
59
- `/user/${c}/unmatched`,
60
- n
61
- );
31
+ async getOrder(n, o) {
62
32
  try {
63
- const t = await o.get(
64
- r,
65
- { ...e }
33
+ const e = this.url.endpoint("/v2/orders").endpoint(n), t = await a.get(e, { ...o });
34
+ return t.error ? s(t.error) : t.result ? c(t.result) : s("GetOrder: Unexpected error, result is undefined");
35
+ } catch (e) {
36
+ return s(
37
+ `GetOrder: ${e instanceof Error ? e.message : String(e)}`
66
38
  );
67
- return t.error ? s(t.error) : t.result ? a(t.result) : s("GetUnMatchedOrders: Unexpected error, result is undefined");
68
- } catch (t) {
69
- return s("GetUnMatchedOrders:", String(t));
70
39
  }
71
40
  }
72
- async getOrders(c, n, e, r) {
73
- const t = c ? "/matched" : "/unmatched", d = {
74
- page: e == null ? void 0 : e.page,
75
- per_page: e == null ? void 0 : e.per_page,
76
- ...n
77
- }, h = i(this.Url, t, d);
41
+ async getOrders(n, o) {
42
+ const t = f(this.url, "/v2/orders", n);
78
43
  try {
79
- const u = await o.get(h, { ...r });
80
- return u.error ? s(u.error) : u.result ? a(u.result) : s("GetAllOrders: Unexpected error, result is undefined");
81
- } catch (u) {
82
- return s("GetAllOrders:", String(u));
44
+ const r = await a.get(t, {
45
+ ...o
46
+ });
47
+ return r.error ? s(r.error) : r.result ? c(r.result) : s("GetAllOrders: Unexpected error, result is undefined");
48
+ } catch (r) {
49
+ return s(
50
+ `GetAllOrders: ${r instanceof Error ? r.message : String(r)}`
51
+ );
83
52
  }
84
53
  }
85
- async subscribeOrders(c, n, e, r, t = "all", d, h) {
86
- let u = !1;
87
- const O = async () => {
88
- if (!u) {
89
- u = !0;
54
+ /**
55
+ * Subscribe to orders
56
+ * @param account - The account of the order
57
+ * @param interval - The interval of the order
58
+ * @param cb - The callback function
59
+ * @param status - The status of the order
60
+ * @param paginationConfig - The pagination configuration
61
+ * @returns {Promise<() => void>} A promise that resolves to the unsubscribe function.
62
+ */
63
+ async subscribeOrders(n, o, e, t) {
64
+ let r = !1;
65
+ const d = async () => {
66
+ if (!r) {
67
+ r = !0;
90
68
  try {
91
- const l = n ? await this.getMatchedOrders(
92
- c,
93
- t,
94
- d,
95
- h
96
- ) : await this.getUnMatchedOrders(c, d, h);
97
- l.ok ? await r(
98
- l.val
99
- ) : console.error("Error fetching orders:", l.error);
100
- } catch (l) {
101
- console.error("Error fetching orders:", l);
69
+ const i = await this.getOrders(n, t);
70
+ i.ok ? await o(i.val) : console.error("Error fetching orders:", i.error);
71
+ } catch (i) {
72
+ console.error("Error fetching orders:", i);
102
73
  } finally {
103
- u = !1;
74
+ r = !1;
104
75
  }
105
76
  }
106
77
  };
107
- await O();
108
- const y = setInterval(O, e);
78
+ await d();
79
+ const u = setInterval(d, e);
109
80
  return () => {
110
- clearInterval(y);
81
+ clearInterval(u);
111
82
  };
112
83
  }
113
- async getOrdersCount(c, n) {
114
- const e = this.Url.endpoint(`/user/${c}/count`);
115
- try {
116
- const r = await o.get(e, { ...n });
117
- return r.error ? s(r.error) : r.status === U.Ok && r.result !== void 0 ? a(r.result) : s("GetOrdersCount: Unexpected error, result is undefined");
118
- } catch (r) {
119
- return s("GetOrdersCount:", String(r));
120
- }
121
- }
122
84
  }
123
85
  export {
124
- w as Orderbook
86
+ g as Orderbook
125
87
  };
package/dist/index3.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var l=(e=>(e.Bitcoin="Bitcoin",e.EVM="EVM",e.Solana="Solana",e.Starknet="Starknet",e.Sui="Sui",e))(l||{}),u=(e=>(e.mainnet="mainnet",e.testnet="testnet",e.localnet="localnet",e))(u||{});const t={bitcoin:"bitcoin",bitcoin_testnet:"bitcoin_testnet",bitcoin_regtest:"bitcoin_regtest",ethereum:"ethereum",base:"base",arbitrum:"arbitrum",ethereum_sepolia:"ethereum_sepolia",arbitrum_localnet:"arbitrum_localnet",arbitrum_sepolia:"arbitrum_sepolia",ethereum_localnet:"ethereum_localnet",base_sepolia:"base_sepolia",solana:"solana",solana_testnet:"solana_testnet",solana_localnet:"solana_localnet",bera_testnet:"bera_testnet",citrea_testnet:"citrea_testnet",bera:"bera",monad_testnet:"monad_testnet",starknet:"starknet",starknet_sepolia:"starknet_sepolia",starknet_devnet:"starknet_devnet",hyperliquid_testnet:"hyperliquid_testnet",hyperliquid:"hyperliquid",unichain:"unichain",corn:"corn",botanix:"botanix",bnbchain:"bnbchain",bnbchain_testnet:"bnbchain_testnet",sui:"sui",sui_testnet:"sui_testnet"},k=e=>!(e===t.ethereum_sepolia||e===t.bitcoin_testnet||e===t.bitcoin_regtest||e===t.arbitrum_localnet||e===t.ethereum_localnet||e===t.arbitrum_sepolia||e===t.base_sepolia||e===t.solana_testnet||e===t.solana_localnet||e===t.bera_testnet||e===t.citrea_testnet||e===t.monad_testnet||e===t.starknet_devnet||e===t.starknet_sepolia||e===t.hyperliquid_testnet||e===t.bnbchain_testnet||e===t.sui_testnet),r=e=>e===t.bitcoin||e===t.bitcoin_testnet||e===t.bitcoin_regtest,s=e=>e===t.ethereum||e===t.arbitrum||e===t.ethereum_sepolia||e===t.ethereum_localnet||e===t.arbitrum_localnet||e===t.arbitrum_sepolia||e===t.base_sepolia||e===t.base||e===t.bera_testnet||e===t.citrea_testnet||e===t.bera||e===t.monad_testnet||e===t.hyperliquid_testnet||e===t.hyperliquid||e===t.unichain||e===t.corn||e===t.botanix||e===t.bnbchain||e===t.bnbchain_testnet,i=e=>e===t.solana||e===t.solana_testnet||e===t.solana_localnet,o=e=>e===t.starknet||e===t.starknet_devnet||e===t.starknet_sepolia,a=e=>e===t.sui||e===t.sui_testnet,p=e=>{if(r(e))return"Bitcoin";if(s(e))return"EVM";if(i(e))return"Solana";if(o(e))return"Starknet";if(a(e))return"Sui";throw new Error("Invalid or unsupported chain")},_="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",b=(e,n)=>s(e)&&n.toLowerCase()===_.toLowerCase(),m=(e,n)=>i(e)&&n.toLowerCase()==="primary",d=(e,n)=>a(e)&&n.toLowerCase()==="0x2::sui::sui",E=e=>b(e.chain,e.tokenAddress)||m(e.chain,e.tokenAddress)||r(e.chain)||d(e.chain,e.tokenAddress)||!o(e.chain);exports.BlockchainType=l;exports.Chains=t;exports.NativeTokenAddress=_;exports.NetworkType=u;exports.getBlockchainType=p;exports.isBitcoin=r;exports.isEVM=s;exports.isEvmNativeToken=b;exports.isMainnet=k;exports.isNativeToken=E;exports.isSolana=i;exports.isSolanaNativeToken=m;exports.isStarknet=o;exports.isSui=a;exports.isSuiNativeToken=d;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index4.cjs"),c={id:1001,name:"Starknet Localnet",nativeCurrency:{name:"Stark Token",symbol:"STRK",decimals:18},rpcUrls:{default:{http:["http://127.0.0.1:8547/"]}},testnet:!0},m={id:31338,name:"Arbitrum Localnet",nativeCurrency:{name:"Ethereum",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["http://localhost:8546/"]}},testnet:!0},r={id:31337,name:"Ethereum Localnet",nativeCurrency:{name:"Ethereum",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["http://localhost:8545/"]}},testnet:!0},a={name:"SOL Solana Localnet",decimals:9,symbol:"SOL",chain:e.Chains.solana_localnet,atomicSwapAddress:"primary",tokenAddress:"primary"},s={name:"Bitcoin Regtest",decimals:8,symbol:"BTC",chain:e.Chains.bitcoin_regtest,atomicSwapAddress:"primary",tokenAddress:"primary"},t={name:"WBTC Arbitrum Localnet",decimals:8,symbol:"WBTC",chain:e.Chains.arbitrum_localnet,atomicSwapAddress:"0x0165878A594ca255338adfa4d48449f69242Eb8F",tokenAddress:"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512"},n={name:"WBTC Ethereum Localnet",decimals:8,symbol:"WBTC",chain:e.Chains.ethereum_localnet,atomicSwapAddress:"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0",tokenAddress:"0x5FbDB2315678afecb367f032d93F642f64180aa3"},i={name:"STRK Starknet Localnet",decimals:18,symbol:"STRK",chain:e.Chains.starknet_devnet,atomicSwapAddress:"0x15cf8b127aa850c97ed10de6f8b300cabc4f09232a57e63667af02fdef8a55a",tokenAddress:"0x51aa025f1c9948790113e4ebea826dee24542bc50902076c05892774210e8d2"},d={name:"ETH Starknet Localnet",decimals:18,symbol:"ETH",chain:e.Chains.starknet_devnet,atomicSwapAddress:"0x1890470168440bbb9df50988748924a74ea22de10d22a081e458737b9574e75",tokenAddress:"0x51aa025f1c9948790113e4ebea826dee24542bc50902076c05892774210e8d2"},o={localnet:{solana_localnet:{SOL:a},arbitrum_localnet:{WBTC:t},ethereum_localnet:{WBTC:n},bitcoin_regtest:{BTC:s},starknet_devnet:{STRK:i,ETH:d}},testnet:{solana_testnet:{SOL:{name:"Solana",decimals:9,symbol:"SOL",chain:e.Chains.solana_testnet,logo:"https://garden-finance.imgix.net/chain_images/solana.png",tokenAddress:"primary",atomicSwapAddress:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF_primary"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",chain:e.Chains.solana_testnet,logo:"https://garden.imgix.net/token-images/usdc.svg",tokenAddress:"5JbWjyLdYKTuykpq2itWbdRcZkhK3hs6fiH62pkmLYZi",atomicSwapAddress:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU_5JbWjyLdYKTuykpq2itWbdRcZkhK3hs6fiH62pkmLYZi"},cbBTC:{name:"Coinbase Wrapped Bitcoin",decimals:8,symbol:"cbBTC",chain:e.Chains.solana_testnet,logo:"https://garden.imgix.net/token-images/cbBTC.svg",tokenAddress:"CL8C4gsaEQyWPxL4Zn7dcnZ8LKvPYqHmv4ipMax4cDUL",atomicSwapAddress:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU_CL8C4gsaEQyWPxL4Zn7dcnZ8LKvPYqHmv4ipMax4cDUL"}},bitcoin_testnet:{BTC:{name:"Bitcoin",decimals:8,symbol:"BTC",chain:e.Chains.bitcoin_testnet,logo:"https://garden.imgix.net/token-images/bitcoin.svg",tokenAddress:"primary",atomicSwapAddress:"primary"}},ethereum_sepolia:{WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",chain:e.Chains.ethereum_sepolia,logo:"https://garden.imgix.net/token-images/wbtc.svg",tokenAddress:"0xE918A5a47b8e0AFAC2382bC5D1e981613e63fB07",atomicSwapAddress:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",chain:e.Chains.ethereum_sepolia,logo:"https://garden.imgix.net/token-images/usdc.svg",tokenAddress:"0xadDD620EA6D20f4f9c24fff3BC039E497ceBEDc2",atomicSwapAddress:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493"}},arbitrum_sepolia:{iBTC:{name:"iBTC",decimals:8,symbol:"iBTC",chain:e.Chains.arbitrum_sepolia,logo:"https://garden.imgix.net/token-images/dlcBTCIcon.svg",atomicSwapAddress:"0x7e8c18fa79bd4014cfCf49294Bf315139eD39f45",tokenAddress:"0x685437f025c5f33A94818408C286bc1F023201Fc"},WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",chain:e.Chains.arbitrum_sepolia,logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xb5AE9785349186069C48794a763DB39EC756B1cF",tokenAddress:"0x1c287717c886794ac9f5DF3987195431Ceb3456E"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",chain:e.Chains.arbitrum_sepolia,logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x8E12d730756457B99ce6E6AbFd60eBe751dA169B",tokenAddress:"0xC90Ad72eCc10a52a681ceDAE6EbBD3470A0c829"},SEED:{name:"Seed",decimals:18,symbol:"SEED",chain:e.Chains.arbitrum_sepolia,logo:"https://garden.imgix.net/token-images/seed.svg",atomicSwapAddress:"0xFBD30cB9313fe580031A7E0258693E1cec002803",tokenAddress:"0x432B43764548c3E47eA65aAdeB91D75C84DBcC2c"}},base_sepolia:{iBTC:{name:"iBTC",decimals:8,symbol:"iBTC",chain:e.Chains.base_sepolia,logo:"https://garden.imgix.net/token-images/dlcBTCIcon.svg",atomicSwapAddress:"0x46F1Ba9C9d89C34F9dbC4085F6B1f9965c589ca1",tokenAddress:"0x0b0D554D9573bAe1a7556d220847f45182918B28"},WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",chain:e.Chains.base_sepolia,logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",tokenAddress:"0xD8a6E3FCA403d79b6AD6216b60527F51cc967D39"},USDT:{name:"Tether USD",decimals:6,symbol:"USDT",chain:e.Chains.base_sepolia,logo:"https://garden.imgix.net/token-images/usdt.svg",atomicSwapAddress:"0x917cfef972d667dC0FeC76806cB5623585B81493",tokenAddress:"0xeaE7721d779276eb0f5837e2fE260118724a2Ba4"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",chain:e.Chains.base_sepolia,logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",tokenAddress:"0x1ac7A0ebf13a996D5915e212900bE2d074f94988"}},bera_testnet:{},citrea_testnet:{WCBTC:{name:"Wrapped Citrea Bitcoin",decimals:18,symbol:"WCBTC",chain:e.Chains.citrea_testnet,logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xD8e99df8cf77E7383c2f2a84bC6384b2DF88CAd3",tokenAddress:"0x8d0c9d1c17aE5e40ffF9bE350f57840E9E66Cd93"},WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",chain:e.Chains.citrea_testnet,logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",tokenAddress:"0x3edA22460259b29433704dda71cc921F528165Ea"},CBTC:{name:"Citrea Bitcoin",decimals:18,symbol:"CBTC",chain:e.Chains.citrea_testnet,logo:"https://garden.imgix.net/token-images/bitcoin.svg",atomicSwapAddress:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",tokenAddress:null},CBBTC:{name:"Citrea Bridged Bitcoin",decimals:8,symbol:"CBBTC",chain:e.Chains.citrea_testnet,logo:"https://garden.imgix.net/token-images/bitcoin.svg",atomicSwapAddress:"0x8656d38352CD90ca55881eBd0AF6822839b435A8",tokenAddress:"0xeAa998aF280a62Ae08BaE4f9fa59C9b30e6BD306"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",chain:e.Chains.citrea_testnet,logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",tokenAddress:"0xCdA8661fDA031deFCc9BdD88C0e12669Cac47Fb0"},USDT:{name:"Tether USD",decimals:6,symbol:"USDT",chain:e.Chains.citrea_testnet,logo:"https://garden.imgix.net/token-images/usdt.svg",atomicSwapAddress:"0x917cfef972d667dC0FeC76806cB5623585B81493",tokenAddress:"0xF5cFE09b852Ddb164cF6Db419B9c11aAb5F30cb6"}},monad_testnet:{cbBTC:{name:"Coinbase Wrapped Bitcoin",decimals:8,symbol:"cbBTC",chain:e.Chains.monad_testnet,logo:"https://garden.imgix.net/token-images/cbBTC.svg",atomicSwapAddress:"0x8656d38352CD90ca55881eBd0AF6822839b435A8",tokenAddress:"0x6b6303fAb8eC7232b4f2a7b9fa58E5216F608fcb"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",chain:e.Chains.monad_testnet,logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x730Be401ef981D199a0560C87DfdDaFd3EC1C493",tokenAddress:"0xf817257fed379853cde0fa4f97ab987181b1e5ea"}},starknet_sepolia:{WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",chain:e.Chains.starknet_sepolia,logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0x06579d255314109429a4477d89629bc2b94f529ae01979c2f8014f9246482603",tokenAddress:"0x496bef3ed20371382fbe0ca6a5a64252c5c848f9f1f0cccf8110fc4def912d5"}},sui_testnet:{SUI:{name:"SUI",decimals:9,symbol:"SUI",chain:e.Chains.sui_testnet,logo:"https://garden-finance.imgix.net/chain_images/sui.svg",tokenAddress:"0x2::sui::SUI",atomicSwapAddress:"0x5c438715b7dcc02d12ab92449153a1e5ade2301620d5bf60aa748f006726d369"}},hyperliquid_testnet:{},bnbchain_testnet:{WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",chain:e.Chains.bnbchain_testnet,logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xd1E0Ba2b165726b3a6051b765d4564d030FDcf50",tokenAddress:"0x39f3294352208905fc6ebf033954E6c6455CdB4C"}}},mainnet:{bitcoin:{BTC:{name:"Bitcoin",decimals:8,symbol:"BTC",chain:e.Chains.bitcoin,logo:"https://garden.imgix.net/token-images/bitcoin.svg",atomicSwapAddress:"primary",tokenAddress:"primary"}},base:{USDC:{name:"USD Coin",decimals:6,symbol:"USDC",chain:e.Chains.base,logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",tokenAddress:"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},cBBTC:{name:"Coinbase Wrapped BTC",decimals:8,symbol:"cBBTC",chain:e.Chains.base,logo:"https://coin-images.coingecko.com/coins/images/51336/large/cbbtc.png?1730814747",atomicSwapAddress:"0xe35d025d0f0d9492db4700FE8646f7F89150eC04",tokenAddress:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf"}},arbitrum:{WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",chain:e.Chains.arbitrum,logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xb5AE9785349186069C48794a763DB39EC756B1cF",tokenAddress:"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",chain:e.Chains.arbitrum,logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x8E12d730756457B99ce6E6AbFd60eBe751dA169B",tokenAddress:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831"},iBTC:{name:"iBTC",decimals:8,symbol:"iBTC",chain:e.Chains.arbitrum,logo:"https://garden.imgix.net/token-images/iBTC.png",atomicSwapAddress:"0x7e8c18fa79bd4014cfCf49294Bf315139eD39f45",tokenAddress:"0x050C24dBf1eEc17babE5fc585F06116A259CC77A"},SEED:{name:"Seed Token",decimals:18,symbol:"SEED",chain:e.Chains.arbitrum,logo:"https://garden.imgix.net/token-images/seed.svg",atomicSwapAddress:"0xFBD30cB9313fe580031A7E0258693E1cec002803",tokenAddress:"0x86f65121804D2Cdbef79F9f072D4e0c2eEbABC08"}},ethereum:{ETH:{name:"Ethereum",decimals:18,symbol:"ETH",chain:e.Chains.ethereum,logo:"https://garden.imgix.net/chain_images/ethereum.svg",atomicSwapAddress:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",tokenAddress:null},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",chain:e.Chains.ethereum,logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",tokenAddress:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",chain:e.Chains.ethereum,logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xD781a2abB3FCB9fC0D1Dd85697c237d06b75fe95",tokenAddress:"0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"},cBBTC:{name:"Coinbase Wrapped BTC",decimals:8,symbol:"cBBTC",chain:e.Chains.ethereum,logo:"https://garden.imgix.net/token-images/cbBTC.svg",atomicSwapAddress:"0xe35d025d0f0d9492db4700FE8646f7F89150eC04",tokenAddress:"0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf"},iBTC:{name:"iBTC",decimals:8,symbol:"iBTC",chain:e.Chains.ethereum,logo:"https://garden.imgix.net/token-images/iBTC.png",atomicSwapAddress:"0x3aebBC6Dd1d024BE1C579E18e2EB92667B6f3579",tokenAddress:"0x20157DBAbb84e3BBFE68C349d0d44E48AE7B5AD2"},SEED:{name:"Seed Token",decimals:18,symbol:"SEED",chain:e.Chains.ethereum,logo:"https://garden.imgix.net/token-images/seed.svg",atomicSwapAddress:"0xCE511De667885f92B8c36fcfC79C3B5bEb875463",tokenAddress:"0x5eed99d066a8CaF10f3E4327c1b3D8b673485eED"}},solana:{SOL:{name:"Solana",decimals:9,symbol:"SOL",chain:e.Chains.solana,logo:"https://garden-finance.imgix.net/chain_images/solana.png",atomicSwapAddress:"2bag6xpshpvPe7SJ9nSDLHpxqhEAoHPGpEkjNSv7gxoF",tokenAddress:null},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",chain:e.Chains.solana,logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU",tokenAddress:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"},cBBTC:{name:"Coinbase Wrapped BTC",decimals:8,symbol:"cBBTC",chain:e.Chains.solana,logo:"https://garden.imgix.net/token-images/cbBTC.svg",atomicSwapAddress:"gdnvdMCHJgnidtU7SL8RkRshHPvDJU1pdfZEpoLvqdU",tokenAddress:"cbbtcf3aa214zXHbiAZQwf4122FBYbraNdFqgw4iMij"}},bera:{LBTC:{name:"Lombard BTC",decimals:8,symbol:"LBTC",chain:e.Chains.bera,logo:"https://garden.imgix.net/token-images/LBTC.svg",atomicSwapAddress:"0x84A396920d8B8CA2e69bD9503Bc1B2f73f1b8b33",tokenAddress:"0xecAc9C5F704e954931349Da37F60E39f515c11c1"}},starknet:{WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",chain:e.Chains.starknet,logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0x7defd8eb3b770005ab1ca5f89ad31f98fb5bc3c52deaeafd130be3b49f967b4",tokenAddress:"0x3fe2b97c1fd336e750087d68b9b867997fd64a2661ff3ca5a7c771641e8e7ac"}},sui:{SUI:{name:"Sui",decimals:9,symbol:"SUI",chain:e.Chains.sui,logo:"https://garden-finance.imgix.net/chain_images/sui.svg",atomicSwapAddress:"0xa4f4e653547e98d4b541378e14db2393a09aff4b829f158b133d2eb3c3a942b5",tokenAddress:"0x2::sui::SUI"}},hyperliquid:{uBTC:{name:"uBTC",decimals:8,symbol:"uBTC",chain:e.Chains.hyperliquid,logo:"https://garden.imgix.net/token-images/bitcoin.svg",atomicSwapAddress:"0xDC74a45e86DEdf1fF7c6dac77e0c2F082f9E4F72",tokenAddress:"0x9FDBdA0A5e284c32744D2f17Ee5c74B284993463"}},unichain:{WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",chain:e.Chains.unichain,logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xD781a2abB3FCB9fC0D1Dd85697c237d06b75fe95",tokenAddress:"0x927B51f251480a681271180DA4de28D44EC4AfB8"},USDC:{name:"USD Coin",decimals:6,symbol:"USDC",chain:e.Chains.unichain,logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",tokenAddress:"0x078D782b760474a361dDA0AF3839290b0EF57AD6"}},corn:{BTCN:{name:"Bitcorn",decimals:18,symbol:"BTCN",chain:e.Chains.corn,logo:"https://garden.imgix.net/token-images/bitcorn.svg",atomicSwapAddress:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",tokenAddress:null}},botanix:{BTC:{name:"Botanix Bitcoin",decimals:18,symbol:"BTC",chain:e.Chains.botanix,logo:"https://garden.imgix.net/token-images/bitcoin.svg",atomicSwapAddress:"0xE413743B51f3cC8b3ac24addf50D18fa138cB0Bb",tokenAddress:null}},bnbchain:{BTCB:{name:"BTCB",decimals:18,symbol:"BTCB",chain:e.Chains.bnbchain,logo:"https://garden.imgix.net/token-images/bitcoin.svg",atomicSwapAddress:"0xe74784E5A45528fDEcB257477DD6bd31c8ef0761",tokenAddress:"0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c"},USDC:{name:"USD Coin",decimals:18,symbol:"USDC",chain:e.Chains.bnbchain,logo:"https://garden.imgix.net/token-images/usdc.svg",atomicSwapAddress:"0x5fA58e4E89c85B8d678Ade970bD6afD4311aF17E",tokenAddress:"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d"}},core:{WBTC:{name:"Wrapped Bitcoin",decimals:8,symbol:"WBTC",chain:e.Chains.core,logo:"https://garden.imgix.net/token-images/wbtc.svg",atomicSwapAddress:"0xD781a2abB3FCB9fC0D1Dd85697c237d06b75fe95",tokenAddress:"0x5832f53d147b3d6Cd4578B9CBD62425C7ea9d0Bd"}}}},C=o.mainnet;exports.ArbitrumLocalnet=m;exports.Assets=C;exports.ETHStarknetLocalnetAsset=d;exports.EthereumLocalnet=r;exports.SOLSolanaLocalnetAsset=a;exports.STRKStarknetLocalnetAsset=i;exports.StarknetLocalnet=c;exports.SupportedAssets=o;exports.WBTCArbitrumLocalnetAsset=t;exports.WBTCEthereumLocalnetAsset=n;exports.bitcoinRegtestAsset=s;