mirror of
https://github.com/selfxyz/self.git
synced 2026-01-13 08:37:55 -05:00
* Add Prettier check for code formatting in contracts workflow * Update contracts workflow: remove unused checkout action and fix build step name * Run formatter * Run lint fix
75 lines
2.5 KiB
TypeScript
75 lines
2.5 KiB
TypeScript
import * as path from "path";
|
|
import * as fs from "fs";
|
|
|
|
export const ATTESTATION_ID = {
|
|
E_PASSPORT: "0x0000000000000000000000000000000000000000000000000000000000000001",
|
|
EU_ID_CARD: "0x0000000000000000000000000000000000000000000000000000000000000002",
|
|
};
|
|
|
|
export const ATTESTATION_TO_REGISTRY = {
|
|
E_PASSPORT: "DeployRegistryModule#IdentityRegistry",
|
|
EU_ID_CARD: "DeployIdCardRegistryModule#IdentityRegistry",
|
|
};
|
|
|
|
export const NETWORK_TO_CHAIN_ID: Record<string, string> = {
|
|
localhost: "31337",
|
|
hardhat: "31337",
|
|
alfajores: "44787",
|
|
celoAlfajores: "44787",
|
|
celo: "42220",
|
|
mainnet: "42220",
|
|
staging: "44787",
|
|
};
|
|
|
|
export const CHAIN_ID_TO_SAVED_REPO: Record<string, string> = {
|
|
"42220": "prod",
|
|
"44787": "staging",
|
|
};
|
|
|
|
export const getChainId = (network: string): string => {
|
|
const chainId = NETWORK_TO_CHAIN_ID[network];
|
|
console.log(`Network '${network}' mapped to Chain ID: ${chainId}`);
|
|
return chainId;
|
|
};
|
|
|
|
export const getSavedRepo = (network: string): string => {
|
|
const repoName = CHAIN_ID_TO_SAVED_REPO[NETWORK_TO_CHAIN_ID[network]];
|
|
return repoName;
|
|
};
|
|
|
|
export const getDeployedAddresses = (repoName: string): any => {
|
|
const addresses_path = path.join(__dirname, `../ignition/deployments/${repoName}/deployed_addresses.json`);
|
|
return JSON.parse(fs.readFileSync(addresses_path, "utf-8"));
|
|
};
|
|
export const getContractAbi = (repoName: string, deploymentArtifactName: string): any => {
|
|
const abi_path = path.join(__dirname, `../ignition/deployments/${repoName}/artifacts/${deploymentArtifactName}.json`);
|
|
return JSON.parse(fs.readFileSync(abi_path, "utf-8")).abi;
|
|
};
|
|
|
|
export function getContractAddress(exactName: string, deployedAddresses: any): any {
|
|
if (exactName in deployedAddresses) {
|
|
return deployedAddresses[exactName];
|
|
}
|
|
throw Error(`No contract address found for ${exactName}`);
|
|
}
|
|
|
|
// Console colors
|
|
const colors = {
|
|
reset: "\x1b[0m",
|
|
red: "\x1b[31m",
|
|
green: "\x1b[32m",
|
|
yellow: "\x1b[33m",
|
|
blue: "\x1b[34m",
|
|
magenta: "\x1b[35m",
|
|
cyan: "\x1b[36m",
|
|
white: "\x1b[37m",
|
|
};
|
|
|
|
export const log = {
|
|
info: (msg: string) => console.log(`${colors.blue}[INFO]${colors.reset} ${msg}`),
|
|
success: (msg: string) => console.log(`${colors.green}[SUCCESS]${colors.reset} ${msg}`),
|
|
warning: (msg: string) => console.log(`${colors.yellow}[WARNING]${colors.reset} ${msg}`),
|
|
error: (msg: string) => console.log(`${colors.red}[ERROR]${colors.reset} ${msg}`),
|
|
step: (msg: string) => console.log(`${colors.magenta}[STEP]${colors.reset} ${msg}`),
|
|
};
|