@across-protocol/contracts 3.0.4 → 3.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/artifacts/build-info/1db051c0e002cf2f9ba6a68f3bdef99b.json +1 -0
  2. package/artifacts/contracts/Blast_SpokePool.sol/Blast_SpokePool.dbg.json +1 -1
  3. package/artifacts/contracts/Blast_SpokePool.sol/Blast_SpokePool.json +2 -2
  4. package/artifacts/contracts/Blast_SpokePool.sol/IBlast.dbg.json +1 -1
  5. package/artifacts/contracts/Blast_SpokePool.sol/IERC20Rebasing.dbg.json +1 -1
  6. package/artifacts/contracts/Blast_SpokePool.sol/IUSDBL2Bridge.dbg.json +4 -0
  7. package/artifacts/contracts/Blast_SpokePool.sol/IUSDBL2Bridge.json +49 -0
  8. package/contracts/Blast_SpokePool.sol +12 -1
  9. package/dist/deploy/consts.js +15 -1
  10. package/dist/deployments/deployments.json +39 -16
  11. package/dist/hardhat.config.js +81 -132
  12. package/dist/tasks/enableL1TokenAcrossEcosystem.js +5 -1
  13. package/dist/typechain/contracts/Blast_SpokePool.sol/IUSDBL2Bridge.d.ts +50 -0
  14. package/dist/typechain/contracts/Blast_SpokePool.sol/IUSDBL2Bridge.js +2 -0
  15. package/dist/typechain/contracts/Blast_SpokePool.sol/index.d.ts +1 -0
  16. package/dist/typechain/factories/contracts/Blast_SpokePool.sol/Blast_SpokePool__factory.d.ts +1 -1
  17. package/dist/typechain/factories/contracts/Blast_SpokePool.sol/Blast_SpokePool__factory.js +1 -1
  18. package/dist/typechain/factories/contracts/Blast_SpokePool.sol/IUSDBL2Bridge__factory.d.ts +38 -0
  19. package/dist/typechain/factories/contracts/Blast_SpokePool.sol/IUSDBL2Bridge__factory.js +57 -0
  20. package/dist/typechain/factories/contracts/Blast_SpokePool.sol/index.d.ts +1 -0
  21. package/dist/typechain/factories/contracts/Blast_SpokePool.sol/index.js +3 -1
  22. package/dist/typechain/hardhat.d.ts +9 -0
  23. package/dist/typechain/index.d.ts +2 -0
  24. package/dist/typechain/index.js +5 -3
  25. package/dist/utils/constants.d.ts +1 -1
  26. package/dist/utils/constants.js +2 -1
  27. package/dist/utils/utils.hre.js +9 -3
  28. package/package.json +2 -2
  29. package/artifacts/build-info/867bed2f4e83c4a2335902c0af208f21.json +0 -1
@@ -19,8 +19,10 @@
19
19
  "BondToken": { "address": "0xee1dc6bcf1ee967a350e9ac6caaaa236109002ea", "blockNumber": 17980554 },
20
20
  "SpokePoolVerifier": { "address": "0xB4A8d45647445EA9FC3E1058096142390683dBC2", "blockNumber": 19510875 },
21
21
  "Mode_Adapter": { "address": "0xf1B59868697f3925b72889ede818B9E7ba0316d0", "blockNumber": 19914094 },
22
- "MulticallHandler": { "address": "0xA18cD406a857e174397814F32c0Ef7cC68Ddc20F", "blockNumber": 20120771 },
23
- "Lisk_Adapter": { "address": "0x8229E812f20537caA1e8Fb41749b4887B8a75C3B", "blockNumber": 20184545 }
22
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 20277013 },
23
+ "Lisk_Adapter": { "address": "0x8229E812f20537caA1e8Fb41749b4887B8a75C3B", "blockNumber": 20184545 },
24
+ "Blast_Adapter": { "address": "0xF2bEf5E905AAE0295003ab14872F811E914EdD81", "blockNumber": 20221494 },
25
+ "Scroll_Adapter": { "address": "0xb6129Ab69aEA75e6884c2D6ecf25293C343C519F", "blockNumber": 20318360 }
24
26
  },
25
27
  "4": {
26
28
  "Arbitrum_Adapter": { "address": "0x18F4D98C7CeA6Ab934F2976c2a98009A529d8F49", "blockNumber": 10367195 },
@@ -52,11 +54,11 @@
52
54
  "UniswapV3_SwapAndBridge": { "address": "0x6f4A733c7889f038D77D4f540182Dda17423CcbF", "blockNumber": 120044742 },
53
55
  "AcrossMerkleDistributor": { "address": "0xc8b31410340d57417bE62672f6B53dfB9de30aC2", "blockNumber": 114652330 },
54
56
  "SpokePoolVerifier": { "address": "0xB4A8d45647445EA9FC3E1058096142390683dBC2", "blockNumber": 117881120 },
55
- "MulticallHandler": { "address": "0xA18cD406a857e174397814F32c0Ef7cC68Ddc20F", "blockNumber": 121570369 }
57
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 122513129 }
56
58
  },
