目錄
一、contracts/contracts/ProofVerifier.sol
1. License 和 Solidity 版本
2. 導入依賴
3. 合約聲明和默認分配器地址
4. 驗證證明
5. 驗證分配器簽名
6. 驗證驗證者簽名
7. 簽名前綴處理
8. 簽名恢復
總結
二、contracts/contracts/SampleAttestation.sol
1. License 和 Solidity 版本
2. 導入依賴
3. Attestation 結構體
4. 合約聲明和存儲
5. 構造函數
6. 創建聲明
功能:
7. 獲取聲明
8. 生成 UID
總結
三、contracts/contracts/Common.sol
一、contracts/contracts/ProofVerifier.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;import {Proof} from "./Common.sol";contract ProofVerifier {address public defaultAllocator = 0x19a567b3b212a5b35bA0E3B600FbEd5c2eE9083d;constructor() {}function verify(Proof calldata _proof) public view returns (bool) {return (verifyAllocatorSignature(_proof.taskId, _proof.schemaId, _proof.validator, _proof.allocatorSignature) &&verifyValidatorSignature(