From 0bece5edd0825191dc2e3dbf975dbf5ab19b0772 Mon Sep 17 00:00:00 2001 From: Evi Nova <66773372+Tranquil-Flow@users.noreply.github.com> Date: Wed, 11 Feb 2026 16:40:41 +1000 Subject: [PATCH] Feat/upgrade kyc celo mainnet (#1726) * feat: celo mainnet deployments * fix: upgrade script now reads version from contract directly * fix: add library linking for kyc related contracts in upgrade script * feat: IdentityVerificationHub v2.13.0 deployed on Celo - Implementation: 0x0D911083b2F2236D79EF20bb58AAf6009a1220B5 - Changelog: Upgrade * feat: update with new gcpJwtVerifier contract * chore: yarn prettier * Feat/new gcp verifier (#1719) * feat: new gcp jwt verifier * lint: contracts --------- Co-authored-by: Nesopie <87437291+Nesopie@users.noreply.github.com> --- contracts/deployments/registry.json | 46 +++++++++++++++++-- .../chain-42220/deployed_addresses.json | 10 +++- .../modules/registry/deployKycRegistry.ts | 5 +- .../modules/registry/updateRegistries.ts | 7 ++- 4 files changed, 56 insertions(+), 12 deletions(-) diff --git a/contracts/deployments/registry.json b/contracts/deployments/registry.json index be3f85f1f..8a4d20995 100644 --- a/contracts/deployments/registry.json +++ b/contracts/deployments/registry.json @@ -1,6 +1,6 @@ { "$schema": "./registry.schema.json", - "lastUpdated": "2026-02-02T14:47:21.978Z", + "lastUpdated": "2026-02-09T11:26:31.105Z", "contracts": { "IdentityVerificationHub": { "source": "IdentityVerificationHubImplV2", @@ -22,6 +22,11 @@ "type": "uups-proxy", "description": "Aadhaar identity registry" }, + "IdentityRegistryKyc": { + "source": "IdentityRegistryKycImplV1", + "type": "uups-proxy", + "description": "KYC identity registry" + }, "PCR0Manager": { "source": "PCR0Manager", "type": "non-upgradeable", @@ -45,8 +50,8 @@ "deployments": { "IdentityVerificationHub": { "proxy": "0xe57F4773bd9c9d8b6Cd70431117d353298B9f5BF", - "currentVersion": "2.12.0", - "currentImpl": "0x05FB9D7830889cc389E88198f6A224eA87F01151" + "currentVersion": "2.13.0", + "currentImpl": "0x0D911083b2F2236D79EF20bb58AAf6009a1220B5" }, "IdentityRegistry": { "proxy": "0x37F5CB8cB1f6B00aa768D8aA99F1A9289802A968", @@ -63,6 +68,11 @@ "currentVersion": "1.2.0", "currentImpl": "0xbD861A9cecf7B0A9631029d55A8CE1155e50697c" }, + "IdentityRegistryKyc": { + "proxy": "0x9cABdeBC3aF136efD69EB881e02118AC612c63b9", + "currentVersion": "1.0.0", + "currentImpl": "0x82FA9D41939229B6189cf326e855c6d6db2aAa57" + }, "PCR0Manager": { "address": "0x9743fe2C1c3D2b068c56dE314e9B10DA9c904717", "currentVersion": "1.2.0" @@ -155,6 +165,20 @@ "gitCommit": "33bca485" } } + }, + "2.13.0": { + "initializerVersion": 12, + "initializerFunction": "", + "changelog": "Upgrade to v2.13.0", + "gitTag": "identityverificationhub-v2.13.0", + "deployments": { + "celo": { + "impl": "0x0D911083b2F2236D79EF20bb58AAf6009a1220B5", + "deployedAt": "2026-02-09T11:26:30.941Z", + "deployedBy": "0xC1C860804EFdA544fe79194d1a37e60b846CEdeb", + "gitCommit": "88ae00b1" + } + } } }, "IdentityRegistry": { @@ -262,6 +286,22 @@ } } } + }, + "IdentityRegistryKyc": { + "1.0.0": { + "initializerVersion": 1, + "initializerFunction": "initialize", + "changelog": "Initial KYC registry deployment", + "gitTag": "", + "deployments": { + "celo": { + "impl": "0x82FA9D41939229B6189cf326e855c6d6db2aAa57", + "deployedAt": "2026-02-09T00:00:00.000Z", + "deployedBy": "", + "gitCommit": "03876a86284b0ed794fbff7aae142e62a3212624" + } + } + } } } } diff --git a/contracts/ignition/deployments/chain-42220/deployed_addresses.json b/contracts/ignition/deployments/chain-42220/deployed_addresses.json index 5792b7545..4b4aceaac 100644 --- a/contracts/ignition/deployments/chain-42220/deployed_addresses.json +++ b/contracts/ignition/deployments/chain-42220/deployed_addresses.json @@ -86,10 +86,16 @@ "DeployAadhaarRegistryModule#PoseidonT3": "0xC9B4a92d98dbFC76D440233b8598910cA2da353f", "DeployAadhaarRegistryModule#IdentityRegistryAadhaarImplV1": "0x70D543432782D460C96753b52c2aC2797f26924B", "DeployAadhaarRegistryModule#IdentityRegistry": "0xd603Fa8C8f4694E8DD1DcE1f27C0C3fc91e32Ac4", - "UpdateAllRegistries#a3": "0xd603Fa8C8f4694E8DD1DcE1f27C0C3fc91e32Ac4", "DeployHubV2#IdentityVerificationHub": "0xe57F4773bd9c9d8b6Cd70431117d353298B9f5BF", "UpdateHubRegistries#IdentityVerificationHubImplV2": "0xe57F4773bd9c9d8b6Cd70431117d353298B9f5BF", "DeployNewHubAndUpgradee#IdentityVerificationHubV2": "0xe57F4773bd9c9d8b6Cd70431117d353298B9f5BF", "DeployNewHubAndUpgradee#CustomVerifier": "0x026696925F7DA40EE8B372442750A70BA9C006fA", - "DeployNewHubAndUpgradee#IdentityVerificationHubImplV2": "0xa267e58B2d6BA9fc07Af06471423AFb56e4e82B3" + "DeployNewHubAndUpgradee#IdentityVerificationHubImplV2": "0xa267e58B2d6BA9fc07Af06471423AFb56e4e82B3", + "DeployKycRegistryModule#PoseidonT3": "0x3a74EeCfF282539905F4a43c5EF4f5F155D1579F", + "DeployKycRegistryModule#Verifier_gcp_jwt": "0x87785cC7E9Bc70f87E6F454235214bDEc853C044", + "DeployKycRegistryModule#IdentityRegistryKycImplV1": "0x82FA9D41939229B6189cf326e855c6d6db2aAa57", + "DeployKycRegistryModule#IdentityRegistry": "0x9cABdeBC3aF136efD69EB881e02118AC612c63b9", + "UpdateAllRegistries#a3": "0x9cABdeBC3aF136efD69EB881e02118AC612c63b9", + "DeployAllVerifiers#Verifier_register_kyc": "0xbc15010D9748A5e7c0B947D0c0aCb31bD57a0626", + "DeployAllVerifiers#Verifier_vc_and_disclose_kyc": "0xdB0454156bBa5e5b9CA97be350eCc178ddE20b0f" } diff --git a/contracts/ignition/modules/registry/deployKycRegistry.ts b/contracts/ignition/modules/registry/deployKycRegistry.ts index 4c98e0b47..4980acbf1 100644 --- a/contracts/ignition/modules/registry/deployKycRegistry.ts +++ b/contracts/ignition/modules/registry/deployKycRegistry.ts @@ -26,7 +26,8 @@ export default buildModule("DeployKycRegistryModule", (m) => { const gcpKycVerifier = m.contract("Verifier_gcp_jwt", []); - const pcr0Manager = m.contract("PCR0Manager", []); + // PCR0Manager not deployed - using existing mainnet PCR0Manager at 0x9743fe2C1c3D2b068c56dE314e9B10DA9c904717 + // const pcr0Manager = m.contract("PCR0Manager", []); console.log("✅ Registry deployment module setup complete!"); console.log(" 📋 Summary:"); @@ -34,14 +35,12 @@ export default buildModule("DeployKycRegistryModule", (m) => { console.log(" - IdentityRegistryKycImplV1: Implementation contract"); console.log(" - IdentityRegistry: Proxy contract"); console.log(" - Verifier_gcp_jwt: GCP JWT verifier contract"); - console.log(" - PCR0Manager: PCR0Manager contract"); return { poseidonT3, identityRegistryKycImpl, registry, gcpKycVerifier, - pcr0Manager, }; }); diff --git a/contracts/ignition/modules/registry/updateRegistries.ts b/contracts/ignition/modules/registry/updateRegistries.ts index c6de52a80..ef1cc54df 100644 --- a/contracts/ignition/modules/registry/updateRegistries.ts +++ b/contracts/ignition/modules/registry/updateRegistries.ts @@ -34,13 +34,12 @@ const registries = { // }, "DeployKycRegistryModule#IdentityRegistry": { shouldChange: true, - hub: "0x16ECBA51e18a4a7e61fdC417f0d47AFEeDfbed74", + hub: "0xe57F4773bd9c9d8b6Cd70431117d353298B9f5BF", nameAndDobOfac: "12056959379782485690824392224737824782985009863971097094085968061978428696483", nameAndYobOfac: "14482015433179009576094845155298164108788397224633034095648782513909282765564", onlyTEEAddress: "0xe6b2856a51a17bd4edeb88b3f74370d64475b0fc", - gcpJWTVerifier: "0x13ee8CEa15a262D81a245b37889F7b4bEd015f4c", - pcr0Manager: "0xf2810D5E9938816D42F0Ae69D33F013a23C0aED2", - imageDigest: "0x67368d91dc708dee7be8fd9d85eff1fce3181e6e5b9fdfa37fc2d99034ea88e6", + gcpJWTVerifier: "0x87785cC7E9Bc70f87E6F454235214bDEc853C044", + pcr0Manager: "0x9743fe2C1c3D2b068c56dE314e9B10DA9c904717", gcpRootCAPubkeyHash: "14165687497759817957828709957846495993787741657460065475757428560999622217191", }, };