@rhinestone/shared-configs 1.14.0 → 1.15.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.
@@ -1,13 +1,35 @@
1
- import type { ChainRegistry } from "./types";
1
+ import type { ChainRegistry, ContractAddresses } from "./types";
2
+ /**
3
+ * Both contract maps, because the artifact is one global object while consumers
4
+ * pick by their own environment — the orchestrator reads the dev map on dev and
5
+ * the prod map everywhere else. Publishing only one would make the artifact
6
+ * environment-specific, which the single-URL design rules out.
7
+ */
8
+ interface ContractsByEnv {
9
+ prod: ContractAddresses;
10
+ dev: ContractAddresses;
11
+ }
2
12
  /** Wire format of the published facts artifact. */
3
13
  interface ChainFactsPayload {
4
14
  version: string;
5
15
  chains: ChainRegistry;
16
+ /**
17
+ * Optional: artifacts published before contracts were carried do not have it,
18
+ * and those stay valid. A payload without contracts keeps the bundled maps,
19
+ * which is the same position a consumer was in before this field existed.
20
+ */
21
+ contracts?: ContractsByEnv;
6
22
  }
7
23
  type ChainFactsSource = "remote" | "bundled";
8
24
  type ChainFactsErrorPhase = "config" | "fetch" | "verify" | "parse" | "stale";
9
25
  interface ChainFactsSnapshot {
10
26
  chains: ChainRegistry;
27
+ /**
28
+ * Per-chain contract addresses, keyed by environment. Falls back to the
29
+ * bundled maps when a remote artifact omits them, so this is always populated
30
+ * and a consumer never has to decide what to do about a missing half.
31
+ */
32
+ contracts: ContractsByEnv;
11
33
  source: ChainFactsSource;
12
34
  /** null for "bundled", which ships with the package and has no version stamp of its own. */
13
35
  version: string | null;
@@ -43,6 +65,8 @@ interface ChainFactsClient {
43
65
  /** The active facts: remote once a refresh has succeeded, otherwise bundled. */
44
66
  getSnapshot(): ChainFactsSnapshot;
45
67
  getChainRegistry(): ChainRegistry;
68
+ /** Contract addresses for one environment, from the active snapshot. */
69
+ getContracts(env: keyof ContractsByEnv): ContractAddresses;
46
70
  }
47
71
  /**
48
72
  * Reads chain facts remote-first, falling back to the registry bundled with
@@ -53,4 +77,4 @@ interface ChainFactsClient {
53
77
  */
54
78
  declare function createChainFactsClient(options?: ChainFactsClientOptions): ChainFactsClient;
55
79
  export { createChainFactsClient };
56
- export type { ChainFactsClient, ChainFactsClientOptions, ChainFactsErrorPhase, ChainFactsPayload, ChainFactsSnapshot, ChainFactsSource, };
80
+ export type { ChainFactsClient, ChainFactsClientOptions, ChainFactsErrorPhase, ChainFactsPayload, ChainFactsSnapshot, ChainFactsSource, ContractsByEnv, };
@@ -5,12 +5,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createChainFactsClient = createChainFactsClient;
7
7
  const chains_json_1 = __importDefault(require("../configs/chains.json"));
8
+ const contracts_json_1 = __importDefault(require("../configs/contracts.json"));
9
+ const contracts_dev_json_1 = __importDefault(require("../configs/contracts.dev.json"));
8
10
  const chainFactsKey_1 = require("./generated/chainFactsKey");
9
11
  const packageVersion_1 = require("./generated/packageVersion");
10
12
  const bundledChainRegistry = chains_json_1.default;
13
+ const bundledContracts = {
14
+ prod: contracts_json_1.default,
15
+ dev: contracts_dev_json_1.default,
16
+ };
11
17
  const DEFAULT_FETCH_TIMEOUT_MS = 5_000;
12
18
  const BUNDLED_SNAPSHOT = {
13
19
  chains: bundledChainRegistry,
20
+ contracts: bundledContracts,
14
21
  source: "bundled",
15
22
  version: null,
16
23
  };
@@ -44,6 +51,25 @@ function isChainRegistry(value) {
44
51
  return (entries.length > 0 &&
45
52
  entries.every(([id, entry]) => CHAIN_ID_KEY.test(id) && looksLikeChainEntry(entry)));
46
53
  }
54
+ // Structural only, matching isChainRegistry's reasoning: an unknown contract
55
+ // key at read time just means an older consumer is reading a newer artifact.
56
+ // Keys are chain ids or the "*" wildcard consumers merge underneath a chain.
57
+ function isContractAddresses(value) {
58
+ if (!isObject(value))
59
+ return false;
60
+ return Object.entries(value).every(([id, entry]) => (id === "*" || CHAIN_ID_KEY.test(id)) &&
61
+ isObject(entry) &&
62
+ Object.values(entry).every((address) => typeof address === "string"));
63
+ }
64
+ // Both halves must be present and usable, or the field is rejected whole. A
65
+ // half-valid contracts block would silently leave one environment on bundled
66
+ // data while the other moved forward, which is the kind of split nobody would
67
+ // think to look for.
68
+ function isContractsByEnv(value) {
69
+ return (isObject(value) &&
70
+ isContractAddresses(value.prod) &&
71
+ isContractAddresses(value.dev));
72
+ }
47
73
  // Both sides are release versions produced by the same pipeline, so a numeric
48
74
  // x.y.z comparison is enough; a pre-release suffix (-alpha.N) is ignored, since
49
75
  // pre-release tags never publish to the facts CDN.
@@ -254,7 +280,19 @@ function createChainFactsClient(options = {}) {
254
280
  report(new Error(`chain facts ${body.version} is older than this package's bundled registry (${packageVersion_1.PACKAGE_VERSION}) — treating as stale and keeping bundled data`), "stale");
255
281
  return null;
256
282
  }
257
- return { version: body.version, chains };
283
+ // Contracts are rejected on their own rather than failing the whole read:
284
+ // a malformed contracts block should not cost the consumer a chain update
285
+ // it would otherwise have taken. The absence is reported so it is visible.
286
+ let contracts;
287
+ if (body.contracts !== undefined) {
288
+ if (isContractsByEnv(body.contracts)) {
289
+ contracts = body.contracts;
290
+ }
291
+ else {
292
+ report(new Error("chain facts payload has an unusable contracts block — keeping bundled contracts"), "parse");
293
+ }
294
+ }
295
+ return { version: body.version, chains, contracts };
258
296
  }
