diff --git a/hardhat.config.js b/hardhat.config.js index 892f6eb..6a7fc67 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -33,6 +33,7 @@ const ETHERSCAN_API_KEY = process.env.ETHERSCAN_API_KEY; const POLYGONSCAN_API_KEY = process.env.POLYGONSCAN_API_KEY; const GNOSISSCAN_API_KEY = process.env.GNOSISSCAN_API_KEY; const CHIADOSCAN_API_KEY = "10200"; +const OPSCAN_API_KEY = process.env.OPSCAN_API_KEY; module.exports = { networks: { @@ -56,8 +57,8 @@ module.exports = { }, goerli: { url: "https://eth-goerli.g.alchemy.com/v2/" + ALCHEMY_API_KEY_GOERLI, - chainId: 5, accounts: accounts, + chainId: 5, }, polygonMumbai: { url: "https://polygon-mumbai.g.alchemy.com/v2/" + ALCHEMY_API_KEY_MUMBAI, @@ -66,6 +67,12 @@ module.exports = { chiado: { url: "https://rpc.chiadochain.net", accounts: accounts, + chainId: 10200 + }, + optimistic: { + url: "https://optimism.drpc.org", + accounts: accounts, + chainId: 10, }, hardhat: { allowUnlimitedContractSize: true @@ -89,6 +96,14 @@ module.exports = { browserURL: "https://gnosisscan.io/" }, }, + { + network: "optimistic", + chainId: 10, + urls: { + apiURL: "https://api-optimistic.etherscan.io/api", + browserURL: "https://optimistic.etherscan.io" + }, + }, ], apiKey: { mainnet: ETHERSCAN_API_KEY, @@ -97,6 +112,7 @@ module.exports = { goerli: ETHERSCAN_API_KEY, polygonMumbai: POLYGONSCAN_API_KEY, chiado: CHIADOSCAN_API_KEY, + optimistic: OPSCAN_API_KEY, } }, solidity: { diff --git a/scripts/deployment/deploy_00_basic_service_staking_activity_checker.js b/scripts/deployment/deploy_00_basic_service_staking_activity_checker.js index e480587..c905eee 100644 --- a/scripts/deployment/deploy_00_basic_service_staking_activity_checker.js +++ b/scripts/deployment/deploy_00_basic_service_staking_activity_checker.js @@ -53,7 +53,7 @@ async function main() { console.log("EOA is:", deployer); // Transaction signing and execution - console.log("18. EOA to deploy StakingActivityChecker"); + console.log("0. EOA to deploy StakingActivityChecker"); const gasPrice = ethers.utils.parseUnits(gasPriceInGwei, "gwei"); const StakingActivityChecker = await ethers.getContractFactory("StakingActivityChecker"); console.log("You are signing the following transaction: StakingActivityChecker.connect(EOA).deploy()"); diff --git a/scripts/deployment/globals_gnosis_mainnet_pearl_beta2.json b/scripts/deployment/globals_gnosis_mainnet_pearl_beta2.json new file mode 100644 index 0000000..aac6ef1 --- /dev/null +++ b/scripts/deployment/globals_gnosis_mainnet_pearl_beta2.json @@ -0,0 +1,39 @@ +{ + "contractVerification":true, + "useLedger":true, + "derivationPath":"m/44'/60'/2'/0/0", + "providerName":"gnosis", + "networkURL":"https://rpc.gnosischain.com", + "gasPriceInGwei":"4", + "gnosisSafeAddress":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "gnosisSafeProxyFactoryAddress":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + "serviceRegistryAddress":"0x9338b5153AE39BB89f50468E608eD9d764B755fD", + "serviceRegistryTokenUtilityAddress":"0xa45E64d13A30a51b91ae0eb182e88a40e9b18eD8", + "olasAddress":"0xcE11e14225575945b8E6Dc0D4F2dD4C570f79d9f", + "multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000", + "stakingNativeTokenAddress":"", + "stakingTokenAddress":"0xEa00be6690a871827fAfD705440D20dd75e67AB1", + "agentMechAddress":"0x77af31De935740567Cf4fF1986D04B2c964A786a", + "livenessRatio":"46296296296296", + "stakingActivityCheckerAddress":"0x155547857680A6D51bebC5603397488988DEb1c8", + "stakingFactoryAddress":"0xb0228CA253A88Bc8eb4ca70BCAC8f87b381f4700", + "stakingParams": + { + "metadataHash":"0x2d61593c1f5c0ea9ae435b2dc326ec16a6b14ad1f9638b2e373d37edd5516620", + "maxNumServices":"100", + "rewardsPerSecond":"4398148148152", + "minStakingDeposit":"50000000000000000000", + "minNumStakingPeriods":"3", + "maxNumInactivityPeriods":"2", + "livenessPeriod":"86400", + "timeForEmissions":"2592000", + "numAgentInstances":"1", + "agentIds":["25"], + "threshold":"0", + "configHash":"0x0000000000000000000000000000000000000000000000000000000000000000", + "proxyHash":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000", + "serviceRegistry":"0x9338b5153AE39BB89f50468E608eD9d764B755fD", + "activityChecker":"0x155547857680A6D51bebC5603397488988DEb1c8" + }, + "stakingTokenInstanceAddress":"0x1c2F82413666d2a3fD8bC337b0268e62dDF67434" +} \ No newline at end of file diff --git a/scripts/deployment/globals_gnosis_mainnet_qs_beta_expert2.json b/scripts/deployment/globals_gnosis_mainnet_qs_beta_expert2.json new file mode 100644 index 0000000..d59e30a --- /dev/null +++ b/scripts/deployment/globals_gnosis_mainnet_qs_beta_expert2.json @@ -0,0 +1,39 @@ +{ + "contractVerification":true, + "useLedger":true, + "derivationPath":"m/44'/60'/2'/0/0", + "providerName":"gnosis", + "networkURL":"https://rpc.gnosischain.com", + "gasPriceInGwei":"4", + "gnosisSafeAddress":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "gnosisSafeProxyFactoryAddress":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + "serviceRegistryAddress":"0x9338b5153AE39BB89f50468E608eD9d764B755fD", + "serviceRegistryTokenUtilityAddress":"0xa45E64d13A30a51b91ae0eb182e88a40e9b18eD8", + "olasAddress":"0xcE11e14225575945b8E6Dc0D4F2dD4C570f79d9f", + "multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000", + "stakingNativeTokenAddress":"", + "stakingTokenAddress":"0xEa00be6690a871827fAfD705440D20dd75e67AB1", + "agentMechAddress":"0x77af31De935740567Cf4fF1986D04B2c964A786a", + "livenessRatio":"462962962962963", + "stakingActivityCheckerAddress":"0x87E6a97bD97D41904B1125A014B16bec50C6A89D", + "stakingFactoryAddress":"0xb0228CA253A88Bc8eb4ca70BCAC8f87b381f4700", + "stakingParams": + { + "metadataHash":"0x7eeb9e194391f28e264578e043ebb56eb864c8172aa6118e307652873460d128", + "maxNumServices":"40", + "rewardsPerSecond":"43981481481520", + "minStakingDeposit":"500000000000000000000", + "minNumStakingPeriods":"3", + "maxNumInactivityPeriods":"2", + "livenessPeriod":"86400", + "timeForEmissions":"2592000", + "numAgentInstances":"1", + "agentIds":["25"], + "threshold":"0", + "configHash":"0x0000000000000000000000000000000000000000000000000000000000000000", + "proxyHash":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000", + "serviceRegistry":"0x9338b5153AE39BB89f50468E608eD9d764B755fD", + "activityChecker":"0x87E6a97bD97D41904B1125A014B16bec50C6A89D" + }, + "stakingTokenInstanceAddress":"0xb964e44c126410df341ae04B13aB10A985fE3513" +} \ No newline at end of file diff --git a/scripts/deployment/globals_gnosis_mainnet_qs_beta_expert3.json b/scripts/deployment/globals_gnosis_mainnet_qs_beta_expert3.json new file mode 100644 index 0000000..aaf0098 --- /dev/null +++ b/scripts/deployment/globals_gnosis_mainnet_qs_beta_expert3.json @@ -0,0 +1,39 @@ +{ + "contractVerification":true, + "useLedger":true, + "derivationPath":"m/44'/60'/2'/0/0", + "providerName":"gnosis", + "networkURL":"https://rpc.gnosischain.com", + "gasPriceInGwei":"4", + "gnosisSafeAddress":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "gnosisSafeProxyFactoryAddress":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + "serviceRegistryAddress":"0x9338b5153AE39BB89f50468E608eD9d764B755fD", + "serviceRegistryTokenUtilityAddress":"0xa45E64d13A30a51b91ae0eb182e88a40e9b18eD8", + "olasAddress":"0xcE11e14225575945b8E6Dc0D4F2dD4C570f79d9f", + "multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000", + "stakingNativeTokenAddress":"", + "stakingTokenAddress":"0xEa00be6690a871827fAfD705440D20dd75e67AB1", + "agentMechAddress":"0x77af31De935740567Cf4fF1986D04B2c964A786a", + "livenessRatio":"462962962962963", + "stakingActivityCheckerAddress":"0x87E6a97bD97D41904B1125A014B16bec50C6A89D", + "stakingFactoryAddress":"0xb0228CA253A88Bc8eb4ca70BCAC8f87b381f4700", + "stakingParams": + { + "metadataHash":"0xb1162195b60dcb8d873b8fa292d5d870ecc11eb9444871edcd5bc9d11a4e7ace", + "maxNumServices":"20", + "rewardsPerSecond":"87962962963040", + "minStakingDeposit":"1000000000000000000000", + "minNumStakingPeriods":"3", + "maxNumInactivityPeriods":"2", + "livenessPeriod":"86400", + "timeForEmissions":"2592000", + "numAgentInstances":"1", + "agentIds":["25"], + "threshold":"0", + "configHash":"0x0000000000000000000000000000000000000000000000000000000000000000", + "proxyHash":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000", + "serviceRegistry":"0x9338b5153AE39BB89f50468E608eD9d764B755fD", + "activityChecker":"0x87E6a97bD97D41904B1125A014B16bec50C6A89D" + }, + "stakingTokenInstanceAddress":"0x80faD33Cadb5F53f9D29F02Db97D682E8b101618" +} \ No newline at end of file diff --git a/scripts/deployment/globals_gnosis_mainnet_qs_beta_hobbyist2.json b/scripts/deployment/globals_gnosis_mainnet_qs_beta_hobbyist2.json new file mode 100644 index 0000000..4334d96 --- /dev/null +++ b/scripts/deployment/globals_gnosis_mainnet_qs_beta_hobbyist2.json @@ -0,0 +1,39 @@ +{ + "contractVerification":true, + "useLedger":true, + "derivationPath":"m/44'/60'/2'/0/0", + "providerName":"gnosis", + "networkURL":"https://rpc.gnosischain.com", + "gasPriceInGwei":"4", + "gnosisSafeAddress":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552", + "gnosisSafeProxyFactoryAddress":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2", + "serviceRegistryAddress":"0x9338b5153AE39BB89f50468E608eD9d764B755fD", + "serviceRegistryTokenUtilityAddress":"0xa45E64d13A30a51b91ae0eb182e88a40e9b18eD8", + "olasAddress":"0xcE11e14225575945b8E6Dc0D4F2dD4C570f79d9f", + "multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000", + "stakingNativeTokenAddress":"", + "stakingTokenAddress":"0xEa00be6690a871827fAfD705440D20dd75e67AB1", + "agentMechAddress":"0x77af31De935740567Cf4fF1986D04B2c964A786a", + "livenessRatio":"231481481481481", + "stakingActivityCheckerAddress":"0xd856Dc50d65541C131f28BE5CE59644d74E1b523", + "stakingFactoryAddress":"0xb0228CA253A88Bc8eb4ca70BCAC8f87b381f4700", + "stakingParams": + { + "metadataHash":"0x95cf8f71e1f8390cb451cef531b8434ec61ffaf3490056e7a6d2595a35cdf9d3", + "maxNumServices":"50", + "rewardsPerSecond":"21990740740760", + "minStakingDeposit":"250000000000000000000", + "minNumStakingPeriods":"3", + "maxNumInactivityPeriods":"2", + "livenessPeriod":"86400", + "timeForEmissions":"2592000", + "numAgentInstances":"1", + "agentIds":["25"], + "threshold":"0", + "configHash":"0x0000000000000000000000000000000000000000000000000000000000000000", + "proxyHash":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000", + "serviceRegistry":"0x9338b5153AE39BB89f50468E608eD9d764B755fD", + "activityChecker":"0xd856Dc50d65541C131f28BE5CE59644d74E1b523" + }, + "stakingTokenInstanceAddress":"0x238EB6993b90a978ec6AAD7530d6429c949C08DA" +} \ No newline at end of file diff --git a/scripts/deployment/globals_optimistic_mainnet.json b/scripts/deployment/globals_optimistic_mainnet.json index cd59f08..781878d 100644 --- a/scripts/deployment/globals_optimistic_mainnet.json +++ b/scripts/deployment/globals_optimistic_mainnet.json @@ -1 +1 @@ -{"contractVerification":true,"useLedger":true,"derivationPath":"m/44'/60'/2'/0/0","providerName":"optimistic","networkURL":"https://mainnet.optimism.io","gasPriceInGwei":"2","gnosisSafeAddress":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","gnosisSafeProxyFactoryAddress":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","olasAddress":"0xFC2E6e6BCbd49ccf3A5f029c79984372DcBFE527","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44","serviceRegistryTokenUtilityAddress":"0xBb7e1D6Cb6F243D6bdE81CE92a9f2aFF7Fbe7eac","stakingTokenAddress":"0x63C2c53c09dE534Dd3bc0b7771bf976070936bAC","stakingNativeTokenAddress":"","stakingFactoryAddress":"0xa45E64d13A30a51b91ae0eb182e88a40e9b18eD8","agentMechAddress":"","livenessRatio":"700000000000000","mechActivityCheckerAddress":"","stakingActivityCheckerAddress":"","stakingParams":{"metadataHash":"","maxNumServices":"100","rewardsPerSecond":"1000000000000000","minStakingDeposit":"50000000000000000000","minNumStakingPeriods":"3","maxNumInactivityPeriods":"3","livenessPeriod":"86400","timeForEmissions":"2592000","numAgentInstances":"1","agentIds":["14"],"threshold":"0","configHash":"0x0000000000000000000000000000000000000000000000000000000000000000","proxyHash":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistry":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44","activityChecker":""}} \ No newline at end of file +{"contractVerification":true,"useLedger":true,"derivationPath":"m/44'/60'/2'/0/0","providerName":"optimistic","networkURL":"https://mainnet.optimism.io","gasPriceInGwei":"2","gnosisSafeAddress":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","gnosisSafeProxyFactoryAddress":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","olasAddress":"0xFC2E6e6BCbd49ccf3A5f029c79984372DcBFE527","multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistryAddress":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44","serviceRegistryTokenUtilityAddress":"0xBb7e1D6Cb6F243D6bdE81CE92a9f2aFF7Fbe7eac","stakingTokenAddress":"0x63C2c53c09dE534Dd3bc0b7771bf976070936bAC","stakingNativeTokenAddress":"","stakingFactoryAddress":"0xa45E64d13A30a51b91ae0eb182e88a40e9b18eD8","agentMechAddress":"","livenessRatio":"46296296296296","mechActivityCheckerAddress":"","stakingActivityCheckerAddress":"","stakingParams":{"metadataHash":"","maxNumServices":"100","rewardsPerSecond":"1000000000000000","minStakingDeposit":"50000000000000000000","minNumStakingPeriods":"3","maxNumInactivityPeriods":"3","livenessPeriod":"86400","timeForEmissions":"2592000","numAgentInstances":"1","agentIds":["25"],"threshold":"0","configHash":"0x0000000000000000000000000000000000000000000000000000000000000000","proxyHash":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000","serviceRegistry":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44","activityChecker":""}} \ No newline at end of file diff --git a/scripts/deployment/globals_optimistic_mainnet_optimus_alpha.json b/scripts/deployment/globals_optimistic_mainnet_optimus_alpha.json new file mode 100644 index 0000000..40a6348 --- /dev/null +++ b/scripts/deployment/globals_optimistic_mainnet_optimus_alpha.json @@ -0,0 +1,39 @@ +{ + "contractVerification":true, + "useLedger":true, + "derivationPath":"m/44'/60'/2'/0/0", + "providerName":"optimistic", + "networkURL":"https://mainnet.optimism.io", + "gasPriceInGwei":"2", + "gnosisSafeAddress":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938", + "gnosisSafeProxyFactoryAddress":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC", + "serviceRegistryAddress":"0x3d77596beb0f130a4415df3D2D8232B3d3D31e44", + "serviceRegistryTokenUtilityAddress":"0xBb7e1D6Cb6F243D6bdE81CE92a9f2aFF7Fbe7eac", + "olasAddress":"0xFC2E6e6BCbd49ccf3A5f029c79984372DcBFE527", + "multisigProxyHash130":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000", + "stakingNativeTokenAddress":"", + "stakingTokenAddress":"0x63C2c53c09dE534Dd3bc0b7771bf976070936bAC", + "agentMechAddress":"", + "livenessRatio":"46296296296296", + "stakingActivityCheckerAddress":"0x7Fd1F4b764fA41d19fe3f63C85d12bf64d2bbf68", + "stakingFactoryAddress":"0xa45E64d13A30a51b91ae0eb182e88a40e9b18eD8", + "stakingParams": + { + "metadataHash":"0xb10c91c811947c5609933f8a0d6b0a07cc06af97cebd65c0b4a31f7bb26bb793", + "maxNumServices":"100", + "rewardsPerSecond":"1649305555557", + "minStakingDeposit":"20000000000000000000", + "minNumStakingPeriods":"3", + "maxNumInactivityPeriods":"2", + "livenessPeriod":"86400", + "timeForEmissions":"2592000", + "numAgentInstances":"1", + "agentIds":[], + "threshold":"0", + "configHash":"0x0000000000000000000000000000000000000000000000000000000000000000", + "proxyHash":"0xb89c1b3bdf2cf8827818646bce9a8f6e372885f8c55e5c07acbd307cb133b000", + "serviceRegistry":"0x9338b5153AE39BB89f50468E608eD9d764B755fD", + "activityChecker":"0x7Fd1F4b764fA41d19fe3f63C85d12bf64d2bbf68" + }, + "stakingTokenInstanceAddress":"0x88996bbdE7f982D93214881756840cE2c77C4992" +} \ No newline at end of file