Skip to content

Commit 943926f

Browse files
authored
feat: add block number to export (#143)
Signed-off-by: chrismaree <christopher.maree@gmail.com>
1 parent bbc102a commit 943926f

File tree

5 files changed

+70
-48
lines changed

5 files changed

+70
-48
lines changed

deployments/deployments.json

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,43 @@
11
{
22
"4": {
3-
"Arbitrum_Adapter": "0x18F4D98C7CeA6Ab934F2976c2a98009A529d8F49",
4-
"Ethereum_Adapter": "0x682DEa71e7246910A4dec2396a53B24291EB0AD8",
5-
"Ethereum_SpokePool": "0xB078bBb35f8E24c2431b9d2a88C0bC0c26CC1F92",
6-
"HubPool": "0xa1b6DA4AaE90fA16F3A3338c8d1Dc70B4926FCa7",
7-
"LpTokenFactory": "0x0668ab3839346ebf95d969b3e18B2a96b1CC2b02",
8-
"Optimism_Adapter": "0x277C7ecB45851dcB49c494fB4D0d9d8228037f0C",
9-
"PolygonTokenBridger": "0xF92B101f07df74B1f4f3160f9e8a25D48BA5d583",
10-
"Polygon_Adapter": "0xd8176EBf6170513Aa232D065042fa480557232A4",
11-
"RateModelStore": "0x18a200A2427e243154EC8217890Bc08062afc5A2"
3+
"Arbitrum_Adapter": { "address": "0x18F4D98C7CeA6Ab934F2976c2a98009A529d8F49", "blockNumber": 10367195 },
4+
"Ethereum_Adapter": { "address": "0x682DEa71e7246910A4dec2396a53B24291EB0AD8", "blockNumber": 10365602 },
5+
"Ethereum_SpokePool": { "address": "0xB078bBb35f8E24c2431b9d2a88C0bC0c26CC1F92", "blockNumber": 10485193 },
6+
"HubPool": { "address": "0xa1b6DA4AaE90fA16F3A3338c8d1Dc70B4926FCa7", "blockNumber": 10365599 },
7+
"LpTokenFactory": { "address": "0x0668ab3839346ebf95d969b3e18B2a96b1CC2b02", "blockNumber": 10365598 },
8+
"Optimism_Adapter": { "address": "0x277C7ecB45851dcB49c494fB4D0d9d8228037f0C", "blockNumber": 10365600 },
9+
"PolygonTokenBridger": { "address": "0xF92B101f07df74B1f4f3160f9e8a25D48BA5d583", "blockNumber": 10365604 },
10+
"Polygon_Adapter": { "address": "0xd8176EBf6170513Aa232D065042fa480557232A4", "blockNumber": 10365605 },
11+
"RateModelStore": { "address": "0x18a200A2427e243154EC8217890Bc08062afc5A2", "blockNumber": 10468968 }
1212
},
1313
"5": {
14-
"Arbitrum_Adapter": "0xb68eDe0098552A5E3d95e8B78974C25e395af45B",
15-
"Ethereum_Adapter": "0xc924E28eEaB54E67799890e288c98D5E48242C01",
16-
"Ethereum_SpokePool": "0xb2b5C1b17B19d92CC4fC1f026B2133259e3ccd41",
17-
"HubPool": "0x69CA24D3084a2eea77E061E2D7aF9b76D107b4f6",
18-
"LpTokenFactory": "0x57EE47829369e2EF62fBb423648bec70d0366204",
19-
"Optimism_Adapter": "0x52313039f1b849B49dce4bdf6a43AC76995bE366",
20-
"PolygonTokenBridger": "0x8D7Eb61CAA4889c152f27Bb8108144DaCC9B01Db",
21-
"Polygon_Adapter": "0x9B769e2b1A4936B51870d03902A9e2AeEa6Ee933",
22-
"RateModelStore": "0x9C043C139486891D7a67e76E4c31Ac56bBfAF885"
14+
"Arbitrum_Adapter": { "address": "0xb68eDe0098552A5E3d95e8B78974C25e395af45B", "blockNumber": 6586185 },
15+
"Ethereum_Adapter": { "address": "0xc924E28eEaB54E67799890e288c98D5E48242C01", "blockNumber": 6586186 },
16+
"Ethereum_SpokePool": { "address": "0xb2b5C1b17B19d92CC4fC1f026B2133259e3ccd41", "blockNumber": 6586188 },
17+
"HubPool": { "address": "0x69CA24D3084a2eea77E061E2D7aF9b76D107b4f6", "blockNumber": 6586182 },
18+
"LpTokenFactory": { "address": "0x57EE47829369e2EF62fBb423648bec70d0366204", "blockNumber": 6586180 },
19+
"Optimism_Adapter": { "address": "0x52313039f1b849B49dce4bdf6a43AC76995bE366", "blockNumber": 6586183 },
20+
"PolygonTokenBridger": { "address": "0x8D7Eb61CAA4889c152f27Bb8108144DaCC9B01Db", "blockNumber": 6637420 },
21+
"Polygon_Adapter": { "address": "0x9B769e2b1A4936B51870d03902A9e2AeEa6Ee933", "blockNumber": 6637431 },
22+
"RateModelStore": { "address": "0x9C043C139486891D7a67e76E4c31Ac56bBfAF885", "blockNumber": 6637435 }
2323
},
2424
"42": {
25-
"Arbitrum_Adapter": "0xD007aB76E36B03853C1F2fE5980069E7ACd38FF8",
26-
"Ethereum_Adapter": "0x304d7cbD119E356084b6c02542191EA43df5E399",
27-
"Ethereum_SpokePool": "0x73549B5639B04090033c1E77a22eE9Aa44C2eBa0",
28-
"HubPool": "0xD449Af45a032Df413b497A709EeD3E8C112EbcE3",
29-
"LpTokenFactory": "0x2C4f1527Ec183ccD25f65816Cfc3a45b26B626B8",
30-
"Optimism_Adapter": "0x7851603f5d6679FC8fFe76bBCb08a88Db34DB4E2",
31-
"PolygonTokenBridger": "0x6C9cb9a525aED1f6EEbF5321A1f35DF3ec3dfe84",
32-
"Polygon_Adapter": "0x3aa1b039252ee320bd551875213AFA4996c00b85",
33-
"RateModelStore": "0x5923929DF7A2D6E038bb005B167c1E8a86cd13C8"
25+
"Arbitrum_Adapter": { "address": "0xD007aB76E36B03853C1F2fE5980069E7ACd38FF8", "blockNumber": 30475933 },
26+
"Ethereum_Adapter": { "address": "0x304d7cbD119E356084b6c02542191EA43df5E399", "blockNumber": 30475935 },
27+
"Ethereum_SpokePool": { "address": "0x73549B5639B04090033c1E77a22eE9Aa44C2eBa0", "blockNumber": 30475937 },
28+
"HubPool": { "address": "0xD449Af45a032Df413b497A709EeD3E8C112EbcE3", "blockNumber": 30475928 },
29+
"LpTokenFactory": { "address": "0x2C4f1527Ec183ccD25f65816Cfc3a45b26B626B8", "blockNumber": 30475927 },
30+
"Optimism_Adapter": { "address": "0x7851603f5d6679FC8fFe76bBCb08a88Db34DB4E2", "blockNumber": 30477031 },
31+
"PolygonTokenBridger": { "address": "0x6C9cb9a525aED1f6EEbF5321A1f35DF3ec3dfe84", "blockNumber": 30475940 },
32+
"Polygon_Adapter": { "address": "0x3aa1b039252ee320bd551875213AFA4996c00b85", "blockNumber": 30475943 },
33+
"RateModelStore": { "address": "0x5923929DF7A2D6E038bb005B167c1E8a86cd13C8", "blockNumber": 30625832 }
3434
},
35-
"69": { "Optimism_SpokePool": "0x2b7b7bAE341089103dD22fa4e8D7E4FA63E11084" },
35+
"69": { "Optimism_SpokePool": { "address": "0x2b7b7bAE341089103dD22fa4e8D7E4FA63E11084", "blockNumber": 1618630 } },
3636
"80001": {
37-
"PolygonTokenBridger": "0x8D7Eb61CAA4889c152f27Bb8108144DaCC9B01Db",
38-
"Polygon_SpokePool": "0xFd9e2642a170aDD10F53Ee14a93FcF2F31924944"
37+
"PolygonTokenBridger": { "address": "0x8D7Eb61CAA4889c152f27Bb8108144DaCC9B01Db", "blockNumber": 25751324 },
38+
"Polygon_SpokePool": { "address": "0xFd9e2642a170aDD10F53Ee14a93FcF2F31924944", "blockNumber": 25751326 }
3939
},
40-
"421611": { "Arbitrum_SpokePool": "0x3BED21dAe767e4Df894B31b14aD32369cE4bad8b" }
40+
"421611": {
41+
"Arbitrum_SpokePool": { "address": "0x3BED21dAe767e4Df894B31b14aD32369cE4bad8b", "blockNumber": 10523275 }
42+
}
4143
}

index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
export * from "./typechain";
2-
export * from "./src/ContractFinder";
2+
export * from "./src/DeploymentUtils";
33
export * from "./utils/MerkleTree";

scripts/processHardhatExport.ts

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@ export async function run(): Promise<void> {
88
const deploymentExport = require("../cache/massExport.json");
99
const castExport = deploymentExport as any;
1010
console.log("Generating exports on the following networks(if they have deployments)", Object.keys(castExport));
11-
const processedOutput: { [chainid: string]: { [contractName: string]: string } } = {};
11+
const processedOutput: { [chainId: string]: { [name: string]: { address: string; blockNumber: number } } } = {};
1212
Object.keys(castExport).forEach((chainId) => {
1313
if (castExport[chainId][0])
1414
Object.keys(castExport[chainId][0].contracts).forEach((contractName) => {
1515
if (!processedOutput[chainId]) processedOutput[chainId] = {};
16-
processedOutput[chainId][contractName] = castExport[chainId][0]?.contracts[contractName].address;
16+
const address = castExport[chainId][0]?.contracts[contractName].address;
17+
const blockNumber = findDeploymentBlockNumber(castExport[chainId][0].name, contractName);
18+
processedOutput[chainId][contractName] = { address, blockNumber };
1719
});
1820
});
1921
console.log("Constructed the following address export for release:\n", processedOutput);
@@ -23,7 +25,17 @@ export async function run(): Promise<void> {
2325
}
2426

2527
if (require.main === module) {
26-
run().then(() => {
27-
process.exit(0);
28-
});
28+
run()
29+
.then(() => {
30+
process.exit(0);
31+
})
32+
.catch(async (error) => {
33+
console.error("Process exited with", error);
34+
process.exit(1);
35+
});
36+
}
37+
38+
function findDeploymentBlockNumber(networkName: string, contractName: string) {
39+
const deploymentArtifact = require(`../deployments/${networkName}/${contractName}.json`);
40+
return (deploymentArtifact as any).receipt.blockNumber;
2941
}

src/ContractFinder.ts

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/DeploymentUtils.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import * as deployments from "../deployments/deployments.json";
2+
3+
// Returns the deployed address of any contract on any network.
4+
export function getDeployedAddress(contractName: string, networkId: number): string {
5+
try {
6+
return (deployments as any)[networkId.toString()][contractName].address;
7+
} catch (_) {
8+
throw new Error(`Contract ${contractName} not found on ${networkId} in deployments.json`);
9+
}
10+
}
11+
12+
// Returns the deployment block number of any contract on any network.
13+
export function getDeployedBlockNumber(contractName: string, networkId: number): string {
14+
try {
15+
return (deployments as any)[networkId.toString()][contractName].blockNumber;
16+
} catch (_) {
17+
throw new Error(`Contract ${contractName} not found on ${networkId} in deployments.json`);
18+
}
19+
}

0 commit comments

Comments
 (0)