259
297
  async function fetchAndInstall() {
260
298
  const payload = await fetchRemote();
@@ -262,6 +300,9 @@ function createChainFactsClient(options = {}) {
262
300
  return false;
263
301
  snapshot = {
264
302
  chains: payload.chains,
303
+ // An artifact that carries no contracts leaves the bundled maps in place,
304
+ // which is where every consumer was before the field existed.
305
+ contracts: payload.contracts ?? bundledContracts,
265
306
  source: "remote",
266
307
  version: payload.version,
267
308
  };
@@ -291,5 +332,6 @@ function createChainFactsClient(options = {}) {
291
332
  },
292
333
  getSnapshot: () => snapshot,
293
334
  getChainRegistry: () => snapshot.chains,
335
+ getContracts: (env) => snapshot.contracts[env],
294
336
  };
295
337
  }
@@ -3,392 +3,153 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.contractAddresses = void 0;
4
4
  const contractAddresses = {
5
5
  "1": {
6
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
7
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
8
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
9
6
  "ecoArbiter": "0x1BeBAfb3D05d84A5Bfd94800c88d1342f755d8AB",
10
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
11
7
  "acrossBridge": "0x5c7BCd6E7De5423a257D81B442095A1a6ced35C5",
12
8
  "spokepool": "0x5c7BCd6E7De5423a257D81B442095A1a6ced35C5",
13
9
  "ecoPortal": "0xEC000064576f9C95a8623Bc0eff3db6d296ea6df",
14
10
  "ecoHyperProver": "0xeC0008acc34d3D0CAa6758Ce788091e473812e28",
15
11
  "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9",
16
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
17
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
18
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
19
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
20
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
21
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
22
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
23
- "oftProxy": "0xd6ac32d80975195aF535faE83c67EA1d36486321",
24
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
12
+ "oftProxy": "0xd6ac32d80975195aF535faE83c67EA1d36486321"
25
13
  },
26
14
  "10": {
27
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
28
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
29
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
30
15
  "ecoArbiter": "0x1BeBAfb3D05d84A5Bfd94800c88d1342f755d8AB",
31
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
32
16
  "acrossBridge": "0x6f26Bf09B1C792e3228e5467807a900A503c0281",
33
17
  "spokepool": "0x6f26Bf09B1C792e3228e5467807a900A503c0281",
34
18
  "ecoPortal": "0xEC000064576f9C95a8623Bc0eff3db6d296ea6df",
35
19
  "ecoHyperProver": "0xeC0008acc34d3D0CAa6758Ce788091e473812e28",
36
20
  "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9",
37
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
38
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
39
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
40
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
41
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
42
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
43
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
44
- "oftProxy": "0x5B64E414f4dEA97062D6B552852FFbAcaf6d462b",
45
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
21
+ "oftProxy": "0x5B64E414f4dEA97062D6B552852FFbAcaf6d462b"
46
22
  },
47
23
  "56": {
48
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
49
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
50
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
51
24
  "ecoArbiter": "0x1BeBAfb3D05d84A5Bfd94800c88d1342f755d8AB",
52
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
53
25
  "acrossBridge": "0x4e8E101924eDE233C13e2D8622DC8aED2872d505",
54
26
  "spokepool": "0x4e8E101924eDE233C13e2D8622DC8aED2872d505",
55
27
  "ecoPortal": "0xEC000064576f9C95a8623Bc0eff3db6d296ea6df",
56
28
  "ecoHyperProver": "0xeC0008acc34d3D0CAa6758Ce788091e473812e28",
57
- "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9",
58
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
59
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
60
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
61
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
62
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
63
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
64
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
65
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
66
- },
67
- "100": {
68
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
69
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
70
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
71
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
72
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
73
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
74
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
75
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
76
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
29
+ "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9"
77
30
  },
31
+ "100": {},
78
32
  "130": {
79
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
80
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
81
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
82
33
  "ecoArbiter": "0x1BeBAfb3D05d84A5Bfd94800c88d1342f755d8AB",
83
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
84
34
  "acrossBridge": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64",
85
35
  "spokepool": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64",
86
36
  "ecoPortal": "0xEC000064576f9C95a8623Bc0eff3db6d296ea6df",
87
37
  "ecoHyperProver": "0xeC0008acc34d3D0CAa6758Ce788091e473812e28",
88
38
  "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9",
89
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
90
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
91
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
92
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
93
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
94
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
95
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
96
- "oftProxy": "0x0c9365ACEB4788F2f2D21823fbd0ff44542c6B54",
97
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
39
+ "oftProxy": "0x0c9365ACEB4788F2f2D21823fbd0ff44542c6B54"
98
40
  },
99
41
  "137": {
100
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
101
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
102
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
103
42
  "ecoArbiter": "0x1BeBAfb3D05d84A5Bfd94800c88d1342f755d8AB",
104
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
105
43
  "acrossBridge": "0x9295ee1d8C5b022Be115A2AD3c30C72E34e7F096",
106
44
  "spokepool": "0x9295ee1d8C5b022Be115A2AD3c30C72E34e7F096",
107
45
  "ecoPortal": "0xEC000064576f9C95a8623Bc0eff3db6d296ea6df",
108
46
  "ecoHyperProver": "0xeC0008acc34d3D0CAa6758Ce788091e473812e28",
109
47
  "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9",
110
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
111
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
112
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
113
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
114
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
115
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
116
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
117
- "oftProxy": "0x81E23Ed7B30780dd7DFc1F1641D255906280934a",
118
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
48
+ "oftProxy": "0x81E23Ed7B30780dd7DFc1F1641D255906280934a"
119
49
  },
120
50
  "143": {
121
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
122
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
123
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
124
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
125
51
  "acrossBridge": "0xd2ecb3afe598b746F8123CaE365a598DA831A449",
126
- "spokepool": "0xd2ecb3afe598b746F8123CaE365a598DA831A449",
127
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
128
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
129
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
130
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
131
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
132
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
133
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
134
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
52
+ "spokepool": "0xd2ecb3afe598b746F8123CaE365a598DA831A449"
135
53
  },
136
54
  "146": {
137
55
  "ecoArbiter": "0x1BeBAfb3D05d84A5Bfd94800c88d1342f755d8AB",
138
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
139
56
  "ecoPortal": "0xEC000064576f9C95a8623Bc0eff3db6d296ea6df",
140
57
  "ecoHyperProver": "0xeC0008acc34d3D0CAa6758Ce788091e473812e28",
141
- "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9",
142
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
143
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
144
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
145
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
146
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
147
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
148
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
149
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
58
+ "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9"
150
59
  },
151
60
  "999": {
152
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
153
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
154
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
155
61
  "ecoArbiter": "0x1BeBAfb3D05d84A5Bfd94800c88d1342f755d8AB",
156
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
157
62
  "acrossBridge": "0x35E63eA3eb0fb7A3bc543C71FB66412e1F6B0E04",
158
63
  "spokepool": "0x35E63eA3eb0fb7A3bc543C71FB66412e1F6B0E04",
159
64
  "ecoPortal": "0xEC000064576f9C95a8623Bc0eff3db6d296ea6df",
160
65
  "ecoHyperProver": "0xeC0008acc34d3D0CAa6758Ce788091e473812e28",
161
- "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9",
162
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
163
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
164
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
165
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
166
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
167
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
168
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
169
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
66
+ "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9"
170
67
  },
171
68
  "1868": {
172
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
173
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
174
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
175
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
176
69
  "acrossBridge": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96",
177
- "spokepool": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96",
178
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
179
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
180
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
181
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
182
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
183
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
184
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
185
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
70
+ "spokepool": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96"
186
71
  },
187
72
  "4663": {
188
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
189
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
190
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
191
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
192
73
  "acrossBridge": "0xD29C85F15DF544bA632C9E25829fd29d767d7978",
193
- "spokepool": "0xD29C85F15DF544bA632C9E25829fd29d767d7978",
194
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
195
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
196
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
197
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
198
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
199
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
200
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
201
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
74
+ "spokepool": "0xD29C85F15DF544bA632C9E25829fd29d767d7978"
202
75
  },
203
76
  "8453": {
204
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
205
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
206
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
207
77
  "ecoArbiter": "0x1BeBAfb3D05d84A5Bfd94800c88d1342f755d8AB",
208
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
209
78
  "acrossBridge": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64",
210
79
  "spokepool": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64",
211
80
  "ecoPortal": "0xEC000064576f9C95a8623Bc0eff3db6d296ea6df",
212
81
  "ecoHyperProver": "0xeC0008acc34d3D0CAa6758Ce788091e473812e28",
213
- "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9",
214
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
215
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
216
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
217
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
218
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
219
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
220
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
221
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
82
+ "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9"
222
83
  },
223
84
  "9745": {
224
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
225
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
226
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
227
85
  "ecoArbiter": "0x1BeBAfb3D05d84A5Bfd94800c88d1342f755d8AB",
228
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
229
86
  "acrossBridge": "0x50039fAEfebef707cFD94D6d462fE6D10B39207a",
230
87
  "spokepool": "0x50039fAEfebef707cFD94D6d462fE6D10B39207a",
231
88
  "ecoPortal": "0xEC000064576f9C95a8623Bc0eff3db6d296ea6df",
232
89
  "ecoHyperProver": "0xeC0008acc34d3D0CAa6758Ce788091e473812e28",
233
90
  "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9",
234
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
235
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
236
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
237
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
238
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
239
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
240
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
241
- "oftProxy": "0xB01c27A13Ac8044ACB2315C3c9b877bc8C83ce27",
242
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
91
+ "oftProxy": "0xB01c27A13Ac8044ACB2315C3c9b877bc8C83ce27"
243
92
  },
244
93
  "9746": {
245
94
  "ecoArbiter": "0x8A061029AE4c5Cf69b5368119B3b0C80B31F55fE",
246
95
  "ecoPortal": "0x06EFdb68dbF245ECb49E3aE10Cd0f893B674443c",
247
96
  "ecoHyperProver": "0xe2d2562779550Ef6C3C9D7D59E0FaC1851fDA178",
248
- "ecoVaultAddress": "0xfc6695ed50c06ac1102371168c33b3cfab7c884b",
249
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
250
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
251
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
252
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
253
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
254
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
97
+ "ecoVaultAddress": "0xfc6695ed50c06ac1102371168c33b3cfab7c884b"
255
98
  },
256
99
  "42161": {
257
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
258
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
259
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
260
100
  "ecoArbiter": "0x1BeBAfb3D05d84A5Bfd94800c88d1342f755d8AB",
261
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
262
101
  "acrossBridge": "0xe35e9842fceaCA96570B734083f4a58e8F7C5f2A",
263
102
  "spokepool": "0xe35e9842fceaCA96570B734083f4a58e8F7C5f2A",
264
103
  "ecoPortal": "0xEC000064576f9C95a8623Bc0eff3db6d296ea6df",
265
104
  "ecoHyperProver": "0xeC0008acc34d3D0CAa6758Ce788091e473812e28",
266
105
  "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9",
267
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
268
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
269
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
270
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
271
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
272
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
273
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
274
- "oftProxy": "0x8886505Fc68b53B0D5156DbB68CFAdA878c89f89",
275
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
106
+ "oftProxy": "0x8886505Fc68b53B0D5156DbB68CFAdA878c89f89"
276
107
  },
277
108
  "43114": {
278
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
279
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
280
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
281
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
282
109
  "acrossBridge": "0xFE9D541c92E4e90437C7152A00244886dE37a658",
283
- "spokepool": "0xFE9D541c92E4e90437C7152A00244886dE37a658",
284
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
285
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
286
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
287
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
288
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
289
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
290
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
291
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
110
+ "spokepool": "0xFE9D541c92E4e90437C7152A00244886dE37a658"
292
111
  },
293
112
  "57073": {
294
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
295
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
296
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
297
113
  "ecoArbiter": "0x1BeBAfb3D05d84A5Bfd94800c88d1342f755d8AB",
298
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
299
114
  "acrossBridge": "0xeF684C38F94F48775959ECf2012D7E864ffb9dd4",
300
115
  "spokepool": "0xeF684C38F94F48775959ECf2012D7E864ffb9dd4",
301
116
  "ecoPortal": "0xEC000064576f9C95a8623Bc0eff3db6d296ea6df",
302
117
  "ecoHyperProver": "0xeC0008acc34d3D0CAa6758Ce788091e473812e28",
303
118
  "ecoVaultAddress": "0x9f70b0c839fe2D7190A09Ae87ED658b6D1CbA4F9",
304
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
305
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
306
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
307
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
308
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
309
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
310
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
311
- "oftProxy": "0xF2b7be8804F89bf8382604cb6D292fb057Ec2280",
312
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
119
+ "oftProxy": "0xF2b7be8804F89bf8382604cb6D292fb057Ec2280"
313
120
  },
314
121
  "84532": {
315
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
316
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
317
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
318
122
  "ecoArbiter": "0x8A061029AE4c5Cf69b5368119B3b0C80B31F55fE",
319
123
  "acrossBridge": "0x82B564983aE7274c86695917BBf8C99ECb6F0F8F",
320
124
  "spokepool": "0x82B564983aE7274c86695917BBf8C99ECb6F0F8F",
321
125
  "ecoPortal": "0x06EFdb68dbF245ECb49E3aE10Cd0f893B674443c",
322
126
  "ecoHyperProver": "0xad707D5756B534d55Fc2e96F61a95Fc03E4C0A0e",
323
- "ecoVaultAddress": "0xfc6695ed50c06ac1102371168c33b3cfab7c884b",
324
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
325
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
326
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
327
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
328
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
329
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
127
+ "ecoVaultAddress": "0xfc6695ed50c06ac1102371168c33b3cfab7c884b"
330
128
  },
331
129
  "421614": {
332
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
333
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
334
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
335
130
  "ecoArbiter": "0x8A061029AE4c5Cf69b5368119B3b0C80B31F55fE",
336
131
  "acrossBridge": "0x7E63A5f1a8F0B4d0934B2f2327DAED3F6bb2ee75",
337
132
  "spokepool": "0x7E63A5f1a8F0B4d0934B2f2327DAED3F6bb2ee75",
338
133
  "ecoPortal": "0x06EFdb68dbF245ECb49E3aE10Cd0f893B674443c",
339
134
  "ecoHyperProver": "0xad707D5756B534d55Fc2e96F61a95Fc03E4C0A0e",
340
- "ecoVaultAddress": "0xfc6695ed50c06ac1102371168c33b3cfab7c884b",
341
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
342
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
343
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
344
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
345
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
346
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
347
- },
348
- "747474": {
349
- "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
350
- "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
351
- "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
352
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
353
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
354
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
355
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
356
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
357
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
135
+ "ecoVaultAddress": "0xfc6695ed50c06ac1102371168c33b3cfab7c884b"
358
136
  },
137
+ "747474": {},
359
138
  "11155111": {
360
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
361
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
362
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
363
139
  "ecoArbiter": "0x8A061029AE4c5Cf69b5368119B3b0C80B31F55fE",
364
140
  "acrossBridge": "0x5ef6C01E11889d86803e0B23e3cB3F9E9d97B662",
365
141
  "spokepool": "0x5ef6C01E11889d86803e0B23e3cB3F9E9d97B662",
366
142
  "ecoPortal": "0x06EFdb68dbF245ECb49E3aE10Cd0f893B674443c",
367
143
  "ecoHyperProver": "0xad707D5756B534d55Fc2e96F61a95Fc03E4C0A0e",
368
- "ecoVaultAddress": "0xfc6695ed50c06ac1102371168c33b3cfab7c884b",
369
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
370
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
371
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
372
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
373
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
374
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
144
+ "ecoVaultAddress": "0xfc6695ed50c06ac1102371168c33b3cfab7c884b"
375
145
  },
376
146
  "11155420": {
377
- "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
378
- "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
379
- "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
380
147
  "ecoArbiter": "0x8A061029AE4c5Cf69b5368119B3b0C80B31F55fE",
381
148
  "acrossBridge": "0x4e8E101924eDE233C13e2D8622DC8aED2872d505",
382
149
  "spokepool": "0x4e8E101924eDE233C13e2D8622DC8aED2872d505",
383
150
  "ecoPortal": "0x06EFdb68dbF245ECb49E3aE10Cd0f893B674443c",
384
151
  "ecoHyperProver": "0xad707D5756B534d55Fc2e96F61a95Fc03E4C0A0e",
385
- "ecoVaultAddress": "0xfc6695ed50c06ac1102371168c33b3cfab7c884b",
386
- "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
387
- "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
388
- "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
389
- "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
390
- "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
391
- "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
152
+ "ecoVaultAddress": "0xfc6695ed50c06ac1102371168c33b3cfab7c884b"
392
153
  },
393
154
  "*": {
394
155
  "addressBook": "0xb7Eed4f2c3c3EE7349f80414ffb04dA6c247924E",
@@ -415,7 +176,19 @@ const contractAddresses = {
415
176
  "samechainAdapter": "0xca9f2c72e9DDa98a5286607f8693744396851C34",
416
177
  "smartSessionEmissary": "0x60731dE80D78548875f8A67C4FeC2a8660194e0c",
417
178
  "smartSessionLens": "0xE1B629162B08b8Baefa2B30Ee34D6cAB63580320",
418
- "swapper": "0x8206052a213AA7cafB18ec7898e8D1D421C02100"
179
+ "swapper": "0x8206052a213AA7cafB18ec7898e8D1D421C02100",
180
+ "acrossHandler": "0xF6fC9aa0DA8621f5596024f34E277032E5A80AE8",
181
+ "across7579Arbiter": "0x1b19973F7a29E950ad4FaF8872745B6378005517",
182
+ "acrossMulticallArbiter": "0x8343FBBA0526deC1c952A098057021027648bcf9",
183
+ "relayArbiter": "0xf50962E8f230D83c67002597992ce0f9EBDD49c0",
184
+ "relayDepository": "0x4cd00e387622c35bddb9b4c962c136462338bc31",
185
+ "relayRouter": "0xb92fe925dc43a0ecde6c8b1a2709c170ec4fff4f",
186
+ "compact": "0x00000000000000171ede64904551eeDF3C6C9788",
187
+ "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3",
188
+ "feeCollector": "0xfeebabe17996b3346cf80f04a1f072102a90cf09",
189
+ "appFeeCollector": "0xc9dc20145135368d5184dB9Ee6598c885a7f03e1",
190
+ "appFeePot": "0xb83E1d9C267e1f99529f8cE4CE20899f1FCAdBCc",
191
+ "tokenTransferProxy": "0x21416a06e81fe115a5c8bf554b2b01383bd9b9f3"
419
192
  }
420
193
  };
421
194
  exports.contractAddresses = contractAddresses;