57
59
  "11155420": {
58
60
  "SpokePool": { "address": "0x4e8E101924eDE233C13e2D8622DC8aED2872d505", "blockNumber": 7762656 },
59
- "MulticallHandler": { "address": "0xF2720cc7391D237876A17E10914e9b7188009957", "blockNumber": 13837201 }
61
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 14411096 }
60
62
  },
61
63
  "42": {
62
64
  "AcrossConfigStore": { "address": "0xDd74f7603e3fDA6435aEc91F8960a6b8b40415f3", "blockNumber": 31457380 },
@@ -82,7 +84,7 @@
82
84
  "blockNumber": 56529578
83
85
  },
84
86
  "UniswapV3_SwapAndBridge": { "address": "0x9220fa27ae680e4e8d9733932128fa73362e0393", "blockNumber": 56675837 },
85
- "MulticallHandler": { "address": "0xA18cD406a857e174397814F32c0Ef7cC68Ddc20F", "blockNumber": 58322400 }
87
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 59194129 }
86
88
  },
87
89
  "280": { "SpokePool": { "address": "0x863859ef502F0Ee9676626ED5B418037252eFeb2", "blockNumber": 10263886 } },
88
90
  "288": { "SpokePool": { "address": "0xBbc6009fEfFc27ce705322832Cb2068F8C1e0A58", "blockNumber": 619993 } },
@@ -91,31 +93,37 @@
91
93
  "MulticallHandler": { "address": "0x863859ef502F0Ee9676626ED5B418037252eFeb2", "blockNumber": 36906393 }
92
94
  },
93
95
  "420": { "SpokePool": { "address": "0xeF684C38F94F48775959ECf2012D7E864ffb9dd4", "blockNumber": 17025501 } },
94
- "919": { "SpokePool": { "address": "0xbd886FC0725Cc459b55BbFEb3E4278610331f83b", "blockNumber": 13999465 } },
96
+ "919": {
97
+ "SpokePool": { "address": "0xbd886FC0725Cc459b55BbFEb3E4278610331f83b", "blockNumber": 13999465 },
98
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 15826581 }
99
+ },
95
100
  "1135": {
96
101
  "SpokePool": { "address": "0x9552a0a6624A23B848060AE5901659CDDa1f83f8", "blockNumber": 2602337 },
97
102
  "SpokePoolVerifier": { "address": "0xB4A8d45647445EA9FC3E1058096142390683dBC2", "blockNumber": 2391565 },
98
- "MulticallHandler": { "address": "0xF2720cc7391D237876A17E10914e9b7188009957", "blockNumber": 2391722 }
103
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 2948231 }
104
+ },
105
+ "4202": {
106
+ "SpokePool": { "address": "0xeF684C38F94F48775959ECf2012D7E864ffb9dd4", "blockNumber": 7267988 },
107
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 7660205 }
99
108
  },
100
- "4202": { "SpokePool": { "address": "0xeF684C38F94F48775959ECf2012D7E864ffb9dd4", "blockNumber": 7267988 } },
101
109
  "8453": {
102
110
  "SpokePool": { "address": "0x09aea4b2242abC8bb4BB78D537A67a245A7bEC64", "blockNumber": 2164878 },
103
111
  "SpokePoolVerifier": { "address": "0xB4A8d45647445EA9FC3E1058096142390683dBC2", "blockNumber": 12285703 },
104
112
  "1inch_SwapAndBridge": { "address": "0x7CFaBF2eA327009B39f40078011B0Fb714b65926", "blockNumber": 14450808 },
105
113
  "UniswapV3_SwapAndBridge": { "address": "0xbcfbCE9D92A516e3e7b0762AE218B4194adE34b4", "blockNumber": 14450714 },
106
- "MulticallHandler": { "address": "0xA18cD406a857e174397814F32c0Ef7cC68Ddc20F", "blockNumber": 15975231 }
114
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 16917922 }
107
115
  },
108
116
  "34443": {
109
117
  "SpokePool": { "address": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", "blockNumber": 8043187 },
110
118
  "SpokePoolVerifier": { "address": "0xB4A8d45647445EA9FC3E1058096142390683dBC2", "blockNumber": 8038567 },
111
- "MulticallHandler": { "address": "0xA18cD406a857e174397814F32c0Ef7cC68Ddc20F", "blockNumber": 9286146 }
119
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 10228826 }
112
120
  },
113
121
  "42161": {
114
122
  "SpokePool": { "address": "0xe35e9842fceaCA96570B734083f4a58e8F7C5f2A", "blockNumber": 83868041 },
115
123
  "SpokePoolVerifier": { "address": "0xB4A8d45647445EA9FC3E1058096142390683dBC2", "blockNumber": 194021369 },
116
124
  "1inch_SwapAndBridge": { "address": "0xC456398D5eE3B93828252e48beDEDbc39e03368E", "blockNumber": 211175795 },
117
125
  "UniswapV3_SwapAndBridge": { "address": "0xF633b72A4C2Fb73b77A379bf72864A825aD35b6D", "blockNumber": 211175481 },
118
- "MulticallHandler": { "address": "0xA18cD406a857e174397814F32c0Ef7cC68Ddc20F", "blockNumber": 223249435 }
126
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 230779625 }
119
127
  },
