{
  "schema": "vaultfire.base-v3-read-only-bootstrap-release-gate.v1",
  "bootstrapProfile": "pr8/pilot/base_v3_read_only_bootstrap_profile.json",
  "generator": "pr8/pilot/generate_bootstrap_package.py",
  "bootstrapContracts": [
    {
      "label": "governance",
      "contract": "MultisigGovernanceV3",
      "source": "v3-src/contracts/governance/MultisigGovernanceV3.sol"
    },
    {
      "label": "controller",
      "contract": "BasePilotAccessControllerV3",
      "source": "v3-src/contracts/pilot/BasePilotAccessControllerV3.sol"
    },
    {
      "label": "consensus",
      "contract": "ThresholdConsensusV3",
      "source": "v3-src/contracts/consensus/ThresholdConsensusV3.sol"
    },
    {
      "label": "bondFactory",
      "contract": "SafeBondFactoryV3",
      "source": "v3-src/contracts/bonds/SafeBondFactoryV3.sol"
    }
  ],
  "internalFactoryCreates": [
    {
      "label": "accountabilityBond",
      "contract": "AccountabilityBondV3Safe",
      "source": "v3-src/contracts/bonds/AccountabilityBondV3Safe.sol"
    }
  ],
  "expectedSourceClosure": [
    "v3-src/contracts/bonds/AccountabilityBondFactoryV3.sol",
    "v3-src/contracts/bonds/AccountabilityBondV3Safe.sol",
    "v3-src/contracts/bonds/AccountabilityCanonicalSourceV3.sol",
    "v3-src/contracts/bonds/BondStateV3.sol",
    "v3-src/contracts/bonds/IAccountabilityCanonicalSourceV3.sol",
    "v3-src/contracts/bonds/PartnershipBondFactoryV3.sol",
    "v3-src/contracts/bonds/PartnershipBondV3Safe.sol",
    "v3-src/contracts/bonds/PullPaymentsV3.sol",
    "v3-src/contracts/bonds/SafeBondFactoryV3.sol",
    "v3-src/contracts/consensus/ThresholdConsensusV3.sol",
    "v3-src/contracts/governance/MultisigGovernanceV3.sol",
    "v3-src/contracts/lib/BondMathLibV3.sol",
    "v3-src/contracts/pilot/BasePilotAccessControllerV3.sol",
    "v3-src/contracts/pilot/IPilotAccessControllerV3.sol",
    "v3-src/contracts/signatures/EIP712BaseV3.sol",
    "v3-src/contracts/signatures/SignatureVerifierV3.sol",
    "v3-src/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol",
    "v3-src/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Permit.sol",
    "v3-src/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol",
    "v3-src/lib/openzeppelin-contracts/contracts/utils/Address.sol",
    "v3-src/lib/openzeppelin-contracts/contracts/utils/math/Math.sol"
  ],
  "bootstrapScopeFiles": [
    "pr8/pilot/bootstrap_profile.py",
    "pr8/pilot/generate_bootstrap_package.py",
    "pr8/pilot/BASE_READ_ONLY_BOOTSTRAP.md",
    "pr8/pilot/base_v3_deployment_manifest.json",
    "pr8/pilot/deployment_manifest.py"
  ],
  "websiteBootstrapPublicationFiles": [
    "pr9/website/src/v3-action-gate.ts",
    "pr9/website/tests/v3-action-gate.spec.ts"
  ],
  "activationPathFiles": [
    "pr8/pilot/base_v3_partner_pilot_transition_requirements.json",
    "pr8/pilot/check_pilot_gate.py"
  ],
  "v2IntegrationManifest": "pr8/pilot/base_v3_deployment_manifest.json",
  "v2Integrations": [
    {
      "manifestKey": "erc8004IdentityRegistryV2",
      "contract": "ERC8004IdentityRegistry",
      "address": "0xa7BD20bf5De63df949cA5Be2F20835978eCba81A",
      "runtimeBytecodeBytes": 9387,
      "runtimeBytecodeSha256": "d9a648d102aeb596b2c96bb34641bee38d4e89ca62e6d5c373408193082060fe",
      "abiPath": "abis/ERC8004IdentityRegistry.json",
      "abiProvenanceSource": "repos/vaultfire-contracts-repo/abis/ERC8004IdentityRegistry.json",
      "requiredMethods": [
        "getAgent(address)",
        "isAgentActive(address)",
        "getMissionEnforcementPolicy()"
      ]
    },
    {
      "manifestKey": "missionEnforcementV2",
      "contract": "MissionEnforcement",
      "address": "0xBc4208A7A59af3B7E438d3308C3dc0d299d739a7",
      "runtimeBytecodeBytes": 4917,
      "runtimeBytecodeSha256": "a6ba60e7843016bf973cf18b68d1034f88fc96d096ea53eeb644d7c5d751fec0",
      "abiPath": "abis/MissionEnforcement.json",
      "abiProvenanceSource": "repos/vaultfire-contracts-repo/abis/MissionEnforcement.json",
      "requiredMethods": [
        "getMissionStatement()",
        "getMissionEnforcementPolicy()",
        "missionCompliance(address,uint8)"
      ]
    }
  ],
  "excludedLegacyContracts": [
    {
      "name": "VaultfireTrustAttestation",
      "baseAddress": "0xc0f8704EF84Ca58Fa0AF4836669d358574FFE1f4"
    }
  ],
  "globalStrictGate": {
    "releaseEntrypoint": "ci/release-gates.sh",
    "strictScript": "baseline/check_v2_abi_package.py",
    "requiredInvocation": "python3 \"$ROOT/baseline/check_v2_abi_package.py\" --strict"
  }
}
