@rabby-wallet/rabby-bridge 0.0.1

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 ADDED
@@ -0,0 +1,8 @@
1
+ # rabby-bridge
2
+
3
+ Minimal bridge SDK for Rabby:
4
+
5
+ - enumerates supported bridge aggregators and chains
6
+ - maintains per-chain spender/router allowlists
7
+ - validates backend bridge quotes before returning them
8
+ - does not implement calldata decoding
@@ -0,0 +1,66 @@
1
+ import { CHAINS_ENUM as DBK_CHAINS_ENUM } from '@debank/common';
2
+ export declare const CHAINS_ENUM: typeof DBK_CHAINS_ENUM;
3
+ export declare const EXTRA_CHAINS: readonly ["XDC", "UNI", "RONIN", "XLAYER", "MONAD", "SONIC", "LENS", "WORLD", "STABLE", "HYPER", "LISK", "SEI", "GRAVITY", "SONEIUM", "SWELL", "ABS", "MORPH", "TEMPO", "MEGAETH", "PLASMA", "APE", "HEMI", "SOPHON", "INK", "BOB", "BERA", "PLUME", "TAIKO", "KATANA", "STORY", "CYBER", "ZIRCUIT"];
4
+ export type ExtraChainEnum = (typeof EXTRA_CHAINS)[number];
5
+ export type ChainEnum = DBK_CHAINS_ENUM | ExtraChainEnum;
6
+ export declare const SERVER_ID_TO_CHAIN_ENUM: {
7
+ readonly eth: DBK_CHAINS_ENUM.ETH;
8
+ readonly op: DBK_CHAINS_ENUM.OP;
9
+ readonly flr: DBK_CHAINS_ENUM.FLR;
10
+ readonly cro: DBK_CHAINS_ENUM.CRO;
11
+ readonly rsk: DBK_CHAINS_ENUM.RSK;
12
+ readonly xdc: ChainEnum;
13
+ readonly bsc: DBK_CHAINS_ENUM.BSC;
14
+ readonly xdai: DBK_CHAINS_ENUM.GNOSIS;
15
+ readonly fuse: DBK_CHAINS_ENUM.FUSE;
16
+ readonly uni: ChainEnum;
17
+ readonly matic: DBK_CHAINS_ENUM.POLYGON;
18
+ readonly monad: ChainEnum;
19
+ readonly sonic: ChainEnum;
20
+ readonly opbnb: DBK_CHAINS_ENUM.OPBNB;
21
+ readonly lens: ChainEnum;
22
+ readonly frax: DBK_CHAINS_ENUM.FRAX;
23
+ readonly era: DBK_CHAINS_ENUM.ERA;
24
+ readonly world: ChainEnum;
25
+ readonly stable: ChainEnum;
26
+ readonly hyper: ChainEnum;
27
+ readonly metis: DBK_CHAINS_ENUM.METIS;
28
+ readonly lisk: ChainEnum;
29
+ readonly sei: ChainEnum;
30
+ readonly gravity: ChainEnum;
31
+ readonly soneium: ChainEnum;
32
+ readonly swell: ChainEnum;
33
+ readonly ron: ChainEnum;
34
+ readonly xlayer: ChainEnum;
35
+ readonly abs: ChainEnum;
36
+ readonly morph: ChainEnum;
37
+ readonly tempo: ChainEnum;
38
+ readonly megaeth: ChainEnum;
39
+ readonly mnt: DBK_CHAINS_ENUM.MANTLE;
40
+ readonly klay: DBK_CHAINS_ENUM.KLAY;
41
+ readonly base: DBK_CHAINS_ENUM.BASE;
42
+ readonly plasma: ChainEnum;
43
+ readonly ape: ChainEnum;
44
+ readonly mode: DBK_CHAINS_ENUM.MODE;
45
+ readonly arb: DBK_CHAINS_ENUM.ARBITRUM;
46
+ readonly celo: DBK_CHAINS_ENUM.CELO;
47
+ readonly hemi: ChainEnum;
48
+ readonly avax: DBK_CHAINS_ENUM.AVAX;
49
+ readonly sophon: ChainEnum;
50
+ readonly ink: ChainEnum;
51
+ readonly linea: DBK_CHAINS_ENUM.LINEA;
52
+ readonly bob: ChainEnum;
53
+ readonly bera: ChainEnum;
54
+ readonly blast: DBK_CHAINS_ENUM.BLAST;
55
+ readonly plume: ChainEnum;
56
+ readonly taiko: ChainEnum;
57
+ readonly scrl: DBK_CHAINS_ENUM.SCRL;
58
+ readonly katana: ChainEnum;
59
+ readonly manta: DBK_CHAINS_ENUM.MANTA;
60
+ readonly story: ChainEnum;
61
+ readonly cyber: ChainEnum;
62
+ readonly zircuit: ChainEnum;
63
+ readonly zora: DBK_CHAINS_ENUM.ZORA;
64
+ };
65
+ export declare const CHAIN_ENUM_TO_SERVER_ID: Record<ChainEnum, string>;
66
+ export declare const normalizeChainEnum: (chainId: string) => ChainEnum | undefined;
package/dist/chains.js ADDED
@@ -0,0 +1,107 @@
1
+ import { CHAINS_ENUM as DBK_CHAINS_ENUM } from '@debank/common';
2
+ export const CHAINS_ENUM = DBK_CHAINS_ENUM;
3
+ export const EXTRA_CHAINS = [
4
+ 'XDC',
5
+ 'UNI',
6
+ 'RONIN',
7
+ 'XLAYER',
8
+ 'MONAD',
9
+ 'SONIC',
10
+ 'LENS',
11
+ 'WORLD',
12
+ 'STABLE',
13
+ 'HYPER',
14
+ 'LISK',
15
+ 'SEI',
16
+ 'GRAVITY',
17
+ 'SONEIUM',
18
+ 'SWELL',
19
+ 'ABS',
20
+ 'MORPH',
21
+ 'TEMPO',
22
+ 'MEGAETH',
23
+ 'PLASMA',
24
+ 'APE',
25
+ 'HEMI',
26
+ 'SOPHON',
27
+ 'INK',
28
+ 'BOB',
29
+ 'BERA',
30
+ 'PLUME',
31
+ 'TAIKO',
32
+ 'KATANA',
33
+ 'STORY',
34
+ 'CYBER',
35
+ 'ZIRCUIT',
36
+ ];
37
+ export const SERVER_ID_TO_CHAIN_ENUM = {
38
+ eth: CHAINS_ENUM.ETH,
39
+ op: CHAINS_ENUM.OP,
40
+ flr: CHAINS_ENUM.FLR,
41
+ cro: CHAINS_ENUM.CRO,
42
+ rsk: CHAINS_ENUM.RSK,
43
+ xdc: 'XDC',
44
+ bsc: CHAINS_ENUM.BSC,
45
+ xdai: CHAINS_ENUM.GNOSIS,
46
+ fuse: CHAINS_ENUM.FUSE,
47
+ uni: 'UNI',
48
+ matic: CHAINS_ENUM.POLYGON,
49
+ monad: 'MONAD',
50
+ sonic: 'SONIC',
51
+ opbnb: CHAINS_ENUM.OPBNB,
52
+ lens: 'LENS',
53
+ frax: CHAINS_ENUM.FRAX,
54
+ era: CHAINS_ENUM.ERA,
55
+ world: 'WORLD',
56
+ stable: 'STABLE',
57
+ hyper: 'HYPER',
58
+ metis: CHAINS_ENUM.METIS,
59
+ lisk: 'LISK',
60
+ sei: 'SEI',
61
+ gravity: 'GRAVITY',
62
+ soneium: 'SONEIUM',
63
+ swell: 'SWELL',
64
+ ron: 'RONIN',
65
+ xlayer: 'XLAYER',
66
+ abs: 'ABS',
67
+ morph: 'MORPH',
68
+ tempo: 'TEMPO',
69
+ megaeth: 'MEGAETH',
70
+ mnt: CHAINS_ENUM.MANTLE,
71
+ klay: CHAINS_ENUM.KLAY,
72
+ base: CHAINS_ENUM.BASE,
73
+ plasma: 'PLASMA',
74
+ ape: 'APE',
75
+ mode: CHAINS_ENUM.MODE,
76
+ arb: CHAINS_ENUM.ARBITRUM,
77
+ celo: CHAINS_ENUM.CELO,
78
+ hemi: 'HEMI',
79
+ avax: CHAINS_ENUM.AVAX,
80
+ sophon: 'SOPHON',
81
+ ink: 'INK',
82
+ linea: CHAINS_ENUM.LINEA,
83
+ bob: 'BOB',
84
+ bera: 'BERA',
85
+ blast: CHAINS_ENUM.BLAST,
86
+ plume: 'PLUME',
87
+ taiko: 'TAIKO',
88
+ scrl: CHAINS_ENUM.SCRL,
89
+ katana: 'KATANA',
90
+ manta: CHAINS_ENUM.MANTA,
91
+ story: 'STORY',
92
+ cyber: 'CYBER',
93
+ zircuit: 'ZIRCUIT',
94
+ zora: CHAINS_ENUM.ZORA,
95
+ };
96
+ export const CHAIN_ENUM_TO_SERVER_ID = Object.fromEntries(Object.entries(SERVER_ID_TO_CHAIN_ENUM).map(([serverId, chainEnum]) => [
97
+ chainEnum,
98
+ serverId,
99
+ ]));
100
+ export const normalizeChainEnum = (chainId) => {
101
+ if (Object.values(CHAINS_ENUM).includes(chainId) ||
102
+ EXTRA_CHAINS.includes(chainId)) {
103
+ return chainId;
104
+ }
105
+ const serverId = chainId.toLowerCase();
106
+ return SERVER_ID_TO_CHAIN_ENUM[serverId];
107
+ };
@@ -0,0 +1,9 @@
1
+ export declare const BRIDGE_AGGREGATORS: readonly ["lifi", "bungee", "relay", "stargate", "near_intents"];
2
+ export declare const BRIDGE_ENUM: {
3
+ readonly LIFI: "lifi";
4
+ readonly BUNGEE: "bungee";
5
+ readonly RELAY: "relay";
6
+ readonly STARGATE: "stargate";
7
+ readonly NEAR_INTENTS: "near_intents";
8
+ };
9
+ export type BridgeAggregatorId = (typeof BRIDGE_AGGREGATORS)[number];
package/dist/consts.js ADDED
@@ -0,0 +1,9 @@
1
+ import { SUPPORTED_AGGREGATORS } from './data.js';
2
+ export const BRIDGE_AGGREGATORS = SUPPORTED_AGGREGATORS;
3
+ export const BRIDGE_ENUM = {
4
+ LIFI: 'lifi',
5
+ BUNGEE: 'bungee',
6
+ RELAY: 'relay',
7
+ STARGATE: 'stargate',
8
+ NEAR_INTENTS: 'near_intents',
9
+ };
package/dist/data.d.ts ADDED
@@ -0,0 +1,336 @@
1
+ import { type ChainEnum } from './chains.js';
2
+ export declare const SUPPORTED_AGGREGATORS: readonly ["lifi", "bungee", "relay", "stargate", "near_intents"];
3
+ declare const EXTRA_CHAINS: {
4
+ readonly XDC: ChainEnum;
5
+ readonly UNI: ChainEnum;
6
+ readonly RONIN: ChainEnum;
7
+ readonly XLAYER: ChainEnum;
8
+ readonly MONAD: ChainEnum;
9
+ readonly SONIC: ChainEnum;
10
+ readonly LENS: ChainEnum;
11
+ readonly WORLD: ChainEnum;
12
+ readonly STABLE: ChainEnum;
13
+ readonly HYPER: ChainEnum;
14
+ readonly LISK: ChainEnum;
15
+ readonly SEI: ChainEnum;
16
+ readonly GRAVITY: ChainEnum;
17
+ readonly SONEIUM: ChainEnum;
18
+ readonly SWELL: ChainEnum;
19
+ readonly ABS: ChainEnum;
20
+ readonly MORPH: ChainEnum;
21
+ readonly TEMPO: ChainEnum;
22
+ readonly MEGAETH: ChainEnum;
23
+ readonly PLASMA: ChainEnum;
24
+ readonly APE: ChainEnum;
25
+ readonly HEMI: ChainEnum;
26
+ readonly SOPHON: ChainEnum;
27
+ readonly INK: ChainEnum;
28
+ readonly BOB: ChainEnum;
29
+ readonly BERA: ChainEnum;
30
+ readonly PLUME: ChainEnum;
31
+ readonly TAIKO: ChainEnum;
32
+ readonly KATANA: ChainEnum;
33
+ readonly STORY: ChainEnum;
34
+ readonly CYBER: ChainEnum;
35
+ readonly ZIRCUIT: ChainEnum;
36
+ };
37
+ export declare const BRIDGE_SUPPORT_CHAINS_DATA: {
38
+ readonly near_intents: [import("@debank/common").CHAINS_ENUM.ETH, import("@debank/common").CHAINS_ENUM.ARBITRUM, import("@debank/common").CHAINS_ENUM.BASE, import("@debank/common").CHAINS_ENUM.BSC, import("@debank/common").CHAINS_ENUM.POLYGON, import("@debank/common").CHAINS_ENUM.OP, import("@debank/common").CHAINS_ENUM.AVAX, import("@debank/common").CHAINS_ENUM.GNOSIS, import("@debank/common").CHAINS_ENUM.SCRL, ChainEnum, ChainEnum];
39
+ };
40
+ export declare const BRIDGE_SPENDER_WHITELIST_DATA: {
41
+ readonly lifi: {
42
+ readonly [EXTRA_CHAINS.XDC]: "0x055d4612ec74ad799c6cb4df72c0ab8dbdbcbafa";
43
+ readonly [EXTRA_CHAINS.UNI]: "0x864b314d4c5a0399368609581d3e8933a63b9232";
44
+ readonly [EXTRA_CHAINS.MONAD]: "0x026f252016a7c47cdef1f05a3fc9e20c92a49c37";
45
+ readonly [EXTRA_CHAINS.SONIC]: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
46
+ readonly [EXTRA_CHAINS.LENS]: "0xf3b20515d9b193531c48e47c18af16d1e5d28f9a";
47
+ readonly [EXTRA_CHAINS.WORLD]: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
48
+ readonly [EXTRA_CHAINS.STABLE]: "0x026f252016a7c47cdef1f05a3fc9e20c92a49c37";
49
+ readonly [EXTRA_CHAINS.HYPER]: "0x0a0758d937d1059c356d4714e57f5df0239bce1a";
50
+ readonly [EXTRA_CHAINS.LISK]: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
51
+ readonly [EXTRA_CHAINS.SEI]: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
52
+ readonly [EXTRA_CHAINS.GRAVITY]: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
53
+ readonly [EXTRA_CHAINS.SONEIUM]: "0x864b314d4c5a0399368609581d3e8933a63b9232";
54
+ readonly [EXTRA_CHAINS.SWELL]: "0x76f6937a41910f075024138066708b36139ac104";
55
+ readonly [EXTRA_CHAINS.RONIN]: "0x452cf1b8597e6319cd21abd847312bf17e26d8d1";
56
+ readonly [EXTRA_CHAINS.ABS]: "0x4f8c9056bb8a3616693a76922fa35d53c056e5b3";
57
+ readonly [EXTRA_CHAINS.MORPH]: "0xf7ab42d00d2399f8a4fba2f15466be40709fe307";
58
+ readonly [EXTRA_CHAINS.TEMPO]: "0x2cacae8e22418e65dcf7651c67aebe6288eb8243";
59
+ readonly [EXTRA_CHAINS.MEGAETH]: "0x026f252016a7c47cdef1f05a3fc9e20c92a49c37";
60
+ readonly [EXTRA_CHAINS.PLASMA]: "0x026f252016a7c47cdef1f05a3fc9e20c92a49c37";
61
+ readonly [EXTRA_CHAINS.APE]: "0x2dea447e7dc6cd2f10b31bf10dcb30f87e838417";
62
+ readonly [EXTRA_CHAINS.HEMI]: "0x026f252016a7c47cdef1f05a3fc9e20c92a49c37";
63
+ readonly [EXTRA_CHAINS.SOPHON]: "0x81afe8745038a0b63782186bcd1a4f27cb2aef9d";
64
+ readonly [EXTRA_CHAINS.INK]: "0x864b314d4c5a0399368609581d3e8933a63b9232";
65
+ readonly [EXTRA_CHAINS.BOB]: "0x452cf1b8597e6319cd21abd847312bf17e26d8d1";
66
+ readonly [EXTRA_CHAINS.BERA]: "0xf909c4ae16622898b885b89d7f839e0244851c66";
67
+ readonly [EXTRA_CHAINS.PLUME]: "0x6f5c8bb0c5fe4eceac40ee1c238eab6bbb29761c";
68
+ readonly [EXTRA_CHAINS.TAIKO]: "0x3a9a5dba8fe1c4da98187ce4755701bca182f63b";
69
+ readonly [EXTRA_CHAINS.KATANA]: "0xc59fe32c9549e3e8b5dccdabc45bd287bd5ba2bc";
70
+ readonly ETH: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
71
+ readonly OP: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
72
+ readonly FLR: "0x198fc70dfe05e755c81e54bd67bff3f729344b9b";
73
+ readonly CRO: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
74
+ readonly RSK: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
75
+ readonly BSC: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
76
+ readonly GNOSIS: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
77
+ readonly FUSE: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
78
+ readonly POLYGON: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
79
+ readonly OPBNB: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
80
+ readonly FRAX: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
81
+ readonly ERA: "0x341e94069f53234fe6dabef707ad424830525715";
82
+ readonly METIS: "0x24ca98fb6972f5ee05f0db00595c7f68d9fafd68";
83
+ readonly MANTLE: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
84
+ readonly KLAY: "0x1255d17c1bc2f764d087536410879f2d0d8772fd";
85
+ readonly BASE: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
86
+ readonly MODE: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
87
+ readonly ARBITRUM: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
88
+ readonly CELO: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
89
+ readonly AVAX: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
90
+ readonly LINEA: "0xde1e598b81620773454588b85d6b5d4eec32573e";
91
+ readonly BLAST: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
92
+ readonly SCRL: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
93
+ };
94
+ readonly bungee: {
95
+ readonly [EXTRA_CHAINS.UNI]: "0x3a23f943181408eac424116af7b7790c94cb97a5";
96
+ readonly [EXTRA_CHAINS.SONIC]: "0x3a23f943181408eac424116af7b7790c94cb97a5";
97
+ readonly [EXTRA_CHAINS.WORLD]: "0x3a23f943181408eac424116af7b7790c94cb97a5";
98
+ readonly [EXTRA_CHAINS.HYPER]: "0x3a23f943181408eac424116af7b7790c94cb97a5";
99
+ readonly [EXTRA_CHAINS.ABS]: "0xf8291b7c7fdaa275a0b17da1a756d1fbe4d3a13d";
100
+ readonly [EXTRA_CHAINS.INK]: "0x3a23f943181408eac424116af7b7790c94cb97a5";
101
+ readonly [EXTRA_CHAINS.BERA]: "0x3a23f943181408eac424116af7b7790c94cb97a5";
102
+ readonly ETH: "0x3a23f943181408eac424116af7b7790c94cb97a5";
103
+ readonly OP: "0x3a23f943181408eac424116af7b7790c94cb97a5";
104
+ readonly BSC: "0x3a23f943181408eac424116af7b7790c94cb97a5";
105
+ readonly GNOSIS: "0x3a23f943181408eac424116af7b7790c94cb97a5";
106
+ readonly POLYGON: "0x3a23f943181408eac424116af7b7790c94cb97a5";
107
+ readonly MANTLE: "0x3a23f943181408eac424116af7b7790c94cb97a5";
108
+ readonly BASE: "0x3a23f943181408eac424116af7b7790c94cb97a5";
109
+ readonly MODE: "0x3a23f943181408eac424116af7b7790c94cb97a5";
110
+ readonly ARBITRUM: "0x3a23f943181408eac424116af7b7790c94cb97a5";
111
+ readonly AVAX: "0x3a23f943181408eac424116af7b7790c94cb97a5";
112
+ readonly LINEA: "0x3a23f943181408eac424116af7b7790c94cb97a5";
113
+ readonly BLAST: "0x3a23f943181408eac424116af7b7790c94cb97a5";
114
+ readonly SCRL: "0x3a23f943181408eac424116af7b7790c94cb97a5";
115
+ };
116
+ readonly relay: {
117
+ readonly [EXTRA_CHAINS.UNI]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
118
+ readonly [EXTRA_CHAINS.SONIC]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
119
+ readonly [EXTRA_CHAINS.WORLD]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
120
+ readonly [EXTRA_CHAINS.HYPER]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
121
+ readonly [EXTRA_CHAINS.LISK]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
122
+ readonly [EXTRA_CHAINS.SEI]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
123
+ readonly [EXTRA_CHAINS.STORY]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
124
+ readonly [EXTRA_CHAINS.GRAVITY]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
125
+ readonly [EXTRA_CHAINS.SONEIUM]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
126
+ readonly [EXTRA_CHAINS.SWELL]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
127
+ readonly [EXTRA_CHAINS.RONIN]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
128
+ readonly [EXTRA_CHAINS.ABS]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
129
+ readonly [EXTRA_CHAINS.MORPH]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
130
+ readonly [EXTRA_CHAINS.CYBER]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
131
+ readonly [EXTRA_CHAINS.APE]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
132
+ readonly [EXTRA_CHAINS.HEMI]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
133
+ readonly [EXTRA_CHAINS.ZIRCUIT]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
134
+ readonly [EXTRA_CHAINS.INK]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
135
+ readonly [EXTRA_CHAINS.BOB]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
136
+ readonly [EXTRA_CHAINS.BERA]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
137
+ readonly [EXTRA_CHAINS.PLUME]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
138
+ readonly [EXTRA_CHAINS.TAIKO]: "0x59916da825d2d2ec1bf878d71c88826f6633ecca";
139
+ readonly [EXTRA_CHAINS.KATANA]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
140
+ readonly [EXTRA_CHAINS.MONAD]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
141
+ readonly [EXTRA_CHAINS.MEGAETH]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
142
+ readonly [EXTRA_CHAINS.PLASMA]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
143
+ readonly ETH: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
144
+ readonly OP: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
145
+ readonly CRO: "0x59916da825d2d2ec1bf878d71c88826f6633ecca";
146
+ readonly BSC: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
147
+ readonly GNOSIS: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
148
+ readonly POLYGON: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
149
+ readonly MANTA: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
150
+ readonly ERA: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
151
+ readonly METIS: "0x59916da825d2d2ec1bf878d71c88826f6633ecca";
152
+ readonly MANTLE: "0x59916da825d2d2ec1bf878d71c88826f6633ecca";
153
+ readonly BASE: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
154
+ readonly MODE: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
155
+ readonly ARBITRUM: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
156
+ readonly CELO: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
157
+ readonly AVAX: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
158
+ readonly LINEA: "0x59916da825d2d2ec1bf878d71c88826f6633ecca";
159
+ readonly BLAST: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
160
+ readonly SCRL: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
161
+ readonly ZORA: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
162
+ };
163
+ readonly stargate: {
164
+ readonly [EXTRA_CHAINS.ABS]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
165
+ readonly [EXTRA_CHAINS.BERA]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
166
+ readonly [EXTRA_CHAINS.HEMI]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
167
+ readonly [EXTRA_CHAINS.HYPER]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
168
+ readonly [EXTRA_CHAINS.INK]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
169
+ readonly [EXTRA_CHAINS.MONAD]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
170
+ readonly [EXTRA_CHAINS.PLASMA]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
171
+ readonly [EXTRA_CHAINS.SONEIUM]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
172
+ readonly [EXTRA_CHAINS.UNI]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
173
+ readonly [EXTRA_CHAINS.STABLE]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
174
+ readonly [EXTRA_CHAINS.TEMPO]: "0x4683ce822272cd66cea73f5f1f9f5cbcaef4f066";
175
+ readonly BASE: "0x7e07a9148e9149e430c6412b79a675028595ff1f";
176
+ readonly ETH: "0xacddac6c77318b615f7f6fb9bb67c6833e9c05f1";
177
+ readonly ARBITRUM: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
178
+ readonly OP: "0x5528cf58feb8fbfce94f43b33240fffb1312bde3";
179
+ readonly BSC: "0x5528cf58feb8fbfce94f43b33240fffb1312bde3";
180
+ readonly POLYGON: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
181
+ readonly AVAX: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
182
+ readonly LINEA: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
183
+ readonly MANTLE: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
184
+ readonly SCRL: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
185
+ };
186
+ readonly near_intents: {};
187
+ };
188
+ export declare const BRIDGE_ROUTER_WHITELIST_DATA: {
189
+ readonly lifi: {
190
+ readonly [EXTRA_CHAINS.XDC]: "0x055d4612ec74ad799c6cb4df72c0ab8dbdbcbafa";
191
+ readonly [EXTRA_CHAINS.UNI]: "0x864b314d4c5a0399368609581d3e8933a63b9232";
192
+ readonly [EXTRA_CHAINS.MONAD]: "0x026f252016a7c47cdef1f05a3fc9e20c92a49c37";
193
+ readonly [EXTRA_CHAINS.SONIC]: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
194
+ readonly [EXTRA_CHAINS.LENS]: "0xf3b20515d9b193531c48e47c18af16d1e5d28f9a";
195
+ readonly [EXTRA_CHAINS.WORLD]: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
196
+ readonly [EXTRA_CHAINS.STABLE]: "0x026f252016a7c47cdef1f05a3fc9e20c92a49c37";
197
+ readonly [EXTRA_CHAINS.HYPER]: "0x0a0758d937d1059c356d4714e57f5df0239bce1a";
198
+ readonly [EXTRA_CHAINS.LISK]: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
199
+ readonly [EXTRA_CHAINS.SEI]: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
200
+ readonly [EXTRA_CHAINS.GRAVITY]: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
201
+ readonly [EXTRA_CHAINS.SONEIUM]: "0x864b314d4c5a0399368609581d3e8933a63b9232";
202
+ readonly [EXTRA_CHAINS.SWELL]: "0x76f6937a41910f075024138066708b36139ac104";
203
+ readonly [EXTRA_CHAINS.RONIN]: "0x452cf1b8597e6319cd21abd847312bf17e26d8d1";
204
+ readonly [EXTRA_CHAINS.ABS]: "0x4f8c9056bb8a3616693a76922fa35d53c056e5b3";
205
+ readonly [EXTRA_CHAINS.MORPH]: "0xf7ab42d00d2399f8a4fba2f15466be40709fe307";
206
+ readonly [EXTRA_CHAINS.TEMPO]: "0x2cacae8e22418e65dcf7651c67aebe6288eb8243";
207
+ readonly [EXTRA_CHAINS.MEGAETH]: "0x026f252016a7c47cdef1f05a3fc9e20c92a49c37";
208
+ readonly [EXTRA_CHAINS.PLASMA]: "0x026f252016a7c47cdef1f05a3fc9e20c92a49c37";
209
+ readonly [EXTRA_CHAINS.APE]: "0x2dea447e7dc6cd2f10b31bf10dcb30f87e838417";
210
+ readonly [EXTRA_CHAINS.HEMI]: "0x026f252016a7c47cdef1f05a3fc9e20c92a49c37";
211
+ readonly [EXTRA_CHAINS.SOPHON]: "0x81afe8745038a0b63782186bcd1a4f27cb2aef9d";
212
+ readonly [EXTRA_CHAINS.INK]: "0x864b314d4c5a0399368609581d3e8933a63b9232";
213
+ readonly [EXTRA_CHAINS.BOB]: "0x452cf1b8597e6319cd21abd847312bf17e26d8d1";
214
+ readonly [EXTRA_CHAINS.BERA]: "0xf909c4ae16622898b885b89d7f839e0244851c66";
215
+ readonly [EXTRA_CHAINS.PLUME]: "0x6f5c8bb0c5fe4eceac40ee1c238eab6bbb29761c";
216
+ readonly [EXTRA_CHAINS.TAIKO]: "0x3a9a5dba8fe1c4da98187ce4755701bca182f63b";
217
+ readonly [EXTRA_CHAINS.KATANA]: "0xc59fe32c9549e3e8b5dccdabc45bd287bd5ba2bc";
218
+ readonly ETH: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
219
+ readonly OP: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
220
+ readonly FLR: "0x198fc70dfe05e755c81e54bd67bff3f729344b9b";
221
+ readonly CRO: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
222
+ readonly RSK: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
223
+ readonly BSC: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
224
+ readonly GNOSIS: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
225
+ readonly FUSE: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
226
+ readonly POLYGON: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
227
+ readonly OPBNB: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
228
+ readonly FRAX: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
229
+ readonly ERA: "0x341e94069f53234fe6dabef707ad424830525715";
230
+ readonly METIS: "0x24ca98fb6972f5ee05f0db00595c7f68d9fafd68";
231
+ readonly MANTLE: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
232
+ readonly KLAY: "0x1255d17c1bc2f764d087536410879f2d0d8772fd";
233
+ readonly BASE: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
234
+ readonly MODE: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
235
+ readonly ARBITRUM: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
236
+ readonly CELO: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
237
+ readonly AVAX: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
238
+ readonly LINEA: "0xde1e598b81620773454588b85d6b5d4eec32573e";
239
+ readonly BLAST: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
240
+ readonly SCRL: "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae";
241
+ };
242
+ readonly bungee: {
243
+ readonly [EXTRA_CHAINS.UNI]: "0x3a23f943181408eac424116af7b7790c94cb97a5";
244
+ readonly [EXTRA_CHAINS.SONIC]: "0x3a23f943181408eac424116af7b7790c94cb97a5";
245
+ readonly [EXTRA_CHAINS.WORLD]: "0x3a23f943181408eac424116af7b7790c94cb97a5";
246
+ readonly [EXTRA_CHAINS.HYPER]: "0x3a23f943181408eac424116af7b7790c94cb97a5";
247
+ readonly [EXTRA_CHAINS.ABS]: "0xf8291b7c7fdaa275a0b17da1a756d1fbe4d3a13d";
248
+ readonly [EXTRA_CHAINS.INK]: "0x3a23f943181408eac424116af7b7790c94cb97a5";
249
+ readonly [EXTRA_CHAINS.BERA]: "0x3a23f943181408eac424116af7b7790c94cb97a5";
250
+ readonly ETH: "0x3a23f943181408eac424116af7b7790c94cb97a5";
251
+ readonly OP: "0x3a23f943181408eac424116af7b7790c94cb97a5";
252
+ readonly BSC: "0x3a23f943181408eac424116af7b7790c94cb97a5";
253
+ readonly GNOSIS: "0x3a23f943181408eac424116af7b7790c94cb97a5";
254
+ readonly POLYGON: "0x3a23f943181408eac424116af7b7790c94cb97a5";
255
+ readonly MANTLE: "0x3a23f943181408eac424116af7b7790c94cb97a5";
256
+ readonly BASE: "0x3a23f943181408eac424116af7b7790c94cb97a5";
257
+ readonly MODE: "0x3a23f943181408eac424116af7b7790c94cb97a5";
258
+ readonly ARBITRUM: "0x3a23f943181408eac424116af7b7790c94cb97a5";
259
+ readonly AVAX: "0x3a23f943181408eac424116af7b7790c94cb97a5";
260
+ readonly LINEA: "0x3a23f943181408eac424116af7b7790c94cb97a5";
261
+ readonly BLAST: "0x3a23f943181408eac424116af7b7790c94cb97a5";
262
+ readonly SCRL: "0x3a23f943181408eac424116af7b7790c94cb97a5";
263
+ };
264
+ readonly relay: {
265
+ readonly [EXTRA_CHAINS.UNI]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
266
+ readonly [EXTRA_CHAINS.SONIC]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
267
+ readonly [EXTRA_CHAINS.WORLD]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
268
+ readonly [EXTRA_CHAINS.HYPER]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
269
+ readonly [EXTRA_CHAINS.LISK]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
270
+ readonly [EXTRA_CHAINS.SEI]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
271
+ readonly [EXTRA_CHAINS.STORY]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
272
+ readonly [EXTRA_CHAINS.GRAVITY]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
273
+ readonly [EXTRA_CHAINS.SONEIUM]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
274
+ readonly [EXTRA_CHAINS.SWELL]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
275
+ readonly [EXTRA_CHAINS.RONIN]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
276
+ readonly [EXTRA_CHAINS.ABS]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
277
+ readonly [EXTRA_CHAINS.MORPH]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
278
+ readonly [EXTRA_CHAINS.CYBER]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
279
+ readonly [EXTRA_CHAINS.APE]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
280
+ readonly [EXTRA_CHAINS.HEMI]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
281
+ readonly [EXTRA_CHAINS.ZIRCUIT]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
282
+ readonly [EXTRA_CHAINS.INK]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
283
+ readonly [EXTRA_CHAINS.BOB]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
284
+ readonly [EXTRA_CHAINS.BERA]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
285
+ readonly [EXTRA_CHAINS.PLUME]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
286
+ readonly [EXTRA_CHAINS.TAIKO]: "0x59916da825d2d2ec1bf878d71c88826f6633ecca";
287
+ readonly [EXTRA_CHAINS.KATANA]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
288
+ readonly [EXTRA_CHAINS.MONAD]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
289
+ readonly [EXTRA_CHAINS.MEGAETH]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
290
+ readonly [EXTRA_CHAINS.PLASMA]: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
291
+ readonly ETH: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
292
+ readonly OP: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
293
+ readonly CRO: "0x59916da825d2d2ec1bf878d71c88826f6633ecca";
294
+ readonly BSC: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
295
+ readonly GNOSIS: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
296
+ readonly POLYGON: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
297
+ readonly MANTA: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
298
+ readonly ERA: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
299
+ readonly METIS: "0x59916da825d2d2ec1bf878d71c88826f6633ecca";
300
+ readonly MANTLE: "0x59916da825d2d2ec1bf878d71c88826f6633ecca";
301
+ readonly BASE: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
302
+ readonly MODE: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
303
+ readonly ARBITRUM: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
304
+ readonly CELO: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
305
+ readonly AVAX: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
306
+ readonly LINEA: "0x59916da825d2d2ec1bf878d71c88826f6633ecca";
307
+ readonly BLAST: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
308
+ readonly SCRL: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
309
+ readonly ZORA: "0x4cd00e387622c35bddb9b4c962c136462338bc31";
310
+ };
311
+ readonly stargate: {
312
+ readonly [EXTRA_CHAINS.ABS]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
313
+ readonly [EXTRA_CHAINS.BERA]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
314
+ readonly [EXTRA_CHAINS.HEMI]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
315
+ readonly [EXTRA_CHAINS.HYPER]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
316
+ readonly [EXTRA_CHAINS.INK]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
317
+ readonly [EXTRA_CHAINS.MONAD]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
318
+ readonly [EXTRA_CHAINS.PLASMA]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
319
+ readonly [EXTRA_CHAINS.SONEIUM]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
320
+ readonly [EXTRA_CHAINS.UNI]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
321
+ readonly [EXTRA_CHAINS.STABLE]: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
322
+ readonly [EXTRA_CHAINS.TEMPO]: "0x4683ce822272cd66cea73f5f1f9f5cbcaef4f066";
323
+ readonly BASE: "0x7e07a9148e9149e430c6412b79a675028595ff1f";
324
+ readonly ETH: "0xacddac6c77318b615f7f6fb9bb67c6833e9c05f1";
325
+ readonly ARBITRUM: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
326
+ readonly OP: "0x5528cf58feb8fbfce94f43b33240fffb1312bde3";
327
+ readonly BSC: "0x5528cf58feb8fbfce94f43b33240fffb1312bde3";
328
+ readonly POLYGON: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
329
+ readonly AVAX: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
330
+ readonly LINEA: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
331
+ readonly MANTLE: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
332
+ readonly SCRL: "0x8e60b7b64b63cd56b18ebcecadcb79b04919286e";
333
+ };
334
+ readonly near_intents: {};
335
+ };
336
+ export {};
package/dist/data.js ADDED
@@ -0,0 +1,353 @@
1
+ import { CHAINS_ENUM } from './chains.js';
2
+ export const SUPPORTED_AGGREGATORS = [
3
+ 'lifi',
4
+ 'bungee',
5
+ 'relay',
6
+ 'stargate',
7
+ 'near_intents',
8
+ ];
9
+ const EXTRA_CHAINS = {
10
+ XDC: 'XDC',
11
+ UNI: 'UNI',
12
+ RONIN: 'RONIN',
13
+ XLAYER: 'XLAYER',
14
+ MONAD: 'MONAD',
15
+ SONIC: 'SONIC',
16
+ LENS: 'LENS',
17
+ WORLD: 'WORLD',
18
+ STABLE: 'STABLE',
19
+ HYPER: 'HYPER',
20
+ LISK: 'LISK',
21
+ SEI: 'SEI',
22
+ GRAVITY: 'GRAVITY',
23
+ SONEIUM: 'SONEIUM',
24
+ SWELL: 'SWELL',
25
+ ABS: 'ABS',
26
+ MORPH: 'MORPH',
27
+ TEMPO: 'TEMPO',
28
+ MEGAETH: 'MEGAETH',
29
+ PLASMA: 'PLASMA',
30
+ APE: 'APE',
31
+ HEMI: 'HEMI',
32
+ SOPHON: 'SOPHON',
33
+ INK: 'INK',
34
+ BOB: 'BOB',
35
+ BERA: 'BERA',
36
+ PLUME: 'PLUME',
37
+ TAIKO: 'TAIKO',
38
+ KATANA: 'KATANA',
39
+ STORY: 'STORY',
40
+ CYBER: 'CYBER',
41
+ ZIRCUIT: 'ZIRCUIT',
42
+ };
43
+ export const BRIDGE_SUPPORT_CHAINS_DATA = {
44
+ near_intents: [
45
+ CHAINS_ENUM.ETH,
46
+ CHAINS_ENUM.ARBITRUM,
47
+ CHAINS_ENUM.BASE,
48
+ CHAINS_ENUM.BSC,
49
+ CHAINS_ENUM.POLYGON,
50
+ CHAINS_ENUM.OP,
51
+ CHAINS_ENUM.AVAX,
52
+ CHAINS_ENUM.GNOSIS,
53
+ CHAINS_ENUM.SCRL,
54
+ EXTRA_CHAINS.BERA,
55
+ EXTRA_CHAINS.XLAYER,
56
+ ],
57
+ };
58
+ export const BRIDGE_SPENDER_WHITELIST_DATA = {
59
+ lifi: {
60
+ [CHAINS_ENUM.ETH]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
61
+ [CHAINS_ENUM.OP]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
62
+ [CHAINS_ENUM.FLR]: '0x198fc70dfe05e755c81e54bd67bff3f729344b9b',
63
+ [CHAINS_ENUM.CRO]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
64
+ [CHAINS_ENUM.RSK]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
65
+ [EXTRA_CHAINS.XDC]: '0x055d4612ec74ad799c6cb4df72c0ab8dbdbcbafa',
66
+ [CHAINS_ENUM.BSC]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
67
+ [CHAINS_ENUM.GNOSIS]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
68
+ [CHAINS_ENUM.FUSE]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
69
+ [EXTRA_CHAINS.UNI]: '0x864b314d4c5a0399368609581d3e8933a63b9232',
70
+ [CHAINS_ENUM.POLYGON]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
71
+ [EXTRA_CHAINS.MONAD]: '0x026f252016a7c47cdef1f05a3fc9e20c92a49c37',
72
+ [EXTRA_CHAINS.SONIC]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
73
+ [CHAINS_ENUM.OPBNB]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
74
+ [EXTRA_CHAINS.LENS]: '0xf3b20515d9b193531c48e47c18af16d1e5d28f9a',
75
+ [CHAINS_ENUM.FRAX]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
76
+ [CHAINS_ENUM.ERA]: '0x341e94069f53234fe6dabef707ad424830525715',
77
+ [EXTRA_CHAINS.WORLD]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
78
+ [EXTRA_CHAINS.STABLE]: '0x026f252016a7c47cdef1f05a3fc9e20c92a49c37',
79
+ [EXTRA_CHAINS.HYPER]: '0x0a0758d937d1059c356d4714e57f5df0239bce1a',
80
+ [CHAINS_ENUM.METIS]: '0x24ca98fb6972f5ee05f0db00595c7f68d9fafd68',
81
+ [EXTRA_CHAINS.LISK]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
82
+ [EXTRA_CHAINS.SEI]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
83
+ [EXTRA_CHAINS.GRAVITY]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
84
+ [EXTRA_CHAINS.SONEIUM]: '0x864b314d4c5a0399368609581d3e8933a63b9232',
85
+ [EXTRA_CHAINS.SWELL]: '0x76f6937a41910f075024138066708b36139ac104',
86
+ [EXTRA_CHAINS.RONIN]: '0x452cf1b8597e6319cd21abd847312bf17e26d8d1',
87
+ [EXTRA_CHAINS.ABS]: '0x4f8c9056bb8a3616693a76922fa35d53c056e5b3',
88
+ [EXTRA_CHAINS.MORPH]: '0xf7ab42d00d2399f8a4fba2f15466be40709fe307',
89
+ [EXTRA_CHAINS.TEMPO]: '0x2cacae8e22418e65dcf7651c67aebe6288eb8243',
90
+ [EXTRA_CHAINS.MEGAETH]: '0x026f252016a7c47cdef1f05a3fc9e20c92a49c37',
91
+ [CHAINS_ENUM.MANTLE]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
92
+ [CHAINS_ENUM.KLAY]: '0x1255d17c1bc2f764d087536410879f2d0d8772fd',
93
+ [CHAINS_ENUM.BASE]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
94
+ [EXTRA_CHAINS.PLASMA]: '0x026f252016a7c47cdef1f05a3fc9e20c92a49c37',
95
+ [EXTRA_CHAINS.APE]: '0x2dea447e7dc6cd2f10b31bf10dcb30f87e838417',
96
+ [CHAINS_ENUM.MODE]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
97
+ [CHAINS_ENUM.ARBITRUM]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
98
+ [CHAINS_ENUM.CELO]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
99
+ [EXTRA_CHAINS.HEMI]: '0x026f252016a7c47cdef1f05a3fc9e20c92a49c37',
100
+ [CHAINS_ENUM.AVAX]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
101
+ [EXTRA_CHAINS.SOPHON]: '0x81afe8745038a0b63782186bcd1a4f27cb2aef9d',
102
+ [EXTRA_CHAINS.INK]: '0x864b314d4c5a0399368609581d3e8933a63b9232',
103
+ [CHAINS_ENUM.LINEA]: '0xde1e598b81620773454588b85d6b5d4eec32573e',
104
+ [EXTRA_CHAINS.BOB]: '0x452cf1b8597e6319cd21abd847312bf17e26d8d1',
105
+ [EXTRA_CHAINS.BERA]: '0xf909c4ae16622898b885b89d7f839e0244851c66',
106
+ [CHAINS_ENUM.BLAST]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
107
+ [EXTRA_CHAINS.PLUME]: '0x6f5c8bb0c5fe4eceac40ee1c238eab6bbb29761c',
108
+ [EXTRA_CHAINS.TAIKO]: '0x3a9a5dba8fe1c4da98187ce4755701bca182f63b',
109
+ [CHAINS_ENUM.SCRL]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
110
+ [EXTRA_CHAINS.KATANA]: '0xc59fe32c9549e3e8b5dccdabc45bd287bd5ba2bc',
111
+ },
112
+ bungee: {
113
+ [CHAINS_ENUM.ETH]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
114
+ [CHAINS_ENUM.OP]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
115
+ [CHAINS_ENUM.BSC]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
116
+ [CHAINS_ENUM.GNOSIS]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
117
+ [EXTRA_CHAINS.UNI]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
118
+ [CHAINS_ENUM.POLYGON]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
119
+ [EXTRA_CHAINS.SONIC]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
120
+ [EXTRA_CHAINS.WORLD]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
121
+ [EXTRA_CHAINS.HYPER]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
122
+ [EXTRA_CHAINS.ABS]: '0xf8291b7c7fdaa275a0b17da1a756d1fbe4d3a13d',
123
+ [CHAINS_ENUM.MANTLE]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
124
+ [CHAINS_ENUM.BASE]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
125
+ [CHAINS_ENUM.MODE]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
126
+ [CHAINS_ENUM.ARBITRUM]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
127
+ [CHAINS_ENUM.AVAX]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
128
+ [EXTRA_CHAINS.INK]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
129
+ [CHAINS_ENUM.LINEA]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
130
+ [EXTRA_CHAINS.BERA]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
131
+ [CHAINS_ENUM.BLAST]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
132
+ [CHAINS_ENUM.SCRL]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
133
+ },
134
+ relay: {
135
+ [CHAINS_ENUM.ETH]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
136
+ [CHAINS_ENUM.OP]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
137
+ [CHAINS_ENUM.CRO]: '0x59916da825d2d2ec1bf878d71c88826f6633ecca',
138
+ [CHAINS_ENUM.BSC]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
139
+ [CHAINS_ENUM.GNOSIS]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
140
+ [EXTRA_CHAINS.UNI]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
141
+ [CHAINS_ENUM.POLYGON]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
142
+ [EXTRA_CHAINS.SONIC]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
143
+ [CHAINS_ENUM.MANTA]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
144
+ [CHAINS_ENUM.ERA]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
145
+ [EXTRA_CHAINS.WORLD]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
146
+ [EXTRA_CHAINS.HYPER]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
147
+ [CHAINS_ENUM.METIS]: '0x59916da825d2d2ec1bf878d71c88826f6633ecca',
148
+ [EXTRA_CHAINS.LISK]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
149
+ [EXTRA_CHAINS.SEI]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
150
+ [EXTRA_CHAINS.STORY]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
151
+ [EXTRA_CHAINS.GRAVITY]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
152
+ [EXTRA_CHAINS.SONEIUM]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
153
+ [EXTRA_CHAINS.SWELL]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
154
+ [EXTRA_CHAINS.RONIN]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
155
+ [EXTRA_CHAINS.ABS]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
156
+ [EXTRA_CHAINS.MORPH]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
157
+ [CHAINS_ENUM.MANTLE]: '0x59916da825d2d2ec1bf878d71c88826f6633ecca',
158
+ [EXTRA_CHAINS.CYBER]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
159
+ [CHAINS_ENUM.BASE]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
160
+ [EXTRA_CHAINS.APE]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
161
+ [CHAINS_ENUM.MODE]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
162
+ [CHAINS_ENUM.ARBITRUM]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
163
+ [CHAINS_ENUM.CELO]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
164
+ [EXTRA_CHAINS.HEMI]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
165
+ [CHAINS_ENUM.AVAX]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
166
+ [EXTRA_CHAINS.ZIRCUIT]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
167
+ [EXTRA_CHAINS.INK]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
168
+ [CHAINS_ENUM.LINEA]: '0x59916da825d2d2ec1bf878d71c88826f6633ecca',
169
+ [EXTRA_CHAINS.BOB]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
170
+ [EXTRA_CHAINS.BERA]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
171
+ [CHAINS_ENUM.BLAST]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
172
+ [EXTRA_CHAINS.PLUME]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
173
+ [EXTRA_CHAINS.TAIKO]: '0x59916da825d2d2ec1bf878d71c88826f6633ecca',
174
+ [CHAINS_ENUM.SCRL]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
175
+ [EXTRA_CHAINS.KATANA]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
176
+ [CHAINS_ENUM.ZORA]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
177
+ [EXTRA_CHAINS.MONAD]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
178
+ [EXTRA_CHAINS.MEGAETH]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
179
+ [EXTRA_CHAINS.PLASMA]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
180
+ },
181
+ stargate: {
182
+ [CHAINS_ENUM.BASE]: '0x7e07a9148e9149e430c6412b79a675028595ff1f',
183
+ [CHAINS_ENUM.ETH]: '0xacddac6c77318b615f7f6fb9bb67c6833e9c05f1',
184
+ [CHAINS_ENUM.ARBITRUM]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
185
+ [CHAINS_ENUM.OP]: '0x5528cf58feb8fbfce94f43b33240fffb1312bde3',
186
+ [CHAINS_ENUM.BSC]: '0x5528cf58feb8fbfce94f43b33240fffb1312bde3',
187
+ [CHAINS_ENUM.POLYGON]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
188
+ [CHAINS_ENUM.AVAX]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
189
+ [CHAINS_ENUM.LINEA]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
190
+ [CHAINS_ENUM.MANTLE]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
191
+ [CHAINS_ENUM.SCRL]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
192
+ [EXTRA_CHAINS.ABS]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
193
+ [EXTRA_CHAINS.BERA]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
194
+ [EXTRA_CHAINS.HEMI]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
195
+ [EXTRA_CHAINS.HYPER]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
196
+ [EXTRA_CHAINS.INK]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
197
+ [EXTRA_CHAINS.MONAD]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
198
+ [EXTRA_CHAINS.PLASMA]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
199
+ [EXTRA_CHAINS.SONEIUM]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
200
+ [EXTRA_CHAINS.UNI]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
201
+ [EXTRA_CHAINS.STABLE]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
202
+ [EXTRA_CHAINS.TEMPO]: '0x4683ce822272cd66cea73f5f1f9f5cbcaef4f066',
203
+ },
204
+ near_intents: {},
205
+ };
206
+ export const BRIDGE_ROUTER_WHITELIST_DATA = {
207
+ lifi: {
208
+ [CHAINS_ENUM.ETH]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
209
+ [CHAINS_ENUM.OP]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
210
+ [CHAINS_ENUM.FLR]: '0x198fc70dfe05e755c81e54bd67bff3f729344b9b',
211
+ [CHAINS_ENUM.CRO]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
212
+ [CHAINS_ENUM.RSK]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
213
+ [EXTRA_CHAINS.XDC]: '0x055d4612ec74ad799c6cb4df72c0ab8dbdbcbafa',
214
+ [CHAINS_ENUM.BSC]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
215
+ [CHAINS_ENUM.GNOSIS]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
216
+ [CHAINS_ENUM.FUSE]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
217
+ [EXTRA_CHAINS.UNI]: '0x864b314d4c5a0399368609581d3e8933a63b9232',
218
+ [CHAINS_ENUM.POLYGON]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
219
+ [EXTRA_CHAINS.MONAD]: '0x026f252016a7c47cdef1f05a3fc9e20c92a49c37',
220
+ [EXTRA_CHAINS.SONIC]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
221
+ [CHAINS_ENUM.OPBNB]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
222
+ [EXTRA_CHAINS.LENS]: '0xf3b20515d9b193531c48e47c18af16d1e5d28f9a',
223
+ [CHAINS_ENUM.FRAX]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
224
+ [CHAINS_ENUM.ERA]: '0x341e94069f53234fe6dabef707ad424830525715',
225
+ [EXTRA_CHAINS.WORLD]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
226
+ [EXTRA_CHAINS.STABLE]: '0x026f252016a7c47cdef1f05a3fc9e20c92a49c37',
227
+ [EXTRA_CHAINS.HYPER]: '0x0a0758d937d1059c356d4714e57f5df0239bce1a',
228
+ [CHAINS_ENUM.METIS]: '0x24ca98fb6972f5ee05f0db00595c7f68d9fafd68',
229
+ [EXTRA_CHAINS.LISK]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
230
+ [EXTRA_CHAINS.SEI]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
231
+ [EXTRA_CHAINS.GRAVITY]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
232
+ [EXTRA_CHAINS.SONEIUM]: '0x864b314d4c5a0399368609581d3e8933a63b9232',
233
+ [EXTRA_CHAINS.SWELL]: '0x76f6937a41910f075024138066708b36139ac104',
234
+ [EXTRA_CHAINS.RONIN]: '0x452cf1b8597e6319cd21abd847312bf17e26d8d1',
235
+ [EXTRA_CHAINS.ABS]: '0x4f8c9056bb8a3616693a76922fa35d53c056e5b3',
236
+ [EXTRA_CHAINS.MORPH]: '0xf7ab42d00d2399f8a4fba2f15466be40709fe307',
237
+ [EXTRA_CHAINS.TEMPO]: '0x2cacae8e22418e65dcf7651c67aebe6288eb8243',
238
+ [EXTRA_CHAINS.MEGAETH]: '0x026f252016a7c47cdef1f05a3fc9e20c92a49c37',
239
+ [CHAINS_ENUM.MANTLE]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
240
+ [CHAINS_ENUM.KLAY]: '0x1255d17c1bc2f764d087536410879f2d0d8772fd',
241
+ [CHAINS_ENUM.BASE]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
242
+ [EXTRA_CHAINS.PLASMA]: '0x026f252016a7c47cdef1f05a3fc9e20c92a49c37',
243
+ [EXTRA_CHAINS.APE]: '0x2dea447e7dc6cd2f10b31bf10dcb30f87e838417',
244
+ [CHAINS_ENUM.MODE]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
245
+ [CHAINS_ENUM.ARBITRUM]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
246
+ [CHAINS_ENUM.CELO]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
247
+ [EXTRA_CHAINS.HEMI]: '0x026f252016a7c47cdef1f05a3fc9e20c92a49c37',
248
+ [CHAINS_ENUM.AVAX]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
249
+ [EXTRA_CHAINS.SOPHON]: '0x81afe8745038a0b63782186bcd1a4f27cb2aef9d',
250
+ [EXTRA_CHAINS.INK]: '0x864b314d4c5a0399368609581d3e8933a63b9232',
251
+ [CHAINS_ENUM.LINEA]: '0xde1e598b81620773454588b85d6b5d4eec32573e',
252
+ [EXTRA_CHAINS.BOB]: '0x452cf1b8597e6319cd21abd847312bf17e26d8d1',
253
+ [EXTRA_CHAINS.BERA]: '0xf909c4ae16622898b885b89d7f839e0244851c66',
254
+ [CHAINS_ENUM.BLAST]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
255
+ [EXTRA_CHAINS.PLUME]: '0x6f5c8bb0c5fe4eceac40ee1c238eab6bbb29761c',
256
+ [EXTRA_CHAINS.TAIKO]: '0x3a9a5dba8fe1c4da98187ce4755701bca182f63b',
257
+ [CHAINS_ENUM.SCRL]: '0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae',
258
+ [EXTRA_CHAINS.KATANA]: '0xc59fe32c9549e3e8b5dccdabc45bd287bd5ba2bc',
259
+ },
260
+ bungee: {
261
+ [CHAINS_ENUM.ETH]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
262
+ [CHAINS_ENUM.OP]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
263
+ [CHAINS_ENUM.BSC]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
264
+ [CHAINS_ENUM.GNOSIS]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
265
+ [EXTRA_CHAINS.UNI]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
266
+ [CHAINS_ENUM.POLYGON]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
267
+ [EXTRA_CHAINS.SONIC]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
268
+ [EXTRA_CHAINS.WORLD]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
269
+ [EXTRA_CHAINS.HYPER]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
270
+ [EXTRA_CHAINS.ABS]: '0xf8291b7c7fdaa275a0b17da1a756d1fbe4d3a13d',
271
+ [CHAINS_ENUM.MANTLE]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
272
+ [CHAINS_ENUM.BASE]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
273
+ [CHAINS_ENUM.MODE]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
274
+ [CHAINS_ENUM.ARBITRUM]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
275
+ [CHAINS_ENUM.AVAX]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
276
+ [EXTRA_CHAINS.INK]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
277
+ [CHAINS_ENUM.LINEA]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
278
+ [EXTRA_CHAINS.BERA]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
279
+ [CHAINS_ENUM.BLAST]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
280
+ [CHAINS_ENUM.SCRL]: '0x3a23f943181408eac424116af7b7790c94cb97a5',
281
+ },
282
+ relay: {
283
+ [CHAINS_ENUM.ETH]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
284
+ [CHAINS_ENUM.OP]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
285
+ [CHAINS_ENUM.CRO]: '0x59916da825d2d2ec1bf878d71c88826f6633ecca',
286
+ [CHAINS_ENUM.BSC]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
287
+ [CHAINS_ENUM.GNOSIS]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
288
+ [EXTRA_CHAINS.UNI]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
289
+ [CHAINS_ENUM.POLYGON]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
290
+ [EXTRA_CHAINS.SONIC]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
291
+ [CHAINS_ENUM.MANTA]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
292
+ [CHAINS_ENUM.ERA]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
293
+ [EXTRA_CHAINS.WORLD]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
294
+ [EXTRA_CHAINS.HYPER]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
295
+ [CHAINS_ENUM.METIS]: '0x59916da825d2d2ec1bf878d71c88826f6633ecca',
296
+ [EXTRA_CHAINS.LISK]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
297
+ [EXTRA_CHAINS.SEI]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
298
+ [EXTRA_CHAINS.STORY]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
299
+ [EXTRA_CHAINS.GRAVITY]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
300
+ [EXTRA_CHAINS.SONEIUM]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
301
+ [EXTRA_CHAINS.SWELL]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
302
+ [EXTRA_CHAINS.RONIN]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
303
+ [EXTRA_CHAINS.ABS]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
304
+ [EXTRA_CHAINS.MORPH]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
305
+ [CHAINS_ENUM.MANTLE]: '0x59916da825d2d2ec1bf878d71c88826f6633ecca',
306
+ [EXTRA_CHAINS.CYBER]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
307
+ [CHAINS_ENUM.BASE]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
308
+ [EXTRA_CHAINS.APE]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
309
+ [CHAINS_ENUM.MODE]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
310
+ [CHAINS_ENUM.ARBITRUM]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
311
+ [CHAINS_ENUM.CELO]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
312
+ [EXTRA_CHAINS.HEMI]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
313
+ [CHAINS_ENUM.AVAX]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
314
+ [EXTRA_CHAINS.ZIRCUIT]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
315
+ [EXTRA_CHAINS.INK]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
316
+ [CHAINS_ENUM.LINEA]: '0x59916da825d2d2ec1bf878d71c88826f6633ecca',
317
+ [EXTRA_CHAINS.BOB]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
318
+ [EXTRA_CHAINS.BERA]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
319
+ [CHAINS_ENUM.BLAST]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
320
+ [EXTRA_CHAINS.PLUME]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
321
+ [EXTRA_CHAINS.TAIKO]: '0x59916da825d2d2ec1bf878d71c88826f6633ecca',
322
+ [CHAINS_ENUM.SCRL]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
323
+ [EXTRA_CHAINS.KATANA]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
324
+ [CHAINS_ENUM.ZORA]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
325
+ [EXTRA_CHAINS.MONAD]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
326
+ [EXTRA_CHAINS.MEGAETH]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
327
+ [EXTRA_CHAINS.PLASMA]: '0x4cd00e387622c35bddb9b4c962c136462338bc31',
328
+ },
329
+ stargate: {
330
+ [CHAINS_ENUM.BASE]: '0x7e07a9148e9149e430c6412b79a675028595ff1f',
331
+ [CHAINS_ENUM.ETH]: '0xacddac6c77318b615f7f6fb9bb67c6833e9c05f1',
332
+ [CHAINS_ENUM.ARBITRUM]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
333
+ [CHAINS_ENUM.OP]: '0x5528cf58feb8fbfce94f43b33240fffb1312bde3',
334
+ [CHAINS_ENUM.BSC]: '0x5528cf58feb8fbfce94f43b33240fffb1312bde3',
335
+ [CHAINS_ENUM.POLYGON]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
336
+ [CHAINS_ENUM.AVAX]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
337
+ [CHAINS_ENUM.LINEA]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
338
+ [CHAINS_ENUM.MANTLE]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
339
+ [CHAINS_ENUM.SCRL]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
340
+ [EXTRA_CHAINS.ABS]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
341
+ [EXTRA_CHAINS.BERA]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
342
+ [EXTRA_CHAINS.HEMI]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
343
+ [EXTRA_CHAINS.HYPER]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
344
+ [EXTRA_CHAINS.INK]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
345
+ [EXTRA_CHAINS.MONAD]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
346
+ [EXTRA_CHAINS.PLASMA]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
347
+ [EXTRA_CHAINS.SONEIUM]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
348
+ [EXTRA_CHAINS.UNI]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
349
+ [EXTRA_CHAINS.STABLE]: '0x8e60b7b64b63cd56b18ebcecadcb79b04919286e',
350
+ [EXTRA_CHAINS.TEMPO]: '0x4683ce822272cd66cea73f5f1f9f5cbcaef4f066',
351
+ },
352
+ near_intents: {},
353
+ };
@@ -0,0 +1,5 @@
1
+ export { BRIDGE_AGGREGATORS, BRIDGE_ENUM } from './consts.js';
2
+ export type { BridgeAggregatorId } from './consts.js';
3
+ export { ALL_SUPPORTED_BRIDGE_CHAINS, BRIDGE_ROUTER_WHITELIST, BRIDGE_SPENDER_WHITELIST, BRIDGE_SUPPORT_CHAINS, CHAINS_ENUM, getBridgeRouter, getBridgeSpender, isSupportedBridgeAggregator, isSupportedBridgeChain, } from './list.js';
4
+ export { InvalidBridgeContractError, buildBridgeQuoteTx, buildTx, getQuote, getQuoteList, getQuoteListWithTx, validateBridgeQuote, validateBridgeTx, } from './quote.js';
5
+ export type { BridgeApi, BridgeBuildTxParams, BridgeQuote, BridgeQuoteListItem, BridgeQuoteListParams, BridgeTx, } from './quote.js';
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { BRIDGE_AGGREGATORS, BRIDGE_ENUM } from './consts.js';
2
+ export { ALL_SUPPORTED_BRIDGE_CHAINS, BRIDGE_ROUTER_WHITELIST, BRIDGE_SPENDER_WHITELIST, BRIDGE_SUPPORT_CHAINS, CHAINS_ENUM, getBridgeRouter, getBridgeSpender, isSupportedBridgeAggregator, isSupportedBridgeChain, } from './list.js';
3
+ export { InvalidBridgeContractError, buildBridgeQuoteTx, buildTx, getQuote, getQuoteList, getQuoteListWithTx, validateBridgeQuote, validateBridgeTx, } from './quote.js';
package/dist/list.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ import { CHAINS_ENUM } from './chains.js';
2
+ import type { BridgeAggregatorId } from './consts.js';
3
+ import type { ChainEnum } from './chains.js';
4
+ export { CHAINS_ENUM };
5
+ export type BridgeContractMap = Record<string, Partial<Record<ChainEnum, string>>>;
6
+ export declare const BRIDGE_SPENDER_WHITELIST: BridgeContractMap;
7
+ export declare const BRIDGE_ROUTER_WHITELIST: BridgeContractMap;
8
+ export declare const BRIDGE_SUPPORT_CHAINS: Record<BridgeAggregatorId, ChainEnum[]>;
9
+ export declare const ALL_SUPPORTED_BRIDGE_CHAINS: ChainEnum[];
10
+ export declare const isSupportedBridgeAggregator: (aggregatorId: string) => aggregatorId is BridgeAggregatorId;
11
+ export declare const isSupportedBridgeChain: (aggregatorId: BridgeAggregatorId, chainId: string) => boolean;
12
+ export declare const getBridgeSpender: (aggregatorId: BridgeAggregatorId, chainId: string) => string | undefined;
13
+ export declare const getBridgeRouter: (aggregatorId: BridgeAggregatorId, chainId: string) => string | undefined;
package/dist/list.js ADDED
@@ -0,0 +1,42 @@
1
+ import { CHAINS_ENUM, normalizeChainEnum } from './chains.js';
2
+ import { BRIDGE_AGGREGATORS } from './consts.js';
3
+ import { BRIDGE_SUPPORT_CHAINS_DATA, BRIDGE_ROUTER_WHITELIST_DATA, BRIDGE_SPENDER_WHITELIST_DATA, } from './data.js';
4
+ export { CHAINS_ENUM };
5
+ export const BRIDGE_SPENDER_WHITELIST = BRIDGE_SPENDER_WHITELIST_DATA;
6
+ export const BRIDGE_ROUTER_WHITELIST = BRIDGE_ROUTER_WHITELIST_DATA;
7
+ export const BRIDGE_SUPPORT_CHAINS = Object.fromEntries(BRIDGE_AGGREGATORS.map((aggregatorId) => {
8
+ const chainEnums = new Set([
9
+ ...Object.keys(BRIDGE_ROUTER_WHITELIST[aggregatorId] || {}),
10
+ ...Object.keys(BRIDGE_SPENDER_WHITELIST[aggregatorId] || {}),
11
+ ...(BRIDGE_SUPPORT_CHAINS_DATA[aggregatorId] || []),
12
+ ]);
13
+ return [
14
+ aggregatorId,
15
+ Array.from(chainEnums),
16
+ ];
17
+ }));
18
+ export const ALL_SUPPORTED_BRIDGE_CHAINS = Array.from(new Set(Object.values(BRIDGE_SUPPORT_CHAINS).flat()));
19
+ export const isSupportedBridgeAggregator = (aggregatorId) => {
20
+ return BRIDGE_AGGREGATORS.includes(aggregatorId);
21
+ };
22
+ export const isSupportedBridgeChain = (aggregatorId, chainId) => {
23
+ const chainEnum = normalizeChainEnum(chainId);
24
+ if (!chainEnum) {
25
+ return false;
26
+ }
27
+ return BRIDGE_SUPPORT_CHAINS[aggregatorId]?.includes(chainEnum) || false;
28
+ };
29
+ export const getBridgeSpender = (aggregatorId, chainId) => {
30
+ const chainEnum = normalizeChainEnum(chainId);
31
+ if (!chainEnum) {
32
+ return undefined;
33
+ }
34
+ return BRIDGE_SPENDER_WHITELIST[aggregatorId]?.[chainEnum];
35
+ };
36
+ export const getBridgeRouter = (aggregatorId, chainId) => {
37
+ const chainEnum = normalizeChainEnum(chainId);
38
+ if (!chainEnum) {
39
+ return undefined;
40
+ }
41
+ return BRIDGE_ROUTER_WHITELIST[aggregatorId]?.[chainEnum];
42
+ };
@@ -0,0 +1,37 @@
1
+ import type { OpenApiService } from '@rabby-wallet/rabby-api';
2
+ import type { BridgeAggregatorId } from './consts.js';
3
+ export interface BridgeQuoteListParams {
4
+ userAddress: string;
5
+ fromChainId: string;
6
+ fromTokenId: string;
7
+ fromTokenRawAmount: string;
8
+ toChainId: string;
9
+ toTokenId: string;
10
+ slippage?: string;
11
+ }
12
+ export interface BridgeBuildTxParams extends BridgeQuoteListParams {
13
+ bridgeId: string;
14
+ quoteKey?: string | Record<string, unknown>;
15
+ }
16
+ export type BridgeApi = Pick<OpenApiService, 'getBridgeQuoteListV2' | 'getBridgeQuoteV2' | 'buildBridgeTx' | 'getBridgeQuoteTxV2'>;
17
+ export type BridgeQuote = Awaited<ReturnType<BridgeApi['getBridgeQuoteTxV2']>>;
18
+ export type BridgeTx = Awaited<ReturnType<BridgeApi['buildBridgeTx']>> | NonNullable<BridgeQuote['tx']>;
19
+ export type BridgeQuoteListItem = Awaited<ReturnType<BridgeApi['getBridgeQuoteV2']>>[number];
20
+ export declare class InvalidBridgeContractError extends Error {
21
+ readonly kind: 'spender' | 'router';
22
+ readonly aggregatorId: BridgeAggregatorId;
23
+ readonly chainId: string;
24
+ readonly expected: string;
25
+ readonly received: string;
26
+ readonly bridgeId?: string | undefined;
27
+ constructor(kind: 'spender' | 'router', aggregatorId: BridgeAggregatorId, chainId: string, expected: string, received: string, bridgeId?: string | undefined);
28
+ }
29
+ export declare const validateBridgeQuote: (aggregatorId: BridgeAggregatorId, fromChainId: string, quote: BridgeQuoteListItem) => boolean;
30
+ export declare const validateBridgeTx: (aggregatorId: BridgeAggregatorId, fromChainId: string, bridgeId: string, tx: BridgeTx) => boolean;
31
+ export declare const getQuote: (aggregatorId: string, params: BridgeQuoteListParams, api: BridgeApi) => Promise<BridgeQuoteListItem[]>;
32
+ export declare const buildTx: (aggregatorId: string, params: BridgeBuildTxParams, api: BridgeApi) => Promise<BridgeTx>;
33
+ export declare const getQuoteListWithTx: (aggregatorId: string, params: BridgeQuoteListParams, api: BridgeApi) => Promise<Array<BridgeQuoteListItem & {
34
+ tx: BridgeTx;
35
+ }>>;
36
+ export declare const getQuoteList: (aggregatorId: string, params: BridgeQuoteListParams, api: BridgeApi) => Promise<BridgeQuoteListItem[]>;
37
+ export declare const buildBridgeQuoteTx: (aggregatorId: string, params: BridgeBuildTxParams, api: BridgeApi) => Promise<BridgeTx>;
package/dist/quote.js ADDED
@@ -0,0 +1,153 @@
1
+ import { BRIDGE_ENUM } from './consts.js';
2
+ import { getBridgeRouter, getBridgeSpender, isSupportedBridgeAggregator, isSupportedBridgeChain, } from './list.js';
3
+ export class InvalidBridgeContractError extends Error {
4
+ constructor(kind, aggregatorId, chainId, expected, received, bridgeId) {
5
+ super(`Invalid bridge ${kind} for ${aggregatorId} on ${chainId}: expected ${expected}, got ${received}`);
6
+ this.kind = kind;
7
+ this.aggregatorId = aggregatorId;
8
+ this.chainId = chainId;
9
+ this.expected = expected;
10
+ this.received = received;
11
+ this.bridgeId = bridgeId;
12
+ this.name = 'InvalidBridgeContractError';
13
+ }
14
+ }
15
+ const isSameAddress = (left, right) => {
16
+ if (!left || !right) {
17
+ return false;
18
+ }
19
+ return left.toLowerCase() === right.toLowerCase();
20
+ };
21
+ function assertSupported(aggregatorId, fromChainId) {
22
+ if (!isSupportedBridgeAggregator(aggregatorId)) {
23
+ throw new Error(`${aggregatorId} is not supported`);
24
+ }
25
+ if (!isSupportedBridgeChain(aggregatorId, fromChainId)) {
26
+ throw new Error(`${aggregatorId} does not support ${fromChainId}`);
27
+ }
28
+ }
29
+ const requireSlippage = (slippage) => {
30
+ if (!slippage) {
31
+ throw new Error('slippage is required for this API call');
32
+ }
33
+ return slippage;
34
+ };
35
+ const stringifyQuoteKey = (quoteKey) => {
36
+ if (typeof quoteKey === 'string') {
37
+ return quoteKey;
38
+ }
39
+ return JSON.stringify(quoteKey || {});
40
+ };
41
+ const shouldValidateBridgeContracts = (aggregatorId) => aggregatorId !== BRIDGE_ENUM.NEAR_INTENTS;
42
+ export const validateBridgeQuote = (aggregatorId, fromChainId, quote) => {
43
+ if (!shouldValidateBridgeContracts(aggregatorId)) {
44
+ return true;
45
+ }
46
+ const expectedSpender = getBridgeSpender(aggregatorId, fromChainId);
47
+ const receivedSpender = quote.approve_contract_id;
48
+ if (!expectedSpender || !receivedSpender) {
49
+ return true;
50
+ }
51
+ if (!isSameAddress(expectedSpender, receivedSpender)) {
52
+ throw new InvalidBridgeContractError('spender', aggregatorId, fromChainId, expectedSpender, receivedSpender, quote.bridge_id);
53
+ }
54
+ return true;
55
+ };
56
+ export const validateBridgeTx = (aggregatorId, fromChainId, bridgeId, tx) => {
57
+ if (!shouldValidateBridgeContracts(aggregatorId)) {
58
+ return true;
59
+ }
60
+ const expectedRouter = getBridgeRouter(aggregatorId, fromChainId);
61
+ if (!expectedRouter) {
62
+ return true;
63
+ }
64
+ if (!isSameAddress(expectedRouter, tx.to)) {
65
+ throw new InvalidBridgeContractError('router', aggregatorId, fromChainId, expectedRouter, tx.to, bridgeId);
66
+ }
67
+ return true;
68
+ };
69
+ export const getQuote = async (aggregatorId, params, api) => {
70
+ assertSupported(aggregatorId, params.fromChainId);
71
+ const baseParams = {
72
+ aggregator_id: aggregatorId,
73
+ user_addr: params.userAddress,
74
+ from_chain_id: params.fromChainId,
75
+ from_token_id: params.fromTokenId,
76
+ from_token_raw_amount: params.fromTokenRawAmount,
77
+ to_chain_id: params.toChainId,
78
+ to_token_id: params.toTokenId,
79
+ };
80
+ const quotes = api.getBridgeQuoteListV2
81
+ ? await api.getBridgeQuoteListV2(baseParams)
82
+ : await api.getBridgeQuoteV2?.({
83
+ ...baseParams,
84
+ slippage: requireSlippage(params.slippage),
85
+ });
86
+ if (!quotes) {
87
+ throw new Error('Bridge API does not provide a quote list method');
88
+ }
89
+ return quotes.filter((quote) => {
90
+ try {
91
+ validateBridgeQuote(aggregatorId, params.fromChainId, quote);
92
+ return true;
93
+ }
94
+ catch (error) {
95
+ if (error instanceof InvalidBridgeContractError) {
96
+ return false;
97
+ }
98
+ throw error;
99
+ }
100
+ });
101
+ };
102
+ export const buildTx = async (aggregatorId, params, api) => {
103
+ assertSupported(aggregatorId, params.fromChainId);
104
+ const buildParams = {
105
+ aggregator_id: aggregatorId,
106
+ bridge_id: params.bridgeId,
107
+ user_addr: params.userAddress,
108
+ from_chain_id: params.fromChainId,
109
+ from_token_id: params.fromTokenId,
110
+ from_token_raw_amount: params.fromTokenRawAmount,
111
+ to_chain_id: params.toChainId,
112
+ to_token_id: params.toTokenId,
113
+ slippage: requireSlippage(params.slippage),
114
+ };
115
+ const tx = api.buildBridgeTx
116
+ ? await api.buildBridgeTx({
117
+ ...buildParams,
118
+ quote_key: stringifyQuoteKey(params.quoteKey),
119
+ })
120
+ : (await api.getBridgeQuoteTxV2?.({
121
+ ...buildParams,
122
+ }))?.tx;
123
+ if (!tx) {
124
+ throw new Error('Bridge API does not provide a build tx method');
125
+ }
126
+ validateBridgeTx(aggregatorId, params.fromChainId, params.bridgeId, tx);
127
+ return tx;
128
+ };
129
+ export const getQuoteListWithTx = async (aggregatorId, params, api) => {
130
+ const quotes = await getQuote(aggregatorId, params, api);
131
+ const settled = await Promise.all(quotes.map(async (quote) => {
132
+ try {
133
+ const tx = await buildTx(aggregatorId, {
134
+ ...params,
135
+ bridgeId: quote.bridge_id,
136
+ quoteKey: quote.quote_key,
137
+ }, api);
138
+ return {
139
+ ...quote,
140
+ tx,
141
+ };
142
+ }
143
+ catch (error) {
144
+ if (error instanceof InvalidBridgeContractError) {
145
+ return null;
146
+ }
147
+ throw error;
148
+ }
149
+ }));
150
+ return settled.filter((quote) => quote !== null);
151
+ };
152
+ export const getQuoteList = getQuote;
153
+ export const buildBridgeQuoteTx = buildTx;
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@rabby-wallet/rabby-bridge",
3
+ "version": "0.0.1",
4
+ "description": "Bridge quote helpers and contract allowlists for Rabby",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "peerDependencies": {
19
+ "@debank/common": ">=0.3.60",
20
+ "@rabby-wallet/rabby-api": ">=0.9.58"
21
+ },
22
+ "scripts": {
23
+ "prepublishOnly": "yarn build",
24
+ "build": "rimraf dist && tsc"
25
+ },
26
+ "devDependencies": {
27
+ "@debank/common": "^0.3.60",
28
+ "@rabby-wallet/rabby-api": "^0.9.58",
29
+ "@types/node": "^18.19.0",
30
+ "rimraf": "^3.0.2",
31
+ "typescript": "^5.8.3"
32
+ },
33
+ "packageManager": "yarn@4.12.0"
34
+ }