120
128
  "59144": {
121
129
  "SpokePool": { "address": "0x7E63A5f1a8F0B4d0934B2f2327DAED3F6bb2ee75", "blockNumber": 2721169 },
@@ -125,7 +133,7 @@
125
133
  "84531": { "SpokePool": { "address": "0x1F5AA71C79ec6a11FC55789ed32dAE3B64d75791", "blockNumber": 7992905 } },
126
134
  "84532": {
127
135
  "SpokePool": { "address": "0x82B564983aE7274c86695917BBf8C99ECb6F0F8F", "blockNumber": 6082004 },
128
- "MulticallHandler": { "address": "0xF2720cc7391D237876A17E10914e9b7188009957", "blockNumber": 11854066 }
136
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 12429513 }
129
137
  },
130
138
  "80001": {
131
139
  "MintableERC1155": { "address": "0xe377d7C510fEbc64525f480e33306b21b30066F7", "blockNumber": 33352305 },
@@ -135,22 +143,37 @@
135
143
  "80002": {
136
144
  "PolygonTokenBridger": { "address": "0x4e3737679081c4D3029D88cA560918094f2e0284", "blockNumber": 7529773 },
137
145
  "SpokePool": { "address": "0xd08baaE74D6d2eAb1F3320B2E1a53eeb391ce8e5", "blockNumber": 7529960 },
138
- "MulticallHandler": { "address": "0xF2720cc7391D237876A17E10914e9b7188009957", "blockNumber": 8776056 }
146
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 8797771 }
147
+ },
148
+ "168587773": {
149
+ "SpokePool": { "address": "0x5545092553Cf5Bf786e87a87192E902D50D8f022", "blockNumber": 7634204 },
150
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 7973417 }
151
+ },
152
+ "81457": {
153
+ "SpokePool": { "address": "0x2D509190Ed0172ba588407D4c2df918F955Cc6E1", "blockNumber": 5574280 },
154
+ "SpokePoolVerifier": { "address": "0xB4A8d45647445EA9FC3E1058096142390683dBC2", "blockNumber": 5574513 },
155
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 5876291 }
139
156
  },
140
157
  "421611": { "SpokePool": { "address": "0x3BED21dAe767e4Df894B31b14aD32369cE4bad8b", "blockNumber": 10523275 } },
141
158
  "421613": { "SpokePool": { "address": "0xd08baaE74D6d2eAb1F3320B2E1a53eeb391ce8e5", "blockNumber": 30397192 } },
142
159
  "421614": {
143
160
  "SpokePool": { "address": "0x7E63A5f1a8F0B4d0934B2f2327DAED3F6bb2ee75", "blockNumber": 12411026 },
144
- "MulticallHandler": { "address": "0xF2720cc7391D237876A17E10914e9b7188009957", "blockNumber": 58825469 }
161
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 58993382 }
162
+ },
163
+ "534352": {
164
+ "SpokePool": { "address": "0x3baD7AD0728f9917d1Bf08af5782dCbD516cDd96", "blockNumber": 7489705 },
165
+ "SpokePoolVerifier": { "address": "0xB4A8d45647445EA9FC3E1058096142390683dBC2", "blockNumber": 7490003 },
166
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 7489978 }
145
167
  },
146
168
  "11155111": {
147
- "MulticallHandler": { "address": "0xF2720cc7391D237876A17E10914e9b7188009957", "blockNumber": 6196598 },
169
+ "MulticallHandler": { "address": "0x924a9f036260DdD5808007E1AA95f08eD08aA569", "blockNumber": 6284508 },
148
170
  "AcrossConfigStore": { "address": "0xB3De1e212B49e68f4a68b5993f31f63946FCA2a6", "blockNumber": 4968255 },
149
171
  "LPTokenFactory": { "address": "0xFB87Ac52Bac7ccF497b6053610A9c59B87a0cE7D", "blockNumber": 4911834 },
150
172
  "HubPool": { "address": "0x14224e63716aface30c9a417e0542281869f7d9e", "blockNumber": 4911835 },
151
173
  "SpokePool": { "address": "0x5ef6C01E11889d86803e0B23e3cB3F9E9d97B662", "blockNumber": 5288470 },
152
174
  "PolygonTokenBridger": { "address": "0x4e3737679081c4D3029D88cA560918094f2e0284", "blockNumber": 5984560 },
153
175
  "Polygon_Adapter": { "address": "0x540029039E493b1B843653f93C3064A956931747", "blockNumber": 5984591 },
154
- "Lisk_Adapter": { "address": "0x13a8B1D6443016424e2b8Bac40dD884Ee679AFc4", "blockNumber": 6226289 }
176
+ "Lisk_Adapter": { "address": "0x13a8B1D6443016424e2b8Bac40dD884Ee679AFc4", "blockNumber": 6226289 },
177
+ "Blast_Adapter": { "address": "0x09500Ffd743e01B4146a4BA795231Ca7Ca37819f", "blockNumber": 6233857 }
155
178
  }
156
179
  }
@@ -25,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const dotenv = __importStar(require("dotenv"));
27
27
  const common_1 = require("@uma/common");
28
+ const constants_1 = require("./utils/constants");
28
29
  require("@nomicfoundation/hardhat-verify"); // Must be above hardhat-upgrades
