{
"ethereum": {
"roles": [],
"actors": [
{
"id": "ZamaGovMultisigB",
"name": "ZamaGovMultisigB",
"description": "A Multisig with 3/5 threshold. \nAragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n* Can upgrade **with no delay**\n * HCULimit [via: DAO]\n * ConfidentialSteakcUSDCWrapper [via: DAO]\n * Staking (Coprocessor) [via: DAO]\n * ConfidentialXAUTWrapper [via: DAO]\n * KMSVerifier [via: DAO]\n * ConfidentialZAMAWrapper [via: DAO]\n * ConfidentialBRONWrapper [via: DAO]\n * ConfidentialTGBPWrapper [via: DAO]\n * ConfidentialUSDTWrapper [via: DAO]\n * DAO [via: DAO]\n * ConfidentialBbqTGBPWrapper [via: DAO]\n * ACL [via: DAO]\n * InputVerifier [via: DAO]\n * ProtocolConfig [via: DAO]\n * FHEVMExecutor [via: DAO]\n * ConfidentialWETHWrapper [via: DAO]\n * ConfidentialUSDCWrapper [via: DAO]\n * Staking (KMS) [via: DAO]\n * ConfidentialTokenWrappersRegistry [via: DAO]\n * KMSGeneration [via: DAO]\n* Can interact with HCULimit\n * change the per-block and per-transaction HCU limits and manage callers that bypass the per-block limit [via: DAO]\n* Can interact with ConfidentialSteakcUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with Staking (Coprocessor)\n * grant and revoke manager accounts, transfer or renounce the default admin role, and change the default admin transfer delay [via: DAO]\n * set the reward rate, set the unstake cooldown period, and add or remove reward-eligible staking accounts [via: DAO]\n* Can interact with ConfidentialXAUTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialZAMAWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialBRONWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialTGBPWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialUSDTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with DAO\n * change multisig plugin settings [via: DAO - or - acting directly]\n * change multisig plugin target execution configuration [via: DAO - or - acting directly]\n * grant and revoke DAO permissions [via: DAO]\n* Can interact with ConfidentialBbqTGBPWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with PauserSet\n * add, remove, or swap accounts that can pause the ACL [via: DAO]\n* Can interact with ACL\n * transfer ACL ownership, unpause the ACL, block or unblock accounts, and manage PauserSet membership [via: DAO]\n* Can interact with InputVerifier\n * set the coprocessor signer set and signature threshold used for encrypted input verification [via: DAO]\n* Can interact with ProtocolConfig\n * create KMS contexts with arbitrary node sets and thresholds that immediately become the default verifier authority, destroy non-current contexts, and retune the per-context thresholds (public decryption, user decryption, key generation, MPC) of any live context including the current one. A malicious context or lowered threshold can attest an inflated unwrap amount and drain pooled wrapper backing [via: DAO]\n* Can interact with ConfidentialWETHWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with Staking (KMS)\n * grant and revoke manager accounts, transfer or renounce the default admin role, and change the default admin transfer delay [via: DAO]\n * set the reward rate, set the unstake cooldown period, and add or remove reward-eligible staking accounts [via: DAO]\n* Can interact with ConfidentialTokenWrappersRegistry\n * manage addresses in the registry [via: DAO]\n* Can interact with KMSGeneration\n * trigger and abort FHE key and CRS generation rounds executed by the KMS nodes [via: DAO]",
"description": "A Multisig with 3/6 threshold. \nAragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n* Can upgrade **with no delay**\n * ConfidentialSteakUSDTWrapper [via: DAO]\n * ConfidentialArmUSDCpWrapper [via: DAO]\n * HCULimit [via: DAO]\n * ConfidentialRoxUSDCyWrapper [via: DAO]\n * ConfidentialBbqUSDCWrapper [via: DAO]\n * ConfidentialArmUSDTpWrapper [via: DAO]\n * ConfidentialSteakcUSDCWrapper [via: DAO]\n * Staking (Coprocessor) [via: DAO]\n * ConfidentialXAUTWrapper [via: DAO]\n * ConfidentialFAUSDeWrapper [via: DAO]\n * KMSVerifier [via: DAO]\n * ConfidentialArmUSDCsWrapper [via: DAO]\n * ConfidentialBbqUSDTWrapper [via: DAO]\n * ConfidentialZAMAWrapper [via: DAO]\n * ConfidentialBRONWrapper [via: DAO]\n * ConfidentialPENDLEWrapper [via: DAO]\n * ConfidentialPAPYWrapper [via: DAO]\n * ConfidentialFcUSDTWrapper [via: DAO]\n * ConfidentialTGBPWrapper [via: DAO]\n * ConfidentialUSDTWrapper [via: DAO]\n * ConfidentialRoxcUSDCWrapper [via: DAO]\n * DAO [via: DAO]\n * ConfidentialPendleUSDCWrapper [via: DAO]\n * ConfidentialBbqTGBPWrapper [via: DAO]\n * ConfidentialArmUSDTsWrapper [via: DAO]\n * ACL [via: DAO]\n * InputVerifier [via: DAO]\n * ProtocolConfig [via: DAO]\n * FHEVMExecutor [via: DAO]\n * ConfidentialWBTCWrapper [via: DAO]\n * ConfidentialWETHWrapper [via: DAO]\n * ConfidentialUSDCWrapper [via: DAO]\n * Staking (KMS) [via: DAO]\n * ConfidentialAUSDWrapper [via: DAO]\n * ConfidentialTokenWrappersRegistry [via: DAO]\n * KMSGeneration [via: DAO]\n * ConfidentialArmcWBTCWrapper [via: DAO]\n* Can interact with ConfidentialSteakUSDTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialArmUSDCpWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with HCULimit\n * change the per-block and per-transaction HCU limits and manage callers that bypass the per-block limit [via: DAO]\n* Can interact with ConfidentialRoxUSDCyWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialBbqUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialArmUSDTpWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialSteakcUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with Staking (Coprocessor)\n * grant and revoke manager accounts, transfer or renounce the default admin role, and change the default admin transfer delay [via: DAO]\n * set the reward rate, set the unstake cooldown period, and add or remove reward-eligible staking accounts [via: DAO]\n* Can interact with ConfidentialXAUTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialFAUSDeWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialArmUSDCsWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialBbqUSDTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialZAMAWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialBRONWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialPENDLEWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialPAPYWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialFcUSDTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialTGBPWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialUSDTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialRoxcUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with DAO\n * change multisig plugin settings [via: DAO - or - acting directly]\n * change multisig plugin target execution configuration [via: DAO - or - acting directly]\n * grant and revoke DAO permissions [via: DAO]\n* Can interact with ConfidentialPendleUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialBbqTGBPWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialArmUSDTsWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with PauserSet\n * add, remove, or swap accounts that can pause the ACL [via: DAO]\n* Can interact with ACL\n * transfer ACL ownership, unpause the ACL, block or unblock accounts, and manage PauserSet membership [via: DAO]\n* Can interact with InputVerifier\n * set the coprocessor signer set and signature threshold used for encrypted input verification [via: DAO]\n* Can interact with ProtocolConfig\n * create KMS contexts with arbitrary node sets and thresholds that immediately become the default verifier authority, destroy non-current contexts, and retune the per-context thresholds (public decryption, user decryption, key generation, MPC) of any live context including the current one. A malicious context or lowered threshold can attest an inflated unwrap amount and drain pooled wrapper backing [via: DAO]\n* Can interact with ConfidentialWBTCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialWETHWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with Staking (KMS)\n * grant and revoke manager accounts, transfer or renounce the default admin role, and change the default admin transfer delay [via: DAO]\n * set the reward rate, set the unstake cooldown period, and add or remove reward-eligible staking accounts [via: DAO]\n* Can interact with ConfidentialAUSDWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialTokenWrappersRegistry\n * manage addresses in the registry [via: DAO]\n* Can interact with KMSGeneration\n * trigger and abort FHE key and CRS generation rounds executed by the KMS nodes [via: DAO]\n* Can interact with ConfidentialArmcWBTCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]",
"accounts": [
{
"address": "eth:0xBc860b6a4C860C5424B84A056E53ACFb2C99a38F",
"type": "Contract",
"isVerified": true,
"name": "0xBc86…a38F",
"url": "https://etherscan.io/address/0xBc860b6a4C860C5424B84A056E53ACFb2C99a38F"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x9b828219ad863491eb9b5225aE2d133eEDEa9B71",
"type": "EOA",
"isVerified": true,
"name": "EOA 60",
"url": "#EOA-57-and-EOA-60"
},
{
"address": "eth:0xf299Cd189498D7d0F0FfACd4DdC94166f614fBBE",
"type": "EOA",
"isVerified": true,
"name": "0xf299…fBBE",
"url": "https://etherscan.io/address/0xf299Cd189498D7d0F0FfACd4DdC94166f614fBBE"
},
{
"address": "eth:0x6dd470B50BbC1Ec03bf2B13B30c7d864F2025874",
"type": "EOA",
"isVerified": true,
"name": "EOA 57",
"url": "#EOA-57-and-EOA-60"
},
{
"address": "eth:0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"type": "EOA",
"isVerified": true,
"name": "EOA 59",
"url": "#EOA-58-and-EOA-59"
},
{
"address": "eth:0x705380c013c13B4ce62338ab1F012036BAC802b3",
"type": "EOA",
"isVerified": true,
"name": "EOA 58",
"url": "#EOA-58-and-EOA-59"
},
{
"address": "eth:0x8aA8D71520d88a1Ed2B4257348134b94e00A9978",
"type": "EOA",
"isVerified": true,
"name": "0x8aA8…9978",
"url": "https://etherscan.io/address/0x8aA8D71520d88a1Ed2B4257348134b94e00A9978"
}
],
"discoveryDrivenData": true
},
{
"id": "ZamaGovMultisigA",
"name": "ZamaGovMultisigA",
"description": "A Multisig with 9/17 threshold. \nAragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n* Can upgrade **with no delay**\n * HCULimit [via: DAO]\n * ConfidentialSteakcUSDCWrapper [via: DAO]\n * Staking (Coprocessor) [via: DAO]\n * ConfidentialXAUTWrapper [via: DAO]\n * KMSVerifier [via: DAO]\n * ConfidentialZAMAWrapper [via: DAO]\n * ConfidentialBRONWrapper [via: DAO]\n * ConfidentialTGBPWrapper [via: DAO]\n * ConfidentialUSDTWrapper [via: DAO]\n * DAO [via: DAO]\n * ConfidentialBbqTGBPWrapper [via: DAO]\n * ACL [via: DAO]\n * InputVerifier [via: DAO]\n * ProtocolConfig [via: DAO]\n * FHEVMExecutor [via: DAO]\n * ConfidentialWETHWrapper [via: DAO]\n * ConfidentialUSDCWrapper [via: DAO]\n * Staking (KMS) [via: DAO]\n * ConfidentialTokenWrappersRegistry [via: DAO]\n * KMSGeneration [via: DAO]\n* Can interact with HCULimit\n * change the per-block and per-transaction HCU limits and manage callers that bypass the per-block limit [via: DAO]\n* Can interact with ConfidentialSteakcUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with Staking (Coprocessor)\n * grant and revoke manager accounts, transfer or renounce the default admin role, and change the default admin transfer delay [via: DAO]\n * set the reward rate, set the unstake cooldown period, and add or remove reward-eligible staking accounts [via: DAO]\n* Can interact with ConfidentialXAUTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialZAMAWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialBRONWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialTGBPWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialUSDTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with DAO\n * change multisig plugin settings [via: DAO - or - acting directly]\n * change multisig plugin target execution configuration [via: DAO - or - acting directly]\n * grant and revoke DAO permissions [via: DAO]\n* Can interact with ConfidentialBbqTGBPWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with PauserSet\n * add, remove, or swap accounts that can pause the ACL [via: DAO]\n* Can interact with ACL\n * transfer ACL ownership, unpause the ACL, block or unblock accounts, and manage PauserSet membership [via: DAO]\n* Can interact with InputVerifier\n * set the coprocessor signer set and signature threshold used for encrypted input verification [via: DAO]\n* Can interact with ProtocolConfig\n * create KMS contexts with arbitrary node sets and thresholds that immediately become the default verifier authority, destroy non-current contexts, and retune the per-context thresholds (public decryption, user decryption, key generation, MPC) of any live context including the current one. A malicious context or lowered threshold can attest an inflated unwrap amount and drain pooled wrapper backing [via: DAO]\n* Can interact with ConfidentialWETHWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with Staking (KMS)\n * grant and revoke manager accounts, transfer or renounce the default admin role, and change the default admin transfer delay [via: DAO]\n * set the reward rate, set the unstake cooldown period, and add or remove reward-eligible staking accounts [via: DAO]\n* Can interact with ConfidentialTokenWrappersRegistry\n * manage addresses in the registry [via: DAO]\n* Can interact with KMSGeneration\n * trigger and abort FHE key and CRS generation rounds executed by the KMS nodes [via: DAO]",
"description": "A Multisig with 9/17 threshold. \nAragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n* Can upgrade **with no delay**\n * ConfidentialSteakUSDTWrapper [via: DAO]\n * ConfidentialArmUSDCpWrapper [via: DAO]\n * HCULimit [via: DAO]\n * ConfidentialRoxUSDCyWrapper [via: DAO]\n * ConfidentialBbqUSDCWrapper [via: DAO]\n * ConfidentialArmUSDTpWrapper [via: DAO]\n * ConfidentialSteakcUSDCWrapper [via: DAO]\n * Staking (Coprocessor) [via: DAO]\n * ConfidentialXAUTWrapper [via: DAO]\n * ConfidentialFAUSDeWrapper [via: DAO]\n * KMSVerifier [via: DAO]\n * ConfidentialArmUSDCsWrapper [via: DAO]\n * ConfidentialBbqUSDTWrapper [via: DAO]\n * ConfidentialZAMAWrapper [via: DAO]\n * ConfidentialBRONWrapper [via: DAO]\n * ConfidentialPENDLEWrapper [via: DAO]\n * ConfidentialPAPYWrapper [via: DAO]\n * ConfidentialFcUSDTWrapper [via: DAO]\n * ConfidentialTGBPWrapper [via: DAO]\n * ConfidentialUSDTWrapper [via: DAO]\n * ConfidentialRoxcUSDCWrapper [via: DAO]\n * DAO [via: DAO]\n * ConfidentialPendleUSDCWrapper [via: DAO]\n * ConfidentialBbqTGBPWrapper [via: DAO]\n * ConfidentialArmUSDTsWrapper [via: DAO]\n * ACL [via: DAO]\n * InputVerifier [via: DAO]\n * ProtocolConfig [via: DAO]\n * FHEVMExecutor [via: DAO]\n * ConfidentialWBTCWrapper [via: DAO]\n * ConfidentialWETHWrapper [via: DAO]\n * ConfidentialUSDCWrapper [via: DAO]\n * Staking (KMS) [via: DAO]\n * ConfidentialAUSDWrapper [via: DAO]\n * ConfidentialTokenWrappersRegistry [via: DAO]\n * KMSGeneration [via: DAO]\n * ConfidentialArmcWBTCWrapper [via: DAO]\n* Can interact with ConfidentialSteakUSDTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialArmUSDCpWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with HCULimit\n * change the per-block and per-transaction HCU limits and manage callers that bypass the per-block limit [via: DAO]\n* Can interact with ConfidentialRoxUSDCyWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialBbqUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialArmUSDTpWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialSteakcUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with Staking (Coprocessor)\n * grant and revoke manager accounts, transfer or renounce the default admin role, and change the default admin transfer delay [via: DAO]\n * set the reward rate, set the unstake cooldown period, and add or remove reward-eligible staking accounts [via: DAO]\n* Can interact with ConfidentialXAUTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialFAUSDeWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialArmUSDCsWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialBbqUSDTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialZAMAWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialBRONWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialPENDLEWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialPAPYWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialFcUSDTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialTGBPWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialUSDTWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialRoxcUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with DAO\n * change multisig plugin settings [via: DAO - or - acting directly]\n * change multisig plugin target execution configuration [via: DAO - or - acting directly]\n * grant and revoke DAO permissions [via: DAO]\n* Can interact with ConfidentialPendleUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialBbqTGBPWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialArmUSDTsWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with PauserSet\n * add, remove, or swap accounts that can pause the ACL [via: DAO]\n* Can interact with ACL\n * transfer ACL ownership, unpause the ACL, block or unblock accounts, and manage PauserSet membership [via: DAO]\n* Can interact with InputVerifier\n * set the coprocessor signer set and signature threshold used for encrypted input verification [via: DAO]\n* Can interact with ProtocolConfig\n * create KMS contexts with arbitrary node sets and thresholds that immediately become the default verifier authority, destroy non-current contexts, and retune the per-context thresholds (public decryption, user decryption, key generation, MPC) of any live context including the current one. A malicious context or lowered threshold can attest an inflated unwrap amount and drain pooled wrapper backing [via: DAO]\n* Can interact with ConfidentialWBTCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialWETHWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialUSDCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with Staking (KMS)\n * grant and revoke manager accounts, transfer or renounce the default admin role, and change the default admin transfer delay [via: DAO]\n * set the reward rate, set the unstake cooldown period, and add or remove reward-eligible staking accounts [via: DAO]\n* Can interact with ConfidentialAUSDWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]\n* Can interact with ConfidentialTokenWrappersRegistry\n * manage addresses in the registry [via: DAO]\n* Can interact with KMSGeneration\n * trigger and abort FHE key and CRS generation rounds executed by the KMS nodes [via: DAO]\n* Can interact with ConfidentialArmcWBTCWrapper\n * block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership [via: DAO]",
"accounts": [
{
"address": "eth:0xE43c73aAb2b6aBBad6d0461997ce1cfea5ABe66f",
"type": "Contract",
"isVerified": true,
"name": "0xE43c…e66f",
"url": "https://etherscan.io/address/0xE43c73aAb2b6aBBad6d0461997ce1cfea5ABe66f"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x31bBD7a242A38372DE92CA304fE29C12C90A382C",
"type": "Contract",
"isVerified": true,
"name": "ZamaGovMemberDAO",
"url": "#ZamaGovMemberDAO"
},
{
"address": "eth:0x644f248299FA8E1DE46C97A72C36F354Ccdb8a1e",
"type": "EOA",
"isVerified": true,
"name": "0x644f…8a1e",
"url": "https://etherscan.io/address/0x644f248299FA8E1DE46C97A72C36F354Ccdb8a1e"
},
{
"address": "eth:0x0321a4Ee7E843A83Fa314f4e76E756864CBdE62e",
"type": "EOA",
"isVerified": true,
"name": "0x0321…E62e",
"url": "https://etherscan.io/address/0x0321a4Ee7E843A83Fa314f4e76E756864CBdE62e"
},
{
"address": "eth:0x0f81fd435d44Cc49f90BB74bF4BdE0e9A0554ae6",
"type": "EOA",
"isVerified": true,
"name": "0x0f81…4ae6",
"url": "https://etherscan.io/address/0x0f81fd435d44Cc49f90BB74bF4BdE0e9A0554ae6"
},
{
"address": "eth:0x931FB6Ec104dDc9bc556983032b5b85b671db000",
"type": "EOA",
"isVerified": true,
"name": "0x931F…b000",
"url": "https://etherscan.io/address/0x931FB6Ec104dDc9bc556983032b5b85b671db000"
},
{
"address": "eth:0xc2e5960EDa1E8D801b19e96D886B946Dfb4bE709",
"type": "EOA",
"isVerified": true,
"name": "0xc2e5…E709",
"url": "https://etherscan.io/address/0xc2e5960EDa1E8D801b19e96D886B946Dfb4bE709"
},
{
"address": "eth:0x8c0E2c46F96756C49DBd6723F4C57a03a254B4B0",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "https://etherscan.io/address/0x8c0E2c46F96756C49DBd6723F4C57a03a254B4B0"
},
{
"address": "eth:0x23Cd5e0f3bd1543CBCc5d05bB55e5446be4AD96b",
"type": "EOA",
"isVerified": true,
"name": "0x23Cd…D96b",
"url": "https://etherscan.io/address/0x23Cd5e0f3bd1543CBCc5d05bB55e5446be4AD96b"
},
{
"address": "eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746",
"type": "Contract",
"isVerified": true,
"name": "Conduit Multisig 1",
"url": "https://etherscan.io/address/0x4a4962275DF8C60a80d3a25faEc5AA7De116A746"
},
{
"address": "eth:0x69E55790880d0ABa56E48Ee1f7fc3834b0F5c223",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "https://etherscan.io/address/0x69E55790880d0ABa56E48Ee1f7fc3834b0F5c223"
},
{
"address": "eth:0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"type": "EOA",
"isVerified": true,
"name": "EOA 59",
"url": "#EOA-58-and-EOA-59"
},
{
"address": "eth:0x705380c013c13B4ce62338ab1F012036BAC802b3",
"type": "EOA",
"isVerified": true,
"name": "EOA 58",
"url": "#EOA-58-and-EOA-59"
},
{
"address": "eth:0x97E18544e156724E4076945F10c288ecBBC94e54",
"type": "Contract",
"isVerified": true,
"name": "Safe",
"url": "https://etherscan.io/address/0x97E18544e156724E4076945F10c288ecBBC94e54"
},
{
"address": "eth:0xE9AAc45091bF5d52AD7BC109497DAA7cD0245BdB",
"type": "EOA",
"isVerified": true,
"name": "0xE9AA…5BdB",
"url": "https://etherscan.io/address/0xE9AAc45091bF5d52AD7BC109497DAA7cD0245BdB"
},
{
"address": "eth:0xD92e1C1Ec65aBe6C6891EcE56a00c6b79A09C8AE",
"type": "EOA",
"isVerified": true,
"name": "0xD92e…C8AE",
"url": "https://etherscan.io/address/0xD92e1C1Ec65aBe6C6891EcE56a00c6b79A09C8AE"
},
{
"address": "eth:0xc49376C4D044011eEce6eE69eFAe06f0Cc2bd008",
"type": "EOA",
"isVerified": true,
"name": "0xc493…d008",
"url": "https://etherscan.io/address/0xc49376C4D044011eEce6eE69eFAe06f0Cc2bd008"
},
{
"address": "eth:0x27B1c34F2aeEc91F9704BD1CE288E5c667F29045",
"type": "EOA",
"isVerified": true,
"name": "0x27B1…9045",
"url": "https://etherscan.io/address/0x27B1c34F2aeEc91F9704BD1CE288E5c667F29045"
}
],
"discoveryDrivenData": true
},
{
"id": "ZamaGovMemberDAO",
"name": "ZamaGovMemberDAO",
"accounts": [
{
"address": "eth:0x31bBD7a242A38372DE92CA304fE29C12C90A382C",
"type": "Contract",
"isVerified": true,
"name": "0x31bB…382C",
"url": "https://etherscan.io/address/0x31bBD7a242A38372DE92CA304fE29C12C90A382C"
}
],
"chain": "ethereum",
"description": "Aragon DAO that stores governance state and executes proposal action batches.\nMember of ZamaGovMultisigA.\n* Can interact with ZamaGovMemberDAO\n * change multisig plugin settings \n * change multisig plugin target execution configuration ",
"discoveryDrivenData": true
},
{
"id": "EOA-30,-EOA-33,-EOA-34,-EOA-35,-EOA-36,-EOA-40,-EOA-41,-EOA-46,-EOA-48,-EOA-49,-EOA-51,-EOA-52-and-EOA-56",
"name": "EOA 30, EOA 33, EOA 34, EOA 35, EOA 36, EOA 40, EOA 41, EOA 46, EOA 48, EOA 49, EOA 51, EOA 52 and EOA 56",
"accounts": [
{
"address": "eth:0x0e25B8DB74c754C8275C0B219ba2A6CD7c59E31D",
"type": "EOA",
"isVerified": true,
"name": "0x0e25…E31D",
"url": "https://etherscan.io/address/0x0e25B8DB74c754C8275C0B219ba2A6CD7c59E31D",
"displayName": "EOA 30"
},
{
"address": "eth:0x43e4c21cf9d24Dc5b4e00031349EC213A2ba8340",
"type": "EOA",
"isVerified": true,
"name": "0x43e4…8340",
"url": "https://etherscan.io/address/0x43e4c21cf9d24Dc5b4e00031349EC213A2ba8340",
"displayName": "EOA 33"
},
{
"address": "eth:0x487e41623b7FeB464ff79F7326DCa791c9a1c5EC",
"type": "EOA",
"isVerified": true,
"name": "0x487e…c5EC",
"url": "https://etherscan.io/address/0x487e41623b7FeB464ff79F7326DCa791c9a1c5EC",
"displayName": "EOA 34"
},
{
"address": "eth:0x4eC7200E392B97913cbD6d8160B011406EB019F1",
"type": "EOA",
"isVerified": true,
"name": "0x4eC7…19F1",
"url": "https://etherscan.io/address/0x4eC7200E392B97913cbD6d8160B011406EB019F1",
"displayName": "EOA 35"
},
{
"address": "eth:0x577Fd21e4BC7D644A4177C4B89146e1Ab394De04",
"type": "EOA",
"isVerified": true,
"name": "0x577F…De04",
"url": "https://etherscan.io/address/0x577Fd21e4BC7D644A4177C4B89146e1Ab394De04",
"displayName": "EOA 36"
},
{
"address": "eth:0x711EBE8aA590f9C9904ff279239E89dB2eFbC890",
"type": "EOA",
"isVerified": true,
"name": "0x711E…C890",
"url": "https://etherscan.io/address/0x711EBE8aA590f9C9904ff279239E89dB2eFbC890",
"displayName": "EOA 40"
},
{
"address": "eth:0x74a1E2e87a4026b7B8b5252c747E514159515e9a",
"type": "EOA",
"isVerified": true,
"name": "0x74a1…5e9a",
"url": "https://etherscan.io/address/0x74a1E2e87a4026b7B8b5252c747E514159515e9a",
"displayName": "EOA 41"
},
{
"address": "eth:0xB4CE988D382425F64c99A352375F72A5f1cf6FFB",
"type": "EOA",
"isVerified": true,
"name": "0xB4CE…6FFB",
"url": "https://etherscan.io/address/0xB4CE988D382425F64c99A352375F72A5f1cf6FFB",
"displayName": "EOA 46"
},
{
"address": "eth:0xbaac6F9DD84bFB303F05B4DE45A88Eec86855BD0",
"type": "EOA",
"isVerified": true,
"name": "0xbaac…5BD0",
"url": "https://etherscan.io/address/0xbaac6F9DD84bFB303F05B4DE45A88Eec86855BD0",
"displayName": "EOA 48"
},
{
"address": "eth:0xbcF4943A856497FB2345409D35f4d1eae9A0363E",
"type": "EOA",
"isVerified": true,
"name": "0xbcF4…363E",
"url": "https://etherscan.io/address/0xbcF4943A856497FB2345409D35f4d1eae9A0363E",
"displayName": "EOA 49"
},
{
"address": "eth:0xC105B5933446658D226582f7A112F49a70b54364",
"type": "EOA",
"isVerified": true,
"name": "0xC105…4364",
"url": "https://etherscan.io/address/0xC105B5933446658D226582f7A112F49a70b54364",
"displayName": "EOA 51"
},
{
"address": "eth:0xD227C4B573800EdA3bAdA6DAC872E9134E012e6D",
"type": "EOA",
"isVerified": true,
"name": "0xD227…2e6D",
"url": "https://etherscan.io/address/0xD227C4B573800EdA3bAdA6DAC872E9134E012e6D",
"displayName": "EOA 52"
},
{
"address": "eth:0xEd1D622bd59d657580aBAc65312b40B4B2dA6236",
"type": "EOA",
"isVerified": true,
"name": "0xEd1D…6236",
"url": "https://etherscan.io/address/0xEd1D622bd59d657580aBAc65312b40B4B2dA6236",
"displayName": "EOA 56"
}
],
"chain": "ethereum",
"description": "* Can interact with ProtocolConfig\n * submit KMS key- and CRS-generation responses to KMSGeneration ",
"discoveryDrivenData": true
},
{
"id": "EOA-31",
"name": "EOA 31",
"accounts": [
{
"address": "eth:0x373E36A8684A3344E177C5894179845Cbe57AE44",
"type": "EOA",
"isVerified": true,
"name": "0x373E…AE44",
"url": "https://etherscan.io/address/0x373E36A8684A3344E177C5894179845Cbe57AE44",
"displayName": "EOA 31"
}
],
"chain": "ethereum",
"description": "* Can interact with InputVerifier\n * sign encrypted input verification bundles accepted by the InputVerifier ",
"discoveryDrivenData": true
},
{
"id": "EOA-32,-EOA-37,-EOA-38,-EOA-39,-EOA-42,-EOA-43,-EOA-44,-EOA-45,-EOA-47,-EOA-50,-EOA-53,-EOA-54-and-EOA-55",
"name": "EOA 32, EOA 37, EOA 38, EOA 39, EOA 42, EOA 43, EOA 44, EOA 45, EOA 47, EOA 50, EOA 53, EOA 54 and EOA 55",
"accounts": [
{
"address": "eth:0x41b19EB4585450db79ac03ba9503106EC7895905",
"type": "EOA",
"isVerified": true,
"name": "0x41b1…5905",
"url": "https://etherscan.io/address/0x41b19EB4585450db79ac03ba9503106EC7895905",
"displayName": "EOA 32"
},
{
"address": "eth:0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8",
"type": "EOA",
"isVerified": true,
"name": "0x5d0e…f7C8",
"url": "https://etherscan.io/address/0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8",
"displayName": "EOA 37"
},
{
"address": "eth:0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385",
"type": "EOA",
"isVerified": true,
"name": "0x6016…E385",
"url": "https://etherscan.io/address/0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385",
"displayName": "EOA 38"
},
{
"address": "eth:0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921",
"type": "EOA",
"isVerified": true,
"name": "0x6e5f…4921",
"url": "https://etherscan.io/address/0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921",
"displayName": "EOA 39"
},
{
"address": "eth:0x7C17BE232e5968BDa9516478B798b9E90D013fCC",
"type": "EOA",
"isVerified": true,
"name": "0x7C17…3fCC",
"url": "https://etherscan.io/address/0x7C17BE232e5968BDa9516478B798b9E90D013fCC",
"displayName": "EOA 42"
},
{
"address": "eth:0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58",
"type": "EOA",
"isVerified": true,
"name": "0x7C5E…4F58",
"url": "https://etherscan.io/address/0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58",
"displayName": "EOA 43"
},
{
"address": "eth:0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f",
"type": "EOA",
"isVerified": true,
"name": "0x9150…350f",
"url": "https://etherscan.io/address/0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f",
"displayName": "EOA 44"
},
{
"address": "eth:0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D",
"type": "EOA",
"isVerified": true,
"name": "0x9661…dB8D",
"url": "https://etherscan.io/address/0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D",
"displayName": "EOA 45"
},
{
"address": "eth:0xB7978e602D2AF68258dA614AF949E014BF0DE0eb",
"type": "EOA",
"isVerified": true,
"name": "0xB797…E0eb",
"url": "https://etherscan.io/address/0xB7978e602D2AF68258dA614AF949E014BF0DE0eb",
"displayName": "EOA 47"
},
{
"address": "eth:0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3",
"type": "EOA",
"isVerified": true,
"name": "0xbf05…79C3",
"url": "https://etherscan.io/address/0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3",
"displayName": "EOA 50"
},
{
"address": "eth:0xdC472efa1642D5afB684aAaa546E22FB24AAB965",
"type": "EOA",
"isVerified": true,
"name": "0xdC47…B965",
"url": "https://etherscan.io/address/0xdC472efa1642D5afB684aAaa546E22FB24AAB965",
"displayName": "EOA 53"
},
{
"address": "eth:0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f",
"type": "EOA",
"isVerified": true,
"name": "0xDFc9…194f",
"url": "https://etherscan.io/address/0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f",
"displayName": "EOA 54"
},
{
"address": "eth:0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f",
"type": "EOA",
"isVerified": true,
"name": "0xe9f7…ed6f",
"url": "https://etherscan.io/address/0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f",
"displayName": "EOA 55"
}
],
"chain": "ethereum",
"description": "* Can interact with ProtocolConfig\n * sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration ",
"discoveryDrivenData": true
},
{
"id": "EOA-57-and-EOA-60",
"name": "EOA 57 and EOA 60",
"accounts": [
{
"address": "eth:0x6dd470B50BbC1Ec03bf2B13B30c7d864F2025874",
"type": "EOA",
"isVerified": true,
"name": "0x6dd4…5874",
"url": "https://etherscan.io/address/0x6dd470B50BbC1Ec03bf2B13B30c7d864F2025874",
"displayName": "EOA 57"
},
{
"address": "eth:0x9b828219ad863491eb9b5225aE2d133eEDEa9B71",
"type": "EOA",
"isVerified": true,
"name": "0x9b82…9B71",
"url": "https://etherscan.io/address/0x9b828219ad863491eb9b5225aE2d133eEDEa9B71",
"displayName": "EOA 60"
}
],
"chain": "ethereum",
"description": "Member of ZamaGovMultisigB.\n* Can interact with PauserSet\n * pause the ACL ",
"discoveryDrivenData": true
},
{
"id": "EOA-58-and-EOA-59",
"name": "EOA 58 and EOA 59",
"accounts": [
{
"address": "eth:0x705380c013c13B4ce62338ab1F012036BAC802b3",
"type": "EOA",
"isVerified": true,
"name": "0x7053…02b3",
"url": "https://etherscan.io/address/0x705380c013c13B4ce62338ab1F012036BAC802b3",
"displayName": "EOA 58"
},
{
"address": "eth:0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"type": "EOA",
"isVerified": true,
"name": "0x8edF…8CB8",
"url": "https://etherscan.io/address/0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"displayName": "EOA 59"
}
],
"chain": "ethereum",
"description": "Member of ZamaGovMultisigB, ZamaGovMultisigA.\n* Can interact with PauserSet\n * pause the ACL ",
"discoveryDrivenData": true
}
]
},
"zama": {
"roles": [],
"actors": [
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 3/5 threshold. \nGateway owner Safe. Its LayerZero governance module is outside the Zama Gateway protocol surface covered here.\n* Can upgrade **with no delay**\n * MultichainACL \n * Decryption \n * KMSGeneration \n * ProtocolPayment \n * InputVerification \n * CiphertextCommits \n * GatewayConfig \n* Can interact with Decryption\n * unpause Decryption \n* Can interact with GatewayPauserSet\n * add, remove, or swap gateway pausers \n* Can interact with ProtocolPayment\n * set gateway fee prices for input verification, public decryption, and user decryption \n* Can interact with InputVerification\n * unpause InputVerification \n* Can interact with GatewayConfig\n * create KMS contexts that immediately become current, destroy historical KMS contexts, update thresholds of any live context, manage coprocessors, custodians and host chains, transfer ownership, and unpause gateway workflow contracts ",
"accounts": [
{
"address": "zama:0x5f0F86BcEad6976711C9B131bCa5D30E767fe2bE",
"type": "Contract",
"isVerified": true,
"name": "0x5f0F…e2bE",
"url": "https://explorer.mainnet.zama.org/address/0x5f0F86BcEad6976711C9B131bCa5D30E767fe2bE"
}
],
"chain": "zama",
"references": [],
"participants": [
{
"address": "zama:0x9b828219ad863491eb9b5225aE2d133eEDEa9B71",
"type": "EOA",
"isVerified": true,
"name": "EOA 64",
"url": "#EOA-61,-EOA-62,-EOA-63-and-EOA-64"
},
{
"address": "zama:0xf299Cd189498D7d0F0FfACd4DdC94166f614fBBE",
"type": "EOA",
"isVerified": true,
"name": "0xf299…fBBE",
"url": "https://explorer.mainnet.zama.org/address/0xf299Cd189498D7d0F0FfACd4DdC94166f614fBBE"
},
{
"address": "zama:0x6dd470B50BbC1Ec03bf2B13B30c7d864F2025874",
"type": "EOA",
"isVerified": true,
"name": "EOA 61",
"url": "#EOA-61,-EOA-62,-EOA-63-and-EOA-64"
},
{
"address": "zama:0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"type": "EOA",
"isVerified": true,
"name": "EOA 63",
"url": "#EOA-61,-EOA-62,-EOA-63-and-EOA-64"
},
{
"address": "zama:0x705380c013c13B4ce62338ab1F012036BAC802b3",
"type": "EOA",
"isVerified": true,
"name": "EOA 62",
"url": "#EOA-61,-EOA-62,-EOA-63-and-EOA-64"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "zama:0x0000000000000000000000000000000000000000",
"type": "EOA",
"isVerified": true,
"name": "0x0000…0000",
"url": "https://explorer.mainnet.zama.org/address/0x0000000000000000000000000000000000000000",
"displayName": "EOA 1"
}
],
"chain": "zama",
"description": "* Can upgrade **with no delay**\n * MultichainACL \n * Decryption \n * KMSGeneration \n * ProtocolPayment \n * InputVerification \n * CiphertextCommits \n* Can interact with GatewayConfig\n * accept GatewayConfig ownership ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "zama:0x373E36A8684A3344E177C5894179845Cbe57AE44",
"type": "EOA",
"isVerified": true,
"name": "0x373E…AE44",
"url": "https://explorer.mainnet.zama.org/address/0x373E36A8684A3344E177C5894179845Cbe57AE44",
"displayName": "EOA 2"
}
],
"chain": "zama",
"description": "* Can interact with MultichainACL\n * submit public-decryption allowances, account handle allowances, and user-decryption delegation or revocation messages to MultichainACL \n* Can interact with InputVerification\n * sign encrypted input proof verification responses accepted by InputVerification \n * submit coprocessor proof verification and rejection responses to InputVerification \n* Can interact with CiphertextCommits\n * submit ciphertext and SNS ciphertext digests to CiphertextCommits \n* Can interact with GatewayConfig\n * sign encrypted input proof verification responses accepted by the gateway \n * submit coprocessor responses, ACL mirror updates, and ciphertext material commitments to gateway contracts ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "zama:0x0000000000000000000000000000000000000001",
"type": "EOA",
"isVerified": true,
"name": "0x0000…0001",
"url": "https://explorer.mainnet.zama.org/address/0x0000000000000000000000000000000000000001",
"displayName": "EOA 3"
}
],
"chain": "zama",
"description": "* Can interact with GatewayConfig\n * participate in gateway key custody workflows \n * sign gateway key custody material ",
"discoveryDrivenData": true
},
{
"id": "EOA-4,-EOA-6,-EOA-7,-EOA-8,-EOA-9,-EOA-13,-EOA-14,-EOA-19,-EOA-21,-EOA-22,-EOA-24,-EOA-25-and-EOA-29",
"name": "EOA 4, EOA 6, EOA 7, EOA 8, EOA 9, EOA 13, EOA 14, EOA 19, EOA 21, EOA 22, EOA 24, EOA 25 and EOA 29",
"accounts": [
{
"address": "zama:0x0e25B8DB74c754C8275C0B219ba2A6CD7c59E31D",
"type": "EOA",
"isVerified": true,
"name": "0x0e25…E31D",
"url": "https://explorer.mainnet.zama.org/address/0x0e25B8DB74c754C8275C0B219ba2A6CD7c59E31D",
"displayName": "EOA 4"
},
{
"address": "zama:0x43e4c21cf9d24Dc5b4e00031349EC213A2ba8340",
"type": "EOA",
"isVerified": true,
"name": "0x43e4…8340",
"url": "https://explorer.mainnet.zama.org/address/0x43e4c21cf9d24Dc5b4e00031349EC213A2ba8340",
"displayName": "EOA 6"
},
{
"address": "zama:0x487e41623b7FeB464ff79F7326DCa791c9a1c5EC",
"type": "EOA",
"isVerified": true,
"name": "0x487e…c5EC",
"url": "https://explorer.mainnet.zama.org/address/0x487e41623b7FeB464ff79F7326DCa791c9a1c5EC",
"displayName": "EOA 7"
},
{
"address": "zama:0x4eC7200E392B97913cbD6d8160B011406EB019F1",
"type": "EOA",
"isVerified": true,
"name": "0x4eC7…19F1",
"url": "https://explorer.mainnet.zama.org/address/0x4eC7200E392B97913cbD6d8160B011406EB019F1",
"displayName": "EOA 8"
},
{
"address": "zama:0x577Fd21e4BC7D644A4177C4B89146e1Ab394De04",
"type": "EOA",
"isVerified": true,
"name": "0x577F…De04",
"url": "https://explorer.mainnet.zama.org/address/0x577Fd21e4BC7D644A4177C4B89146e1Ab394De04",
"displayName": "EOA 9"
},
{
"address": "zama:0x711EBE8aA590f9C9904ff279239E89dB2eFbC890",
"type": "EOA",
"isVerified": true,
"name": "0x711E…C890",
"url": "https://explorer.mainnet.zama.org/address/0x711EBE8aA590f9C9904ff279239E89dB2eFbC890",
"displayName": "EOA 13"
},
{
"address": "zama:0x74a1E2e87a4026b7B8b5252c747E514159515e9a",
"type": "EOA",
"isVerified": true,
"name": "0x74a1…5e9a",
"url": "https://explorer.mainnet.zama.org/address/0x74a1E2e87a4026b7B8b5252c747E514159515e9a",
"displayName": "EOA 14"
},
{
"address": "zama:0xB4CE988D382425F64c99A352375F72A5f1cf6FFB",
"type": "EOA",
"isVerified": true,
"name": "0xB4CE…6FFB",
"url": "https://explorer.mainnet.zama.org/address/0xB4CE988D382425F64c99A352375F72A5f1cf6FFB",
"displayName": "EOA 19"
},
{
"address": "zama:0xbaac6F9DD84bFB303F05B4DE45A88Eec86855BD0",
"type": "EOA",
"isVerified": true,
"name": "0xbaac…5BD0",
"url": "https://explorer.mainnet.zama.org/address/0xbaac6F9DD84bFB303F05B4DE45A88Eec86855BD0",
"displayName": "EOA 21"
},
{
"address": "zama:0xbcF4943A856497FB2345409D35f4d1eae9A0363E",
"type": "EOA",
"isVerified": true,
"name": "0xbcF4…363E",
"url": "https://explorer.mainnet.zama.org/address/0xbcF4943A856497FB2345409D35f4d1eae9A0363E",
"displayName": "EOA 22"
},
{
"address": "zama:0xC105B5933446658D226582f7A112F49a70b54364",
"type": "EOA",
"isVerified": true,
"name": "0xC105…4364",
"url": "https://explorer.mainnet.zama.org/address/0xC105B5933446658D226582f7A112F49a70b54364",
"displayName": "EOA 24"
},
{
"address": "zama:0xD227C4B573800EdA3bAdA6DAC872E9134E012e6D",
"type": "EOA",
"isVerified": true,
"name": "0xD227…2e6D",
"url": "https://explorer.mainnet.zama.org/address/0xD227C4B573800EdA3bAdA6DAC872E9134E012e6D",
"displayName": "EOA 25"
},
{
"address": "zama:0xEd1D622bd59d657580aBAc65312b40B4B2dA6236",
"type": "EOA",
"isVerified": true,
"name": "0xEd1D…6236",
"url": "https://explorer.mainnet.zama.org/address/0xEd1D622bd59d657580aBAc65312b40B4B2dA6236",
"displayName": "EOA 29"
}
],
"chain": "zama",
"description": "* Can interact with Decryption\n * submit KMS decryption responses to Decryption \n* Can interact with GatewayConfig\n * submit KMS decryption responses to gateway contracts ",
"discoveryDrivenData": true
},
{
"id": "EOA-5,-EOA-10,-EOA-11,-EOA-12,-EOA-15,-EOA-16,-EOA-17,-EOA-18,-EOA-20,-EOA-23,-EOA-26,-EOA-27-and-EOA-28",
"name": "EOA 5, EOA 10, EOA 11, EOA 12, EOA 15, EOA 16, EOA 17, EOA 18, EOA 20, EOA 23, EOA 26, EOA 27 and EOA 28",
"accounts": [
{
"address": "zama:0x41b19EB4585450db79ac03ba9503106EC7895905",
"type": "EOA",
"isVerified": true,
"name": "0x41b1…5905",
"url": "https://explorer.mainnet.zama.org/address/0x41b19EB4585450db79ac03ba9503106EC7895905",
"displayName": "EOA 5"
},
{
"address": "zama:0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8",
"type": "EOA",
"isVerified": true,
"name": "0x5d0e…f7C8",
"url": "https://explorer.mainnet.zama.org/address/0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8",
"displayName": "EOA 10"
},
{
"address": "zama:0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385",
"type": "EOA",
"isVerified": true,
"name": "0x6016…E385",
"url": "https://explorer.mainnet.zama.org/address/0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385",
"displayName": "EOA 11"
},
{
"address": "zama:0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921",
"type": "EOA",
"isVerified": true,
"name": "0x6e5f…4921",
"url": "https://explorer.mainnet.zama.org/address/0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921",
"displayName": "EOA 12"
},
{
"address": "zama:0x7C17BE232e5968BDa9516478B798b9E90D013fCC",
"type": "EOA",
"isVerified": true,
"name": "0x7C17…3fCC",
"url": "https://explorer.mainnet.zama.org/address/0x7C17BE232e5968BDa9516478B798b9E90D013fCC",
"displayName": "EOA 15"
},
{
"address": "zama:0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58",
"type": "EOA",
"isVerified": true,
"name": "0x7C5E…4F58",
"url": "https://explorer.mainnet.zama.org/address/0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58",
"displayName": "EOA 16"
},
{
"address": "zama:0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f",
"type": "EOA",
"isVerified": true,
"name": "0x9150…350f",
"url": "https://explorer.mainnet.zama.org/address/0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f",
"displayName": "EOA 17"
},
{
"address": "zama:0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D",
"type": "EOA",
"isVerified": true,
"name": "0x9661…dB8D",
"url": "https://explorer.mainnet.zama.org/address/0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D",
"displayName": "EOA 18"
},
{
"address": "zama:0xB7978e602D2AF68258dA614AF949E014BF0DE0eb",
"type": "EOA",
"isVerified": true,
"name": "0xB797…E0eb",
"url": "https://explorer.mainnet.zama.org/address/0xB7978e602D2AF68258dA614AF949E014BF0DE0eb",
"displayName": "EOA 20"
},
{
"address": "zama:0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3",
"type": "EOA",
"isVerified": true,
"name": "0xbf05…79C3",
"url": "https://explorer.mainnet.zama.org/address/0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3",
"displayName": "EOA 23"
},
{
"address": "zama:0xdC472efa1642D5afB684aAaa546E22FB24AAB965",
"type": "EOA",
"isVerified": true,
"name": "0xdC47…B965",
"url": "https://explorer.mainnet.zama.org/address/0xdC472efa1642D5afB684aAaa546E22FB24AAB965",
"displayName": "EOA 26"
},
{
"address": "zama:0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f",
"type": "EOA",
"isVerified": true,
"name": "0xDFc9…194f",
"url": "https://explorer.mainnet.zama.org/address/0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f",
"displayName": "EOA 27"
},
{
"address": "zama:0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f",
"type": "EOA",
"isVerified": true,
"name": "0xe9f7…ed6f",
"url": "https://explorer.mainnet.zama.org/address/0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f",
"displayName": "EOA 28"
}
],
"chain": "zama",
"description": "* Can interact with Decryption\n * sign public decryption results and user decryption shares accepted by Decryption \n* Can interact with GatewayConfig\n * sign KMS decryption material accepted by gateway contracts ",
"discoveryDrivenData": true
},
{
"id": "EOA-61,-EOA-62,-EOA-63-and-EOA-64",
"name": "EOA 61, EOA 62, EOA 63 and EOA 64",
"accounts": [
{
"address": "zama:0x6dd470B50BbC1Ec03bf2B13B30c7d864F2025874",
"type": "EOA",
"isVerified": true,
"name": "0x6dd4…5874",
"url": "https://explorer.mainnet.zama.org/address/0x6dd470B50BbC1Ec03bf2B13B30c7d864F2025874",
"displayName": "EOA 61"
},
{
"address": "zama:0x705380c013c13B4ce62338ab1F012036BAC802b3",
"type": "EOA",
"isVerified": true,
"name": "0x7053…02b3",
"url": "https://explorer.mainnet.zama.org/address/0x705380c013c13B4ce62338ab1F012036BAC802b3",
"displayName": "EOA 62"
},
{
"address": "zama:0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"type": "EOA",
"isVerified": true,
"name": "0x8edF…8CB8",
"url": "https://explorer.mainnet.zama.org/address/0x8edFb885a32C72aF32943D4db13D319181d18CB8",
"displayName": "EOA 63"
},
{
"address": "zama:0x9b828219ad863491eb9b5225aE2d133eEDEa9B71",
"type": "EOA",
"isVerified": true,
"name": "0x9b82…9B71",
"url": "https://explorer.mainnet.zama.org/address/0x9b828219ad863491eb9b5225aE2d133eEDEa9B71",
"displayName": "EOA 64"
}
],
"chain": "zama",
"description": "Member of SafeL2.\n* Can interact with GatewayPauserSet\n * pause GatewayConfig and pausable gateway workflow contracts ",
"discoveryDrivenData": true
}
]
}
}
[
{
"id": "3c25a89e",
"date": "Thu, 17 Sep 2026 07:51:47 GMT",
"timestamp": 1789631397,
"description": "Add 17 new confidential wrappers (WBTC, AUSD, PENDLE and 14 Morpho vault shares)",
"isHighSeverity": true,
"changeCount": 327,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ConfidentialSteakUSDTWrapper (eth:0x1F6A937119c0c34Db0a2c4F000386a3BfD4A9e73) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789152239\n sinceBlock:\n+ 25956032\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T18:43:59.000Z\",\"0xe9f33dc7a110fea67894ef7f3ef9254918eaabeb7ad01facde7cefb240395b4d\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0x34822f7ff3c28eeffe2100070c17282c346ff85a1dff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000beef003c68896c7d2c3c60d363e8d71a49ab2bf9000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016436f6e666964656e7469616c20737465616b5553445400000000000000000000000000000000000000000000000000000000000000000000000000000000000a63737465616b555344540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ab646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c20737465616b55534454222c2273796d626f6c223a2263737465616b55534454222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f6620737465616b5553445420736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential steakUSDT\\\",\\\"symbol\\\":\\\"csteakUSDT\\\",\\\"description\\\":\\\"Confidential wrapper of steakUSDT shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":14680995207,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential steakUSDT\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"csteakUSDT\",\"underlying\":\"eth:0xbeef003C68896c7D2c3c60d363e8d71a49Ab2bf9\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0x1F6A937119c0c34Db0a2c4F000386a3BfD4A9e73\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ConfidentialArmUSDCpWrapper (eth:0x2ebBd099f66b0ca94DD82B4c06fe3eEf6AFf853c) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789150751\n sinceBlock:\n+ 25955908\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T18:19:11.000Z\",\"0xd55cc3a9346ae5156efdfbbb3d628e8d93de08f419e3f0ec55ae90bde92e28c0\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0x644c44341fb497f2c95372332a363de4c13716dae4ff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000005dc53a23adc9f2bed98de6f59f7f309a7c71ff2b000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015436f6e666964656e7469616c2061726d5553444370000000000000000000000000000000000000000000000000000000000000000000000000000000000000096361726d5553444370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c2061726d5553444370222c2273796d626f6c223a226361726d5553444370222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f662061726d555344437020736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential armUSDCp\\\",\\\"symbol\\\":\\\"carmUSDCp\\\",\\\"description\\\":\\\"Confidential wrapper of armUSDCp shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":44322139,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential armUSDCp\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"carmUSDCp\",\"underlying\":\"eth:0x5dc53a23AdC9f2Bed98de6F59F7F309a7c71FF2B\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0x2ebBd099f66b0ca94DD82B4c06fe3eEf6AFf853c\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ConfidentialRoxUSDCyWrapper (eth:0x4FCCF8046FB7FB7AB76321BD39C27453e396B88f) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789154375\n sinceBlock:\n+ 25956208\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T19:19:35.000Z\",\"0x7a7eadb1e667732e52a0064b3a1f253a562fb35d34d1bc96663bbdf0f95a8f1a\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0x1e6c1758ea30006c2f61217e9871a6078eabde730dff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000e0181090c22579b6a217f1522cbf8c9f1f0c1965000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015436f6e666964656e7469616c20726f7855534443790000000000000000000000000000000000000000000000000000000000000000000000000000000000000963726f785553444379000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c20726f785553444379222c2273796d626f6c223a2263726f785553444379222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f6620726f78555344437920736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential roxUSDCy\\\",\\\"symbol\\\":\\\"croxUSDCy\\\",\\\"description\\\":\\\"Confidential wrapper of roxUSDCy shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":2439415333,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential roxUSDCy\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"croxUSDCy\",\"underlying\":\"eth:0xE0181090c22579B6A217f1522cbf8c9f1F0C1965\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0x4FCCF8046FB7FB7AB76321BD39C27453e396B88f\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ConfidentialBbqUSDCWrapper (eth:0x501b014f86a73A7199E00cB31C0e9565Ac51e51B) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789153067\n sinceBlock:\n+ 25956100\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T18:57:47.000Z\",\"0x889469791190aaf6a60a02c423bd1080bf1dd4bfb768f778521e3ca927690d59\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0x758c540d42b12937c09fd38fa132bee98db9dd9d0eff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000beeff2c5bf38f90e3482a8b19f12e5a6d2fca757000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014436f6e666964656e7469616c20626271555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000008636262715553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a5646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c2062627155534443222c2273796d626f6c223a226362627155534443222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f66206262715553444320736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential bbqUSDC\\\",\\\"symbol\\\":\\\"cbbqUSDC\\\",\\\"description\\\":\\\"Confidential wrapper of bbqUSDC shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":1956111260,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential bbqUSDC\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"cbbqUSDC\",\"underlying\":\"eth:0xbeeff2C5bF38f90e3482a8b19F12E5a6D2FCa757\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0x501b014f86a73A7199E00cB31C0e9565Ac51e51B\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ConfidentialArmUSDTpWrapper (eth:0x63a60aCC304b84eF829b263f28e7b636Bf77d45A) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789153331\n sinceBlock:\n+ 25956122\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T19:02:11.000Z\",\"0x46e9abc4237bb9560dc0595f6f18dd84cc984a09adfac882e44c84b37fcb23f0\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0x560fcb18c119c407d71736cdabda00a98dc7b5307bff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000bf29043164660c60a2a72cd15ffe2304e87b6838000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015436f6e666964656e7469616c2061726d5553445470000000000000000000000000000000000000000000000000000000000000000000000000000000000000096361726d5553445470000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c2061726d5553445470222c2273796d626f6c223a226361726d5553445470222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f662061726d555344547020736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential armUSDTp\\\",\\\"symbol\\\":\\\"carmUSDTp\\\",\\\"description\\\":\\\"Confidential wrapper of armUSDTp shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":18928591,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential armUSDTp\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"carmUSDTp\",\"underlying\":\"eth:0xBf29043164660C60A2a72Cd15FFe2304e87B6838\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0x63a60aCC304b84eF829b263f28e7b636Bf77d45A\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ConfidentialFAUSDeWrapper (eth:0x76A3f985315aAc9789Cb5BF8A5bb83BFF55FD5a6) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789148387\n sinceBlock:\n+ 25955712\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T17:39:47.000Z\",\"0x7eef71a0892e61b5b1db77cc9443cf2951497ef28c483823b22b69bf623c5f24\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0x2f395b4b3182fbeb1513ac72de45fd8382496e4788ff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000032401b9fb79065bc15949de0bd43927492f02f0c000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013436f6e666964656e7469616c20664155534465000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007636641555344650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a2646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c20664155534465222c2273796d626f6c223a2263664155534465222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f662066415553446520736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential fAUSDe\\\",\\\"symbol\\\":\\\"cfAUSDe\\\",\\\"description\\\":\\\"Confidential wrapper of fAUSDe shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":120155535,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential fAUSDe\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"cfAUSDe\",\"underlying\":\"eth:0x32401B9fb79065Bc15949DE0BD43927492f02F0C\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0x76A3f985315aAc9789Cb5BF8A5bb83BFF55FD5a6\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ConfidentialArmUSDCsWrapper (eth:0x77F8207ee451441336538bA07a2F425780dED8DB) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789151411\n sinceBlock:\n+ 25955963\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T18:30:11.000Z\",\"0x96d24e2718e693259e6f30d476fc2a1157018ee8b4978f224807e2ecb06f6c56\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0x04eede51a52f5c474b858c4dec93e3f8ddb87fba80ff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000a2eaad0d586cf9fd73bb2c09cf6a7e3e187d68cd000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015436f6e666964656e7469616c2061726d5553444373000000000000000000000000000000000000000000000000000000000000000000000000000000000000096361726d5553444373000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c2061726d5553444373222c2273796d626f6c223a226361726d5553444373222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f662061726d555344437320736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential armUSDCs\\\",\\\"symbol\\\":\\\"carmUSDCs\\\",\\\"description\\\":\\\"Confidential wrapper of armUSDCs shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":48148590,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential armUSDCs\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"carmUSDCs\",\"underlying\":\"eth:0xA2EAaD0D586cF9FD73bb2c09cF6A7E3e187D68cd\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0x77F8207ee451441336538bA07a2F425780dED8DB\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ConfidentialBbqUSDTWrapper (eth:0x80Ae7dbCe3c1696d3eeD04Ec8348c3C432322273) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789152695\n sinceBlock:\n+ 25956070\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T18:51:35.000Z\",\"0x015d053c281a8ebb13d7170b1f91cdbac616e0aff901335a9cdb542dd15137dd\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0x4c174f25773bdd4f4283b52e5a6e86343af1338f0fff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000beeff07d991c04cd640de9f15c08ba59c4fedeb7000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014436f6e666964656e7469616c20626271555344540000000000000000000000000000000000000000000000000000000000000000000000000000000000000008636262715553445400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a5646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c2062627155534454222c2273796d626f6c223a226362627155534454222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f66206262715553445420736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential bbqUSDT\\\",\\\"symbol\\\":\\\"cbbqUSDT\\\",\\\"description\\\":\\\"Confidential wrapper of bbqUSDT shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":528600765,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential bbqUSDT\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"cbbqUSDT\",\"underlying\":\"eth:0xbeeff07d991C04CD640DE9F15C08ba59c4FEDEb7\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0x80Ae7dbCe3c1696d3eeD04Ec8348c3C432322273\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ConfidentialPENDLEWrapper (eth:0x8900123F7e17709C1D80eda1E611A9503Cf1B3df) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789150991\n sinceBlock:\n+ 25955928\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T18:23:11.000Z\",\"0x81bc67cd541d90df6904fd05608b64880b98be74fb5c1c0f5e4f17a0ec779561\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0xba6c9ebe37b031712a8c7bc4ad41ca77a160d6ab93ff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000808507121b80c02388fad14726482e061b8da827000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013436f6e666964656e7469616c2050454e444c450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076350454e444c450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a2646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c2050454e444c45222c2273796d626f6c223a226350454e444c45222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f662050454e444c4520736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential PENDLE\\\",\\\"symbol\\\":\\\"cPENDLE\\\",\\\"description\\\":\\\"Confidential wrapper of PENDLE shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":22973360000,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential PENDLE\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"cPENDLE\",\"underlying\":\"eth:0x808507121B80c02388fAd14726482e061B8da827\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0x8900123F7e17709C1D80eda1E611A9503Cf1B3df\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract Safe (eth:0x8c0E2c46F96756C49DBd6723F4C57a03a254B4B0) [GnosisSafe] {\n +++ description: None\n values.$members.2:\n- \"eth:0x8a686b039c0323e990Be80991a16bdaAb78113AC\"\n+ \"eth:0xFd23FcEFC76B5fCe924d0D460D9AE4a0e1CF0B99\"\n }\n```\n\n```diff\n contract ConfidentialPAPYWrapper (eth:0x9ABb8f3dC2863B1F108DeD7ea41902fEF6732A8c) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789151975\n sinceBlock:\n+ 25956010\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T18:39:35.000Z\",\"0xeb2532285d2ac5d8939481a8bfa78ddd8fc0418d031cfc525d97bf7201939a66\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0x2982980665e6d3df2f508ec3225920cf36877b15caff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000b344e331a3cda61d329fb3cca2be5942da87c418000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef300000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011436f6e666964656e7469616c205041505900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056350415059000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c2050415059222c2273796d626f6c223a226350415059222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f66205041505920736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential PAPY\\\",\\\"symbol\\\":\\\"cPAPY\\\",\\\"description\\\":\\\"Confidential wrapper of PAPY shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":310251261912,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential PAPY\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"cPAPY\",\"underlying\":\"eth:0xB344e331A3cDa61D329fb3Cca2Be5942da87c418\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0x9ABb8f3dC2863B1F108DeD7ea41902fEF6732A8c\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ConfidentialFcUSDTWrapper (eth:0xA28A369Df348ac232E4DAF7B0Ef90280d8707D7F) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789388567\n sinceBlock:\n+ 25975670\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-14T12:22:47.000Z\",\"0xac60b0c2440232297fb1e4b7aabe445e32b69cc56d0d7be02bef6f4bba219ff9\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0xa7bea747da47fb3d7e6e2afda103a240e2e974e913ff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000b48c056c5608ba2ee4cd94af2bf4b1f25295bd7e000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000013436f6e666964656e7469616c20666355534454000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007636663555344540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a2646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c20666355534454222c2273796d626f6c223a2263666355534454222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f662066635553445420736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential fcUSDT\\\",\\\"symbol\\\":\\\"cfcUSDT\\\",\\\"description\\\":\\\"Confidential wrapper of fcUSDT shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":1680592832924,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential fcUSDT\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"cfcUSDT\",\"underlying\":\"eth:0xb48C056C5608bA2Ee4cD94AF2bF4b1F25295Bd7e\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0xA28A369Df348ac232E4DAF7B0Ef90280d8707D7F\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ConfidentialRoxcUSDCWrapper (eth:0xB1B18Ad1F16D744c470cb6B09Cb826AfFcc9EB30) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789153955\n sinceBlock:\n+ 25956174\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T19:12:35.000Z\",\"0x3ef21251bb814e05e1ad9812ad70d000318e223d8655c395944d1ca345984f7a\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0xf3c25fec6e0e39fa9bb6dafe9cbc5e21e3da59e23dff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000c207d3f66537d7f66456808379a0e560cf20da36000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015436f6e666964656e7469616c20726f7863555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000000963726f786355534443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c20726f786355534443222c2273796d626f6c223a2263726f786355534443222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f6620726f78635553444320736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential roxcUSDC\\\",\\\"symbol\\\":\\\"croxcUSDC\\\",\\\"description\\\":\\\"Confidential wrapper of roxcUSDC shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":7942254635408,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential roxcUSDC\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"croxcUSDC\",\"underlying\":\"eth:0xc207d3f66537D7F66456808379A0E560cF20Da36\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0xB1B18Ad1F16D744c470cb6B09Cb826AfFcc9EB30\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract DAO (eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3) [zama/ZamaDAO] {\n +++ description: Aragon DAO that stores governance state and executes proposal action batches.\n directlyReceivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x1F6A937119c0c34Db0a2c4F000386a3BfD4A9e73\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x2ebBd099f66b0ca94DD82B4c06fe3eEf6AFf853c\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x4FCCF8046FB7FB7AB76321BD39C27453e396B88f\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x501b014f86a73A7199E00cB31C0e9565Ac51e51B\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.5:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x63a60aCC304b84eF829b263f28e7b636Bf77d45A\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.10:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x76A3f985315aAc9789Cb5BF8A5bb83BFF55FD5a6\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.11:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x77F8207ee451441336538bA07a2F425780dED8DB\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.12:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x80Ae7dbCe3c1696d3eeD04Ec8348c3C432322273\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.15:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x8900123F7e17709C1D80eda1E611A9503Cf1B3df\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.16:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9ABb8f3dC2863B1F108DeD7ea41902fEF6732A8c\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.17:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xA28A369Df348ac232E4DAF7B0Ef90280d8707D7F\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.20:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xB1B18Ad1F16D744c470cb6B09Cb826AfFcc9EB30\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.24:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xb6e5299fc56053DD5440104Fd6Fd2A3CD064edbC\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.26:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xbaC6DeDf2C10D6D381F9DBd9EFd69D93FfCef50B\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.31:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xd86aE89C089B380f064Fe01899B4071F1eb6Bb3d\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.36:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xEa9A15A29DD180c40442142CaeEfC491d37bfDB2\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.39:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xF921A5B0634f4236B21A4e948317abf9a2E86B6f\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\"}\n directlyReceivedPermissions.40:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1F6A937119c0c34Db0a2c4F000386a3BfD4A9e73\",\"role\":\"admin\"}\n directlyReceivedPermissions.41:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x2ebBd099f66b0ca94DD82B4c06fe3eEf6AFf853c\",\"role\":\"admin\"}\n directlyReceivedPermissions.43:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x4FCCF8046FB7FB7AB76321BD39C27453e396B88f\",\"role\":\"admin\"}\n directlyReceivedPermissions.44:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x501b014f86a73A7199E00cB31C0e9565Ac51e51B\",\"role\":\"admin\"}\n directlyReceivedPermissions.45:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x63a60aCC304b84eF829b263f28e7b636Bf77d45A\",\"role\":\"admin\"}\n directlyReceivedPermissions.49:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x76A3f985315aAc9789Cb5BF8A5bb83BFF55FD5a6\",\"role\":\"admin\"}\n directlyReceivedPermissions.51:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x77F8207ee451441336538bA07a2F425780dED8DB\",\"role\":\"admin\"}\n directlyReceivedPermissions.52:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x80Ae7dbCe3c1696d3eeD04Ec8348c3C432322273\",\"role\":\"admin\"}\n directlyReceivedPermissions.55:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x8900123F7e17709C1D80eda1E611A9503Cf1B3df\",\"role\":\"admin\"}\n directlyReceivedPermissions.56:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x9ABb8f3dC2863B1F108DeD7ea41902fEF6732A8c\",\"role\":\"admin\"}\n directlyReceivedPermissions.57:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xA28A369Df348ac232E4DAF7B0Ef90280d8707D7F\",\"role\":\"admin\"}\n directlyReceivedPermissions.60:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xB1B18Ad1F16D744c470cb6B09Cb826AfFcc9EB30\",\"role\":\"admin\"}\n directlyReceivedPermissions.62:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xb6e5299fc56053DD5440104Fd6Fd2A3CD064edbC\",\"role\":\"admin\"}\n directlyReceivedPermissions.64:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbaC6DeDf2C10D6D381F9DBd9EFd69D93FfCef50B\",\"role\":\"admin\"}\n directlyReceivedPermissions.69:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xd86aE89C089B380f064Fe01899B4071F1eb6Bb3d\",\"role\":\"admin\"}\n directlyReceivedPermissions.73:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xEa9A15A29DD180c40442142CaeEfC491d37bfDB2\",\"role\":\"admin\"}\n directlyReceivedPermissions.76:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xF921A5B0634f4236B21A4e948317abf9a2E86B6f\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract ConfidentialPendleUSDCWrapper (eth:0xb6e5299fc56053DD5440104Fd6Fd2A3CD064edbC) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789150499\n sinceBlock:\n+ 25955887\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T18:14:59.000Z\",\"0x245c01d53b1793bf5bcdcc33260534472552aeb287fa76e0330648a25385f7f1\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0x0c1aa706cc1144ed21d09130a4f9078a921fbd5033ff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000055c1b6e461a6334b567baf0feb5d728715446f05000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000017436f6e666964656e7469616c2070656e646c6555534443000000000000000000000000000000000000000000000000000000000000000000000000000000000b6370656e646c655553444300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ae646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c2070656e646c6555534443222c2273796d626f6c223a226370656e646c6555534443222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f662070656e646c655553444320736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential pendleUSDC\\\",\\\"symbol\\\":\\\"cpendleUSDC\\\",\\\"description\\\":\\\"Confidential wrapper of pendleUSDC shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":501767205337,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential pendleUSDC\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"cpendleUSDC\",\"underlying\":\"eth:0x55C1B6e461a6334B567bAF0FEb5D728715446f05\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0xb6e5299fc56053DD5440104Fd6Fd2A3CD064edbC\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ConfidentialArmUSDTsWrapper (eth:0xbaC6DeDf2C10D6D381F9DBd9EFd69D93FfCef50B) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789150187\n sinceBlock:\n+ 25955861\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T18:09:47.000Z\",\"0x0126561c5f1b610e7f7dac5a364b5e6122bf5c3cb86f56908b94a94893df33b5\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0xd1389d02871d3a639bc4d6aba33b056ab38002446aff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000500ae64100d7dbdb640531085c2f5d40cdc8930d000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015436f6e666964656e7469616c2061726d5553445473000000000000000000000000000000000000000000000000000000000000000000000000000000000000096361726d5553445473000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c2061726d5553445473222c2273796d626f6c223a226361726d5553445473222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f662061726d555344547320736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential armUSDTs\\\",\\\"symbol\\\":\\\"carmUSDTs\\\",\\\"description\\\":\\\"Confidential wrapper of armUSDTs shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":21141620,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential armUSDTs\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"carmUSDTs\",\"underlying\":\"eth:0x500aE64100D7DbDb640531085C2F5d40cDC8930D\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0xbaC6DeDf2C10D6D381F9DBd9EFd69D93FfCef50B\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ZamaGovMultisigB (eth:0xBc860b6a4C860C5424B84A056E53ACFb2C99a38F) [zama/Multisig] {\n +++ description: Aragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n+++ description: Current multisig members reconstructed from MembersAdded and MembersRemoved events.\n values.$members.5:\n+ \"eth:0x8aA8D71520d88a1Ed2B4257348134b94e00A9978\"\n+++ description: Number of addresses currently listed as multisig members.\n+++ severity: HIGH\n values.addresslistLength:\n- 5\n+ 6\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x1F6A937119c0c34Db0a2c4F000386a3BfD4A9e73\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x2ebBd099f66b0ca94DD82B4c06fe3eEf6AFf853c\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x4FCCF8046FB7FB7AB76321BD39C27453e396B88f\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x501b014f86a73A7199E00cB31C0e9565Ac51e51B\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.5:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x63a60aCC304b84eF829b263f28e7b636Bf77d45A\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x76A3f985315aAc9789Cb5BF8A5bb83BFF55FD5a6\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x77F8207ee451441336538bA07a2F425780dED8DB\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.12:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x80Ae7dbCe3c1696d3eeD04Ec8348c3C432322273\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.15:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x8900123F7e17709C1D80eda1E611A9503Cf1B3df\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.16:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9ABb8f3dC2863B1F108DeD7ea41902fEF6732A8c\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.17:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xA28A369Df348ac232E4DAF7B0Ef90280d8707D7F\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.20:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xB1B18Ad1F16D744c470cb6B09Cb826AfFcc9EB30\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.26:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xb6e5299fc56053DD5440104Fd6Fd2A3CD064edbC\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.28:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xbaC6DeDf2C10D6D381F9DBd9EFd69D93FfCef50B\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.33:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xd86aE89C089B380f064Fe01899B4071F1eb6Bb3d\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.38:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xEa9A15A29DD180c40442142CaeEfC491d37bfDB2\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.41:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xF921A5B0634f4236B21A4e948317abf9a2E86B6f\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.42:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1F6A937119c0c34Db0a2c4F000386a3BfD4A9e73\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.43:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x2ebBd099f66b0ca94DD82B4c06fe3eEf6AFf853c\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.45:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x4FCCF8046FB7FB7AB76321BD39C27453e396B88f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.46:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x501b014f86a73A7199E00cB31C0e9565Ac51e51B\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.47:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x63a60aCC304b84eF829b263f28e7b636Bf77d45A\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.51:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x76A3f985315aAc9789Cb5BF8A5bb83BFF55FD5a6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.53:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x77F8207ee451441336538bA07a2F425780dED8DB\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.54:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x80Ae7dbCe3c1696d3eeD04Ec8348c3C432322273\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.57:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x8900123F7e17709C1D80eda1E611A9503Cf1B3df\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.58:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x9ABb8f3dC2863B1F108DeD7ea41902fEF6732A8c\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.59:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xA28A369Df348ac232E4DAF7B0Ef90280d8707D7F\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.62:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xB1B18Ad1F16D744c470cb6B09Cb826AfFcc9EB30\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.64:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xb6e5299fc56053DD5440104Fd6Fd2A3CD064edbC\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.66:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbaC6DeDf2C10D6D381F9DBd9EFd69D93FfCef50B\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.71:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xd86aE89C089B380f064Fe01899B4071F1eb6Bb3d\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.75:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xEa9A15A29DD180c40442142CaeEfC491d37bfDB2\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.78:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xF921A5B0634f4236B21A4e948317abf9a2E86B6f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n }\n```\n\n```diff\n contract ConfidentialWBTCWrapper (eth:0xd86aE89C089B380f064Fe01899B4071F1eb6Bb3d) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789148087\n sinceBlock:\n+ 25955687\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T17:34:47.000Z\",\"0x2542e4587e213e5d97c9589fb98ce80648043a69f8e55417b045677f64bac13e\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0xb293c90de6003b4312a23ada60e8ae0e519e32ee59ff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000002260fac5e5542a773aa44fbcfedf7c193bc2c599000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef300000000000000000000000000000000000000000000000000000000000002600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011436f6e666964656e7469616c205742544300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056357425443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c2057425443222c2273796d626f6c223a226357425443222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f66205742544320736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential WBTC\\\",\\\"symbol\\\":\\\"cWBTC\\\",\\\"description\\\":\\\"Confidential wrapper of WBTC shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":2455315,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential WBTC\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":100,\"symbol\":\"cWBTC\",\"underlying\":\"eth:0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0xd86aE89C089B380f064Fe01899B4071F1eb6Bb3d\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ZamaGovMultisigA (eth:0xE43c73aAb2b6aBBad6d0461997ce1cfea5ABe66f) [zama/Multisig] {\n +++ description: Aragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x1F6A937119c0c34Db0a2c4F000386a3BfD4A9e73\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.1:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x2ebBd099f66b0ca94DD82B4c06fe3eEf6AFf853c\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.3:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x4FCCF8046FB7FB7AB76321BD39C27453e396B88f\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.4:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x501b014f86a73A7199E00cB31C0e9565Ac51e51B\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.5:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x63a60aCC304b84eF829b263f28e7b636Bf77d45A\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x76A3f985315aAc9789Cb5BF8A5bb83BFF55FD5a6\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.11:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x77F8207ee451441336538bA07a2F425780dED8DB\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.12:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x80Ae7dbCe3c1696d3eeD04Ec8348c3C432322273\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.15:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x8900123F7e17709C1D80eda1E611A9503Cf1B3df\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.16:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x9ABb8f3dC2863B1F108DeD7ea41902fEF6732A8c\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.17:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xA28A369Df348ac232E4DAF7B0Ef90280d8707D7F\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.20:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xB1B18Ad1F16D744c470cb6B09Cb826AfFcc9EB30\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.26:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xb6e5299fc56053DD5440104Fd6Fd2A3CD064edbC\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.28:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xbaC6DeDf2C10D6D381F9DBd9EFd69D93FfCef50B\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.33:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xd86aE89C089B380f064Fe01899B4071F1eb6Bb3d\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.38:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xEa9A15A29DD180c40442142CaeEfC491d37bfDB2\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.41:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xF921A5B0634f4236B21A4e948317abf9a2E86B6f\",\"description\":\"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\",\"role\":\".owner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.42:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x1F6A937119c0c34Db0a2c4F000386a3BfD4A9e73\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.43:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x2ebBd099f66b0ca94DD82B4c06fe3eEf6AFf853c\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.45:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x4FCCF8046FB7FB7AB76321BD39C27453e396B88f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.46:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x501b014f86a73A7199E00cB31C0e9565Ac51e51B\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.47:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x63a60aCC304b84eF829b263f28e7b636Bf77d45A\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.51:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x76A3f985315aAc9789Cb5BF8A5bb83BFF55FD5a6\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.53:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x77F8207ee451441336538bA07a2F425780dED8DB\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.54:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x80Ae7dbCe3c1696d3eeD04Ec8348c3C432322273\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.57:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x8900123F7e17709C1D80eda1E611A9503Cf1B3df\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.58:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0x9ABb8f3dC2863B1F108DeD7ea41902fEF6732A8c\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.59:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xA28A369Df348ac232E4DAF7B0Ef90280d8707D7F\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.62:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xB1B18Ad1F16D744c470cb6B09Cb826AfFcc9EB30\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.64:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xb6e5299fc56053DD5440104Fd6Fd2A3CD064edbC\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.66:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xbaC6DeDf2C10D6D381F9DBd9EFd69D93FfCef50B\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.71:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xd86aE89C089B380f064Fe01899B4071F1eb6Bb3d\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.75:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xEa9A15A29DD180c40442142CaeEfC491d37bfDB2\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.78:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xF921A5B0634f4236B21A4e948317abf9a2E86B6f\",\"role\":\"admin\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n }\n```\n\n```diff\n contract ConfidentialAUSDWrapper (eth:0xEa9A15A29DD180c40442142CaeEfC491d37bfDB2) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789146719\n sinceBlock:\n+ 25955573\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T17:11:59.000Z\",\"0x696d006e217f5ccda05c1bf61a575622009037f45ec832dac617dbce7edaf677\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0xda30806eba9dd325b0ab4aa4b31b25b773035efd6bff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000efe302beaa2b3e6e1b18d08d69a9012a000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000260e816d97f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011436f6e666964656e7469616c204155534400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056341555344000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009c646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c2041555344222c2273796d626f6c223a226341555344222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f66204155534420736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential AUSD\\\",\\\"symbol\\\":\\\"cAUSD\\\",\\\"description\\\":\\\"Confidential wrapper of AUSD shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0xe816d97f\",\"inferredTotalSupply\":196279400000,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential AUSD\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1,\"symbol\":\"cAUSD\",\"underlying\":\"eth:0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0xEa9A15A29DD180c40442142CaeEfC491d37bfDB2\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract ConfidentialTokenWrappersRegistry (eth:0xeb5015fF021DB115aCe010f23F55C2591059bBA0) [zama/ConfidentialTokenWrappersRegistry] {\n +++ description: Registry for Zama confidential token wrappers.\n values.getTokenConfidentialTokenPairs.9:\n+ {\"tokenAddress\":\"eth:0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a\",\"confidentialTokenAddress\":\"eth:0xEa9A15A29DD180c40442142CaeEfC491d37bfDB2\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.10:\n+ {\"tokenAddress\":\"eth:0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599\",\"confidentialTokenAddress\":\"eth:0xd86aE89C089B380f064Fe01899B4071F1eb6Bb3d\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.11:\n+ {\"tokenAddress\":\"eth:0x32401B9fb79065Bc15949DE0BD43927492f02F0C\",\"confidentialTokenAddress\":\"eth:0x76A3f985315aAc9789Cb5BF8A5bb83BFF55FD5a6\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.12:\n+ {\"tokenAddress\":\"eth:0x3d5EcCb62974178236A768A7ef14D3ce468Fbe91\",\"confidentialTokenAddress\":\"eth:0xF921A5B0634f4236B21A4e948317abf9a2E86B6f\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.13:\n+ {\"tokenAddress\":\"eth:0x500aE64100D7DbDb640531085C2F5d40cDC8930D\",\"confidentialTokenAddress\":\"eth:0xbaC6DeDf2C10D6D381F9DBd9EFd69D93FfCef50B\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.14:\n+ {\"tokenAddress\":\"eth:0x55C1B6e461a6334B567bAF0FEb5D728715446f05\",\"confidentialTokenAddress\":\"eth:0xb6e5299fc56053DD5440104Fd6Fd2A3CD064edbC\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.15:\n+ {\"tokenAddress\":\"eth:0x5dc53a23AdC9f2Bed98de6F59F7F309a7c71FF2B\",\"confidentialTokenAddress\":\"eth:0x2ebBd099f66b0ca94DD82B4c06fe3eEf6AFf853c\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.16:\n+ {\"tokenAddress\":\"eth:0x808507121B80c02388fAd14726482e061B8da827\",\"confidentialTokenAddress\":\"eth:0x8900123F7e17709C1D80eda1E611A9503Cf1B3df\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.17:\n+ {\"tokenAddress\":\"eth:0xA2EAaD0D586cF9FD73bb2c09cF6A7E3e187D68cd\",\"confidentialTokenAddress\":\"eth:0x77F8207ee451441336538bA07a2F425780dED8DB\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.18:\n+ {\"tokenAddress\":\"eth:0xB344e331A3cDa61D329fb3Cca2Be5942da87c418\",\"confidentialTokenAddress\":\"eth:0x9ABb8f3dC2863B1F108DeD7ea41902fEF6732A8c\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.19:\n+ {\"tokenAddress\":\"eth:0xbeef003C68896c7D2c3c60d363e8d71a49Ab2bf9\",\"confidentialTokenAddress\":\"eth:0x1F6A937119c0c34Db0a2c4F000386a3BfD4A9e73\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.20:\n+ {\"tokenAddress\":\"eth:0xbeeff07d991C04CD640DE9F15C08ba59c4FEDEb7\",\"confidentialTokenAddress\":\"eth:0x80Ae7dbCe3c1696d3eeD04Ec8348c3C432322273\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.21:\n+ {\"tokenAddress\":\"eth:0xbeeff2C5bF38f90e3482a8b19F12E5a6D2FCa757\",\"confidentialTokenAddress\":\"eth:0x501b014f86a73A7199E00cB31C0e9565Ac51e51B\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.22:\n+ {\"tokenAddress\":\"eth:0xBf29043164660C60A2a72Cd15FFe2304e87B6838\",\"confidentialTokenAddress\":\"eth:0x63a60aCC304b84eF829b263f28e7b636Bf77d45A\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.23:\n+ {\"tokenAddress\":\"eth:0xc207d3f66537D7F66456808379A0E560cF20Da36\",\"confidentialTokenAddress\":\"eth:0xB1B18Ad1F16D744c470cb6B09Cb826AfFcc9EB30\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.24:\n+ {\"tokenAddress\":\"eth:0xE0181090c22579B6A217f1522cbf8c9f1F0C1965\",\"confidentialTokenAddress\":\"eth:0x4FCCF8046FB7FB7AB76321BD39C27453e396B88f\",\"isValid\":true}\n values.getTokenConfidentialTokenPairs.25:\n+ {\"tokenAddress\":\"eth:0xb48C056C5608bA2Ee4cD94AF2bF4b1F25295Bd7e\",\"confidentialTokenAddress\":\"eth:0xA28A369Df348ac232E4DAF7B0Ef90280d8707D7F\",\"isValid\":true}\n values.getTokenConfidentialTokenPairsLength:\n- 9\n+ 26\n }\n```\n\n```diff\n contract ConfidentialArmcWBTCWrapper (eth:0xF921A5B0634f4236B21A4e948317abf9a2E86B6f) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"EIP1967 proxy\"\n template:\n+ \"zama/ConfidentialWrapper\"\n sourceHashes:\n+ [\"0x7df5501f3f5ffd35e0c61153fcd76f37533ab73a80adf20a7a19b30c246faea3\",\"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"]\n description:\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n deployerAddress:\n+ \"eth:0xe02e3b1cbEc07FC8D03B2eD15ddCe743403A013b\"\n sinceTimestamp:\n+ 1789148987\n sinceBlock:\n+ 25955762\n values:\n+ {\"$admin\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"$implementation\":\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"$pastUpgrades\":[[\"2026-09-11T17:49:47.000Z\",\"0xd938d016e57611121abc327202b921dc60afe8d505b7eaee1f0dd7dd67eca127\",[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\"]]],\"$upgradeCount\":1,\"blockedUsers\":[],\"confidentialProtocolId\":1,\"confidentialTotalSupply\":\"0xdd80ab784134afca1c9b4e212234cbd1efc5af6adeff00000000000000010500\",\"constructorArgs\":[\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\",\"0x6e690fe60000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000003d5eccb62974178236a768a7ef14d3ce468fbe91000000000000000000000000b6d69d5f334d8b97b194617b53c6ab62f8681ef30000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015436f6e666964656e7469616c2061726d6357425443000000000000000000000000000000000000000000000000000000000000000000000000000000000000096361726d6357425443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a8646174613a6170706c69636174696f6e2f6a736f6e3b757466382c7b226e616d65223a22436f6e666964656e7469616c2061726d6357425443222c2273796d626f6c223a226361726d6357425443222c226465736372697074696f6e223a22436f6e666964656e7469616c2077726170706572206f662061726d635742544320736869656c64696e6720697420696e746f206120636f6e666964656e7469616c20746f6b656e227d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\"],\"contractURI\":\"data:application/json;utf8,{\\\"name\\\":\\\"Confidential armcWBTC\\\",\\\"symbol\\\":\\\"carmcWBTC\\\",\\\"description\\\":\\\"Confidential wrapper of armcWBTC shielding it into a confidential token\\\"}\",\"decimals\":6,\"fheAcl\":\"eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6\",\"fheCoprocessor\":\"eth:0xD82385dADa1ae3E969447f20A3164F6213100e75\",\"fheKmsVerifier\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"getUnderlyingDenyListSelector\":\"0x00000000\",\"inferredTotalSupply\":245032,\"maxTotalSupply\":\"18446744073709551615\",\"name\":\"Confidential armcWBTC\",\"observers\":[],\"owner\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\",\"paused\":false,\"pauser\":\"eth:0x0000000000000000000000000000000000000000\",\"pendingOwner\":\"eth:0x0000000000000000000000000000000000000000\",\"rate\":1000000000000,\"symbol\":\"carmcWBTC\",\"underlying\":\"eth:0x3d5EcCb62974178236A768A7ef14D3ce468Fbe91\",\"UPGRADE_INTERFACE_VERSION\":\"5.0.0\"}\n fieldMeta:\n+ {\"owner\":{\"severity\":\"HIGH\",\"description\":\"Current owner of the wrapper.\",\"type\":\"PERMISSION\"},\"pendingOwner\":{\"severity\":\"HIGH\",\"description\":\"Pending owner for a two-step ownership transfer.\",\"type\":\"PERMISSION\"},\"underlying\":{\"description\":\"ERC-20 token escrowed by this wrapper.\"},\"getUnderlyingDenyListSelector\":{\"severity\":\"HIGH\",\"description\":\"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\",\"type\":\"RISK_PARAMETER\"},\"blockedUsers\":{\"severity\":\"HIGH\",\"description\":\"Wrapper-local denylist reconstructed from UserBlocked and UserUnblocked events.\",\"type\":\"PERMISSION\"},\"observers\":{\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"},\"pauser\":{\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"},\"paused\":{\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"},\"fheAcl\":{\"description\":\"Zama ACL contract used by the confidential token stack to check which accounts/contracts may use encrypted handles.\"},\"fheCoprocessor\":{\"description\":\"Zama FHE coprocessor/executor contract that receives encrypted-operation requests and stores encrypted-result handles.\"},\"fheKmsVerifier\":{\"description\":\"Zama KMS verifier contract used to verify threshold decryption/signature material returned by the offchain KMS.\"}}\n implementationNames:\n+ {\"eth:0xF921A5B0634f4236B21A4e948317abf9a2E86B6f\":\"ERC1967Proxy\",\"eth:0x35E980f5Fe42BBA64C1ed0332AADACb98faBDDaD\":\"ConfidentialWrapper\"}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```"
}
]
},
{
"id": "ebb762ab",
"date": "Thu, 27 Aug 2026 12:39:40 GMT",
"timestamp": 1787834146,
"description": "All nine confidential token wrappers were upgraded to a shared new implementation named `ConfidentialWrapper` (eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8). Compared to the previous `ConfidentialWrapperV3`, the upgrade adds two subsystems:\n\n1. Observers: the owner can add/remove observer accounts that receive a wildcard, non-expiring user-decryption delegation over all wrapper-owned encrypted handles, i.e. they can decrypt every confidential balance and transfer amount of the wrapper.\n2. Pausing: an owner-set pauser address can pause wrapping, unwrapping, unwrap finalization and confidential transfers; only the owner can unpause.",
"isHighSeverity": true,
"changeCount": 171,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ConfidentialSteakcUSDCWrapper (eth:0x66Bf74E96900D1a19c7070D939D124f2F565C458) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n template:\n- \"zama/ConfidentialWrapperV3\"\n+ \"zama/ConfidentialWrapper\"\n sourceHashes.1:\n- \"0xc6ef75f9a2275b9cfb58b0322dfb55b63e1630022b171af50f1851ee8052447b\"\n+ \"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"\n description:\n- \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\"\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n values.$implementation:\n- \"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5\"\n+ \"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"\n values.$pastUpgrades.2:\n+ [\"2026-08-25T15:59:35.000Z\",\"0x55c55172da4c231406a41da3838bff87dc9b361c62f208fe0e60994a1b82b0b0\",[\"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ description: Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\n+++ severity: HIGH\n values.getUnderlyingDenyListSelector:\n- {\"isSet\":false,\"selector\":\"0x00000000\"}\n+ \"0x00000000\"\n+++ description: Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\n+++ severity: HIGH\n values.observers:\n+ []\n+++ description: Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\n values.paused:\n+ false\n+++ description: Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\n values.pauser:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n fieldMeta.getUnderlyingDenyListSelector.description:\n- \"Underlying-token denylist hook used by the wrapper. If enabled, the wrapper calls this selector on the underlying token before restricted operations.\"\n+ \"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\"\n fieldMeta.observers:\n+ {\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"}\n fieldMeta.pauser:\n+ {\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"}\n fieldMeta.paused:\n+ {\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5:\n- \"ConfidentialWrapperV3\"\n implementationNames.eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8:\n+ \"ConfidentialWrapper\"\n }\n```\n\n```diff\n contract ConfidentialXAUTWrapper (eth:0x73cc9aF9d6BEFdb3c3fAf8a5E8c05Cb95FdaEEf1) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n template:\n- \"zama/ConfidentialWrapperV3\"\n+ \"zama/ConfidentialWrapper\"\n sourceHashes.1:\n- \"0xc6ef75f9a2275b9cfb58b0322dfb55b63e1630022b171af50f1851ee8052447b\"\n+ \"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"\n description:\n- \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\"\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n values.$implementation:\n- \"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5\"\n+ \"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"\n values.$pastUpgrades.3:\n+ [\"2026-08-25T15:59:35.000Z\",\"0x55c55172da4c231406a41da3838bff87dc9b361c62f208fe0e60994a1b82b0b0\",[\"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ description: Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\n+++ severity: HIGH\n values.getUnderlyingDenyListSelector:\n- {\"isSet\":true,\"selector\":\"0xfbac3951\"}\n+ \"0xfbac3951\"\n+++ description: Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\n+++ severity: HIGH\n values.observers:\n+ []\n+++ description: Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\n values.paused:\n+ false\n+++ description: Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\n values.pauser:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n fieldMeta.getUnderlyingDenyListSelector.description:\n- \"Underlying-token denylist hook used by the wrapper. If enabled, the wrapper calls this selector on the underlying token before restricted operations.\"\n+ \"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\"\n fieldMeta.observers:\n+ {\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"}\n fieldMeta.pauser:\n+ {\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"}\n fieldMeta.paused:\n+ {\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5:\n- \"ConfidentialWrapperV3\"\n implementationNames.eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8:\n+ \"ConfidentialWrapper\"\n }\n```\n\n```diff\n contract ConfidentialZAMAWrapper (eth:0x80CB147Fd86dC6dEe3Eee7e4Cee33d1397d98071) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n template:\n- \"zama/ConfidentialWrapperV3\"\n+ \"zama/ConfidentialWrapper\"\n sourceHashes.1:\n- \"0xc6ef75f9a2275b9cfb58b0322dfb55b63e1630022b171af50f1851ee8052447b\"\n+ \"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"\n description:\n- \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\"\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n values.$implementation:\n- \"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5\"\n+ \"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"\n values.$pastUpgrades.3:\n+ [\"2026-08-25T15:59:35.000Z\",\"0x55c55172da4c231406a41da3838bff87dc9b361c62f208fe0e60994a1b82b0b0\",[\"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ description: Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\n+++ severity: HIGH\n values.getUnderlyingDenyListSelector:\n- {\"isSet\":false,\"selector\":\"0x00000000\"}\n+ \"0x00000000\"\n+++ description: Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\n+++ severity: HIGH\n values.observers:\n+ []\n+++ description: Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\n values.paused:\n+ false\n+++ description: Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\n values.pauser:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n fieldMeta.getUnderlyingDenyListSelector.description:\n- \"Underlying-token denylist hook used by the wrapper. If enabled, the wrapper calls this selector on the underlying token before restricted operations.\"\n+ \"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\"\n fieldMeta.observers:\n+ {\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"}\n fieldMeta.pauser:\n+ {\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"}\n fieldMeta.paused:\n+ {\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5:\n- \"ConfidentialWrapperV3\"\n implementationNames.eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8:\n+ \"ConfidentialWrapper\"\n }\n```\n\n```diff\n contract ConfidentialBRONWrapper (eth:0x85dE671c3bec1aDeD752c3Cea943521181C826bc) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n template:\n- \"zama/ConfidentialWrapperV3\"\n+ \"zama/ConfidentialWrapper\"\n sourceHashes.1:\n- \"0xc6ef75f9a2275b9cfb58b0322dfb55b63e1630022b171af50f1851ee8052447b\"\n+ \"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"\n description:\n- \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\"\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n values.$implementation:\n- \"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5\"\n+ \"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"\n values.$pastUpgrades.3:\n+ [\"2026-08-25T15:59:35.000Z\",\"0x55c55172da4c231406a41da3838bff87dc9b361c62f208fe0e60994a1b82b0b0\",[\"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ description: Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\n+++ severity: HIGH\n values.getUnderlyingDenyListSelector:\n- {\"isSet\":false,\"selector\":\"0x00000000\"}\n+ \"0x00000000\"\n+++ description: Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\n+++ severity: HIGH\n values.observers:\n+ []\n+++ description: Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\n values.paused:\n+ false\n+++ description: Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\n values.pauser:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n fieldMeta.getUnderlyingDenyListSelector.description:\n- \"Underlying-token denylist hook used by the wrapper. If enabled, the wrapper calls this selector on the underlying token before restricted operations.\"\n+ \"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\"\n fieldMeta.observers:\n+ {\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"}\n fieldMeta.pauser:\n+ {\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"}\n fieldMeta.paused:\n+ {\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5:\n- \"ConfidentialWrapperV3\"\n implementationNames.eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8:\n+ \"ConfidentialWrapper\"\n }\n```\n\n```diff\n contract ConfidentialTGBPWrapper (eth:0xa873750ccBafD5ec7Dd13bfD5237d7129832eDD9) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n template:\n- \"zama/ConfidentialWrapperV3\"\n+ \"zama/ConfidentialWrapper\"\n sourceHashes.1:\n- \"0xc6ef75f9a2275b9cfb58b0322dfb55b63e1630022b171af50f1851ee8052447b\"\n+ \"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"\n description:\n- \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\"\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n values.$implementation:\n- \"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5\"\n+ \"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"\n values.$pastUpgrades.3:\n+ [\"2026-08-25T15:59:35.000Z\",\"0x55c55172da4c231406a41da3838bff87dc9b361c62f208fe0e60994a1b82b0b0\",[\"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ description: Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\n+++ severity: HIGH\n values.getUnderlyingDenyListSelector:\n- {\"isSet\":true,\"selector\":\"0x97f735d5\"}\n+ \"0x97f735d5\"\n+++ description: Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\n+++ severity: HIGH\n values.observers:\n+ []\n+++ description: Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\n values.paused:\n+ false\n+++ description: Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\n values.pauser:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n fieldMeta.getUnderlyingDenyListSelector.description:\n- \"Underlying-token denylist hook used by the wrapper. If enabled, the wrapper calls this selector on the underlying token before restricted operations.\"\n+ \"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\"\n fieldMeta.observers:\n+ {\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"}\n fieldMeta.pauser:\n+ {\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"}\n fieldMeta.paused:\n+ {\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5:\n- \"ConfidentialWrapperV3\"\n implementationNames.eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8:\n+ \"ConfidentialWrapper\"\n }\n```\n\n```diff\n contract ConfidentialUSDTWrapper (eth:0xAe0207C757Aa2B4019Ad96edD0092ddc63EF0c50) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n template:\n- \"zama/ConfidentialWrapperV3\"\n+ \"zama/ConfidentialWrapper\"\n sourceHashes.1:\n- \"0xc6ef75f9a2275b9cfb58b0322dfb55b63e1630022b171af50f1851ee8052447b\"\n+ \"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"\n description:\n- \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\"\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n values.$implementation:\n- \"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5\"\n+ \"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"\n values.$pastUpgrades.3:\n+ [\"2026-08-25T15:59:35.000Z\",\"0x55c55172da4c231406a41da3838bff87dc9b361c62f208fe0e60994a1b82b0b0\",[\"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ description: Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\n+++ severity: HIGH\n values.getUnderlyingDenyListSelector:\n- {\"isSet\":true,\"selector\":\"0x59bf1abe\"}\n+ \"0x59bf1abe\"\n+++ description: Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\n+++ severity: HIGH\n values.observers:\n+ []\n+++ description: Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\n values.paused:\n+ false\n+++ description: Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\n values.pauser:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n fieldMeta.getUnderlyingDenyListSelector.description:\n- \"Underlying-token denylist hook used by the wrapper. If enabled, the wrapper calls this selector on the underlying token before restricted operations.\"\n+ \"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\"\n fieldMeta.observers:\n+ {\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"}\n fieldMeta.pauser:\n+ {\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"}\n fieldMeta.paused:\n+ {\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5:\n- \"ConfidentialWrapperV3\"\n implementationNames.eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8:\n+ \"ConfidentialWrapper\"\n }\n```\n\n```diff\n contract DAO (eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3) [zama/ZamaDAO] {\n +++ description: Aragon DAO that stores governance state and executes proposal action batches.\n directlyReceivedPermissions.1.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n directlyReceivedPermissions.4.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n directlyReceivedPermissions.5.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n directlyReceivedPermissions.6.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n directlyReceivedPermissions.7.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n directlyReceivedPermissions.8.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n directlyReceivedPermissions.12.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n directlyReceivedPermissions.17.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n directlyReceivedPermissions.18.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n }\n```\n\n```diff\n contract ConfidentialBbqTGBPWrapper (eth:0xBA4cFF6ED6F7Cb2A58776dECa4E984b498446762) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n template:\n- \"zama/ConfidentialWrapperV3\"\n+ \"zama/ConfidentialWrapper\"\n sourceHashes.1:\n- \"0xc6ef75f9a2275b9cfb58b0322dfb55b63e1630022b171af50f1851ee8052447b\"\n+ \"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"\n description:\n- \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\"\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n values.$implementation:\n- \"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5\"\n+ \"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"\n values.$pastUpgrades.2:\n+ [\"2026-08-25T15:59:35.000Z\",\"0x55c55172da4c231406a41da3838bff87dc9b361c62f208fe0e60994a1b82b0b0\",[\"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ description: Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\n+++ severity: HIGH\n values.getUnderlyingDenyListSelector:\n- {\"isSet\":false,\"selector\":\"0x00000000\"}\n+ \"0x00000000\"\n+++ description: Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\n+++ severity: HIGH\n values.observers:\n+ []\n+++ description: Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\n values.paused:\n+ false\n+++ description: Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\n values.pauser:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n fieldMeta.getUnderlyingDenyListSelector.description:\n- \"Underlying-token denylist hook used by the wrapper. If enabled, the wrapper calls this selector on the underlying token before restricted operations.\"\n+ \"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\"\n fieldMeta.observers:\n+ {\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"}\n fieldMeta.pauser:\n+ {\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"}\n fieldMeta.paused:\n+ {\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5:\n- \"ConfidentialWrapperV3\"\n implementationNames.eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8:\n+ \"ConfidentialWrapper\"\n }\n```\n\n```diff\n contract ZamaGovMultisigB (eth:0xBc860b6a4C860C5424B84A056E53ACFb2C99a38F) [zama/Multisig] {\n +++ description: Aragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n receivedPermissions.1.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.4.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.5.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.6.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.7.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.8.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.14.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.19.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.20.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n }\n```\n\n```diff\n contract ConfidentialWETHWrapper (eth:0xda9396b82634Ea99243cE51258B6A5Ae512D4893) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n template:\n- \"zama/ConfidentialWrapperV3\"\n+ \"zama/ConfidentialWrapper\"\n sourceHashes.1:\n- \"0xc6ef75f9a2275b9cfb58b0322dfb55b63e1630022b171af50f1851ee8052447b\"\n+ \"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"\n description:\n- \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\"\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n values.$implementation:\n- \"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5\"\n+ \"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"\n values.$pastUpgrades.3:\n+ [\"2026-08-25T15:59:35.000Z\",\"0x55c55172da4c231406a41da3838bff87dc9b361c62f208fe0e60994a1b82b0b0\",[\"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ description: Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\n+++ severity: HIGH\n values.getUnderlyingDenyListSelector:\n- {\"isSet\":false,\"selector\":\"0x00000000\"}\n+ \"0x00000000\"\n+++ description: Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\n+++ severity: HIGH\n values.observers:\n+ []\n+++ description: Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\n values.paused:\n+ false\n+++ description: Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\n values.pauser:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n fieldMeta.getUnderlyingDenyListSelector.description:\n- \"Underlying-token denylist hook used by the wrapper. If enabled, the wrapper calls this selector on the underlying token before restricted operations.\"\n+ \"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\"\n fieldMeta.observers:\n+ {\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"}\n fieldMeta.pauser:\n+ {\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"}\n fieldMeta.paused:\n+ {\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5:\n- \"ConfidentialWrapperV3\"\n implementationNames.eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8:\n+ \"ConfidentialWrapper\"\n }\n```\n\n```diff\n contract ZamaGovMultisigA (eth:0xE43c73aAb2b6aBBad6d0461997ce1cfea5ABe66f) [zama/Multisig] {\n +++ description: Aragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n receivedPermissions.1.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.4.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.5.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.6.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.7.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.8.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.14.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.19.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n receivedPermissions.20.description:\n- \"block and unblock users, and transfer ownership.\"\n+ \"block and unblock users, add and remove observers (wildcard decryption access to all balances of this wrapper), set the pauser and the underlying denylist selector, unpause, and transfer ownership.\"\n }\n```\n\n```diff\n contract ConfidentialUSDCWrapper (eth:0xe978F22157048E5DB8E5d07971376e86671672B2) [zama/ConfidentialWrapper] {\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\n template:\n- \"zama/ConfidentialWrapperV3\"\n+ \"zama/ConfidentialWrapper\"\n sourceHashes.1:\n- \"0xc6ef75f9a2275b9cfb58b0322dfb55b63e1630022b171af50f1851ee8052447b\"\n+ \"0x111b5cc66fc29cac57ed685c50a509014181cbf98122b5fd89c0449eea3fab5f\"\n description:\n- \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\"\n+ \"ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, optional underlying-token denylist checks, owner-managed observers with wildcard decryption access, and pausing.\"\n values.$implementation:\n- \"eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5\"\n+ \"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"\n values.$pastUpgrades.3:\n+ [\"2026-08-25T15:59:35.000Z\",\"0x55c55172da4c231406a41da3838bff87dc9b361c62f208fe0e60994a1b82b0b0\",[\"eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8\"]]\n values.$upgradeCount:\n- 3\n+ 4\n+++ description: Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\n+++ severity: HIGH\n values.getUnderlyingDenyListSelector:\n- {\"isSet\":true,\"selector\":\"0xfe575a87\"}\n+ \"0xfe575a87\"\n+++ description: Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\n+++ severity: HIGH\n values.observers:\n+ []\n+++ description: Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\n values.paused:\n+ false\n+++ description: Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\n values.pauser:\n+ \"eth:0x0000000000000000000000000000000000000000\"\n fieldMeta.getUnderlyingDenyListSelector.description:\n- \"Underlying-token denylist hook used by the wrapper. If enabled, the wrapper calls this selector on the underlying token before restricted operations.\"\n+ \"Underlying-token denylist hook used by the wrapper. If enabled (non-zero), the wrapper calls this selector on the underlying token before restricted operations.\"\n fieldMeta.observers:\n+ {\"severity\":\"HIGH\",\"description\":\"Accounts holding a wildcard user-decryption delegation over all wrapper-owned encrypted handles. Observers can decrypt every confidential balance and transfer amount of this wrapper, so adding one changes its privacy guarantees.\",\"type\":\"PERMISSION\"}\n fieldMeta.pauser:\n+ {\"description\":\"Address allowed to pause the wrapper (zero address means pausing is disabled). Only the owner can unpause.\",\"type\":\"PERMISSION\"}\n fieldMeta.paused:\n+ {\"description\":\"Whether wrapping, unwrapping, unwrap finalization and confidential transfers are currently halted.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.eth:0x5226fe30Fa7Bf20C1Cd33F125f77D0c42d3c23b5:\n- \"ConfidentialWrapperV3\"\n implementationNames.eth:0x2ABad2203Eba104b52cf040cCcFA100Df15687F8:\n+ \"ConfidentialWrapper\"\n }\n```"
}
]
},
{
"id": "6724617f",
"date": "Tue, 25 Aug 2026 08:55:02 GMT",
"timestamp": 1787648016,
"description": "Add multisig signer.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x9402c42dB162d5a0927c032136f40Cc9C71853F2\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 11 (36%)\"\n }\n```"
}
]
},
{
"id": "113fea59",
"date": "Wed, 12 Aug 2026 12:58:00 GMT",
"timestamp": 1786539392,
"description": "Zama FHEVM host-chain upgrade (the Ethereum-side counterpart of the 2026-08-07 Gateway upgrade that moved KMS management off the Gateway): ZamaGovMultisigB executed a DAO (ACL owner) proposal that upgraded four host contracts and initialized two new ones in a single transaction. Governance is unchanged — everything below remains controlled by the Aragon DAO without a timelock.\n\n- KMSVerifier v0.2.0 -> v0.3.0 ([implementation diff](https://disco.l2beat.com/diff/eth:0xd0d0C7E1bc1E2F6Cd00E3b4B1083DdD9969155FD/eth:0x390683dEa46a61786f4F0807bf3559038Cf43Fa4)): all KMS context management (signer sets, thresholds, context create/destroy) is removed from the verifier and moved to the new ProtocolConfig contract. The KMSVerifier is now a stateless proof checker whose signer- and threshold-reads delegate to ProtocolConfig. Public decryption proofs can still select any non-destroyed context via extraData v1.\n- New ProtocolConfig v0.1.0 (proxy eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4, impl eth:0x25c76298Fb4d15bFADce4798519a7B37ac0076E7): ACL-owner-governed registry of KMS nodes (signer + tx-sender + metadata) and contexts, now with four separate per-context thresholds: publicDecryption (7), userDecryption (9), kmsGen and mpc. exactly one context is live. the ACL owner can now retune the thresholds of any live context — including the current one — in place, mirroring GatewayConfig v0.6.0 on the Gateway.\n- New KMSGeneration v0.1.0 (proxy eth:0xf102cC9A9D2174630c394f5b7B7D63104E348daa, impl eth:0x5DD95e97287672b5d86dd3a427E855099E5AC940): FHE key- and CRS-generation is now orchestrated onchain on Ethereum (previously not orchestrated onchain at all after being removed from the Gateway KMSGeneration v0.5.0). The ACL owner triggers keygen/crsgen and can abort them; KMS nodes respond with EIP-712 signatures that reach consensus at the ProtocolConfig kmsGen threshold.\n- ACL v0.3.0 -> v0.4.0 ([implementation diff](https://disco.l2beat.com/diff/eth:0x3F6D970d30E1FFE9657aa8072C82dA10eef1c3D6/eth:0x9A017e0ba4c19A325D5a89f5dd2112e605E85418)): adds wildcard user-decryption delegation — a user can delegate user decryption of their handles across all app contracts at once\n- FHEVMExecutor v0.3.0 -> v0.4.0 ([implementation diff](https://disco.l2beat.com/diff/eth:0xC38aAfCBB73Fd4bd6f995275079C4Add9C1687E5/eth:0xf444B2B5e45cD07F1E735122F53A2d70A8c81dB5)): adds two n-ary encrypted operations, `fheSum` (sum over up to 100/60 ciphertexts depending on width) and `fheIsIn` (encrypted set membership), with per-element ACL checks on inputs.\n- HCULimit v0.2.0 -> v0.3.0 ([implementation diff](https://disco.l2beat.com/diff/eth:0x0F2B7e8F19ADc874F21e27ADAA4B22FC00a0B442/eth:0x69A91389006443448d8E90Fd84B6bDF5ae253837)): adds HCU pricing for the new fheSum/fheIsIn operations and a guard reserving the zero transient-storage slot for the per-transaction HCU accumulator (a handle of 0x0 can no longer read/write it). Limits themselves are unchanged (empty reinitializer).",
"isHighSeverity": true,
"changeCount": 160,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract HCULimit (eth:0x3b4da65e45Fda2CAa0285A735ab4361a44F171E2) [zama/ZamaHCULimit_v0_3_0] {\n +++ description: Tracks and enforces per-transaction and per-block homomorphic computation unit limits for FHEVM operation requests. v0.3.0 adds pricing for the fheSum and fheIsIn operations.\n template:\n- \"zama/ZamaHCULimit_v0_2_0\"\n+ \"zama/ZamaHCULimit_v0_3_0\"\n sourceHashes.1:\n- \"0xc52e1b93c97602e6da1f1925e14fc5454426a778875655ec17910be5e217b98e\"\n+ \"0x7ca7880da7a551111a41d9a1673890e2a6c1dd27c3cdf51a82f893b410b2d038\"\n description:\n- \"Tracks and enforces per-transaction and per-block homomorphic computation unit limits for FHEVM operation requests.\"\n+ \"Tracks and enforces per-transaction and per-block homomorphic computation unit limits for FHEVM operation requests. v0.3.0 adds pricing for the fheSum and fheIsIn operations.\"\n values.$implementation:\n- \"eth:0x0F2B7e8F19ADc874F21e27ADAA4B22FC00a0B442\"\n+ \"eth:0x69A91389006443448d8E90Fd84B6bDF5ae253837\"\n values.$pastUpgrades.3:\n+ [\"2026-08-10T11:50:47.000Z\",\"0x3a73cbfe82d45d522aafa83acbc4a44dd89a2b409530e3a52d0076009a036c78\",[\"eth:0x69A91389006443448d8E90Fd84B6bDF5ae253837\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.getVersion:\n- \"HCULimit v0.2.0\"\n+ \"HCULimit v0.3.0\"\n implementationNames.eth:0x0F2B7e8F19ADc874F21e27ADAA4B22FC00a0B442:\n- \"HCULimit\"\n implementationNames.eth:0x69A91389006443448d8E90Fd84B6bDF5ae253837:\n+ \"HCULimit\"\n }\n```\n\n```diff\n EOA (eth:0x41b19EB4585450db79ac03ba9503106EC7895905) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n EOA (eth:0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n EOA (eth:0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n EOA (eth:0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n contract KMSVerifier (eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03) [zama/ZamaKMSVerifier_v0_3_0] {\n +++ description: Ethereum host-chain verifier for public decryption results produced through the Zama Gateway Decryption contract. Since v0.3.0 it is a stateless proof checker: KMS signer sets and thresholds are read from the ProtocolConfig contract, and confidential token wrappers accept a decrypted value when it is signed by the threshold of the current or any explicitly selected non-destroyed KMS context.\n template:\n- \"zama/ZamaKMSVerifier_v0_2_0\"\n+ \"zama/ZamaKMSVerifier_v0_3_0\"\n sourceHashes.1:\n- \"0xa40292fe461810a065f80e305f6b85ab3ca2cfd416dc965d4791a111554cf638\"\n+ \"0x83222b4971c6b79adbd52cb7d500d84b7d2d59886f828b6a1cdc128dcd2bb9d1\"\n description:\n- \"Ethereum host-chain verifier for public decryption results produced through the Zama Gateway Decryption contract. Confidential token wrappers accept a decrypted value when it is signed by the threshold of the current or any retained non-destroyed KMS context.\"\n+ \"Ethereum host-chain verifier for public decryption results produced through the Zama Gateway Decryption contract. Since v0.3.0 it is a stateless proof checker: KMS signer sets and thresholds are read from the ProtocolConfig contract, and confidential token wrappers accept a decrypted value when it is signed by the threshold of the current or any explicitly selected non-destroyed KMS context.\"\n values.$implementation:\n- \"eth:0xd0d0C7E1bc1E2F6Cd00E3b4B1083DdD9969155FD\"\n+ \"eth:0x390683dEa46a61786f4F0807bf3559038Cf43Fa4\"\n values.$pastUpgrades.3:\n+ [\"2026-08-10T11:50:47.000Z\",\"0x3a73cbfe82d45d522aafa83acbc4a44dd89a2b409530e3a52d0076009a036c78\",[\"eth:0x390683dEa46a61786f4F0807bf3559038Cf43Fa4\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.createdKmsContexts:\n- []\n values.getVersion:\n- \"KMSVerifier v0.2.0\"\n+ \"KMSVerifier v0.3.0\"\n values.initialKmsContextId:\n- \"3166189940082864718613269121331309980362851143201109172953918312716374638593\"\n values.initialKmsContextSigners:\n- [\"eth:0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f\",\"eth:0xdC472efa1642D5afB684aAaa546E22FB24AAB965\",\"eth:0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3\",\"eth:0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f\",\"eth:0x41b19EB4585450db79ac03ba9503106EC7895905\",\"eth:0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921\",\"eth:0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D\",\"eth:0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8\",\"eth:0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f\",\"eth:0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58\",\"eth:0x7C17BE232e5968BDa9516478B798b9E90D013fCC\",\"eth:0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385\",\"eth:0xB7978e602D2AF68258dA614AF949E014BF0DE0eb\"]\n+++ description: ProtocolConfig contract that stores the KMS contexts (signer sets and thresholds) this verifier reads during proof verification. Referenced as a compile-time constant without a getter.\n values.protocolConfig:\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n fieldMeta.aclOwner.severity:\n- \"HIGH\"\n fieldMeta.aclOwner.description:\n- \"Owner of the Zama ACL contract. This account can create a new KMS signer context that immediately becomes the default verifier authority, and can destroy any non-current context.\"\n+ \"Owner of the Zama ACL contract. This account is authorized by onlyACLOwner for KMSVerifier upgrades. Context and threshold management moved to ProtocolConfig in v0.3.0.\"\n fieldMeta.getKmsSigners.severity:\n- \"HIGH\"\n fieldMeta.getKmsSigners.description:\n- \"KMS signers in the current context. Permission coverage is also indexed through initialKmsContextSigners and createdKmsContexts so superseded contexts remain visible.\"\n+ \"KMS signers in the current context, read through from ProtocolConfig where they are indexed for permissions and monitoring.\"\n fieldMeta.initialKmsContextId:\n- {\"severity\":\"HIGH\",\"description\":\"Identifier of the first v0.2 KMS context created from the source-defined context counter during initialization or migration.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.initialKmsContextSigners:\n- {\"severity\":\"HIGH\",\"description\":\"Signers in the first v0.2 KMS context. This code-defined context remains authorized for public decryption proofs after later rotations unless the ACL owner explicitly destroys it.\",\"type\":\"PERMISSION\"}\n fieldMeta.createdKmsContexts:\n- {\"severity\":\"HIGH\",\"description\":\"Non-destroyed KMS contexts created after the v0.2 migration, reconstructed from context creation and destruction events. Each context is an immutable signer and threshold snapshot that can attest results for any ciphertext handle; it is not scoped to ciphertext age or key ID.\",\"type\":\"PERMISSION\"}\n fieldMeta.getThreshold.severity:\n- \"HIGH\"\n fieldMeta.getThreshold.description:\n- \"Minimum number of KMS signatures from the current context required to accept a public decryption result. Retained contexts keep their own immutable thresholds.\"\n+ \"Minimum number of unique valid KMS signatures required to accept a public decryption result, read through from the ProtocolConfig public-decryption threshold of the current context.\"\n fieldMeta.getCurrentKmsContextId.severity:\n- \"HIGH\"\n fieldMeta.getCurrentKmsContextId.description:\n- \"Identifier of the context used when proof extraData is empty or starts with version 0. Version 1 extraData can explicitly select any non-destroyed historical context, including for ciphertexts created after that context was superseded.\"\n+ \"Identifier of the context used when proof extraData is empty or starts with version 0. Version 1 extraData can explicitly select any non-destroyed context, including for ciphertexts created after that context was superseded.\"\n fieldMeta.protocolConfig:\n+ {\"description\":\"ProtocolConfig contract that stores the KMS contexts (signer sets and thresholds) this verifier reads during proof verification. Referenced as a compile-time constant without a getter.\",\"type\":\"EXTERNAL\"}\n implementationNames.eth:0xd0d0C7E1bc1E2F6Cd00E3b4B1083DdD9969155FD:\n- \"KMSVerifier\"\n implementationNames.eth:0x390683dEa46a61786f4F0807bf3559038Cf43Fa4:\n+ \"KMSVerifier\"\n }\n```\n\n```diff\n EOA (eth:0x7C17BE232e5968BDa9516478B798b9E90D013fCC) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n EOA (eth:0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n EOA (eth:0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n EOA (eth:0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n contract DAO (eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3) [zama/ZamaDAO] {\n +++ description: Aragon DAO that stores governance state and executes proposal action batches.\n directlyReceivedPermissions.5:\n- {\"permission\":\"interact\",\"from\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"description\":\"create KMS signer contexts with arbitrary signer sets and thresholds, and destroy non-current contexts. A malicious context can attest an inflated unwrap amount and drain pooled wrapper backing.\",\"role\":\".aclOwner\"}\n directlyReceivedPermissions.15.description:\n- \"transfer ACL ownership, unpause the ACL, block or unblock accounts, manage PauserSet membership, and create or destroy KMSVerifier signer contexts.\"\n+ \"transfer ACL ownership, unpause the ACL, block or unblock accounts, and manage PauserSet membership.\"\n directlyReceivedPermissions.16:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\",\"description\":\"create KMS contexts with arbitrary node sets and thresholds that immediately become the default verifier authority, destroy non-current contexts, and retune the per-context thresholds (public decryption, user decryption, key generation, MPC) of any live context including the current one. A malicious context or lowered threshold can attest an inflated unwrap amount and drain pooled wrapper backing.\",\"role\":\".aclOwner\"}\n directlyReceivedPermissions.22:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xf102cC9A9D2174630c394f5b7B7D63104E348daa\",\"description\":\"trigger and abort FHE key and CRS generation rounds executed by the KMS nodes.\",\"role\":\".aclOwner\"}\n directlyReceivedPermissions.36:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\",\"description\":\"upgrade the ProtocolConfig implementation.\",\"role\":\".aclOwner\"}\n directlyReceivedPermissions.42:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xf102cC9A9D2174630c394f5b7B7D63104E348daa\",\"description\":\"upgrade the KMSGeneration implementation.\",\"role\":\".aclOwner\"}\n }\n```\n\n```diff\n EOA (eth:0xB7978e602D2AF68258dA614AF949E014BF0DE0eb) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n contract ZamaGovMultisigB (eth:0xBc860b6a4C860C5424B84A056E53ACFb2C99a38F) [zama/Multisig] {\n +++ description: Aragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n receivedPermissions.5:\n- {\"permission\":\"interact\",\"from\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"description\":\"create KMS signer contexts with arbitrary signer sets and thresholds, and destroy non-current contexts. A malicious context can attest an inflated unwrap amount and drain pooled wrapper backing.\",\"role\":\".aclOwner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.17.description:\n- \"transfer ACL ownership, unpause the ACL, block or unblock accounts, manage PauserSet membership, and create or destroy KMSVerifier signer contexts.\"\n+ \"transfer ACL ownership, unpause the ACL, block or unblock accounts, and manage PauserSet membership.\"\n receivedPermissions.18:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\",\"description\":\"create KMS contexts with arbitrary node sets and thresholds that immediately become the default verifier authority, destroy non-current contexts, and retune the per-context thresholds (public decryption, user decryption, key generation, MPC) of any live context including the current one. A malicious context or lowered threshold can attest an inflated unwrap amount and drain pooled wrapper backing.\",\"role\":\".aclOwner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.24:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xf102cC9A9D2174630c394f5b7B7D63104E348daa\",\"description\":\"trigger and abort FHE key and CRS generation rounds executed by the KMS nodes.\",\"role\":\".aclOwner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.38:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\",\"description\":\"upgrade the ProtocolConfig implementation.\",\"role\":\".aclOwner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.44:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xf102cC9A9D2174630c394f5b7B7D63104E348daa\",\"description\":\"upgrade the KMSGeneration implementation.\",\"role\":\".aclOwner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n }\n```\n\n```diff\n EOA (eth:0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n contract ACL (eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6) [zama/ZamaACL_v0_4_0] {\n +++ description: Ethereum host-chain access-control registry for encrypted handles, storing handle allowances and delegation state for ciphertext references. Its public-decryption and user-delegation events are mirrored into the Gateway MultichainACL by coprocessor consensus. Since v0.4.0 users can delegate user decryption of their handles across all app contracts at once via a wildcard delegation.\n template:\n- \"zama/ZamaACL_v0_3_0\"\n+ \"zama/ZamaACL_v0_4_0\"\n sourceHashes.1:\n- \"0x47f47986a3024b31fa3caee357720f4fba4ea3fae419ff53eebe1a66e87d69ef\"\n+ \"0xa69c606dd333427d22d0b664b3c7b39118934dd95a2b7b37c737e37b39bba7e5\"\n description:\n- \"Ethereum host-chain access-control registry for encrypted handles, storing handle allowances and delegation state for ciphertext references. Its public-decryption and user-delegation events are mirrored into the Gateway MultichainACL by coprocessor consensus.\"\n+ \"Ethereum host-chain access-control registry for encrypted handles, storing handle allowances and delegation state for ciphertext references. Its public-decryption and user-delegation events are mirrored into the Gateway MultichainACL by coprocessor consensus. Since v0.4.0 users can delegate user decryption of their handles across all app contracts at once via a wildcard delegation.\"\n values.$implementation:\n- \"eth:0x3F6D970d30E1FFE9657aa8072C82dA10eef1c3D6\"\n+ \"eth:0x9A017e0ba4c19A325D5a89f5dd2112e605E85418\"\n values.$pastUpgrades.4:\n+ [\"2026-08-10T11:50:47.000Z\",\"0x3a73cbfe82d45d522aafa83acbc4a44dd89a2b409530e3a52d0076009a036c78\",[\"eth:0x9A017e0ba4c19A325D5a89f5dd2112e605E85418\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.getVersion:\n- \"ACL v0.3.0\"\n+ \"ACL v0.4.0\"\n+++ description: Sentinel contract address that a user can pass to delegateForUserDecryption to delegate user decryption of their handles across all app contracts at once. The wildcard does not bypass per-handle allowances.\n values.WILDCARD_DELEGATION_ADDRESS:\n+ \"eth:0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF\"\n fieldMeta.owner.description:\n- \"Owner of the ACL and host-contract owner checked by onlyACLOwner in the Zama verifier and helper contracts.\"\n+ \"Owner of the ACL and host-contract owner checked by onlyACLOwner in the Zama verifier and helper contracts, including ProtocolConfig and KMSGeneration.\"\n fieldMeta.WILDCARD_DELEGATION_ADDRESS:\n+ {\"description\":\"Sentinel contract address that a user can pass to delegateForUserDecryption to delegate user decryption of their handles across all app contracts at once. The wildcard does not bypass per-handle allowances.\"}\n implementationNames.eth:0x3F6D970d30E1FFE9657aa8072C82dA10eef1c3D6:\n- \"ACL\"\n implementationNames.eth:0x9A017e0ba4c19A325D5a89f5dd2112e605E85418:\n+ \"ACL\"\n }\n```\n\n```diff\n contract ProtocolConfig (eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4) [zama/ZamaProtocolConfig] {\n +++ description: Ethereum host-chain registry of KMS node sets, per-context thresholds, and context lifecycle, introduced in the v0.3.0 KMSVerifier upgrade. A KMS context snapshots node transaction senders and signers; the four per-context thresholds (public decryption, user decryption, key generation, MPC) can be retuned by the ACL owner for any live context, including the current one. A newly created context becomes current immediately; older contexts remain selectable for public decryption proofs until destroyed.\n name:\n- \"EmptyUUPSProxy\"\n+ \"ProtocolConfig\"\n sourceHashes.1:\n- \"0xc71891567f1a766aa3a25d1830c5362e3bcf7682574b11b20a51401acb718db4\"\n+ \"0x3ded50e4089de288e1a23ff043bc49ad1ab743d9c4d68dff679355192bc0edbd\"\n values.$implementation:\n- \"eth:0xC94790325C61A7D98e90d835ea89777d64b17492\"\n+ \"eth:0x25c76298Fb4d15bFADce4798519a7B37ac0076E7\"\n values.$pastUpgrades.1:\n+ [\"2026-08-10T11:50:47.000Z\",\"0x3a73cbfe82d45d522aafa83acbc4a44dd89a2b409530e3a52d0076009a036c78\",[\"eth:0x25c76298Fb4d15bFADce4798519a7B37ac0076E7\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ description: Owner of the Zama ACL contract. This account is authorized by onlyACLOwner for all ProtocolConfig administration.\n+++ severity: HIGH\n values.aclOwner:\n+ \"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"\n+++ description: KMS contexts created after the ProtocolConfig migration, reconstructed from NewKmsContext and KmsContextDestroyed events with their node sets and creation thresholds. The context created by initializeFromMigration does not emit this event and is indexed through the live getters and project overrides. Thresholds can be retuned per context after creation.\n+++ severity: HIGH\n values.createdKmsContexts:\n+ []\n+++ description: KMS signers from contexts created after the ProtocolConfig migration. They remain authorized for public decryption proofs that select their context until the ACL owner destroys that context.\n+++ severity: HIGH\n values.createdKmsContextSigners:\n+ []\n+++ description: KMS transaction senders from contexts created after the ProtocolConfig migration. They remain authorized to submit key- and CRS-generation responses for their context until the ACL owner destroys that context.\n values.createdKmsContextTxSenders:\n+ []\n+++ description: KMS node transaction-sender addresses in the current context. These accounts submit key- and CRS-generation responses to the Ethereum KMSGeneration contract.\n values.currentKmsTxSenders:\n+ [\"eth:0x711EBE8aA590f9C9904ff279239E89dB2eFbC890\",\"eth:0xB4CE988D382425F64c99A352375F72A5f1cf6FFB\",\"eth:0x4eC7200E392B97913cbD6d8160B011406EB019F1\",\"eth:0xEd1D622bd59d657580aBAc65312b40B4B2dA6236\",\"eth:0x74a1E2e87a4026b7B8b5252c747E514159515e9a\",\"eth:0x0e25B8DB74c754C8275C0B219ba2A6CD7c59E31D\",\"eth:0x577Fd21e4BC7D644A4177C4B89146e1Ab394De04\",\"eth:0xbaac6F9DD84bFB303F05B4DE45A88Eec86855BD0\",\"eth:0x43e4c21cf9d24Dc5b4e00031349EC213A2ba8340\",\"eth:0xC105B5933446658D226582f7A112F49a70b54364\",\"eth:0xbcF4943A856497FB2345409D35f4d1eae9A0363E\",\"eth:0xD227C4B573800EdA3bAdA6DAC872E9134E012e6D\",\"eth:0x487e41623b7FeB464ff79F7326DCa791c9a1c5EC\"]\n+++ description: KMS contexts destroyed by the ACL owner. Destroyed contexts are invalid: their per-context getters revert and public decryption proofs can no longer select them.\n+++ severity: HIGH\n values.destroyedKmsContexts:\n+ []\n+++ description: Identifier of the current KMS context, used by verifiers when a proof does not explicitly select a historical context.\n values.getCurrentKmsContextId:\n+ \"3166189940082864718613269121331309980362851143201109172953918312716374638593\"\n+++ description: Minimum number of KMS responses from the current context required to reach consensus on key- and CRS-generation results in KMSGeneration.\n values.getKmsGenThreshold:\n+ 7\n+++ description: KMS signer addresses in the current context. Their signatures are accepted by the Ethereum KMSVerifier for public decryption results and by KMSGeneration for key- and CRS-generation responses. Signers from other live contexts remain authorized for proofs that select their context until that context is destroyed.\n+++ severity: HIGH\n values.getKmsSigners:\n+ [\"eth:0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f\",\"eth:0xdC472efa1642D5afB684aAaa546E22FB24AAB965\",\"eth:0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3\",\"eth:0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f\",\"eth:0x41b19EB4585450db79ac03ba9503106EC7895905\",\"eth:0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921\",\"eth:0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D\",\"eth:0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8\",\"eth:0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f\",\"eth:0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58\",\"eth:0x7C17BE232e5968BDa9516478B798b9E90D013fCC\",\"eth:0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385\",\"eth:0xB7978e602D2AF68258dA614AF949E014BF0DE0eb\"]\n+++ description: MPC threshold recorded for the current context. The KMS SDK derives its effective MPC threshold from the nodes it knows about instead of reading this value.\n values.getMpcThreshold:\n+ 4\n+++ description: Minimum number of KMS signatures from the current context required to accept a public decryption result. Retunable in place by the ACL owner without rotating the context.\n+++ severity: HIGH\n values.getPublicDecryptionThreshold:\n+ 7\n+++ description: Minimum number of KMS signatures from the current context required for user decryption verification. Retunable in place by the ACL owner without rotating the context.\n+++ severity: HIGH\n values.getUserDecryptionThreshold:\n+ 9\n values.getVersion:\n+ \"ProtocolConfig v0.1.0\"\n+++ description: Live public-decryption threshold of the migrated context, retunable in place by the ACL owner. It remains security-critical after future rotations while the context is live. This call reverts once the context is destroyed; remove the field then.\n+++ severity: HIGH\n values.migratedKmsContextPublicDecryptionThreshold:\n+ 7\n+++ description: Live KMS signer set of the migrated context. Node membership is immutable, so these signers remain authorized for proofs selecting this context after future rotations. This call reverts once the context is destroyed; remove the field then.\n+++ severity: HIGH\n values.migratedKmsContextSigners:\n+ [\"eth:0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f\",\"eth:0xdC472efa1642D5afB684aAaa546E22FB24AAB965\",\"eth:0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3\",\"eth:0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f\",\"eth:0x41b19EB4585450db79ac03ba9503106EC7895905\",\"eth:0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921\",\"eth:0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D\",\"eth:0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8\",\"eth:0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f\",\"eth:0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58\",\"eth:0x7C17BE232e5968BDa9516478B798b9E90D013fCC\",\"eth:0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385\",\"eth:0xB7978e602D2AF68258dA614AF949E014BF0DE0eb\"]\n+++ description: Live user-decryption threshold of the migrated context, retunable in place by the ACL owner. This call reverts once the context is destroyed; remove the field then.\n values.migratedKmsContextUserDecryptionThreshold:\n+ 9\n errors:\n- {\"migratedKmsContextPublicDecryptionThreshold\":\"Processing error occurred.\",\"migratedKmsContextSigners\":\"Processing error occurred.\",\"migratedKmsContextUserDecryptionThreshold\":\"Processing error occurred.\",\"proxiableUUID\":\"Processing error occurred.\"}\n fieldMeta.aclOwner:\n+ {\"severity\":\"HIGH\",\"description\":\"Owner of the Zama ACL contract. This account is authorized by onlyACLOwner for all ProtocolConfig administration.\",\"type\":\"PERMISSION\"}\n fieldMeta.getKmsSigners:\n+ {\"severity\":\"HIGH\",\"description\":\"KMS signer addresses in the current context. Their signatures are accepted by the Ethereum KMSVerifier for public decryption results and by KMSGeneration for key- and CRS-generation responses. Signers from other live contexts remain authorized for proofs that select their context until that context is destroyed.\",\"type\":\"PERMISSION\"}\n fieldMeta.currentKmsTxSenders:\n+ {\"description\":\"KMS node transaction-sender addresses in the current context. These accounts submit key- and CRS-generation responses to the Ethereum KMSGeneration contract.\",\"type\":\"PERMISSION\"}\n fieldMeta.getPublicDecryptionThreshold:\n+ {\"severity\":\"HIGH\",\"description\":\"Minimum number of KMS signatures from the current context required to accept a public decryption result. Retunable in place by the ACL owner without rotating the context.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.getUserDecryptionThreshold:\n+ {\"severity\":\"HIGH\",\"description\":\"Minimum number of KMS signatures from the current context required for user decryption verification. Retunable in place by the ACL owner without rotating the context.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.getKmsGenThreshold:\n+ {\"description\":\"Minimum number of KMS responses from the current context required to reach consensus on key- and CRS-generation results in KMSGeneration.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.getMpcThreshold:\n+ {\"description\":\"MPC threshold recorded for the current context. The KMS SDK derives its effective MPC threshold from the nodes it knows about instead of reading this value.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.getCurrentKmsContextId:\n+ {\"description\":\"Identifier of the current KMS context, used by verifiers when a proof does not explicitly select a historical context.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.createdKmsContexts:\n+ {\"severity\":\"HIGH\",\"description\":\"KMS contexts created after the ProtocolConfig migration, reconstructed from NewKmsContext and KmsContextDestroyed events with their node sets and creation thresholds. The context created by initializeFromMigration does not emit this event and is indexed through the live getters and project overrides. Thresholds can be retuned per context after creation.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.createdKmsContextSigners:\n+ {\"severity\":\"HIGH\",\"description\":\"KMS signers from contexts created after the ProtocolConfig migration. They remain authorized for public decryption proofs that select their context until the ACL owner destroys that context.\",\"type\":\"PERMISSION\"}\n fieldMeta.createdKmsContextTxSenders:\n+ {\"description\":\"KMS transaction senders from contexts created after the ProtocolConfig migration. They remain authorized to submit key- and CRS-generation responses for their context until the ACL owner destroys that context.\",\"type\":\"PERMISSION\"}\n fieldMeta.destroyedKmsContexts:\n+ {\"severity\":\"HIGH\",\"description\":\"KMS contexts destroyed by the ACL owner. Destroyed contexts are invalid: their per-context getters revert and public decryption proofs can no longer select them.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.eth:0xC94790325C61A7D98e90d835ea89777d64b17492:\n- \"EmptyUUPSProxy\"\n implementationNames.eth:0x25c76298Fb4d15bFADce4798519a7B37ac0076E7:\n+ \"ProtocolConfig\"\n template:\n+ \"zama/ZamaProtocolConfig\"\n description:\n+ \"Ethereum host-chain registry of KMS node sets, per-context thresholds, and context lifecycle, introduced in the v0.3.0 KMSVerifier upgrade. A KMS context snapshots node transaction senders and signers; the four per-context thresholds (public decryption, user decryption, key generation, MPC) can be retuned by the ACL owner for any live context, including the current one. A newly created context becomes current immediately; older contexts remain selectable for public decryption proofs until destroyed.\"\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n contract FHEVMExecutor (eth:0xD82385dADa1ae3E969447f20A3164F6213100e75) [zama/ZamaFHEVMExecutor_v0_4_0] {\n +++ description: FHEVM executor that accepts encrypted operation requests, accounts for computation usage, and stores ciphertext handles for operation results. v0.4.0 adds the n-ary encrypted operations fheSum and fheIsIn (encrypted set membership) over bounded ciphertext collections.\n template:\n- \"zama/ZamaFHEVMExecutor_v0_3_0\"\n+ \"zama/ZamaFHEVMExecutor_v0_4_0\"\n sourceHashes.1:\n- \"0xf475718e9125acfc2f69d3c9cca8cedb9a15c644da7490f7f5fe0ae2690a77cc\"\n+ \"0x8521799e0a57218bcbd587c2f46222a266bbcbe2f27780cc0bf6ed66eb9cda1f\"\n description:\n- \"FHEVM executor that accepts encrypted operation requests, accounts for computation usage, and stores ciphertext handles for operation results.\"\n+ \"FHEVM executor that accepts encrypted operation requests, accounts for computation usage, and stores ciphertext handles for operation results. v0.4.0 adds the n-ary encrypted operations fheSum and fheIsIn (encrypted set membership) over bounded ciphertext collections.\"\n values.$implementation:\n- \"eth:0xC38aAfCBB73Fd4bd6f995275079C4Add9C1687E5\"\n+ \"eth:0xf444B2B5e45cD07F1E735122F53A2d70A8c81dB5\"\n values.$pastUpgrades.4:\n+ [\"2026-08-10T11:50:47.000Z\",\"0x3a73cbfe82d45d522aafa83acbc4a44dd89a2b409530e3a52d0076009a036c78\",[\"eth:0xf444B2B5e45cD07F1E735122F53A2d70A8c81dB5\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.getVersion:\n- \"FHEVMExecutor v0.3.0\"\n+ \"FHEVMExecutor v0.4.0\"\n implementationNames.eth:0xC38aAfCBB73Fd4bd6f995275079C4Add9C1687E5:\n- \"FHEVMExecutor\"\n implementationNames.eth:0xf444B2B5e45cD07F1E735122F53A2d70A8c81dB5:\n+ \"FHEVMExecutor\"\n }\n```\n\n```diff\n EOA (eth:0xdC472efa1642D5afB684aAaa546E22FB24AAB965) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n EOA (eth:0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n contract ZamaGovMultisigA (eth:0xE43c73aAb2b6aBBad6d0461997ce1cfea5ABe66f) [zama/Multisig] {\n +++ description: Aragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n receivedPermissions.5:\n- {\"permission\":\"interact\",\"from\":\"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\",\"description\":\"create KMS signer contexts with arbitrary signer sets and thresholds, and destroy non-current contexts. A malicious context can attest an inflated unwrap amount and drain pooled wrapper backing.\",\"role\":\".aclOwner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.17.description:\n- \"transfer ACL ownership, unpause the ACL, block or unblock accounts, manage PauserSet membership, and create or destroy KMSVerifier signer contexts.\"\n+ \"transfer ACL ownership, unpause the ACL, block or unblock accounts, and manage PauserSet membership.\"\n receivedPermissions.18:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\",\"description\":\"create KMS contexts with arbitrary node sets and thresholds that immediately become the default verifier authority, destroy non-current contexts, and retune the per-context thresholds (public decryption, user decryption, key generation, MPC) of any live context including the current one. A malicious context or lowered threshold can attest an inflated unwrap amount and drain pooled wrapper backing.\",\"role\":\".aclOwner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.24:\n+ {\"permission\":\"interact\",\"from\":\"eth:0xf102cC9A9D2174630c394f5b7B7D63104E348daa\",\"description\":\"trigger and abort FHE key and CRS generation rounds executed by the KMS nodes.\",\"role\":\".aclOwner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.38:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\",\"description\":\"upgrade the ProtocolConfig implementation.\",\"role\":\".aclOwner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.44:\n+ {\"permission\":\"upgrade\",\"from\":\"eth:0xf102cC9A9D2174630c394f5b7B7D63104E348daa\",\"description\":\"upgrade the KMSGeneration implementation.\",\"role\":\".aclOwner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n }\n```\n\n```diff\n EOA (eth:0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f) {\n +++ description: None\n receivedPermissions.0.description:\n- \"sign public decryption results accepted by the KMSVerifier.\"\n+ \"sign public decryption results accepted by the KMSVerifier and key- and CRS-generation responses accepted by KMSGeneration.\"\n receivedPermissions.0.from:\n- \"eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03\"\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n }\n```\n\n```diff\n contract KMSGeneration (eth:0xf102cC9A9D2174630c394f5b7B7D63104E348daa) [zama/ZamaKMSGeneration] {\n +++ description: Orchestrates FHE key and CRS generation on the Ethereum host chain, taking over the workflows removed from the Gateway KMSGeneration in v0.5.0. The ACL owner triggers and aborts generations; KMS node transaction senders registered in ProtocolConfig submit EIP-712-signed responses that activate a key or CRS once the ProtocolConfig key-generation threshold is reached.\n name:\n- \"EmptyUUPSProxy\"\n+ \"KMSGeneration\"\n sourceHashes.1:\n- \"0xc71891567f1a766aa3a25d1830c5362e3bcf7682574b11b20a51401acb718db4\"\n+ \"0x265ec46d9bb4498caf973d6a60d3cbbe1f3ceff12597fcd3140bdff9e6322f76\"\n values.$implementation:\n- \"eth:0xC94790325C61A7D98e90d835ea89777d64b17492\"\n+ \"eth:0x5DD95e97287672b5d86dd3a427E855099E5AC940\"\n values.$pastUpgrades.1:\n+ [\"2026-08-10T11:50:47.000Z\",\"0x3a73cbfe82d45d522aafa83acbc4a44dd89a2b409530e3a52d0076009a036c78\",[\"eth:0x5DD95e97287672b5d86dd3a427E855099E5AC940\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ description: Owner of the Zama ACL contract. This account is authorized by onlyACLOwner for KMSGeneration administration.\n values.aclOwner:\n+ \"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"\n+++ description: EIP-712 domain against which KMS key- and CRS-generation response signatures are verified.\n values.eip712Domain:\n+ {\"fields\":\"0x0f\",\"name\":\"KMSGeneration\",\"version\":\"1\",\"chainId\":1,\"verifyingContract\":\"eth:0xf102cC9A9D2174630c394f5b7B7D63104E348daa\",\"salt\":\"0x0000000000000000000000000000000000000000000000000000000000000000\",\"extensions\":[]}\n+++ description: Identifier of the currently active CRS generated through this contract.\n values.getActiveCrsId:\n+ \"2261564242916331941866620800950935700259179388000792266395655937654553313281\"\n+++ description: Identifier of the currently active FHE key generated through this contract.\n values.getActiveKeyId:\n+ \"1809251394333065553493296640760748560207343510400633813116524750123642650625\"\n values.getCrsCounter:\n+ \"2261564242916331941866620800950935700259179388000792266395655937654553313281\"\n values.getKeyCounter:\n+ \"1809251394333065553493296640760748560207343510400633813116524750123642650625\"\n values.getVersion:\n+ \"KMSGeneration v0.1.0\"\n+++ description: ProtocolConfig contract providing the KMS node set and the key-generation consensus threshold. Referenced as a compile-time constant without a getter.\n values.protocolConfig:\n+ \"eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4\"\n errors:\n- {\"proxiableUUID\":\"Processing error occurred.\"}\n implementationNames.eth:0xC94790325C61A7D98e90d835ea89777d64b17492:\n- \"EmptyUUPSProxy\"\n implementationNames.eth:0x5DD95e97287672b5d86dd3a427E855099E5AC940:\n+ \"KMSGeneration\"\n template:\n+ \"zama/ZamaKMSGeneration\"\n description:\n+ \"Orchestrates FHE key and CRS generation on the Ethereum host chain, taking over the workflows removed from the Gateway KMSGeneration in v0.5.0. The ACL owner triggers and aborts generations; KMS node transaction senders registered in ProtocolConfig submit EIP-712-signed responses that activate a key or CRS once the ProtocolConfig key-generation threshold is reached.\"\n fieldMeta:\n+ {\"protocolConfig\":{\"description\":\"ProtocolConfig contract providing the KMS node set and the key-generation consensus threshold. Referenced as a compile-time constant without a getter.\",\"type\":\"EXTERNAL\"},\"aclOwner\":{\"description\":\"Owner of the Zama ACL contract. This account is authorized by onlyACLOwner for KMSGeneration administration.\",\"type\":\"PERMISSION\"},\"getActiveKeyId\":{\"description\":\"Identifier of the currently active FHE key generated through this contract.\"},\"getActiveCrsId\":{\"description\":\"Identifier of the currently active CRS generated through this contract.\"},\"eip712Domain\":{\"description\":\"EIP-712 domain against which KMS key- and CRS-generation response signatures are verified.\"}}\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```"
},
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract EmptyUUPSProxy (eth:0xD8236B57394f90726b26aB25D38CeAC776E1a7C4) [N/A]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract EmptyUUPSProxy (eth:0xf102cC9A9D2174630c394f5b7B7D63104E348daa) [N/A]\n +++ description: None\n```"
}
]
},
{
"id": "d5f51ac9",
"date": "Fri, 07 Aug 2026 12:57:23 GMT",
"timestamp": 1786107356,
"description": "Zama Gateway upgrade: a larger upgrade that touches key generation and is only half deployed.\n\n- Decryption v0.4.0 -> v0.5.0: requests now pin a KMS context at request time and responses must reference the pinned context\n- GatewayConfig v0.5.0 -> v0.6.0: the owner can now destroy non-current KMS contexts (immediately invalidating them for decryption), retune thresholds of any live context (context-scoped events), and disable/enable/remove host chains. Coprocessor updates now require InputVerification to be paused.\n- KMSGeneration v0.4.0 -> v0.5.0: now view-only; all key/CRS/PRSS/resharing workflows were removed from the gateway after their move to Ethereum (getActiveKeyId/getActiveCrsId are gone).\n- InputVerification v0.3.0 -> v0.4.0 and CiphertextCommits v0.3.0 -> v0.4.0: minor; both now reject requests/handles from disabled host chains, and CiphertextCommits dropped its KMSGeneration reference.\n- a Polygon host chain (chainId 137) is now registered in GatewayConfig.",
"isHighSeverity": true,
"changeCount": 133,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (zama:0x0e25B8DB74c754C8275C0B219ba2A6CD7c59E31D) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```\n\n```diff\n contract Decryption (zama:0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24) [zama/Decryption_v0_5_0] {\n +++ description: Gateway contract that orchestrates public and user decryption requests and checks committed ciphertext material. Each request pins a KMS context at request time (explicitly through extraData or the then-current context) and rejects unknown or destroyed contexts; responses must reference the pinned context. Requests recorded before v0.5.0 fall back to the context declared by each response. KMS nodes enforce host-chain ACL state offchain, and Ethereum KMSVerifier verifies public results against this contract's EIP-712 domain.\n template:\n- \"zama/Decryption_v0_4_0\"\n+ \"zama/Decryption_v0_5_0\"\n sourceHashes.1:\n- \"0xcd821ac822a19a355acde1dd7ce435e2a6e16e21017756b899c058ee64552e28\"\n+ \"0x1dd2af26cc2be12ff30232e8df9c95ec66fcbc987f40372ad56a9d8f1073260c\"\n description:\n- \"Gateway contract that orchestrates public and user decryption requests and checks committed ciphertext material. Each response independently selects a KMS context through extraData, or uses the context current when the response executes; requests do not store a context. KMS nodes enforce host-chain ACL state offchain, and Ethereum KMSVerifier verifies public results against this contract's EIP-712 domain.\"\n+ \"Gateway contract that orchestrates public and user decryption requests and checks committed ciphertext material. Each request pins a KMS context at request time (explicitly through extraData or the then-current context) and rejects unknown or destroyed contexts; responses must reference the pinned context. Requests recorded before v0.5.0 fall back to the context declared by each response. KMS nodes enforce host-chain ACL state offchain, and Ethereum KMSVerifier verifies public results against this contract's EIP-712 domain.\"\n values.$implementation:\n- \"zama:0x943CEfD1A00d3ae5b298bB10D4EddA09B279C8B0\"\n+ \"zama:0x86F8e9626cCff3f2eB3dA248F33DfF43531DBFD8\"\n values.$pastUpgrades.4:\n+ [\"2026-08-06T17:11:04.000Z\",\"0x350755101263bed64dc377ef6f3ef07f95f97918b689967a60ee625d0d9e025c\",[\"zama:0x86F8e9626cCff3f2eB3dA248F33DfF43531DBFD8\"]]\n values.$upgradeCount:\n- 4\n+ 5\n values.getVersion:\n- \"Decryption v0.4.0\"\n+ \"Decryption v0.5.0\"\n fieldMeta.gatewayMultichainACL.description:\n- \"MultichainACL contract containing the gateway-side host-chain ACL mirror. The upgraded Decryption contract no longer checks it onchain and relies on KMS nodes to enforce ACL state.\"\n+ \"MultichainACL contract containing the gateway-side host-chain ACL mirror. Decryption does not check it onchain and relies on KMS nodes to enforce ACL state.\"\n fieldMeta.gatewayKmsTxSenders.description:\n- \"KMS transaction-sender addresses configured in the current GatewayConfig context. Historical context senders can also submit responses when response extraData explicitly selects their retained context. Post-migration contexts are indexed on GatewayConfig; migration-created membership requires a project override because no creation event was emitted.\"\n+ \"KMS transaction-sender addresses configured in the current GatewayConfig context. Senders from other live contexts can still submit responses to requests that pinned their context; destroying a context revokes this. Post-migration contexts are indexed on GatewayConfig; migration-created membership requires a project override because no creation event was emitted.\"\n fieldMeta.gatewayKmsSigners.description:\n- \"KMS signer addresses configured in the current GatewayConfig context. Historical context signers can also sign responses when response extraData explicitly selects their retained context. Post-migration contexts are indexed on GatewayConfig; migration-created membership requires a project override because no creation event was emitted.\"\n+ \"KMS signer addresses configured in the current GatewayConfig context. Signers from other live contexts can still sign responses to requests that pinned their context; destroying a context revokes this. Post-migration contexts are indexed on GatewayConfig; migration-created membership requires a project override because no creation event was emitted.\"\n fieldMeta.gatewayKmsContextId.description:\n- \"Current GatewayConfig KMS context used by responses whose extraData is empty or starts with version 0. Requests do not bind this value, so a rotation can change the context used to answer an already pending request.\"\n+ \"Current GatewayConfig KMS context, pinned by new requests whose extraData is empty or starts with version 0. The pin is stored per request, so a later rotation does not change the context or thresholds used to answer a pending request. Requests recorded before v0.5.0 have no pin and fall back to the context declared by each response.\"\n fieldMeta.gatewayPublicDecryptionThreshold.description:\n- \"Minimum matching-signature count for the current context. Public responses are grouped by a digest containing raw extraData; identical empty or version 0 extraData can accumulate responses across a context rotation while the last response selects the threshold checked.\"\n+ \"Minimum matching-signature count for public decryption consensus in the current context. Each request is answered under the threshold of its pinned context, which the GatewayConfig owner can retune per context.\"\n fieldMeta.gatewayUserDecryptionThreshold.description:\n- \"Minimum response count for the current context. User response counts are stored per request rather than per context, so valid shares submitted under different contexts can be combined and the last response selects the threshold checked.\"\n+ \"Minimum response count for user decryption consensus in the current context. Each request is answered under the threshold of its pinned context, which the GatewayConfig owner can retune per context.\"\n implementationNames.zama:0x943CEfD1A00d3ae5b298bB10D4EddA09B279C8B0:\n- \"Decryption\"\n implementationNames.zama:0x86F8e9626cCff3f2eB3dA248F33DfF43531DBFD8:\n+ \"Decryption\"\n }\n```\n\n```diff\n contract KMSGeneration (zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3) [zama/KMSGeneration_v0_5_0] {\n +++ description: View-only gateway contract retaining historical queries for previously generated FHE keys and CRS materials. All state-changing key-generation, CRS-generation, PRSS, and key-resharing workflows were removed in v0.5.0 after their move to Ethereum.\n template:\n- \"zama/KMSGeneration\"\n+ \"zama/KMSGeneration_v0_5_0\"\n sourceHashes.1:\n- \"0x24b946dbf9b33a087ddcfba5bef6adfb4fb85c47ee48d0f3d35487b5a76900dc\"\n+ \"0x19abe2dec360556cd7dd3bbf0197f56dcaf76dc5889859f0e18046a971c70498\"\n description:\n- \"Gateway contract that orchestrates FHE key generation, CRS generation, PRSS initialization, and key resharing through threshold KMS responses.\"\n+ \"View-only gateway contract retaining historical queries for previously generated FHE keys and CRS materials. All state-changing key-generation, CRS-generation, PRSS, and key-resharing workflows were removed in v0.5.0 after their move to Ethereum.\"\n values.$implementation:\n- \"zama:0x3d345DFc156381E6060Cdf652cDf7f92DF94fAFF\"\n+ \"zama:0x68CEb7709aC1bcD60e36c4144a243A445A2cb076\"\n values.$pastUpgrades.3:\n+ [\"2026-08-06T17:11:04.000Z\",\"0x350755101263bed64dc377ef6f3ef07f95f97918b689967a60ee625d0d9e025c\",[\"zama:0x68CEb7709aC1bcD60e36c4144a243A445A2cb076\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.gatewayKmsGenThreshold:\n- 7\n values.gatewayKmsSigners:\n- [\"zama:0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f\",\"zama:0xdC472efa1642D5afB684aAaa546E22FB24AAB965\",\"zama:0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3\",\"zama:0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f\",\"zama:0x41b19EB4585450db79ac03ba9503106EC7895905\",\"zama:0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921\",\"zama:0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D\",\"zama:0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8\",\"zama:0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f\",\"zama:0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58\",\"zama:0x7C17BE232e5968BDa9516478B798b9E90D013fCC\",\"zama:0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385\",\"zama:0xB7978e602D2AF68258dA614AF949E014BF0DE0eb\"]\n values.gatewayKmsTxSenders:\n- [\"zama:0x711EBE8aA590f9C9904ff279239E89dB2eFbC890\",\"zama:0xB4CE988D382425F64c99A352375F72A5f1cf6FFB\",\"zama:0x4eC7200E392B97913cbD6d8160B011406EB019F1\",\"zama:0xEd1D622bd59d657580aBAc65312b40B4B2dA6236\",\"zama:0x74a1E2e87a4026b7B8b5252c747E514159515e9a\",\"zama:0x0e25B8DB74c754C8275C0B219ba2A6CD7c59E31D\",\"zama:0x577Fd21e4BC7D644A4177C4B89146e1Ab394De04\",\"zama:0xbaac6F9DD84bFB303F05B4DE45A88Eec86855BD0\",\"zama:0x43e4c21cf9d24Dc5b4e00031349EC213A2ba8340\",\"zama:0xC105B5933446658D226582f7A112F49a70b54364\",\"zama:0xbcF4943A856497FB2345409D35f4d1eae9A0363E\",\"zama:0xD227C4B573800EdA3bAdA6DAC872E9134E012e6D\",\"zama:0x487e41623b7FeB464ff79F7326DCa791c9a1c5EC\"]\n values.getActiveCrsId:\n- \"2261564242916331941866620800950935700259179388000792266395655937654553313281\"\n values.getActiveKeyId:\n- \"1809251394333065553493296640760748560207343510400633813116524750123642650625\"\n values.getVersion:\n- \"KMSGeneration v0.4.0\"\n+ \"KMSGeneration v0.5.0\"\n fieldMeta.gatewayConfig.description:\n- \"GatewayConfig contract used as the source of truth for the gateway owner, KMS set, and KMS generation threshold.\"\n+ \"GatewayConfig contract used as the source of truth for the gateway owner and for resolving KMS node storage URLs in historical material queries.\"\n fieldMeta.gatewayOwner.description:\n- \"Owner of GatewayConfig. This account authorizes KMSGeneration upgrades and can trigger key, CRS, PRSS, and key-resharing workflows.\"\n+ \"Owner of GatewayConfig. This account authorizes KMSGeneration upgrades.\"\n fieldMeta.gatewayKmsTxSenders:\n- {\"severity\":\"HIGH\",\"description\":\"KMS transaction-sender addresses configured in GatewayConfig. These accounts may submit preprocessing keygen, keygen, and CRS generation responses.\",\"type\":\"PERMISSION\"}\n fieldMeta.gatewayKmsSigners:\n- {\"severity\":\"HIGH\",\"description\":\"KMS signer addresses configured in GatewayConfig. Their EIP-712 signatures determine whether key and CRS generation responses reach threshold.\",\"type\":\"PERMISSION\"}\n fieldMeta.gatewayKmsGenThreshold:\n- {\"severity\":\"HIGH\",\"description\":\"Minimum number of matching KMS responses required before key or CRS generation reaches consensus.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.getActiveKeyId:\n- {\"severity\":\"HIGH\",\"description\":\"Identifier of the active FHE key generated through KMS consensus.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.getActiveCrsId:\n- {\"severity\":\"HIGH\",\"description\":\"Identifier of the active CRS generated through KMS consensus.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.eip712Domain.description:\n- \"EIP-712 domain used when validating KMS signatures over key-generation and CRS-generation responses.\"\n+ \"EIP-712 domain retained from the KMS generation workflows removed in v0.5.0.\"\n implementationNames.zama:0x3d345DFc156381E6060Cdf652cDf7f92DF94fAFF:\n- \"KMSGeneration\"\n implementationNames.zama:0x68CEb7709aC1bcD60e36c4144a243A445A2cb076:\n+ \"KMSGeneration\"\n }\n```\n\n```diff\n EOA (zama:0x41b19EB4585450db79ac03ba9503106EC7895905) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x43e4c21cf9d24Dc5b4e00031349EC213A2ba8340) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x487e41623b7FeB464ff79F7326DCa791c9a1c5EC) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x4eC7200E392B97913cbD6d8160B011406EB019F1) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x577Fd21e4BC7D644A4177C4B89146e1Ab394De04) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n contract SafeL2 (zama:0x5f0F86BcEad6976711C9B131bCa5D30E767fe2bE) [GnosisSafe] {\n +++ description: Gateway owner Safe. Its LayerZero governance module is outside the Zama Gateway protocol surface covered here.\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"start KMS key generation, CRS generation, PRSS initialization, and key resharing.\",\"role\":\".gatewayOwner\"}\n receivedPermissions.5.description:\n- \"create KMS contexts that immediately become current, update current thresholds and other gateway configuration, transfer ownership, and unpause gateway workflow contracts. Historical KMS contexts cannot be removed in this version.\"\n+ \"create KMS contexts that immediately become current, destroy historical KMS contexts, update thresholds of any live context, manage coprocessors, custodians and host chains, transfer ownership, and unpause gateway workflow contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x711EBE8aA590f9C9904ff279239E89dB2eFbC890) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x74a1E2e87a4026b7B8b5252c747E514159515e9a) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x7C17BE232e5968BDa9516478B798b9E90D013fCC) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0xB4CE988D382425F64c99A352375F72A5f1cf6FFB) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0xB7978e602D2AF68258dA614AF949E014BF0DE0eb) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0xbaac6F9DD84bFB303F05B4DE45A88Eec86855BD0) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0xbcF4943A856497FB2345409D35f4d1eae9A0363E) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0xC105B5933446658D226582f7A112F49a70b54364) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```\n\n```diff\n contract InputVerification (zama:0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287) [zama/InputVerification] {\n +++ description: Gateway contract that receives encrypted input verification requests from registered and enabled host chains, collects coprocessor responses, and emits a threshold-signed attestation once coprocessor consensus is reached. Ethereum InputVerifier verifies attestations against this contract's EIP-712 domain.\n sourceHashes.1:\n- \"0x52c38ce781ecef28b118222541c9b079f2ae7d6402452584e620e84ca347875f\"\n+ \"0x58bb055397e294a46ebccbc53c94bb2494bf05acd7ad77f2fb7cc46b3ef1eb92\"\n values.$implementation:\n- \"zama:0xA08c4367eB984945da2dad5BF7d94D1B2863197A\"\n+ \"zama:0xf9f0F5ef8301CF1573EBe0F45E13A4CabB621821\"\n values.$pastUpgrades.3:\n+ [\"2026-08-06T17:11:04.000Z\",\"0x350755101263bed64dc377ef6f3ef07f95f97918b689967a60ee625d0d9e025c\",[\"zama:0xf9f0F5ef8301CF1573EBe0F45E13A4CabB621821\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.getVersion:\n- \"InputVerification v0.3.0\"\n+ \"InputVerification v0.4.0\"\n implementationNames.zama:0xA08c4367eB984945da2dad5BF7d94D1B2863197A:\n- \"InputVerification\"\n implementationNames.zama:0xf9f0F5ef8301CF1573EBe0F45E13A4CabB621821:\n+ \"InputVerification\"\n }\n```\n\n```diff\n EOA (zama:0xD227C4B573800EdA3bAdA6DAC872E9134E012e6D) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```\n\n```diff\n contract CiphertextCommits (zama:0xd82cF70FC102028cd01acB87D0E107780ae4F41F) [zama/CiphertextCommits] {\n +++ description: Gateway contract that stores ciphertext and SNS ciphertext digests after coprocessor consensus, allowing decryption requests to reference committed ciphertext material. Digests referencing unregistered or disabled host chains are rejected.\n sourceHashes.1:\n- \"0x70a834887489420cb7ea7044739bcc74d735be01e262a27ea23132992d21a898\"\n+ \"0xa3aa22a184258ca16a5d83ce495ae0d307d4c5ec9fda8a7622d4f95728f4af03\"\n values.$implementation:\n- \"zama:0xC92f2dc7eF79728ed32e745020EF463270217e78\"\n+ \"zama:0xB373Ae42736E3C266D4A5D090c00c7f0Bda06622\"\n values.$pastUpgrades.3:\n+ [\"2026-08-06T17:11:04.000Z\",\"0x350755101263bed64dc377ef6f3ef07f95f97918b689967a60ee625d0d9e025c\",[\"zama:0xB373Ae42736E3C266D4A5D090c00c7f0Bda06622\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.getVersion:\n- \"CiphertextCommits v0.3.0\"\n+ \"CiphertextCommits v0.4.0\"\n implementationNames.zama:0xC92f2dc7eF79728ed32e745020EF463270217e78:\n- \"CiphertextCommits\"\n implementationNames.zama:0xB373Ae42736E3C266D4A5D090c00c7f0Bda06622:\n+ \"CiphertextCommits\"\n }\n```\n\n```diff\n EOA (zama:0xdC472efa1642D5afB684aAaa546E22FB24AAB965) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n contract GatewayConfig (zama:0xDE537Be194777A56f8B19d14079E6a78249390ab) [zama/GatewayConfig_v0_6_0] {\n +++ description: Central configuration contract for the Zama Gateway. A KMS context snapshots node transaction senders, signers, and workflow thresholds; the owner can create new contexts, retune the thresholds of any live context, and destroy non-current contexts, which immediately invalidates them for decryption. Registered host chains can be disabled, re-enabled, or removed by the owner.\n template:\n- \"zama/GatewayConfig_v0_5_0\"\n+ \"zama/GatewayConfig_v0_6_0\"\n sourceHashes.1:\n- \"0x1089121569189032b8cee0dae0c71eedecf7757f712a6d14ef684915093c6747\"\n+ \"0xe903576aaecdd97c5036c6bc029149a11b44484c78d9c6b0d802a882d4744597\"\n description:\n- \"Central configuration contract for the Zama Gateway. A KMS context snapshots node transaction senders, signers, and workflow thresholds; historical contexts remain stored and selectable by Decryption because this version has no context-destruction function.\"\n+ \"Central configuration contract for the Zama Gateway. A KMS context snapshots node transaction senders, signers, and workflow thresholds; the owner can create new contexts, retune the thresholds of any live context, and destroy non-current contexts, which immediately invalidates them for decryption. Registered host chains can be disabled, re-enabled, or removed by the owner.\"\n values.$implementation:\n- \"zama:0x2294E3C211238Ae31E2824576CCd7f996CC7Dc00\"\n+ \"zama:0x1950aD98e834f6c07553365196d4CddeD179c536\"\n values.$pastUpgrades.4:\n+ [\"2026-08-06T17:11:04.000Z\",\"0x350755101263bed64dc377ef6f3ef07f95f97918b689967a60ee625d0d9e025c\",[\"zama:0x1950aD98e834f6c07553365196d4CddeD179c536\"]]\n values.$upgradeCount:\n- 4\n+ 5\n+++ description: Registered host chains and their host-chain FHEVMExecutor and ACL endpoints. Returned addresses belong to the listed host chain, not to the gateway chain; Ethereum entries are exposed as formatted cross-chain references in ethereumHostChains.\n values.getHostChains.1:\n+ {\"chainId\":137,\"fhevmExecutorAddress\":\"zama:0xAB0075E77fe06083f52bdf10e2ccDB3712483057\",\"aclAddress\":\"zama:0x6737F17e31cf26a1b62fb0362acC5a16CB156F49\",\"name\":\"polygon\",\"website\":\"https://polygonscan.com\"}\n values.getVersion:\n- \"GatewayConfig v0.5.0\"\n+ \"GatewayConfig v0.6.0\"\n+++ description: KMS contexts destroyed by the owner. Destroyed contexts are invalid: their per-context getters revert, new requests cannot pin them, and pending requests pinned to them can no longer reach consensus.\n+++ severity: HIGH\n values.destroyedKmsContexts:\n+ []\n+++ description: Registered host chains currently disabled by the owner. Gateway workflows reject requests and ciphertext handles referencing disabled chains; a chain must be disabled before it can be removed.\n+++ severity: HIGH\n values.disabledHostChains:\n+ []\n fieldMeta.owner.description:\n- \"Owner of GatewayConfig. This account creates KMS contexts, changes the current context's thresholds, manages coprocessors, custodians and host chains, transfers ownership, and unpauses gateway contracts. A newly created context becomes current immediately, while all older contexts remain selectable by Decryption.\"\n+ \"Owner of GatewayConfig. This account creates and destroys KMS contexts, changes the thresholds of any live context, manages coprocessors, custodians and host chains (including disabling and removing them), transfers ownership, and unpauses gateway contracts. A newly created context becomes current immediately; older contexts remain selectable by Decryption requests until destroyed.\"\n fieldMeta.inputVerification.description:\n- \"InputVerification workflow contract paused and unpaused by GatewayConfig.\"\n+ \"InputVerification workflow contract paused and unpaused by GatewayConfig. Coprocessor set and threshold updates require this contract to be paused first.\"\n fieldMeta.ethereumHostChains.description:\n- \"Ethereum host-chain endpoints registered in GatewayConfig, derived from getHostChains entries with chainId 1. These are the L1 FHEVMExecutor and ACL contracts whose state is used by the Gateway workflows.\"\n+ \"Ethereum host-chain endpoints registered in GatewayConfig, derived from getHostChains entries with chainId 1. These are the L1 FHEVMExecutor and ACL contracts whose state is used by the Gateway workflows. Disabled-but-not-removed chains still appear here; see disabledHostChains.\"\n fieldMeta.getKmsTxSenders.description:\n- \"KMS transaction-sender addresses in the current Gateway context. Historical context senders remain authorized for Decryption responses that explicitly select their context; post-migration contexts are indexed here and the migrated context is indexed on Decryption.\"\n+ \"KMS transaction-sender addresses in the current Gateway context. Senders from other live contexts remain authorized for Decryption requests that pinned their context until the context is destroyed; post-migration contexts are indexed here and the migrated context is indexed on Decryption.\"\n fieldMeta.getKmsSigners.description:\n- \"KMS signer addresses in the current Gateway context. Historical context signers remain authorized for explicitly selected Decryption responses; post-migration contexts are indexed here and the migrated context is indexed on Decryption.\"\n+ \"KMS signer addresses in the current Gateway context. Signers from other live contexts remain authorized for Decryption requests that pinned their context until the context is destroyed; post-migration contexts are indexed here and the migrated context is indexed on Decryption.\"\n fieldMeta.createdKmsContexts.description:\n- \"KMS contexts created after migration, reconstructed from UpdateKmsContext events with their node set and creation thresholds. Nodes remain authorized for Decryption indefinitely; later threshold-update events do not identify a context, so final historical thresholds must be read through context-specific getters or project overrides.\"\n+ \"KMS contexts created after migration, reconstructed from UpdateKmsContext events with their node set and creation thresholds. Contexts stay selectable by Decryption requests until destroyed (see destroyedKmsContexts). Thresholds can be retuned per context after creation; current values must be read through context-specific getters or project overrides.\"\n fieldMeta.createdKmsContextTxSenders.description:\n- \"KMS transaction senders from contexts created after migration. They remain authorized for Decryption responses that select their context because GatewayConfig has no context-destruction function.\"\n+ \"KMS transaction senders from contexts created after migration. They remain authorized for Decryption requests that pinned their context until the owner destroys that context.\"\n fieldMeta.createdKmsContextSigners.description:\n- \"KMS signers from contexts created after migration. They remain authorized for Decryption responses that select their context because GatewayConfig has no context-destruction function.\"\n+ \"KMS signers from contexts created after migration. They remain authorized for Decryption requests that pinned their context until the owner destroys that context.\"\n fieldMeta.getMpcThreshold.description:\n- \"MPC threshold for KMS key material generation in the current context.\"\n+ \"MPC threshold for KMS key material generation in the current context. The owner can retune it per context.\"\n fieldMeta.getCurrentKmsContextId.description:\n- \"Identifier of the context used when a Decryption response has empty or version 0 extraData. Version 1 responses can explicitly select any historical context, and requests do not store or bind a context.\"\n+ \"Identifier of the context pinned by new Decryption requests whose extraData is empty or starts with version 0. Version 1 request extraData can explicitly pin any live context; responses must match the pinned context.\"\n fieldMeta.getPublicDecryptionThresholdForContext.description:\n- \"Minimum number of KMS signatures required for public decryption consensus in the current context.\"\n+ \"Minimum number of KMS signatures required for public decryption consensus in the current context. The owner can retune it per context.\"\n fieldMeta.getUserDecryptionThresholdForContext.description:\n- \"Minimum number of KMS shares required for user decryption consensus in the current context.\"\n+ \"Minimum number of KMS shares required for user decryption consensus in the current context. The owner can retune it per context.\"\n fieldMeta.getKmsGenThreshold.description:\n- \"Minimum number of KMS signatures required for key and CRS generation consensus in the current context.\"\n+ \"Minimum number of KMS signatures required for key and CRS generation consensus in the current context. Consumed by the Ethereum-side KMS generation since gateway KMSGeneration v0.5.0.\"\n fieldMeta.getCoprocessorMajorityThreshold.description:\n- \"Minimum number of matching coprocessor messages required for gateway coprocessor consensus.\"\n+ \"Minimum number of matching coprocessor messages required for gateway coprocessor consensus. Updates require InputVerification to be paused first.\"\n fieldMeta.destroyedKmsContexts:\n+ {\"severity\":\"HIGH\",\"description\":\"KMS contexts destroyed by the owner. Destroyed contexts are invalid: their per-context getters revert, new requests cannot pin them, and pending requests pinned to them can no longer reach consensus.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.disabledHostChains:\n+ {\"severity\":\"HIGH\",\"description\":\"Registered host chains currently disabled by the owner. Gateway workflows reject requests and ciphertext handles referencing disabled chains; a chain must be disabled before it can be removed.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.zama:0x2294E3C211238Ae31E2824576CCd7f996CC7Dc00:\n- \"GatewayConfig\"\n implementationNames.zama:0x1950aD98e834f6c07553365196d4CddeD179c536:\n+ \"GatewayConfig\"\n }\n```\n\n```diff\n EOA (zama:0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"sign KMS key-generation and CRS-generation material accepted by KMSGeneration.\",\"role\":\".gatewayKmsSigners\"}\n receivedPermissions.2.description:\n- \"sign KMS decryption, key-generation, and CRS-generation material accepted by gateway contracts.\"\n+ \"sign KMS decryption material accepted by gateway contracts.\"\n }\n```\n\n```diff\n EOA (zama:0xEd1D622bd59d657580aBAc65312b40B4B2dA6236) {\n +++ description: None\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3\",\"description\":\"submit KMS key-generation and CRS-generation responses to KMSGeneration.\",\"role\":\".gatewayKmsTxSenders\"}\n receivedPermissions.2.description:\n- \"submit KMS decryption, key-generation, and CRS-generation responses to gateway contracts.\"\n+ \"submit KMS decryption responses to gateway contracts.\"\n }\n```"
}
]
},
{
"id": "5006fa4b",
"date": "Tue, 04 Aug 2026 13:19:56 GMT",
"timestamp": 1785844532,
"description": "ZamaGovMultisigB executed a proposal rotating two ZamaGovMultisigA members while preserving its 9-of-17 threshold.",
"isHighSeverity": false,
"changeCount": 5,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract ZamaGovMultisigA (eth:0xE43c73aAb2b6aBBad6d0461997ce1cfea5ABe66f) [zama/Multisig] {\n +++ description: Aragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n+++ description: Current multisig members reconstructed from MembersAdded and MembersRemoved events.\n values.$members.5:\n- \"eth:0x32f3D0D7E20Ca11Cad21f32Dad91506ea89f5897\"\n+++ description: Current multisig members reconstructed from MembersAdded and MembersRemoved events.\n values.$members.6:\n- \"eth:0xE53e32a669357Ab0360103d8f294812B914AF9e4\"\n+++ description: Current multisig members reconstructed from MembersAdded and MembersRemoved events.\n values.$members.15:\n+ \"eth:0xc49376C4D044011eEce6eE69eFAe06f0Cc2bd008\"\n+++ description: Current multisig members reconstructed from MembersAdded and MembersRemoved events.\n values.$members.16:\n+ \"eth:0x27B1c34F2aeEc91F9704BD1CE288E5c667F29045\"\n }\n```\n\n```diff\n- Status: DELETED\n contract Safe (eth:0xE53e32a669357Ab0360103d8f294812B914AF9e4) [GnosisSafe]\n +++ description: None\n```"
}
]
},
{
"id": "6f7f151a",
"date": "Thu, 23 Jul 2026 14:09:37 GMT",
"timestamp": 1784815701,
"description": "The Safe signer set changed from 2-of-3 to 3-of-5, removing two signers and adding four.",
"isHighSeverity": false,
"changeCount": 7,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n EOA (eth:0x4202860Fa6afAF3e2977cD139Ac693a05e4f9450)\n +++ description: None\n```\n\n```diff\n contract Safe (eth:0x69E55790880d0ABa56E48Ee1f7fc3834b0F5c223) [GnosisSafe] {\n +++ description: None\n values.$members.0:\n+ \"eth:0x5e4f2616AA570d60EC6D7BBF08D070fb81353553\"\n values.$members.1:\n+ \"eth:0x1E3eafD783D47c36dC5CD529721E6cc16456Cc0F\"\n values.$members.1:\n- \"eth:0x7df0Fe803832BB3Ca8906a6e49968C2421C1aE9B\"\n+ \"eth:0x0BBc1d7ceB10a0a00dD3aeBcA37e85D60d4a1103\"\n values.$members.2:\n- \"eth:0x4202860Fa6afAF3e2977cD139Ac693a05e4f9450\"\n+ \"eth:0xFa4902732675Ee16a508487E4fDcb910fFb00A20\"\n values.$threshold:\n- 2\n+ 3\n values.multisigThreshold:\n- \"2 of 3 (67%)\"\n+ \"3 of 5 (60%)\"\n }\n```"
}
]
},
{
"id": "8b5b9a0a",
"date": "Mon, 13 Jul 2026 09:17:17 GMT",
"timestamp": 1783927795,
"description": "Introduces KMS signer set rotation on Ethereum and the Gateway: each signer set is called a context and is valid and retains all permissions until specifically invalidated ('destroyed'). HCULimit adds per-transaction and per-block caps plus a bypass whitelist.",
"isHighSeverity": true,
"changeCount": 112,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract HCULimit (eth:0x3b4da65e45Fda2CAa0285A735ab4361a44F171E2) [zama/ZamaHCULimit_v0_2_0] {\n +++ description: Tracks and enforces per-transaction and per-block homomorphic computation unit limits for FHEVM operation requests.\n template:\n- \"zama/ZamaHCULimit\"\n+ \"zama/ZamaHCULimit_v0_2_0\"\n sourceHashes.1:\n- \"0xb4b32e3ee98a51750d9ec0af3a9c599dbb6e097cdf4f55f37e198a75f0f2e5eb\"\n+ \"0xc52e1b93c97602e6da1f1925e14fc5454426a778875655ec17910be5e217b98e\"\n description:\n- \"Tracks and enforces homomorphic computation unit limits for FHEVM operation requests.\"\n+ \"Tracks and enforces per-transaction and per-block homomorphic computation unit limits for FHEVM operation requests.\"\n values.$implementation:\n- \"eth:0x4E4329F10f7EE88a5dDB13716B8bE00c077CBeb6\"\n+ \"eth:0x0F2B7e8F19ADc874F21e27ADAA4B22FC00a0B442\"\n values.$pastUpgrades.2:\n+ [\"2026-07-10T08:34:11.000Z\",\"0xec2212fb2d35b72388507e5fe9c218c97512b943b5f28cedbfba35b7ac9bd224\",[\"eth:0x0F2B7e8F19ADc874F21e27ADAA4B22FC00a0B442\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.getVersion:\n- \"HCULimit v0.1.0\"\n+ \"HCULimit v0.2.0\"\n+++ description: Callers that bypass the global per-block HCU cap, reconstructed from whitelist events.\n+++ severity: HIGH\n values.blockHCUWhitelist:\n+ []\n+++ description: Maximum HCU consumed by non-whitelisted callers in one block.\n+++ severity: HIGH\n values.getGlobalHCUCapPerBlock:\n+ 281474976710655\n+++ description: Maximum sequential HCU depth allowed in one transaction.\n+++ severity: HIGH\n values.getMaxHCUDepthPerTx:\n+ 5000000\n+++ description: Maximum total HCU allowed in one transaction.\n+++ severity: HIGH\n values.getMaxHCUPerTx:\n+ 20000000\n fieldMeta.getGlobalHCUCapPerBlock:\n+ {\"severity\":\"HIGH\",\"description\":\"Maximum HCU consumed by non-whitelisted callers in one block.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.getMaxHCUDepthPerTx:\n+ {\"severity\":\"HIGH\",\"description\":\"Maximum sequential HCU depth allowed in one transaction.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.getMaxHCUPerTx:\n+ {\"severity\":\"HIGH\",\"description\":\"Maximum total HCU allowed in one transaction.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.blockHCUWhitelist:\n+ {\"severity\":\"HIGH\",\"description\":\"Callers that bypass the global per-block HCU cap, reconstructed from whitelist events.\",\"type\":\"PERMISSION\"}\n fieldMeta.getBlockMeter:\n+ {\"description\":\"HCU consumed by non-whitelisted callers in the current block.\"}\n implementationNames.eth:0x4E4329F10f7EE88a5dDB13716B8bE00c077CBeb6:\n- \"HCULimit\"\n implementationNames.eth:0x0F2B7e8F19ADc874F21e27ADAA4B22FC00a0B442:\n+ \"HCULimit\"\n }\n```\n\n```diff\n contract KMSVerifier (eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03) [zama/ZamaKMSVerifier_v0_2_0] {\n +++ description: Ethereum host-chain verifier for public decryption results produced through the Zama Gateway Decryption contract. Confidential token wrappers accept a decrypted value when it is signed by the threshold of the current or any retained non-destroyed KMS context.\n template:\n- \"zama/ZamaKMSVerifier\"\n+ \"zama/ZamaKMSVerifier_v0_2_0\"\n sourceHashes.1:\n- \"0xe6773e8f1549070f8e0fcae01d4bcf98332a43c1b6f2d4eca1a108295c327d8e\"\n+ \"0xa40292fe461810a065f80e305f6b85ab3ca2cfd416dc965d4791a111554cf638\"\n description:\n- \"Ethereum host-chain verifier for public decryption results produced through the Zama Gateway Decryption contract. Confidential token wrappers use it before accepting decrypted values.\"\n+ \"Ethereum host-chain verifier for public decryption results produced through the Zama Gateway Decryption contract. Confidential token wrappers accept a decrypted value when it is signed by the threshold of the current or any retained non-destroyed KMS context.\"\n values.$implementation:\n- \"eth:0x8210A6c69FAc2e9856C7a19Ee70b26cFa3A4F0E2\"\n+ \"eth:0xd0d0C7E1bc1E2F6Cd00E3b4B1083DdD9969155FD\"\n values.$pastUpgrades.2:\n+ [\"2026-07-10T08:34:11.000Z\",\"0xec2212fb2d35b72388507e5fe9c218c97512b943b5f28cedbfba35b7ac9bd224\",[\"eth:0xd0d0C7E1bc1E2F6Cd00E3b4B1083DdD9969155FD\"]]\n values.$upgradeCount:\n- 2\n+ 3\n values.getVersion:\n- \"KMSVerifier v0.1.0\"\n+ \"KMSVerifier v0.2.0\"\n+++ description: Non-destroyed KMS contexts created after the v0.2 migration, reconstructed from context creation and destruction events. Each context is an immutable signer and threshold snapshot that can attest results for any ciphertext handle; it is not scoped to ciphertext age or key ID.\n+++ severity: HIGH\n values.createdKmsContexts:\n+ []\n+++ description: Identifier of the context used when proof extraData is empty or starts with version 0. Version 1 extraData can explicitly select any non-destroyed historical context, including for ciphertexts created after that context was superseded.\n+++ severity: HIGH\n values.getCurrentKmsContextId:\n+ \"3166189940082864718613269121331309980362851143201109172953918312716374638593\"\n+++ description: Identifier of the first v0.2 KMS context created from the source-defined context counter during initialization or migration.\n+++ severity: HIGH\n values.initialKmsContextId:\n+ \"3166189940082864718613269121331309980362851143201109172953918312716374638593\"\n+++ description: Signers in the first v0.2 KMS context. This code-defined context remains authorized for public decryption proofs after later rotations unless the ACL owner explicitly destroys it.\n+++ severity: HIGH\n values.initialKmsContextSigners:\n+ [\"eth:0xe9f7ecfF21a2e0Ca58eA26ae869FEF38ab49ed6f\",\"eth:0xdC472efa1642D5afB684aAaa546E22FB24AAB965\",\"eth:0xbf05c17BEB0BF2F2c78Cd491A53a148e035279C3\",\"eth:0x915055c5F05C0d88BCdf1e3DfBA18aBD2a18350f\",\"eth:0x41b19EB4585450db79ac03ba9503106EC7895905\",\"eth:0x6e5f02Cd4B33f0Cf4ED5326ac9eE25e5aA8c4921\",\"eth:0x966188a1f697F6A1B5cfA51495DD8A8A7b5CdB8D\",\"eth:0x5d0e7033774dD43eE546D49b72Bd0B561E52f7C8\",\"eth:0xDFc9Dcb3D206AA164770874f36a4B5AD2EE5194f\",\"eth:0x7C5Eeb4D8CED0101799B8Cc212eE874097364F58\",\"eth:0x7C17BE232e5968BDa9516478B798b9E90D013fCC\",\"eth:0x6016DCA5e91e62826e3FEA1Fb0a763602dc1E385\",\"eth:0xB7978e602D2AF68258dA614AF949E014BF0DE0eb\"]\n fieldMeta.aclOwner.description:\n- \"Owner of the Zama ACL contract. This account is authorized by onlyACLOwner to rotate the KMS signer set and threshold.\"\n+ \"Owner of the Zama ACL contract. This account can create a new KMS signer context that immediately becomes the default verifier authority, and can destroy any non-current context.\"\n fieldMeta.getKmsSigners.description:\n- \"KMS signers accepted by KMSVerifier. The threshold number of these signers must sign public decryption results for the Gateway Decryption EIP-712 domain before wrappers accept the decrypted values.\"\n+ \"KMS signers in the current context. Permission coverage is also indexed through initialKmsContextSigners and createdKmsContexts so superseded contexts remain visible.\"\n fieldMeta.getThreshold.description:\n- \"Minimum number of configured KMS signer signatures required to accept a public decryption result.\"\n+ \"Minimum number of KMS signatures from the current context required to accept a public decryption result. Retained contexts keep their own immutable thresholds.\"\n fieldMeta.initialKmsContextId:\n+ {\"severity\":\"HIGH\",\"description\":\"Identifier of the first v0.2 KMS context created from the source-defined context counter during initialization or migration.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.initialKmsContextSigners:\n+ {\"severity\":\"HIGH\",\"description\":\"Signers in the first v0.2 KMS context. This code-defined context remains authorized for public decryption proofs after later rotations unless the ACL owner explicitly destroys it.\",\"type\":\"PERMISSION\"}\n fieldMeta.createdKmsContexts:\n+ {\"severity\":\"HIGH\",\"description\":\"Non-destroyed KMS contexts created after the v0.2 migration, reconstructed from context creation and destruction events. Each context is an immutable signer and threshold snapshot that can attest results for any ciphertext handle; it is not scoped to ciphertext age or key ID.\",\"type\":\"PERMISSION\"}\n fieldMeta.getCurrentKmsContextId:\n+ {\"severity\":\"HIGH\",\"description\":\"Identifier of the context used when proof extraData is empty or starts with version 0. Version 1 extraData can explicitly select any non-destroyed historical context, including for ciphertexts created after that context was superseded.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.eth:0x8210A6c69FAc2e9856C7a19Ee70b26cFa3A4F0E2:\n- \"KMSVerifier\"\n implementationNames.eth:0xd0d0C7E1bc1E2F6Cd00E3b4B1083DdD9969155FD:\n+ \"KMSVerifier\"\n }\n```\n\n```diff\n contract DAO (eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3) [zama/ZamaDAO] {\n +++ description: Aragon DAO that stores governance state and executes proposal action batches.\n directlyReceivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x3b4da65e45Fda2CAa0285A735ab4361a44F171E2\",\"description\":\"change the per-block and per-transaction HCU limits and manage callers that bypass the per-block limit.\",\"role\":\".aclOwner\"}\n directlyReceivedPermissions.4.description:\n- \"set the KMS signer set and signature threshold used for public decryption verification.\"\n+ \"create KMS signer contexts with arbitrary signer sets and thresholds, and destroy non-current contexts. A malicious context can attest an inflated unwrap amount and drain pooled wrapper backing.\"\n directlyReceivedPermissions.14.description:\n- \"transfer ACL ownership, unpause the ACL, block or unblock accounts, manage PauserSet membership, and update Zama verifier signer sets and thresholds.\"\n+ \"transfer ACL ownership, unpause the ACL, block or unblock accounts, manage PauserSet membership, and create or destroy KMSVerifier signer contexts.\"\n }\n```\n\n```diff\n contract ZamaGovMultisigB (eth:0xBc860b6a4C860C5424B84A056E53ACFb2C99a38F) [zama/Multisig] {\n +++ description: Aragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x3b4da65e45Fda2CAa0285A735ab4361a44F171E2\",\"description\":\"change the per-block and per-transaction HCU limits and manage callers that bypass the per-block limit.\",\"role\":\".aclOwner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.4.description:\n- \"set the KMS signer set and signature threshold used for public decryption verification.\"\n+ \"create KMS signer contexts with arbitrary signer sets and thresholds, and destroy non-current contexts. A malicious context can attest an inflated unwrap amount and drain pooled wrapper backing.\"\n receivedPermissions.16.description:\n- \"transfer ACL ownership, unpause the ACL, block or unblock accounts, manage PauserSet membership, and update Zama verifier signer sets and thresholds.\"\n+ \"transfer ACL ownership, unpause the ACL, block or unblock accounts, manage PauserSet membership, and create or destroy KMSVerifier signer contexts.\"\n }\n```\n\n```diff\n contract ACL (eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6) [zama/ZamaACL_v0_3_0] {\n +++ description: Ethereum host-chain access-control registry for encrypted handles, storing handle allowances and delegation state for ciphertext references. Its public-decryption and user-delegation events are mirrored into the Gateway MultichainACL by coprocessor consensus.\n template:\n- \"zama/ZamaACL\"\n+ \"zama/ZamaACL_v0_3_0\"\n sourceHashes.1:\n- \"0x5f835dee1c2a2676dc34ff636b1df73f1fe8b58073069d0a8df7687cd834f35f\"\n+ \"0x47f47986a3024b31fa3caee357720f4fba4ea3fae419ff53eebe1a66e87d69ef\"\n values.$implementation:\n- \"eth:0x96B171e4f8eCda0FFdD128b319Fa185b14f99D76\"\n+ \"eth:0x3F6D970d30E1FFE9657aa8072C82dA10eef1c3D6\"\n values.$pastUpgrades.3:\n+ [\"2026-07-10T08:34:11.000Z\",\"0xec2212fb2d35b72388507e5fe9c218c97512b943b5f28cedbfba35b7ac9bd224\",[\"eth:0x3F6D970d30E1FFE9657aa8072C82dA10eef1c3D6\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.getVersion:\n- \"ACL v0.2.0\"\n+ \"ACL v0.3.0\"\n implementationNames.eth:0x96B171e4f8eCda0FFdD128b319Fa185b14f99D76:\n- \"ACL\"\n implementationNames.eth:0x3F6D970d30E1FFE9657aa8072C82dA10eef1c3D6:\n+ \"ACL\"\n }\n```\n\n```diff\n contract FHEVMExecutor (eth:0xD82385dADa1ae3E969447f20A3164F6213100e75) [zama/ZamaFHEVMExecutor_v0_3_0] {\n +++ description: FHEVM executor that accepts encrypted operation requests, accounts for computation usage, and stores ciphertext handles for operation results.\n template:\n- \"zama/ZamaFHEVMExecutor\"\n+ \"zama/ZamaFHEVMExecutor_v0_3_0\"\n sourceHashes.1:\n- \"0xc3b56811670be45b7f1aac864be6855e3875c8e449c2fe3cbb540143f0dacddb\"\n+ \"0xf475718e9125acfc2f69d3c9cca8cedb9a15c644da7490f7f5fe0ae2690a77cc\"\n values.$implementation:\n- \"eth:0xde3624dA8d9c45B57674cA0AcAC40630682211bb\"\n+ \"eth:0xC38aAfCBB73Fd4bd6f995275079C4Add9C1687E5\"\n values.$pastUpgrades.3:\n+ [\"2026-07-10T08:34:11.000Z\",\"0xec2212fb2d35b72388507e5fe9c218c97512b943b5f28cedbfba35b7ac9bd224\",[\"eth:0xC38aAfCBB73Fd4bd6f995275079C4Add9C1687E5\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.getVersion:\n- \"FHEVMExecutor v0.2.0\"\n+ \"FHEVMExecutor v0.3.0\"\n fieldMeta.getHCULimitAddress.description:\n- \"HCULimit contract used to account for homomorphic computation units consumed by encrypted operations.\"\n+ \"HCULimit contract used to account for homomorphic computation units consumed by encrypted operations for the original external caller.\"\n fieldMeta.getHandleVersion.description:\n- \"Current ciphertext handle version emitted by the executor.\"\n+ \"Current ciphertext handle version emitted by the executor. Version 1 result handles include operation-specific domain separation and block context in their derivation.\"\n implementationNames.eth:0xde3624dA8d9c45B57674cA0AcAC40630682211bb:\n- \"FHEVMExecutor\"\n implementationNames.eth:0xC38aAfCBB73Fd4bd6f995275079C4Add9C1687E5:\n+ \"FHEVMExecutor\"\n }\n```\n\n```diff\n contract ZamaGovMultisigA (eth:0xE43c73aAb2b6aBBad6d0461997ce1cfea5ABe66f) [zama/Multisig] {\n +++ description: Aragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"eth:0x3b4da65e45Fda2CAa0285A735ab4361a44F171E2\",\"description\":\"change the per-block and per-transaction HCU limits and manage callers that bypass the per-block limit.\",\"role\":\".aclOwner\",\"via\":[{\"address\":\"eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3\"}]}\n receivedPermissions.4.description:\n- \"set the KMS signer set and signature threshold used for public decryption verification.\"\n+ \"create KMS signer contexts with arbitrary signer sets and thresholds, and destroy non-current contexts. A malicious context can attest an inflated unwrap amount and drain pooled wrapper backing.\"\n receivedPermissions.16.description:\n- \"transfer ACL ownership, unpause the ACL, block or unblock accounts, manage PauserSet membership, and update Zama verifier signer sets and thresholds.\"\n+ \"transfer ACL ownership, unpause the ACL, block or unblock accounts, manage PauserSet membership, and create or destroy KMSVerifier signer contexts.\"\n }\n```\n\n```diff\n contract Decryption (zama:0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24) [zama/Decryption_v0_4_0] {\n +++ description: Gateway contract that orchestrates public and user decryption requests and checks committed ciphertext material. Each response independently selects a KMS context through extraData, or uses the context current when the response executes; requests do not store a context. KMS nodes enforce host-chain ACL state offchain, and Ethereum KMSVerifier verifies public results against this contract's EIP-712 domain.\n template:\n- \"zama/Decryption\"\n+ \"zama/Decryption_v0_4_0\"\n sourceHashes.1:\n- \"0xd2e9269a1dc3580af2eaa84178722c052767a5d174734ececeddeea5bacd1929\"\n+ \"0xcd821ac822a19a355acde1dd7ce435e2a6e16e21017756b899c058ee64552e28\"\n description:\n- \"Gateway contract that orchestrates public and user decryption requests, checks mirrored host-chain ACL state, collects KMS responses, and emits results once the configured KMS threshold is reached. Ethereum KMSVerifier verifies public decryption results against this contract's EIP-712 domain.\"\n+ \"Gateway contract that orchestrates public and user decryption requests and checks committed ciphertext material. Each response independently selects a KMS context through extraData, or uses the context current when the response executes; requests do not store a context. KMS nodes enforce host-chain ACL state offchain, and Ethereum KMSVerifier verifies public results against this contract's EIP-712 domain.\"\n values.$implementation:\n- \"zama:0xe691cE3d7a71E2eC9E96AF5bdD263FfEB124F8dE\"\n+ \"zama:0x943CEfD1A00d3ae5b298bB10D4EddA09B279C8B0\"\n values.$pastUpgrades.3:\n+ [\"2026-07-10T08:15:40.000Z\",\"0x5d63d8d9bf4790e7169cd1d6c440262aad29368190932f823377df311f389217\",[\"zama:0x943CEfD1A00d3ae5b298bB10D4EddA09B279C8B0\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.getVersion:\n- \"Decryption v0.3.0\"\n+ \"Decryption v0.4.0\"\n+++ description: Current GatewayConfig KMS context used by responses whose extraData is empty or starts with version 0. Requests do not bind this value, so a rotation can change the context used to answer an already pending request.\n+++ severity: HIGH\n values.gatewayKmsContextId:\n+ \"3166189940082864718613269121331309980362851143201109172953918312716374638593\"\n fieldMeta.gatewayMultichainACL.description:\n- \"MultichainACL contract containing the gateway-side ACL mirror checked before public or user decryptions are accepted.\"\n+ \"MultichainACL contract containing the gateway-side host-chain ACL mirror. The upgraded Decryption contract no longer checks it onchain and relies on KMS nodes to enforce ACL state.\"\n fieldMeta.gatewayKmsTxSenders.description:\n- \"KMS transaction-sender addresses configured in GatewayConfig. These accounts may submit signed public decryption results and user decryption shares.\"\n+ \"KMS transaction-sender addresses configured in the current GatewayConfig context. Historical context senders can also submit responses when response extraData explicitly selects their retained context. Post-migration contexts are indexed on GatewayConfig; migration-created membership requires a project override because no creation event was emitted.\"\n fieldMeta.gatewayKmsSigners.description:\n- \"KMS signer addresses configured in GatewayConfig. Their EIP-712 signatures determine whether public decryption results and user decryption shares reach threshold.\"\n+ \"KMS signer addresses configured in the current GatewayConfig context. Historical context signers can also sign responses when response extraData explicitly selects their retained context. Post-migration contexts are indexed on GatewayConfig; migration-created membership requires a project override because no creation event was emitted.\"\n fieldMeta.gatewayPublicDecryptionThreshold.description:\n- \"Minimum number of matching KMS signatures required before a public decryption result is emitted.\"\n+ \"Minimum matching-signature count for the current context. Public responses are grouped by a digest containing raw extraData; identical empty or version 0 extraData can accumulate responses across a context rotation while the last response selects the threshold checked.\"\n fieldMeta.gatewayUserDecryptionThreshold.description:\n- \"Minimum number of KMS shares required before a user decryption request is considered threshold-reached.\"\n+ \"Minimum response count for the current context. User response counts are stored per request rather than per context, so valid shares submitted under different contexts can be combined and the last response selects the threshold checked.\"\n fieldMeta.gatewayKmsContextId:\n+ {\"severity\":\"HIGH\",\"description\":\"Current GatewayConfig KMS context used by responses whose extraData is empty or starts with version 0. Requests do not bind this value, so a rotation can change the context used to answer an already pending request.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.zama:0xe691cE3d7a71E2eC9E96AF5bdD263FfEB124F8dE:\n- \"Decryption\"\n implementationNames.zama:0x943CEfD1A00d3ae5b298bB10D4EddA09B279C8B0:\n+ \"Decryption\"\n }\n```\n\n```diff\n contract SafeL2 (zama:0x5f0F86BcEad6976711C9B131bCa5D30E767fe2bE) [GnosisSafe] {\n +++ description: Gateway owner Safe. Its LayerZero governance module is outside the Zama Gateway protocol surface covered here.\n receivedPermissions.5.description:\n- \"update KMS, coprocessor, custodian, host-chain, and threshold configuration, transfer GatewayConfig ownership, and unpause gateway workflow contracts.\"\n+ \"create KMS contexts that immediately become current, update current thresholds and other gateway configuration, transfer ownership, and unpause gateway workflow contracts. Historical KMS contexts cannot be removed in this version.\"\n }\n```\n\n```diff\n contract GatewayConfig (zama:0xDE537Be194777A56f8B19d14079E6a78249390ab) [zama/GatewayConfig_v0_5_0] {\n +++ description: Central configuration contract for the Zama Gateway. A KMS context snapshots node transaction senders, signers, and workflow thresholds; historical contexts remain stored and selectable by Decryption because this version has no context-destruction function.\n template:\n- \"zama/GatewayConfig\"\n+ \"zama/GatewayConfig_v0_5_0\"\n sourceHashes.1:\n- \"0x40662103941fd76e1fc3b63e38f9036b39d3394d96fe2c46db9640bcbbc76d4b\"\n+ \"0x1089121569189032b8cee0dae0c71eedecf7757f712a6d14ef684915093c6747\"\n description:\n- \"Central configuration contract for the Zama Gateway. It stores the KMS, coprocessor, custodian, host-chain, pauser, and consensus-threshold configuration used by the gateway workflow contracts.\"\n+ \"Central configuration contract for the Zama Gateway. A KMS context snapshots node transaction senders, signers, and workflow thresholds; historical contexts remain stored and selectable by Decryption because this version has no context-destruction function.\"\n values.$implementation:\n- \"zama:0xDa97dfc327349F7C1333610C80cc20971eD0eb0f\"\n+ \"zama:0x2294E3C211238Ae31E2824576CCd7f996CC7Dc00\"\n values.$pastUpgrades.3:\n+ [\"2026-07-10T08:15:40.000Z\",\"0x5d63d8d9bf4790e7169cd1d6c440262aad29368190932f823377df311f389217\",[\"zama:0x2294E3C211238Ae31E2824576CCd7f996CC7Dc00\"]]\n values.$upgradeCount:\n- 3\n+ 4\n values.getPublicDecryptionThreshold:\n- 7\n values.getUserDecryptionThreshold:\n- 9\n values.getVersion:\n- \"GatewayConfig v0.4.0\"\n+ \"GatewayConfig v0.5.0\"\n+++ description: KMS contexts created after migration, reconstructed from UpdateKmsContext events with their node set and creation thresholds. Nodes remain authorized for Decryption indefinitely; later threshold-update events do not identify a context, so final historical thresholds must be read through context-specific getters or project overrides.\n+++ severity: HIGH\n values.createdKmsContexts:\n+ []\n+++ description: KMS signers from contexts created after migration. They remain authorized for Decryption responses that select their context because GatewayConfig has no context-destruction function.\n+++ severity: HIGH\n values.createdKmsContextSigners:\n+ []\n+++ description: KMS transaction senders from contexts created after migration. They remain authorized for Decryption responses that select their context because GatewayConfig has no context-destruction function.\n+++ severity: HIGH\n values.createdKmsContextTxSenders:\n+ []\n+++ description: Identifier of the context used when a Decryption response has empty or version 0 extraData. Version 1 responses can explicitly select any historical context, and requests do not store or bind a context.\n+++ severity: HIGH\n values.getCurrentKmsContextId:\n+ \"3166189940082864718613269121331309980362851143201109172953918312716374638593\"\n+++ description: Minimum number of KMS signatures required for public decryption consensus in the current context.\n+++ severity: HIGH\n values.getPublicDecryptionThresholdForContext:\n+ 7\n+++ description: Minimum number of KMS shares required for user decryption consensus in the current context.\n+++ severity: HIGH\n values.getUserDecryptionThresholdForContext:\n+ 9\n fieldMeta.owner.description:\n- \"Owner of GatewayConfig. This account manages KMS nodes, coprocessors, custodians, host chains, consensus thresholds, ownership, and gateway unpausing.\"\n+ \"Owner of GatewayConfig. This account creates KMS contexts, changes the current context's thresholds, manages coprocessors, custodians and host chains, transfers ownership, and unpauses gateway contracts. A newly created context becomes current immediately, while all older contexts remain selectable by Decryption.\"\n fieldMeta.getKmsTxSenders.description:\n- \"KMS transaction-sender addresses registered for this gateway. These accounts submit KMS responses to gateway contracts.\"\n+ \"KMS transaction-sender addresses in the current Gateway context. Historical context senders remain authorized for Decryption responses that explicitly select their context; post-migration contexts are indexed here and the migrated context is indexed on Decryption.\"\n fieldMeta.getKmsSigners.description:\n- \"KMS signer addresses registered for this gateway. Thresholds over these signers secure public and user decryption, key generation, and CRS generation.\"\n+ \"KMS signer addresses in the current Gateway context. Historical context signers remain authorized for explicitly selected Decryption responses; post-migration contexts are indexed here and the migrated context is indexed on Decryption.\"\n fieldMeta.getMpcThreshold.description:\n- \"MPC threshold for KMS key material generation.\"\n+ \"MPC threshold for KMS key material generation in the current context.\"\n fieldMeta.getPublicDecryptionThreshold:\n- {\"severity\":\"HIGH\",\"description\":\"Minimum number of KMS signatures required for public decryption consensus.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.getUserDecryptionThreshold:\n- {\"severity\":\"HIGH\",\"description\":\"Minimum number of KMS shares required for user decryption consensus.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.getKmsGenThreshold.description:\n- \"Minimum number of KMS signatures required for key and CRS generation consensus.\"\n+ \"Minimum number of KMS signatures required for key and CRS generation consensus in the current context.\"\n fieldMeta.createdKmsContexts:\n+ {\"severity\":\"HIGH\",\"description\":\"KMS contexts created after migration, reconstructed from UpdateKmsContext events with their node set and creation thresholds. Nodes remain authorized for Decryption indefinitely; later threshold-update events do not identify a context, so final historical thresholds must be read through context-specific getters or project overrides.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.createdKmsContextTxSenders:\n+ {\"severity\":\"HIGH\",\"description\":\"KMS transaction senders from contexts created after migration. They remain authorized for Decryption responses that select their context because GatewayConfig has no context-destruction function.\",\"type\":\"PERMISSION\"}\n fieldMeta.createdKmsContextSigners:\n+ {\"severity\":\"HIGH\",\"description\":\"KMS signers from contexts created after migration. They remain authorized for Decryption responses that select their context because GatewayConfig has no context-destruction function.\",\"type\":\"PERMISSION\"}\n fieldMeta.getCurrentKmsContextId:\n+ {\"severity\":\"HIGH\",\"description\":\"Identifier of the context used when a Decryption response has empty or version 0 extraData. Version 1 responses can explicitly select any historical context, and requests do not store or bind a context.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.getPublicDecryptionThresholdForContext:\n+ {\"severity\":\"HIGH\",\"description\":\"Minimum number of KMS signatures required for public decryption consensus in the current context.\",\"type\":\"RISK_PARAMETER\"}\n fieldMeta.getUserDecryptionThresholdForContext:\n+ {\"severity\":\"HIGH\",\"description\":\"Minimum number of KMS shares required for user decryption consensus in the current context.\",\"type\":\"RISK_PARAMETER\"}\n implementationNames.zama:0xDa97dfc327349F7C1333610C80cc20971eD0eb0f:\n- \"GatewayConfig\"\n implementationNames.zama:0x2294E3C211238Ae31E2824576CCd7f996CC7Dc00:\n+ \"GatewayConfig\"\n }\n```"
}
]
},
{
"id": "06106975",
"date": "Mon, 29 Jun 2026 15:21:07 GMT",
"timestamp": 1782746392,
"description": "Initial discovery.",
"isHighSeverity": false,
"changeCount": 37,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract ZamaGovMemberDAO (eth:0x31bBD7a242A38372DE92CA304fE29C12C90A382C) [zama/ZamaDAO]\n +++ description: Aragon DAO that stores governance state and executes proposal action batches.\n```\n\n```diff\n+ Status: CREATED\n contract HCULimit (eth:0x3b4da65e45Fda2CAa0285A735ab4361a44F171E2) [zama/ZamaHCULimit]\n +++ description: Tracks and enforces homomorphic computation unit limits for FHEVM operation requests.\n```\n\n```diff\n+ Status: CREATED\n EOA (eth:0x4202860Fa6afAF3e2977cD139Ac693a05e4f9450)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Conduit Multisig 1 (eth:0x4a4962275DF8C60a80d3a25faEc5AA7De116A746) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ConfidentialSteakcUSDCWrapper (eth:0x66Bf74E96900D1a19c7070D939D124f2F565C458) [zama/ConfidentialWrapperV3]\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x69E55790880d0ABa56E48Ee1f7fc3834b0F5c223) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Staking (Coprocessor) (eth:0x7147485b892158f2B875f7aC5Ea48A9937C66AE8) [zama/ProtocolStaking]\n +++ description: Staking contract that escrows ZAMA, issues non-transferable staked voting tokens, and mints protocol rewards to eligible stakers at a configurable reward rate.\n```\n\n```diff\n+ Status: CREATED\n contract ConfidentialXAUTWrapper (eth:0x73cc9aF9d6BEFdb3c3fAf8a5E8c05Cb95FdaEEf1) [zama/ConfidentialWrapperV3]\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n```\n\n```diff\n+ Status: CREATED\n contract KMSVerifier (eth:0x77627828a55156b04Ac0DC0eb30467f1a552BB03) [zama/ZamaKMSVerifier]\n +++ description: Ethereum host-chain verifier for public decryption results produced through the Zama Gateway Decryption contract. Confidential token wrappers use it before accepting decrypted values.\n```\n\n```diff\n+ Status: CREATED\n contract ConfidentialZAMAWrapper (eth:0x80CB147Fd86dC6dEe3Eee7e4Cee33d1397d98071) [zama/ConfidentialWrapperV3]\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n```\n\n```diff\n+ Status: CREATED\n contract ConfidentialBRONWrapper (eth:0x85dE671c3bec1aDeD752c3Cea943521181C826bc) [zama/ConfidentialWrapperV3]\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x8c0E2c46F96756C49DBd6723F4C57a03a254B4B0) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0x97E18544e156724E4076945F10c288ecBBC94e54) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ConfidentialTGBPWrapper (eth:0xa873750ccBafD5ec7Dd13bfD5237d7129832eDD9) [zama/ConfidentialWrapperV3]\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n```\n\n```diff\n+ Status: CREATED\n contract ConfidentialUSDTWrapper (eth:0xAe0207C757Aa2B4019Ad96edD0092ddc63EF0c50) [zama/ConfidentialWrapperV3]\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n```\n\n```diff\n+ Status: CREATED\n contract DAO (eth:0xB6D69D5F334d8B97B194617B53c6aB62f8681Ef3) [zama/ZamaDAO]\n +++ description: Aragon DAO that stores governance state and executes proposal action batches.\n```\n\n```diff\n+ Status: CREATED\n contract ConfidentialBbqTGBPWrapper (eth:0xBA4cFF6ED6F7Cb2A58776dECa4E984b498446762) [zama/ConfidentialWrapperV3]\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n```\n\n```diff\n+ Status: CREATED\n contract PauserSet (eth:0xbBfE1680b4a63ED05f7F80CE330BED7C992A586C) [zama/ZamaPauserSet]\n +++ description: Maintains the pauser account set used in pause-control checks.\n```\n\n```diff\n+ Status: CREATED\n contract ZamaGovMultisigB (eth:0xBc860b6a4C860C5424B84A056E53ACFb2C99a38F) [zama/Multisig]\n +++ description: Aragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n```\n\n```diff\n+ Status: CREATED\n contract ACL (eth:0xcA2E8f1F656CD25C01F05d0b243Ab1ecd4a8ffb6) [zama/ZamaACL]\n +++ description: Ethereum host-chain access-control registry for encrypted handles, storing handle allowances and delegation state for ciphertext references. Its public-decryption and user-delegation events are mirrored into the Gateway MultichainACL by coprocessor consensus.\n```\n\n```diff\n+ Status: CREATED\n contract InputVerifier (eth:0xCe0FC2e05CFff1B719EFF7169f7D80Af770c8EA2) [zama/ZamaInputVerifier]\n +++ description: Ethereum host-chain verifier for encrypted input attestations produced by the Zama Gateway InputVerification contract. The FHEVMExecutor calls it before accepting user-provided ciphertext handles.\n```\n\n```diff\n+ Status: CREATED\n contract FHEVMExecutor (eth:0xD82385dADa1ae3E969447f20A3164F6213100e75) [zama/ZamaFHEVMExecutor]\n +++ description: FHEVM executor that accepts encrypted operation requests, accounts for computation usage, and stores ciphertext handles for operation results.\n```\n\n```diff\n+ Status: CREATED\n contract ConfidentialWETHWrapper (eth:0xda9396b82634Ea99243cE51258B6A5Ae512D4893) [zama/ConfidentialWrapperV3]\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n```\n\n```diff\n+ Status: CREATED\n contract ZamaGovMultisigA (eth:0xE43c73aAb2b6aBBad6d0461997ce1cfea5ABe66f) [zama/Multisig]\n +++ description: Aragon multisig plugin for creating proposals and collecting approvals against a configurable threshold.\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xE53e32a669357Ab0360103d8f294812B914AF9e4) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ConfidentialUSDCWrapper (eth:0xe978F22157048E5DB8E5d07971376e86671672B2) [zama/ConfidentialWrapperV3]\n +++ description: ERC-20 wrapper that escrows an underlying token and issues confidential balances. It supports encrypted transfers, wrapping, unwrapping, local blocking, and optional underlying-token denylist checks.\n```\n\n```diff\n+ Status: CREATED\n contract Staking (KMS) (eth:0xe9b176CCaA8840DC3b3567bb83e2cD2a6c36F4Ab) [zama/ProtocolStaking]\n +++ description: Staking contract that escrows ZAMA, issues non-transferable staked voting tokens, and mints protocol rewards to eligible stakers at a configurable reward rate.\n```\n\n```diff\n+ Status: CREATED\n contract ConfidentialTokenWrappersRegistry (eth:0xeb5015fF021DB115aCe010f23F55C2591059bBA0) [zama/ConfidentialTokenWrappersRegistry]\n +++ description: Registry for Zama confidential token wrappers.\n```\n\n```diff\n+ Status: CREATED\n contract MultichainACL (zama:0x055d9FD50a612A9027716ec8db663E7D68562468) [zama/MultichainACL]\n +++ description: Gateway-side ACL mirror that records coprocessor consensus for host-chain public decryption permissions, account handle allowances, and delegated user-decryption access. For Ethereum, it mirrors ACL events emitted by the L1 ACL contract registered in GatewayConfig.\n```\n\n```diff\n+ Status: CREATED\n contract Decryption (zama:0x0f6024a97684f7d90ddb0fAAD79cB15F2C888D24) [zama/Decryption]\n +++ description: Gateway contract that orchestrates public and user decryption requests, checks mirrored host-chain ACL state, collects KMS responses, and emits results once the configured KMS threshold is reached. Ethereum KMSVerifier verifies public decryption results against this contract's EIP-712 domain.\n```\n\n```diff\n+ Status: CREATED\n contract KMSGeneration (zama:0x290947F9fed2d91fdB22f35E162aDfA744b7aEe3) [zama/KMSGeneration]\n +++ description: Gateway contract that orchestrates FHE key generation, CRS generation, PRSS initialization, and key resharing through threshold KMS responses.\n```\n\n```diff\n+ Status: CREATED\n contract GatewayPauserSet (zama:0x571ecb596fCc5c840DA35CbeCA175580db50ac1b) [zama/GatewayPauserSet]\n +++ description: Maintains the set of accounts allowed to pause gateway contracts. The set is managed by the GatewayConfig owner.\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (zama:0x5f0F86BcEad6976711C9B131bCa5D30E767fe2bE) [GnosisSafe]\n +++ description: Gateway owner Safe. Its LayerZero governance module is outside the Zama Gateway protocol surface covered here.\n```\n\n```diff\n+ Status: CREATED\n contract ProtocolPayment (zama:0x7E179E45E5fe0a21015Be25185363B4F2F2F7e89) [zama/ProtocolPayment]\n +++ description: Gateway fee contract that charges ZAMA fees for encrypted input verification, public decryption, and user decryption requests, then forwards the collected fees to the configured fee burner sender.\n```\n\n```diff\n+ Status: CREATED\n contract InputVerification (zama:0xcB1bB072f38bdAF0F328CdEf1Fc6eDa1DF029287) [zama/InputVerification]\n +++ description: Gateway contract that receives encrypted input verification requests from registered host chains, collects coprocessor responses, and emits a threshold-signed attestation once coprocessor consensus is reached. Ethereum InputVerifier verifies attestations against this contract's EIP-712 domain.\n```\n\n```diff\n+ Status: CREATED\n contract CiphertextCommits (zama:0xd82cF70FC102028cd01acB87D0E107780ae4F41F) [zama/CiphertextCommits]\n +++ description: Gateway contract that stores ciphertext and SNS ciphertext digests after coprocessor consensus, allowing decryption requests to reference committed ciphertext material.\n```\n\n```diff\n+ Status: CREATED\n contract GatewayConfig (zama:0xDE537Be194777A56f8B19d14079E6a78249390ab) [zama/GatewayConfig]\n +++ description: Central configuration contract for the Zama Gateway. It stores the KMS, coprocessor, custodian, host-chain, pauser, and consensus-threshold configuration used by the gateway workflow contracts.\n```"
}
]
}
]