From e05d70a033c972541a816ee9e1db4435bab1ef8b Mon Sep 17 00:00:00 2001 From: Michael de Hoog Date: Mon, 2 Dec 2024 16:23:36 -1000 Subject: [PATCH] Bump to latest --- lib/nitro-validator | 2 +- src/SystemConfigGlobal.sol | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/nitro-validator b/lib/nitro-validator index fa8d93d..1322fbd 160000 --- a/lib/nitro-validator +++ b/lib/nitro-validator @@ -1 +1 @@ -Subproject commit fa8d93d656c0138d3b2d452efe7598daade74c2a +Subproject commit 1322fbddf92f0c6664130342462102689b0e44de diff --git a/src/SystemConfigGlobal.sol b/src/SystemConfigGlobal.sol index 0bf6e34..918e25f 100644 --- a/src/SystemConfigGlobal.sol +++ b/src/SystemConfigGlobal.sol @@ -5,13 +5,11 @@ pragma solidity ^0.8.0; import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import {ISemver} from "@eth-optimism-bedrock/src/universal/interfaces/ISemver.sol"; import {NitroValidator} from "@nitro-validator/NitroValidator.sol"; +import {CborDecode} from "@nitro-validator/CborDecode.sol"; import {CertManager} from "@nitro-validator/CertManager.sol"; -import {NodePtr, LibNodePtr} from "@nitro-validator/NodePtr.sol"; -import {LibBytes} from "@nitro-validator/LibBytes.sol"; contract SystemConfigGlobal is OwnableUpgradeable, ISemver, NitroValidator { - using LibNodePtr for NodePtr; - using LibBytes for bytes; + using CborDecode for bytes; uint256 public constant MAX_AGE = 60 minutes; @@ -53,12 +51,12 @@ contract SystemConfigGlobal is OwnableUpgradeable, ISemver, NitroValidator { function registerSigner(bytes calldata attestationTbs, bytes calldata signature) external onlyOwner { Ptrs memory ptrs = validateAttestation(attestationTbs, signature); - bytes memory pcr0 = attestationTbs.slice(ptrs.pcrs[0].content(), ptrs.pcrs[0].length()); - require(validPCR0s[keccak256(pcr0)], "invalid pcr0 in attestation"); + bytes32 pcr0 = attestationTbs.keccak(ptrs.pcrs[0]); + require(validPCR0s[pcr0], "invalid pcr0 in attestation"); require(ptrs.timestamp + MAX_AGE > block.timestamp, "attestation too old"); - bytes memory publicKey = attestationTbs.slice(ptrs.publicKey.content(), ptrs.publicKey.length()); + bytes memory publicKey = attestationTbs.slice(ptrs.publicKey); address enclaveAddress = address(uint160(uint256(keccak256(publicKey)))); validSigners[enclaveAddress] = true; }