29
30
  require("@nomiclabs/hardhat-waffle");
30
31
  require("@typechain/hardhat");
@@ -116,20 +117,10 @@ const config = {
116
117
  url: (0, common_1.getNodeUrl)("mainnet", true, 1),
117
118
  accounts: { mnemonic },
118
119
  saveDeployments: true,
119
- chainId: 1,
120
- },
121
- "zksync-goerli": {
122
- chainId: 280,
123
- url: "https://testnet.era.zksync.dev",
124
- saveDeployments: true,
125
- accounts: { mnemonic },
126
- ethNetwork: "goerli",
127
- companionNetworks: { l1: "goerli" },
128
- zksync: true,
129
- verifyURL: "https://zksync2-testnet-explorer.zksync.dev/contract_verification",
120
+ chainId: constants_1.CHAIN_IDs.MAINNET,
130
121
  },
131
122
  zksync: {
132
- chainId: 324,
123
+ chainId: constants_1.CHAIN_IDs.ZK_SYNC,
133
124
  url: "https://mainnet.era.zksync.io",
134
125
  saveDeployments: true,
135
126
  accounts: { mnemonic },
@@ -139,149 +130,89 @@ const config = {
139
130
  verifyURL: "https://zksync2-mainnet-explorer.zksync.io/contract_verification",
140
131
  },
141
132
  optimism: {
142
- url: (0, common_1.getNodeUrl)("optimism", true, 10),
133
+ url: (0, common_1.getNodeUrl)("optimism", true, constants_1.CHAIN_IDs.OPTIMISM),
143
134
  accounts: { mnemonic },
144
135
  saveDeployments: true,
145
- chainId: 10,
136
+ chainId: constants_1.CHAIN_IDs.OPTIMISM,
146
137
  companionNetworks: { l1: "mainnet" },
147
138
  },
148
- kovan: {
149
- url: (0, common_1.getNodeUrl)("kovan", true, 42),
150
- accounts: { mnemonic },
151
- saveDeployments: true,
152
- chainId: 42,
153
- },
154
- "optimism-kovan": {
155
- url: (0, common_1.getNodeUrl)("optimism-kovan", true, 69),
156
- accounts: { mnemonic },
157
- saveDeployments: true,
158
- chainId: 69,
159
- companionNetworks: { l1: "kovan" },
160
- },
161
- "optimism-goerli": {
162
- url: (0, common_1.getNodeUrl)("optimism-goerli", true, 420),
163
- accounts: { mnemonic },
164
- saveDeployments: true,
165
- chainId: 420,
166
- companionNetworks: { l1: "goerli" },
167
- },
168
139
  "optimism-sepolia": {
169
- url: (0, common_1.getNodeUrl)("optimism-sepolia", true, 11155420),
140
+ url: (0, common_1.getNodeUrl)("optimism-sepolia", true, constants_1.CHAIN_IDs.OPTIMISM_SEPOLIA),
170
141
  accounts: { mnemonic },
171
142
  saveDeployments: true,
172
- chainId: 11155420,
143
+ chainId: constants_1.CHAIN_IDs.OPTIMISM_SEPOLIA,
173
144
  companionNetworks: { l1: "sepolia" },
174
145
  },
175
146
  arbitrum: {
176
- chainId: 42161,
177
- url: (0, common_1.getNodeUrl)("arbitrum", true, 42161),
147
+ chainId: constants_1.CHAIN_IDs.ARBITRUM,
148
+ url: (0, common_1.getNodeUrl)("arbitrum", true, constants_1.CHAIN_IDs.ARBITRUM),
178
149
  saveDeployments: true,
179
150
  accounts: { mnemonic },
180
151
  companionNetworks: { l1: "mainnet" },
181
152
  },
182
- "arbitrum-rinkeby": {
183
- chainId: 421611,
184
- url: (0, common_1.getNodeUrl)("arbitrum-rinkeby", true, 421611),
185
- saveDeployments: true,
186
- accounts: { mnemonic },
187
- companionNetworks: { l1: "rinkeby" },
188
- },
189
- "arbitrum-goerli": {
190
- chainId: 421613,
191
- url: "https://goerli-rollup.arbitrum.io/rpc",
192
- saveDeployments: true,
193
- accounts: { mnemonic },
194
- companionNetworks: { l1: "goerli" },
195
- },
196
153
  "arbitrum-sepolia": {
197
- chainId: 421614,
198
- url: (0, common_1.getNodeUrl)("arbitrum-sepolia", true, 421614),
154
+ chainId: constants_1.CHAIN_IDs.ARBITRUM_SEPOLIA,
155
+ url: (0, common_1.getNodeUrl)("arbitrum-sepolia", true, constants_1.CHAIN_IDs.ARBITRUM_SEPOLIA),
199
156
  saveDeployments: true,
200
157
  accounts: { mnemonic },
201
158
  companionNetworks: { l1: "sepolia" },
202
159
  },
203
- rinkeby: {
204
- chainId: 4,
205
- url: (0, common_1.getNodeUrl)("rinkeby", true, 4),
206
- saveDeployments: true,
207
- accounts: { mnemonic },
208
- },
209
- goerli: {
210
- chainId: 5,
211
- url: (0, common_1.getNodeUrl)("goerli", true, 5),
212
- saveDeployments: true,
213
- accounts: { mnemonic },
214
- },
215
160
  sepolia: {
216
161
  url: `https://sepolia.infura.io/v3/${process.env.INFURA_API_KEY}`,
217
162
  accounts: { mnemonic },
218
163
  saveDeployments: true,
219
- chainId: 11155111,
164
+ chainId: constants_1.CHAIN_IDs.SEPOLIA,
220
165
  },
221
166
  polygon: {
222
- chainId: 137,
223
- url: (0, common_1.getNodeUrl)("polygon-matic", true, 137),
167
+ chainId: constants_1.CHAIN_IDs.POLYGON,
168
+ url: (0, common_1.getNodeUrl)("polygon-matic", true, constants_1.CHAIN_IDs.POLYGON),
224
169
  saveDeployments: true,
225
170
  accounts: { mnemonic },
226
171
  companionNetworks: { l1: "mainnet" },
227
172
  },
228
173
  boba: {
229
- chainId: 288,
230
- url: (0, common_1.getNodeUrl)("boba", true, 288),
174
+ chainId: constants_1.CHAIN_IDs.BOBA,
175
+ url: (0, common_1.getNodeUrl)("boba", true, constants_1.CHAIN_IDs.BOBA),
231
176
  accounts: { mnemonic },
232
177
  companionNetworks: { l1: "mainnet" },
233
178
  },
234
- "polygon-mumbai": {
235
- chainId: 80001,
236
- url: (0, common_1.getNodeUrl)("polygon-mumbai", true, 80001),
237
- saveDeployments: true,
238
- accounts: { mnemonic },
239
- companionNetworks: { l1: "goerli" },
240
- },
241
179
  "polygon-amoy": {
242
- chainId: 80002,
180
+ chainId: constants_1.CHAIN_IDs.POLYGON_AMOY,
243
181
  url: "https://rpc-amoy.polygon.technology",
244
182
  saveDeployments: true,
245
183
  accounts: { mnemonic },
246
184
  companionNetworks: { l1: "sepolia" },
247
185
  },
248
186
  base: {
249
- chainId: 8453,
187
+ chainId: constants_1.CHAIN_IDs.BASE,
250
188
  url: "https://mainnet.base.org",
251
189
  saveDeployments: true,
252
190
  accounts: { mnemonic },
253
191
  companionNetworks: { l1: "mainnet" },
254
192
  },
255
- "base-goerli": {
256
- chainId: 84531,
257
- url: "https://goerli.base.org",
258
- saveDeployments: true,
259
- accounts: { mnemonic },
260
- companionNetworks: { l1: "goerli" },
261
- },
262
193
  "base-sepolia": {
263
- chainId: 84532,
194
+ chainId: constants_1.CHAIN_IDs.BASE_SEPOLIA,
264
195
  url: `https://base-sepolia.infura.io/v3/${process.env.INFURA_API_KEY}`,
265
196
  saveDeployments: true,
266
197
  accounts: { mnemonic },
267
198
  companionNetworks: { l1: "sepolia" },
268
199
  },
269
200
  linea: {
270
- chainId: 59144,
201
+ chainId: constants_1.CHAIN_IDs.LINEA,
271
202
  url: `https://linea-mainnet.infura.io/v3/${process.env.INFURA_API_KEY}`,
272
203
  saveDeployments: true,
273
204
  accounts: { mnemonic },
274
205
  companionNetworks: { l1: "mainnet" },
275
206
  },
276
- "linea-goerli": {
277
- chainId: 59140,
278
- url: `https://linea-goerli.infura.io/v3/${process.env.INFURA_API_KEY}`,
207
+ scroll: {
208
+ chainId: constants_1.CHAIN_IDs.SCROLL,
209
+ url: "https://rpc.scroll.io",
279
210
  saveDeployments: true,
280
211
  accounts: { mnemonic },
281
- companionNetworks: { l1: "goerli" },
212
+ companionNetworks: { l1: "mainnet" },
282
213
  },
283
214
  "scroll-sepolia": {
284
- chainId: 534351,
215
+ chainId: constants_1.CHAIN_IDs.SCROLL_SEPOLIA,
285
216
  url: "https://sepolia-rpc.scroll.io",
286
217
  saveDeployments: true,
287
218
  accounts: { mnemonic },
@@ -302,55 +233,63 @@ const config = {
302
233
  companionNetworks: { l1: "goerli" },
303
234
  },
304
235
  mode: {
305
- chainId: 34443,
236
+ chainId: constants_1.CHAIN_IDs.MODE,
306
237
  url: "https://mainnet.mode.network",
307
238
  saveDeployments: true,
308
239
  accounts: { mnemonic },
309
240
  companionNetworks: { l1: "mainnet" },
310
241
  },
311
242
  "mode-sepolia": {
312
- chainId: 919,
243
+ chainId: constants_1.CHAIN_IDs.MODE_SEPOLIA,
313
244
  url: "https://sepolia.mode.network",
314
245
  saveDeployments: true,
315
246
  accounts: { mnemonic },
316
247
  companionNetworks: { l1: "sepolia" },
317
248
  },
318
249
  lisk: {
319
- chainId: 1135,
250
+ chainId: constants_1.CHAIN_IDs.LISK,
320
251
  url: "https://rpc.api.lisk.com",
321
252
  saveDeployments: true,
322
253
  accounts: { mnemonic },
323
254
  companionNetworks: { l1: "mainnet" },
324
255
  },
325
256
  "lisk-sepolia": {
326
- chainId: 4202,
257
+ chainId: constants_1.CHAIN_IDs.LISK_SEPOLIA,
327
258
  url: "https://rpc.sepolia-api.lisk.com",
328
259
  saveDeployments: true,
329
260
  accounts: { mnemonic },
330
261
  companionNetworks: { l1: "sepolia" },
331
262
  },
263
+ blast: {
264
+ chainId: constants_1.CHAIN_IDs.BLAST,
265
+ url: "https://rpc.blast.io",
266
+ saveDeployments: true,
267
+ accounts: { mnemonic },
268
+ companionNetworks: { l1: "mainnet" },
269
+ },
270
+ "blast-sepolia": {
271
+ chainId: constants_1.CHAIN_IDs.BLAST_SEPOLIA,
272
+ url: "https://sepolia.blast.io",
273
+ saveDeployments: true,
274
+ accounts: { mnemonic },
275
+ companionNetworks: { l1: "sepolia" },
276
+ },
332
277
  },
333
278
  gasReporter: { enabled: process.env.REPORT_GAS !== undefined, currency: "USD" },
334
279
  etherscan: {
335
280
  apiKey: {
336
281
  mainnet: process.env.ETHERSCAN_API_KEY,
337
- kovan: process.env.ETHERSCAN_API_KEY,
338
- rinkeby: process.env.ETHERSCAN_API_KEY,
339
- goerli: process.env.ETHERSCAN_API_KEY,
340
282
  sepolia: process.env.ETHERSCAN_API_KEY,
341
283
  optimisticEthereum: process.env.OPTIMISM_ETHERSCAN_API_KEY,
342
- optimisticGoerli: process.env.OPTIMISM_ETHERSCAN_API_KEY,
343
284
  optimisticSepolia: process.env.OPTIMISM_ETHERSCAN_API_KEY,
344
285
  arbitrumOne: process.env.ARBITRUM_ETHERSCAN_API_KEY,
345
286
  "arbitrum-sepolia": process.env.ARBITRUM_ETHERSCAN_API_KEY,
346
287
  polygon: process.env.POLYGON_ETHERSCAN_API_KEY,
347
- polygonMumbai: process.env.POLYGON_ETHERSCAN_API_KEY,
348
288
  "polygon-amoy": process.env.POLYGON_ETHERSCAN_API_KEY,
349
289
  base: process.env.BASE_ETHERSCAN_API_KEY,
350
- "base-goerli": process.env.BASE_ETHERSCAN_API_KEY,
351
290
  "base-sepolia": process.env.BASE_ETHERSCAN_API_KEY,
352
291
  linea: process.env.LINEA_ETHERSCAN_API_KEY,
353
- "linea-goerli": process.env.LINEA_ETHERSCAN_API_KEY,
292
+ scroll: process.env.SCROLL_ETHERSCAN_API_KEY,
354
293
  "scroll-sepolia": process.env.SCROLL_ETHERSCAN_API_KEY,
355
294
  "polygon-zk-evm": process.env.POLYGON_ZK_EVM_ETHERSCAN_API_KEY,
356
295
  "polygon-zk-evm-testnet": process.env.POLYGON_ZK_EVM_ETHERSCAN_API_KEY,
@@ -358,27 +297,21 @@ const config = {
358
297
  "mode-sepolia": process.env.MODE_ETHERSCAN_API_KEY,
359
298
  lisk: process.env.LISK_ETHERSCAN_API_KEY,
360
299
  "lisk-sepolia": process.env.LISK_ETHERSCAN_API_KEY,
300
+ blast: process.env.BLAST_ETHERSCAN_API_KEY,
301
+ "blast-sepolia": process.env.BLAST_ETHERSCAN_API_KEY,
361
302
  },
362
303
  customChains: [
363
304
  {
364
305
  network: "base",
365
- chainId: 8453,
306
+ chainId: constants_1.CHAIN_IDs.BASE,
366
307
  urls: {
367
308
  apiURL: "https://api.basescan.org/api",
368
309
  browserURL: "https://basescan.org",
369
310
  },
370
311
  },
371
- {
372
- network: "base-goerli",
373
- chainId: 84531,
374
- urls: {
375
- apiURL: "https://api-goerli.basescan.org/api",
376
- browserURL: "https://goerli.basescan.org",
377
- },
378
- },
379
312
  {
380
313
  network: "base-sepolia",
381
- chainId: 84532,
314
+ chainId: constants_1.CHAIN_IDs.BASE_SEPOLIA,
382
315
  urls: {
383
316
  apiURL: "https://api-sepolia.basescan.org/api",
384
317
  browserURL: "https://sepolia.basescan.org",
@@ -386,31 +319,31 @@ const config = {
386
319
  },
387
320
  {
388
321
  network: "linea",
389
- chainId: 59144,
322
+ chainId: constants_1.CHAIN_IDs.LINEA,
390
323
  urls: {
391
324
  apiURL: "https://api.lineascan.build/api",
392
325
  browserURL: "https://lineascan.org",
393
326
  },
394
327
  },
395
328
  {
396
- network: "linea-goerli",
397
- chainId: 59140,
329
+ network: "sepolia",
330
+ chainId: constants_1.CHAIN_IDs.SEPOLIA,
398
331
  urls: {
399
- apiURL: "https://api-testnet.lineascan.build/api",
400
- browserURL: "https://goerli.lineascan.build",
332
+ apiURL: "https://api-sepolia.etherscan.io/api",
333
+ browserURL: "https://sepolia.etherscan.io",
401
334
  },
402
335
  },
403
336
  {
404
- network: "sepolia",
405
- chainId: 11155111,
337
+ network: "scroll",
338
+ chainId: constants_1.CHAIN_IDs.SCROLL,
406
339
  urls: {
407
- apiURL: "https://api-sepolia.etherscan.io/api",
408
- browserURL: "https://sepolia.etherscan.io",
340
+ apiURL: "https://api.scrollscan.com/api",
341
+ browserURL: "https://api.scrollscan.com",
409
342
  },
410
343
  },
411
344
  {
412
345
  network: "scroll-sepolia",
413
- chainId: 534351,
346
+ chainId: constants_1.CHAIN_IDs.SCROLL_SEPOLIA,
414
347
  urls: {
415
348
  apiURL: "https://api-sepolia.scrollscan.com/api",
416
349
  browserURL: "https://api-sepolia.scrollscan.com",
@@ -418,7 +351,7 @@ const config = {
418
351
  },
419
352
  {
420
353
  network: "optimisticSepolia",
421
- chainId: 11155420,
354
+ chainId: constants_1.CHAIN_IDs.OPTIMISM_SEPOLIA,
422
355
  urls: {
423
356
  apiURL: "https://api-sepolia-optimistic.etherscan.io/api",
424
357
  browserURL: "https://sepolia-optimism.etherscan.io",
@@ -442,7 +375,7 @@ const config = {
442
375
  },
443
376
  {
444
377
  network: "polygon-amoy",
445
- chainId: 80002,
378
+ chainId: constants_1.CHAIN_IDs.POLYGON_AMOY,
446
379
  urls: {
447
380
  apiURL: "https://api-amoy.polygonscan.com/api",
448
381
  browserURL: "https://amoy.polygonscan.com",
@@ -450,7 +383,7 @@ const config = {
450
383
  },
451
384
  {
452
385
  network: "arbitrum-sepolia",
453
- chainId: 421614,
386
+ chainId: constants_1.CHAIN_IDs.ARBITRUM_SEPOLIA,
454
387
  urls: {
455
388
  apiURL: "https://api-sepolia.arbiscan.io/api",
456
389
  browserURL: "https://sepolia.arbiscan.io",
@@ -458,7 +391,7 @@ const config = {
458
391
  },
459
392
  {
460
393
  network: "mode-sepolia",
461
- chainId: 919,
394
+ chainId: constants_1.CHAIN_IDs.MODE_SEPOLIA,
462
395
  urls: {
463
396
  apiURL: "https://api.routescan.io/v2/network/testnet/evm/919/etherscan",
464
397
  browserURL: "https://testnet.modescan.io",
@@ -466,7 +399,7 @@ const config = {
466
399
  },
467
400
  {
468
401
  network: "mode",
469
- chainId: 34443,
402
+ chainId: constants_1.CHAIN_IDs.MODE,
470
403
  urls: {
471
404
  apiURL: "https://api.routescan.io/v2/network/mainnet/evm/34443/etherscan",
472
405
  browserURL: "https://modescan.io",
@@ -474,7 +407,7 @@ const config = {
474
407
  },
475
408
  {
476
409
  network: "lisk",
477
- chainId: 1135,
410
+ chainId: constants_1.CHAIN_IDs.LISK,
478
411
  urls: {
479
412
  apiURL: "https://blockscout.lisk.com/api",
480
413
  browserURL: "https://blockscout.lisk.com",
@@ -482,12 +415,28 @@ const config = {
482
415
  },
483
416
  {
484
417
  network: "lisk-sepolia",
485
- chainId: 4202,
418
+ chainId: constants_1.CHAIN_IDs.LISK_SEPOLIA,
486
419
  urls: {
487
420
  apiURL: "https://sepolia-blockscout.lisk.com/api",
488
421
  browserURL: "https://sepolia-blockscout.lisk.com",
489
422
  },
490
423
  },
424
+ {
425
+ network: "blast",
426
+ chainId: constants_1.CHAIN_IDs.BLAST,
427
+ urls: {
428
+ apiURL: "https://api.blastscan.io/api",
429
+ browserURL: "https://blastscan.io",
430
+ },
431
+ },
432
+ {
433
+ network: "blast-sepolia",
434
+ chainId: constants_1.CHAIN_IDs.BLAST_SEPOLIA,
435
+ urls: {
436
+ apiURL: "https://api-sepolia.blastscan.io/api",
437
+ browserURL: "https://sepolia.blastscan.io",
438
+ },
439
+ },
491
440
  ],
492
441
  },
493
442
  namedAccounts: { deployer: 0 },
@@ -7,7 +7,8 @@ const config_1 = require("hardhat/config");
7
7
  const assert_1 = __importDefault(require("assert"));
8
8
  const utils_1 = require("./utils");
9
9
  const constants_1 = require("../utils/constants");
10
- const enabledChainIds = [1, 10, 137, 42161, 324, 8453, 59144, 34443, 1135]; // Supported mainnet chain IDs.
10
+ // Supported mainnet chain IDs.
11
+ const enabledChainIds = Object.values(constants_1.MAINNET_CHAIN_IDs);
11
12
  const getChainsFromList = (taskArgInput) => taskArgInput
12
13
  ?.replace(/\s/g, "")
13
14
  ?.split(",")
@@ -68,6 +69,9 @@ const getChainsFromList = (taskArgInput) => taskArgInput
68
69
  throw new Error(`Could not find token address on chain ${chainId} in TOKEN_SYMBOLS_MAP for USDC.e or Native USDC`);
69
70
  }
70
71
  }
72
+ else if (matchedSymbol === "DAI" && chainId === constants_1.CHAIN_IDs.BLAST) {
73
+ return constants_1.TOKEN_SYMBOLS_MAP.USDB.addresses[chainId]; // DAI maps to USDB on Blast.
74
+ }
71
75
  const l2Address = constants_1.TOKEN_SYMBOLS_MAP[matchedSymbol].addresses[chainId];
72
76
  if (l2Address === undefined) {
73
77
  throw new Error(`Could not find token address on chain ${chainId} in TOKEN_SYMBOLS_MAP`);
@@ -0,0 +1,50 @@
1
+ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
2
+ import type { FunctionFragment, Result } from "@ethersproject/abi";
3
+ import type { Listener, Provider } from "@ethersproject/providers";
4
+ import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../common";
5
+ export interface IUSDBL2BridgeInterface extends utils.Interface {
6
+ functions: {
7
+ "bridgeERC20To(address,address,address,uint256,uint32,bytes)": FunctionFragment;
8
+ };
9
+ getFunction(nameOrSignatureOrTopic: "bridgeERC20To"): FunctionFragment;
10
+ encodeFunctionData(functionFragment: "bridgeERC20To", values: [string, string, string, BigNumberish, BigNumberish, BytesLike]): string;
11
+ decodeFunctionResult(functionFragment: "bridgeERC20To", data: BytesLike): Result;
12
+ events: {};
13
+ }
14
+ export interface IUSDBL2Bridge extends BaseContract {
15
+ connect(signerOrProvider: Signer | Provider | string): this;
16
+ attach(addressOrName: string): this;
17
+ deployed(): Promise<this>;
18
+ interface: IUSDBL2BridgeInterface;
19
+ queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
20
+ listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
21
+ listeners(eventName?: string): Array<Listener>;
22
+ removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
23
+ removeAllListeners(eventName?: string): this;
24
+ off: OnEvent<this>;
25
+ on: OnEvent<this>;
26
+ once: OnEvent<this>;
27
+ removeListener: OnEvent<this>;
28
+ functions: {
29
+ bridgeERC20To(_localToken: string, _remoteToken: string, _to: string, _amount: BigNumberish, _minGasLimit: BigNumberish, _extraData: BytesLike, overrides?: Overrides & {
30
+ from?: string;
31
+ }): Promise<ContractTransaction>;
32
+ };
33
+ bridgeERC20To(_localToken: string, _remoteToken: string, _to: string, _amount: BigNumberish, _minGasLimit: BigNumberish, _extraData: BytesLike, overrides?: Overrides & {
34
+ from?: string;
35
+ }): Promise<ContractTransaction>;
36
+ callStatic: {
37
+ bridgeERC20To(_localToken: string, _remoteToken: string, _to: string, _amount: BigNumberish, _minGasLimit: BigNumberish, _extraData: BytesLike, overrides?: CallOverrides): Promise<void>;
38
+ };
39
+ filters: {};
40
+ estimateGas: {
41
+ bridgeERC20To(_localToken: string, _remoteToken: string, _to: string, _amount: BigNumberish, _minGasLimit: BigNumberish, _extraData: BytesLike, overrides?: Overrides & {
42
+ from?: string;
43
+ }): Promise<BigNumber>;
44
+ };
45
+ populateTransaction: {
46
+ bridgeERC20To(_localToken: string, _remoteToken: string, _to: string, _amount: BigNumberish, _minGasLimit: BigNumberish, _extraData: BytesLike, overrides?: Overrides & {
47
+ from?: string;
48
+ }): Promise<PopulatedTransaction>;
49
+ };
50
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +1,4 @@
1
1
  export type { Blast_SpokePool } from "./Blast_SpokePool";
2
2
  export type { IBlast } from "./IBlast";
3
3
  export type { IERC20Rebasing } from "./IERC20Rebasing";
4
+ export type { IUSDBL2Bridge } from "./IUSDBL2Bridge";