{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://programmable.market/schemas/custom-launch/v4/pack-config.json",
  "title": "Programmable Custom Launch V4 Robinhood pack config",
  "description": "Public @programmable/launch 4.0.0 input contract for a chain-bound 3-16 target Robinhood Chain mainnet graph. The CLI never signs or broadcasts.",
  "x-programmable-status": "predeployment",
  "x-programmable-contract": {
    "cliReleaseVersion": "4.0.0",
    "apiVersion": "v4",
    "chainId": "4663",
    "caip2": "eip155:4663",
    "minimumTargets": 3,
    "maximumTargets": 16,
    "fundingModes": [
      "none",
      "wallet-transaction-value"
    ],
    "walletSigning": "separate-owner-action",
    "platformFeePolicy": {
      "required": true,
      "status": "required-default-configuration",
      "appliesTo": "new-robinhood-v4-api-custom-launches-only",
      "changesExistingLaunches": false,
      "changesEthereumLaunches": false,
      "rateBps": 20,
      "ratePpm": 2000,
      "ratePercent": "0.20%",
      "recipient": "0xD88539d3c4C460136a733A3Fd60cf6BF269079da",
      "basis": null,
      "feeCurrency": null,
      "accountingMode": null,
      "rounding": null,
      "accrual": null,
      "claimMechanism": null,
      "enforcement": "not-guaranteed-onchain",
      "canonicalOnchainEnforcementProven": false,
      "guaranteedRevenue": false,
      "feeBehaviorClaim": false,
      "universalFeeBehaviorClaim": false
    }
  },
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schemaVersion",
    "chainId",
    "caip2",
    "chainDeployment",
    "profile",
    "launchWallet",
    "nonce",
    "permitWindow",
    "source",
    "externalContracts",
    "compilationUnits",
    "targets",
    "pool",
    "projectMetadata",
    "funding",
    "liquidityModel",
    "agentAttestation"
  ],
  "properties": {
    "schemaVersion": {
      "const": "programmable.launch-pack-config.v4"
    },
    "chainId": {
      "const": "4663"
    },
    "caip2": {
      "const": "eip155:4663"
    },
    "chainDeployment": {
      "$ref": "#/$defs/chainDeployment"
    },
    "profile": {
      "$ref": "#/$defs/profileRef"
    },
    "launchWallet": {
      "$ref": "#/$defs/address"
    },
    "nonce": {
      "$ref": "#/$defs/nonzeroBytes32"
    },
    "permitWindow": {
      "$ref": "#/$defs/permitWindow"
    },
    "source": {
      "$ref": "#/$defs/v4Source"
    },
    "externalContracts": {
      "type": "array",
      "maxItems": 64,
      "items": {
        "$ref": "#/$defs/externalContract"
      },
      "x-programmable-order": "UTF-8 role, NUL, lowercase address; unique"
    },
    "compilationUnits": {
      "type": "array",
      "minItems": 1,
      "maxItems": 16,
      "items": {
        "$ref": "#/$defs/compilationUnit"
      }
    },
    "targets": {
      "type": "array",
      "minItems": 3,
      "maxItems": 16,
      "items": {
        "$ref": "#/$defs/target"
      },
      "x-programmable-order": "dependency-topological with UTF-8 tie-break"
    },
    "pool": {
      "$ref": "#/$defs/pool"
    },
    "projectMetadata": {
      "$ref": "#/$defs/projectMetadata"
    },
    "behaviorScenarioInputs": {
      "$ref": "#/$defs/behaviorScenarioInputs"
    },
    "funding": {
      "$ref": "#/$defs/funding"
    },
    "liquidityModel": {
      "$ref": "#/$defs/v4LiquidityModel"
    },
    "agentAttestation": {
      "$ref": "#/$defs/agentAttestation"
    }
  },
  "$defs": {
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$"
    },
    "bytes32": {
      "type": "string",
      "pattern": "^0x[0-9a-f]{64}$"
    },
    "nonzeroBytes32": {
      "type": "string",
      "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
    },
    "uintString": {
      "type": "string",
      "pattern": "^(0|[1-9][0-9]*)$"
    },
    "nonzeroUintString": {
      "type": "string",
      "pattern": "^[1-9][0-9]*$"
    },
    "grindAttemptsString": {
      "type": "string",
      "pattern": "^(?:[1-9][0-9]{0,5}|1000000)$"
    },
    "feeUintString": {
      "type": "string",
      "pattern": "^(?:0|[1-9][0-9]{0,4}|100000)$"
    },
    "additiveFeeUintString": {
      "$ref": "#/$defs/feeUintString"
    },
    "identifier": {
      "type": "string",
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:@/+\\-]{0,255}$"
    },
    "externalContract": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "chainId",
        "caip2",
        "address",
        "runtimeCodeHash",
        "sourceEvidenceDigest",
        "role",
        "startBlock",
        "auditBlock",
        "locator",
        "mutability"
      ],
      "properties": {
        "schemaVersion": {
          "const": "programmable.custom-launch-external-contract.v1"
        },
        "chainId": {
          "const": "4663"
        },
        "caip2": {
          "const": "eip155:4663"
        },
        "address": {
          "$ref": "#/$defs/address",
          "description": "Exact EIP-55 address; the packer enforces checksum canonicality."
        },
        "runtimeCodeHash": {
          "$ref": "#/$defs/nonzeroBytes32"
        },
        "sourceEvidenceDigest": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        },
        "role": {
          "$ref": "#/$defs/identifier"
        },
        "startBlock": {
          "$ref": "#/$defs/nonzeroUintString"
        },
        "auditBlock": {
          "$ref": "#/$defs/uintString",
          "description": "Canonical audit block at or after startBlock; the packer enforces the relation."
        },
        "locator": {
          "$ref": "#/$defs/externalContractLocator"
        },
        "mutability": {
          "$ref": "#/$defs/externalContractMutability"
        }
      }
    },
    "externalContractLocator": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "targetId",
        "phase",
        "byteOffset",
        "encoding"
      ],
      "properties": {
        "targetId": {
          "$ref": "#/$defs/identifier"
        },
        "phase": {
          "enum": [
            "constructor",
            "initializer"
          ]
        },
        "byteOffset": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "encoding": {
          "enum": [
            "abi-address-word",
            "packed-address-20"
          ]
        }
      }
    },
    "externalContractImplementation": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "address",
        "runtimeCodeHash",
        "sourceEvidenceDigest",
        "startBlock",
        "auditBlock"
      ],
      "properties": {
        "address": {
          "$ref": "#/$defs/address"
        },
        "runtimeCodeHash": {
          "$ref": "#/$defs/nonzeroBytes32"
        },
        "sourceEvidenceDigest": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        },
        "startBlock": {
          "$ref": "#/$defs/nonzeroUintString"
        },
        "auditBlock": {
          "$ref": "#/$defs/uintString"
        }
      }
    },
    "externalContractMutability": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "kind",
        "proxyType",
        "implementation",
        "adminAddress",
        "beaconAddress",
        "evidenceDigest"
      ],
      "properties": {
        "kind": {
          "enum": [
            "immutable",
            "proxy"
          ]
        },
        "proxyType": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            null,
            "eip1967-transparent",
            "eip1967-uups",
            "eip1967-beacon",
            "eip1167-minimal",
            "custom"
          ]
        },
        "implementation": {
          "oneOf": [
            {
              "$ref": "#/$defs/externalContractImplementation"
            },
            {
              "type": "null"
            }
          ]
        },
        "adminAddress": {
          "oneOf": [
            {
              "$ref": "#/$defs/address"
            },
            {
              "type": "null"
            }
          ]
        },
        "beaconAddress": {
          "oneOf": [
            {
              "$ref": "#/$defs/address"
            },
            {
              "type": "null"
            }
          ]
        },
        "evidenceDigest": {
          "type": "string",
          "pattern": "^sha256:[0-9a-f]{64}$"
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "kind": {
                "const": "immutable"
              }
            },
            "required": [
              "kind"
            ]
          },
          "then": {
            "properties": {
              "proxyType": {
                "const": null
              },
              "implementation": {
                "const": null
              },
              "adminAddress": {
                "const": null
              },
              "beaconAddress": {
                "const": null
              }
            }
          },
          "else": {
            "properties": {
              "proxyType": {
                "enum": [
                  "eip1967-transparent",
                  "eip1967-uups",
                  "eip1967-beacon",
                  "eip1167-minimal",
                  "custom"
                ]
              },
              "implementation": {
                "$ref": "#/$defs/externalContractImplementation"
              }
            }
          }
        }
      ]
    },
    "relativePath": {
      "type": "string",
      "minLength": 1,
      "pattern": "^(?!/)(?!.*(?:^|/)\\.{1,2}(?:/|$))(?!.*\\\\)[^\\u0000]+$"
    },
    "projectMetadata": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "token",
        "presentation"
      ],
      "properties": {
        "schemaVersion": {
          "const": "programmable.project-metadata-input.v1"
        },
        "token": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "name",
            "symbol"
          ],
          "properties": {
            "name": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64,
              "description": "Canonical NFC token name, already trimmed, at most 64 UTF-8 bytes."
            },
            "symbol": {
              "type": "string",
              "minLength": 1,
              "maxLength": 16,
              "description": "Canonical NFC token symbol without whitespace, at most 16 UTF-8 bytes."
            }
          }
        },
        "presentation": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "description",
            "image",
            "links"
          ],
          "properties": {
            "description": {
              "type": "string",
              "minLength": 1,
              "maxLength": 4096,
              "x-programmable-minUtf8Bytes": 20,
              "x-programmable-minUnicodeLettersOrNumbers": 8,
              "description": "Canonical NFC public description with at least 20 UTF-8 bytes and 8 Unicode letters or numbers, already trimmed, at most 4,096 UTF-8 bytes. The packer enforces byte and useful-text bounds that generic JSON Schema validators cannot express exactly."
            },
            "image": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "sourcePath",
                "uri"
              ],
              "properties": {
                "sourcePath": {
                  "$ref": "#/$defs/relativePath"
                },
                "uri": {
                  "type": "string",
                  "format": "uri",
                  "maxLength": 2048,
                  "pattern": "^(?:https|ipfs|ar):"
                }
              },
              "description": "Required local PNG or single-frame GIF bytes and their stable public URI. V4 does not admit JPEG, WebP, or animated GIF. The packer computes and binds the exact byte digest, length, media type, dimensions, and GIF frame count."
            },
            "links": {
              "type": "array",
              "minItems": 2,
              "maxItems": 32,
              "uniqueItems": true,
              "allOf": [
                {
                  "contains": {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "const": "website"
                      }
                    },
                    "required": [
                      "kind"
                    ]
                  },
                  "minContains": 1,
                  "maxContains": 1
                },
                {
                  "contains": {
                    "type": "object",
                    "properties": {
                      "kind": {
                        "const": "x"
                      }
                    },
                    "required": [
                      "kind"
                    ]
                  },
                  "minContains": 1,
                  "maxContains": 1
                }
              ],
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "kind",
                  "uri"
                ],
                "properties": {
                  "kind": {
                    "enum": [
                      "website",
                      "documentation",
                      "x",
                      "telegram",
                      "discord",
                      "github",
                      "other"
                    ]
                  },
                  "uri": {
                    "type": "string",
                    "format": "uri",
                    "maxLength": 2048,
                    "pattern": "^https://"
                  }
                },
                "allOf": [
                  {
                    "if": {
                      "properties": {
                        "kind": {
                          "const": "x"
                        }
                      },
                      "required": [
                        "kind"
                      ]
                    },
                    "then": {
                      "properties": {
                        "uri": {
                          "type": "string",
                          "pattern": "^https://x\\.com/[A-Za-z0-9_]{1,64}$"
                        }
                      }
                    }
                  }
                ]
              },
              "description": "Exactly one website link and one canonical X profile link are required. Up to 30 additional public HTTPS links are optional."
            }
          }
        }
      }
    },
    "behaviorScenarioInputs": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "steps"
      ],
      "properties": {
        "schemaVersion": {
          "const": "programmable.custom-launch-behavior-scenario-inputs.v1"
        },
        "steps": {
          "type": "array",
          "minItems": 1,
          "maxItems": 128,
          "x-programmable-order": "caller-declared-and-hash-bound",
          "x-programmable-aggregateCalldataAndHookDataMaximumBytes": 1048576,
          "items": {
            "$ref": "#/$defs/behaviorScenarioStep"
          }
        }
      },
      "description": "Declarative server-runner inputs only. Scripts, URLs, assertions, expected results, statuses and runner parameters are not accepted. The packer validates exact prepared-target references and derives the hash-bound request object."
    },
    "behaviorScenarioStep": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "stepId",
        "phase",
        "actor",
        "target",
        "valueWei",
        "calldata",
        "hookData"
      ],
      "properties": {
        "stepId": {
          "type": "string",
          "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$"
        },
        "phase": {
          "enum": [
            "seed",
            "swap",
            "liquidity",
            "claim",
            "custom-accounting"
          ]
        },
        "actor": {
          "enum": [
            "launch-wallet",
            "secondary-user",
            "unauthorized-claimer"
          ]
        },
        "target": {
          "$ref": "#/$defs/behaviorScenarioTarget"
        },
        "valueWei": {
          "$ref": "#/$defs/uintString"
        },
        "calldata": {
          "type": "string",
          "pattern": "^0x(?:[0-9a-f]{2})*$",
          "maxLength": 131074,
          "x-programmable-maximumBytes": 65536
        },
        "hookData": {
          "type": "string",
          "pattern": "^0x(?:[0-9a-f]{2})*$",
          "maxLength": 32770,
          "x-programmable-maximumBytes": 16384
        }
      }
    },
    "behaviorScenarioTarget": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "kind",
            "targetId"
          ],
          "properties": {
            "kind": {
              "const": "prepared-target"
            },
            "targetId": {
              "$ref": "#/$defs/identifier"
            }
          }
        },
        {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "kind",
            "binding"
          ],
          "properties": {
            "kind": {
              "const": "chain-binding"
            },
            "binding": {
              "const": "poolManager"
            }
          }
        },
        {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "kind",
            "harness"
          ],
          "properties": {
            "kind": {
              "const": "runner-harness"
            },
            "harness": {
              "const": "v4-actions-v1"
            }
          }
        }
      ]
    },
    "source": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "root",
        "paths",
        "sourceLineageNonce",
        "publicOrigin"
      ],
      "properties": {
        "root": {
          "$ref": "#/$defs/relativePath"
        },
        "paths": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/relativePath"
          }
        },
        "sourceLineageNonce": {
          "$ref": "#/$defs/uintString"
        },
        "publicOrigin": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "url",
            "revision"
          ],
          "properties": {
            "url": {
              "type": "string",
              "format": "uri",
              "pattern": "^https://"
            },
            "revision": {
              "type": "string",
              "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
            }
          }
        }
      }
    },
    "compilationUnit": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "compilationUnitId",
        "standardJson"
      ],
      "properties": {
        "compilationUnitId": {
          "$ref": "#/$defs/identifier"
        },
        "standardJson": {
          "$ref": "#/$defs/relativePath"
        }
      }
    },
    "applicantSalt": {
      "oneOf": [
        {
          "$ref": "#/$defs/bytes32"
        },
        {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "mode",
            "start",
            "maxAttempts"
          ],
          "properties": {
            "mode": {
              "const": "deterministic-hook-permission-grind-v1"
            },
            "start": {
              "$ref": "#/$defs/uintString"
            },
            "maxAttempts": {
              "$ref": "#/$defs/grindAttemptsString"
            }
          }
        }
      ]
    },
    "initializer": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "function",
            "arguments"
          ],
          "properties": {
            "function": {
              "$ref": "#/$defs/identifier"
            },
            "arguments": {
              "type": "array"
            }
          }
        }
      ]
    },
    "runtimeImmutable": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "immutableId",
        "abiType"
      ],
      "properties": {
        "immutableId": {
          "type": "string",
          "pattern": "^(0|[1-9][0-9]*)$"
        },
        "abiType": {
          "type": "string",
          "minLength": 1
        },
        "literal": {},
        "target": {
          "$ref": "#/$defs/identifier"
        }
      },
      "oneOf": [
        {
          "required": [
            "literal"
          ],
          "not": {
            "required": [
              "target"
            ]
          }
        },
        {
          "required": [
            "target"
          ],
          "not": {
            "required": [
              "literal"
            ]
          }
        }
      ]
    },
    "target": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "targetId",
        "compilationUnitId",
        "artifact",
        "applicantSalt",
        "constructorArguments",
        "initializer",
        "deploymentValueWei",
        "initializerValueWei",
        "componentKind",
        "declaredHookPermissions",
        "runtimeImmutables"
      ],
      "properties": {
        "targetId": {
          "$ref": "#/$defs/identifier"
        },
        "compilationUnitId": {
          "$ref": "#/$defs/identifier"
        },
        "artifact": {
          "$ref": "#/$defs/relativePath"
        },
        "applicantSalt": {
          "$ref": "#/$defs/applicantSalt"
        },
        "constructorArguments": {
          "type": "array"
        },
        "initializer": {
          "$ref": "#/$defs/initializer"
        },
        "deploymentValueWei": {
          "$ref": "#/$defs/uintString"
        },
        "initializerValueWei": {
          "$ref": "#/$defs/uintString"
        },
        "componentKind": {
          "enum": [
            "token",
            "hook",
            "other"
          ]
        },
        "declaredHookPermissions": {
          "oneOf": [
            {
              "type": "null"
            },
            {
              "type": "array",
              "uniqueItems": true,
              "items": {
                "enum": [
                  "beforeInitialize",
                  "afterInitialize",
                  "beforeAddLiquidity",
                  "afterAddLiquidity",
                  "beforeRemoveLiquidity",
                  "afterRemoveLiquidity",
                  "beforeSwap",
                  "afterSwap",
                  "beforeDonate",
                  "afterDonate",
                  "beforeSwapReturnDelta",
                  "afterSwapReturnDelta",
                  "afterAddLiquidityReturnDelta",
                  "afterRemoveLiquidityReturnDelta"
                ]
              }
            }
          ]
        },
        "runtimeImmutables": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/runtimeImmutable"
          }
        }
      }
    },
    "pool": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "tokenTargetId",
        "hookTargetId",
        "fee",
        "tickSpacing",
        "quoteCurrency"
      ],
      "properties": {
        "tokenTargetId": {
          "$ref": "#/$defs/identifier"
        },
        "hookTargetId": {
          "$ref": "#/$defs/identifier"
        },
        "fee": {
          "oneOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 999999
            },
            {
              "const": 8388608
            }
          ]
        },
        "tickSpacing": {
          "type": "integer",
          "minimum": 1,
          "maximum": 32767
        },
        "quoteCurrency": {
          "$ref": "#/$defs/address"
        }
      }
    },
    "targetRoles": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "tokenTargetId",
        "hookTargetId",
        "initializerTargetId",
        "platformFeeBindingTargetId"
      ],
      "properties": {
        "tokenTargetId": {
          "$ref": "#/$defs/identifier"
        },
        "hookTargetId": {
          "$ref": "#/$defs/identifier"
        },
        "initializerTargetId": {
          "$ref": "#/$defs/identifier"
        },
        "platformFeeBindingTargetId": {
          "$ref": "#/$defs/identifier",
          "description": "Must name the exact canonical programmable:settlement-fee-vault:v1 target. The applicant cannot substitute a hook or another fee recipient."
        }
      },
      "description": "All four fresh profile 3.4.0 role IDs are distinct. The project-owned token, hook and initializer remain arbitrary exact-source targets; only the platform fee target is the frozen release module."
    },
    "liquidityAssessment": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "status",
        "requestClaimsExecution",
        "requiredVectorIds"
      ],
      "properties": {
        "schemaVersion": {
          "const": "programmable.direct-native-liquidity-model-assessment.v1"
        },
        "status": {
          "const": "required"
        },
        "requestClaimsExecution": {
          "const": false
        },
        "requiredVectorIds": {
          "type": "array",
          "minItems": 3,
          "maxItems": 4,
          "items": {
            "type": "string"
          }
        }
      }
    },
    "liquidityModel": {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "schemaVersion",
            "model",
            "declaredLaunchState"
          ],
          "properties": {
            "schemaVersion": {
              "const": "programmable.direct-native-liquidity-model-intent.v1"
            },
            "model": {
              "const": "external-concentrated-liquidity"
            },
            "declaredLaunchState": {
              "const": "liquidity_required"
            }
          }
        },
        {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "schemaVersion",
            "model",
            "declaredLaunchState",
            "liquidityTargetId",
            "assessment"
          ],
          "properties": {
            "schemaVersion": {
              "const": "programmable.direct-native-liquidity-model-intent.v1"
            },
            "model": {
              "const": "launch-seeded-concentrated-liquidity"
            },
            "declaredLaunchState": {
              "const": "assessment_required"
            },
            "liquidityTargetId": {
              "$ref": "#/$defs/identifier"
            },
            "assessment": {
              "allOf": [
                {
                  "$ref": "#/$defs/liquidityAssessment"
                },
                {
                  "type": "object",
                  "properties": {
                    "requiredVectorIds": {
                      "const": [
                        "liquidity.seeded.pool-active-liquidity",
                        "liquidity.seeded.position-custody-and-withdrawal",
                        "liquidity.seeded.buy-and-sell"
                      ]
                    }
                  }
                }
              ]
            }
          }
        },
        {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "schemaVersion",
            "model",
            "declaredLaunchState",
            "inventoryTargetId",
            "assessment"
          ],
          "properties": {
            "schemaVersion": {
              "const": "programmable.direct-native-liquidity-model-intent.v1"
            },
            "model": {
              "const": "hook-inventory-custom-accounting"
            },
            "declaredLaunchState": {
              "const": "assessment_required"
            },
            "inventoryTargetId": {
              "$ref": "#/$defs/identifier"
            },
            "assessment": {
              "allOf": [
                {
                  "$ref": "#/$defs/liquidityAssessment"
                },
                {
                  "type": "object",
                  "properties": {
                    "requiredVectorIds": {
                      "const": [
                        "liquidity.hook-inventory.buy-settlement",
                        "liquidity.hook-inventory.sell-settlement",
                        "liquidity.hook-inventory.delta-solvency",
                        "liquidity.hook-inventory.backing-and-withdrawal"
                      ]
                    }
                  }
                }
              ]
            }
          }
        }
      ]
    },
    "permitWindow": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "validAfter",
        "deadline"
      ],
      "properties": {
        "validAfter": {
          "$ref": "#/$defs/uintString"
        },
        "deadline": {
          "$ref": "#/$defs/nonzeroUintString"
        }
      }
    },
    "fundingAuthorization": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "method",
        "value",
        "validAfter",
        "validBefore"
      ],
      "properties": {
        "schemaVersion": {
          "const": "programmable.funding-authorization-input.v1"
        },
        "method": {
          "const": "eip-3009-receive-with-authorization"
        },
        "value": {
          "$ref": "#/$defs/nonzeroUintString"
        },
        "validAfter": {
          "$ref": "#/$defs/uintString"
        },
        "validBefore": {
          "$ref": "#/$defs/nonzeroUintString"
        }
      }
    },
    "argumentPath": {
      "type": "array",
      "minItems": 1,
      "maxItems": 16,
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 255
      }
    },
    "fundingAuthorizationPatchV2": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "targetId",
        "nonceArgumentPath",
        "rArgumentPath",
        "sArgumentPath",
        "vArgumentPath"
      ],
      "properties": {
        "targetId": {
          "$ref": "#/$defs/identifier"
        },
        "nonceArgumentPath": {
          "$ref": "#/$defs/argumentPath"
        },
        "rArgumentPath": {
          "$ref": "#/$defs/argumentPath"
        },
        "sArgumentPath": {
          "$ref": "#/$defs/argumentPath"
        },
        "vArgumentPath": {
          "$ref": "#/$defs/argumentPath"
        }
      }
    },
    "agentAttestation": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "agentId",
        "checkedAt",
        "checks"
      ],
      "properties": {
        "agentId": {
          "$ref": "#/$defs/identifier"
        },
        "checkedAt": {
          "type": "string",
          "format": "date-time"
        },
        "checks": {
          "type": "array",
          "minItems": 1,
          "maxItems": 64,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "checkId",
              "evidence"
            ],
            "properties": {
              "checkId": {
                "$ref": "#/$defs/identifier"
              },
              "evidence": {
                "$ref": "#/$defs/relativePath"
              }
            }
          }
        }
      }
    },
    "chainDeployment": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "chainDeploymentId",
        "chainId",
        "caip2",
        "finality",
        "foundationSourceCommitment",
        "deploymentEvidence",
        "permit2GenesisProvenance",
        "permitAuthoritySourceProvenance",
        "externalRootDeploymentEvidence",
        "contracts"
      ],
      "properties": {
        "schemaVersion": {
          "const": "programmable.custom-launch-chain-deployment.v1"
        },
        "chainDeploymentId": {
          "const": "robinhood-mainnet-custom-launch-v1"
        },
        "chainId": {
          "const": "4663"
        },
        "caip2": {
          "const": "eip155:4663"
        },
        "finality": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "schemaVersion",
            "policyId",
            "policyRevision",
            "policyDigest"
          ],
          "properties": {
            "schemaVersion": {
              "const": "programmable.custom-launch-finality-policy-ref.v1"
            },
            "policyId": {
              "type": "string",
              "pattern": "^[a-z][a-z0-9._:-]{0,127}$"
            },
            "policyRevision": {
              "type": "integer",
              "minimum": 1
            },
            "policyDigest": {
              "type": "string",
              "pattern": "^sha256:[0-9a-f]{64}$"
            }
          }
        },
        "foundationSourceCommitment": {
          "const": "0xe87f5edc2dc839bd87a26a80cb53f14b021e603a1753d27aae3a02862058d730"
        },
        "deploymentEvidence": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "schemaVersion",
            "deploymentId",
            "chainId",
            "coveredContracts",
            "transactionHash",
            "from",
            "to",
            "valueWei",
            "selector",
            "calldataHash",
            "calldataBytes",
            "nonce",
            "transactionIndex",
            "receiptStatus",
            "blockNumber",
            "blockHash",
            "receiptLogs",
            "receiptLogsDigest",
            "providerReadbacks",
            "resultingContracts",
            "ethereumFinalityEvidence",
            "evidenceDigest",
            "sourceVerification"
          ],
          "properties": {
            "schemaVersion": {
              "const": "programmable.robinhood-atomic-root-deployment-evidence.v1"
            },
            "deploymentId": {
              "const": "robinhood-mainnet-custom-launch-v1"
            },
            "chainId": {
              "const": "4663"
            },
            "coveredContracts": {
              "const": [
                "programmableLaunchStampRouter",
                "graphFactory",
                "permitAuthority"
              ]
            },
            "transactionHash": {
              "type": "string",
              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
            },
            "from": {
              "enum": [
                "0x032b1c7b96793717F0BD2f11eb86cd10CdefC4a3",
                "0x2Bb333d48DFAF1596D9036671d2E43168994249E"
              ]
            },
            "to": {
              "const": "0xcA11bde05977b3631167028862bE2a173976CA11"
            },
            "valueWei": {
              "const": "0"
            },
            "selector": {
              "const": "0x82ad56cb"
            },
            "calldataHash": {
              "const": "0x3ba04469085b17e12843a94c154a335c9c384837f8f6531f179cb4915fd237d9"
            },
            "calldataBytes": {
              "const": 33412
            },
            "nonce": {
              "type": "string",
              "pattern": "^(?:0|[1-9][0-9]*)$"
            },
            "transactionIndex": {
              "type": "string",
              "pattern": "^(?:0|[1-9][0-9]*)$"
            },
            "receiptStatus": {
              "const": "1"
            },
            "blockNumber": {
              "type": "string",
              "pattern": "^[1-9][0-9]*$"
            },
            "blockHash": {
              "type": "string",
              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
            },
            "receiptLogs": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "address",
                  "topics",
                  "data",
                  "logIndex"
                ],
                "properties": {
                  "address": {
                    "type": "string",
                    "pattern": "^0x[0-9a-fA-F]{40}$"
                  },
                  "topics": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                    },
                    "maxItems": 4
                  },
                  "data": {
                    "type": "string",
                    "pattern": "^0x(?:[0-9a-f]{2})*$"
                  },
                  "logIndex": {
                    "type": "string",
                    "pattern": "^(?:0|[1-9][0-9]*)$"
                  }
                }
              },
              "maxItems": 1024,
              "x-programmable-order": "strictly increasing logIndex; unique"
            },
            "receiptLogsDigest": {
              "type": "string",
              "pattern": "^sha256:[0-9a-f]{64}$"
            },
            "providerReadbacks": {
              "type": "array",
              "prefixItems": [
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "providerId",
                    "trustDomain",
                    "transactionHash",
                    "transactionResponseDigest",
                    "transactionReceiptDigest",
                    "evidenceDigest"
                  ],
                  "properties": {
                    "providerId": {
                      "const": "quicknode"
                    },
                    "trustDomain": {
                      "const": "quicknode.com"
                    },
                    "transactionHash": {
                      "type": "string",
                      "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                    },
                    "transactionResponseDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    },
                    "transactionReceiptDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    },
                    "evidenceDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    }
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "providerId",
                    "trustDomain",
                    "transactionHash",
                    "transactionResponseDigest",
                    "transactionReceiptDigest",
                    "evidenceDigest"
                  ],
                  "properties": {
                    "providerId": {
                      "const": "alchemy"
                    },
                    "trustDomain": {
                      "const": "alchemy.com"
                    },
                    "transactionHash": {
                      "type": "string",
                      "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                    },
                    "transactionResponseDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    },
                    "transactionReceiptDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    },
                    "evidenceDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    }
                  }
                }
              ],
              "items": false,
              "minItems": 2,
              "maxItems": 2
            },
            "resultingContracts": {
              "type": "array",
              "prefixItems": [
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "contract",
                    "address",
                    "runtimeCodeHash",
                    "previousBlockRuntimeCodeHash",
                    "providerReadbacks",
                    "stateEvidenceDigest"
                  ],
                  "properties": {
                    "contract": {
                      "const": "permitAuthority"
                    },
                    "address": {
                      "const": "0xeD617CE7f82e2AB589aDeFFD319D1D872Bc8De06"
                    },
                    "runtimeCodeHash": {
                      "const": "0xd7d408ebcd99b2b70be43e20253d6d92a8ea8fab29bd3be7f55b10032331fb4c"
                    },
                    "previousBlockRuntimeCodeHash": {
                      "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                    },
                    "providerReadbacks": {
                      "type": "array",
                      "prefixItems": [
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "schemaVersion",
                            "providerId",
                            "trustDomain",
                            "contract",
                            "address",
                            "preDeploymentBlockNumber",
                            "preDeploymentBlockHash",
                            "preDeploymentRuntimeCodeHash",
                            "deploymentBlockNumber",
                            "deploymentBlockHash",
                            "deploymentRuntimeCodeHash",
                            "evidenceDigest"
                          ],
                          "properties": {
                            "schemaVersion": {
                              "const": "programmable.robinhood-atomic-root-runtime-transition-provider-readback.v1"
                            },
                            "providerId": {
                              "const": "quicknode"
                            },
                            "trustDomain": {
                              "const": "quicknode.com"
                            },
                            "contract": {
                              "const": "permitAuthority"
                            },
                            "address": {
                              "const": "0xeD617CE7f82e2AB589aDeFFD319D1D872Bc8De06"
                            },
                            "preDeploymentBlockNumber": {
                              "type": "string",
                              "pattern": "^(?:0|[1-9][0-9]*)$"
                            },
                            "preDeploymentBlockHash": {
                              "type": "string",
                              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                            },
                            "preDeploymentRuntimeCodeHash": {
                              "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                            },
                            "deploymentBlockNumber": {
                              "type": "string",
                              "pattern": "^[1-9][0-9]*$"
                            },
                            "deploymentBlockHash": {
                              "type": "string",
                              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                            },
                            "deploymentRuntimeCodeHash": {
                              "const": "0xd7d408ebcd99b2b70be43e20253d6d92a8ea8fab29bd3be7f55b10032331fb4c"
                            },
                            "evidenceDigest": {
                              "type": "string",
                              "pattern": "^sha256:[0-9a-f]{64}$"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "schemaVersion",
                            "providerId",
                            "trustDomain",
                            "contract",
                            "address",
                            "preDeploymentBlockNumber",
                            "preDeploymentBlockHash",
                            "preDeploymentRuntimeCodeHash",
                            "deploymentBlockNumber",
                            "deploymentBlockHash",
                            "deploymentRuntimeCodeHash",
                            "evidenceDigest"
                          ],
                          "properties": {
                            "schemaVersion": {
                              "const": "programmable.robinhood-atomic-root-runtime-transition-provider-readback.v1"
                            },
                            "providerId": {
                              "const": "alchemy"
                            },
                            "trustDomain": {
                              "const": "alchemy.com"
                            },
                            "contract": {
                              "const": "permitAuthority"
                            },
                            "address": {
                              "const": "0xeD617CE7f82e2AB589aDeFFD319D1D872Bc8De06"
                            },
                            "preDeploymentBlockNumber": {
                              "type": "string",
                              "pattern": "^(?:0|[1-9][0-9]*)$"
                            },
                            "preDeploymentBlockHash": {
                              "type": "string",
                              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                            },
                            "preDeploymentRuntimeCodeHash": {
                              "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                            },
                            "deploymentBlockNumber": {
                              "type": "string",
                              "pattern": "^[1-9][0-9]*$"
                            },
                            "deploymentBlockHash": {
                              "type": "string",
                              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                            },
                            "deploymentRuntimeCodeHash": {
                              "const": "0xd7d408ebcd99b2b70be43e20253d6d92a8ea8fab29bd3be7f55b10032331fb4c"
                            },
                            "evidenceDigest": {
                              "type": "string",
                              "pattern": "^sha256:[0-9a-f]{64}$"
                            }
                          }
                        }
                      ],
                      "items": false,
                      "minItems": 2,
                      "maxItems": 2
                    },
                    "stateEvidenceDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    }
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "contract",
                    "address",
                    "runtimeCodeHash",
                    "previousBlockRuntimeCodeHash",
                    "providerReadbacks",
                    "stateEvidenceDigest"
                  ],
                  "properties": {
                    "contract": {
                      "const": "graphFactory"
                    },
                    "address": {
                      "const": "0x0B6b3F40f84Df25D3bd69238f937096177DD09Bd"
                    },
                    "runtimeCodeHash": {
                      "const": "0xd23692fae59331592048e71a96d4963e170ee56e449683dc9f7fa3f9470018b8"
                    },
                    "previousBlockRuntimeCodeHash": {
                      "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                    },
                    "providerReadbacks": {
                      "type": "array",
                      "prefixItems": [
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "schemaVersion",
                            "providerId",
                            "trustDomain",
                            "contract",
                            "address",
                            "preDeploymentBlockNumber",
                            "preDeploymentBlockHash",
                            "preDeploymentRuntimeCodeHash",
                            "deploymentBlockNumber",
                            "deploymentBlockHash",
                            "deploymentRuntimeCodeHash",
                            "evidenceDigest"
                          ],
                          "properties": {
                            "schemaVersion": {
                              "const": "programmable.robinhood-atomic-root-runtime-transition-provider-readback.v1"
                            },
                            "providerId": {
                              "const": "quicknode"
                            },
                            "trustDomain": {
                              "const": "quicknode.com"
                            },
                            "contract": {
                              "const": "graphFactory"
                            },
                            "address": {
                              "const": "0x0B6b3F40f84Df25D3bd69238f937096177DD09Bd"
                            },
                            "preDeploymentBlockNumber": {
                              "type": "string",
                              "pattern": "^(?:0|[1-9][0-9]*)$"
                            },
                            "preDeploymentBlockHash": {
                              "type": "string",
                              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                            },
                            "preDeploymentRuntimeCodeHash": {
                              "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                            },
                            "deploymentBlockNumber": {
                              "type": "string",
                              "pattern": "^[1-9][0-9]*$"
                            },
                            "deploymentBlockHash": {
                              "type": "string",
                              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                            },
                            "deploymentRuntimeCodeHash": {
                              "const": "0xd23692fae59331592048e71a96d4963e170ee56e449683dc9f7fa3f9470018b8"
                            },
                            "evidenceDigest": {
                              "type": "string",
                              "pattern": "^sha256:[0-9a-f]{64}$"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "schemaVersion",
                            "providerId",
                            "trustDomain",
                            "contract",
                            "address",
                            "preDeploymentBlockNumber",
                            "preDeploymentBlockHash",
                            "preDeploymentRuntimeCodeHash",
                            "deploymentBlockNumber",
                            "deploymentBlockHash",
                            "deploymentRuntimeCodeHash",
                            "evidenceDigest"
                          ],
                          "properties": {
                            "schemaVersion": {
                              "const": "programmable.robinhood-atomic-root-runtime-transition-provider-readback.v1"
                            },
                            "providerId": {
                              "const": "alchemy"
                            },
                            "trustDomain": {
                              "const": "alchemy.com"
                            },
                            "contract": {
                              "const": "graphFactory"
                            },
                            "address": {
                              "const": "0x0B6b3F40f84Df25D3bd69238f937096177DD09Bd"
                            },
                            "preDeploymentBlockNumber": {
                              "type": "string",
                              "pattern": "^(?:0|[1-9][0-9]*)$"
                            },
                            "preDeploymentBlockHash": {
                              "type": "string",
                              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                            },
                            "preDeploymentRuntimeCodeHash": {
                              "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                            },
                            "deploymentBlockNumber": {
                              "type": "string",
                              "pattern": "^[1-9][0-9]*$"
                            },
                            "deploymentBlockHash": {
                              "type": "string",
                              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                            },
                            "deploymentRuntimeCodeHash": {
                              "const": "0xd23692fae59331592048e71a96d4963e170ee56e449683dc9f7fa3f9470018b8"
                            },
                            "evidenceDigest": {
                              "type": "string",
                              "pattern": "^sha256:[0-9a-f]{64}$"
                            }
                          }
                        }
                      ],
                      "items": false,
                      "minItems": 2,
                      "maxItems": 2
                    },
                    "stateEvidenceDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    }
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "contract",
                    "address",
                    "runtimeCodeHash",
                    "previousBlockRuntimeCodeHash",
                    "providerReadbacks",
                    "stateEvidenceDigest"
                  ],
                  "properties": {
                    "contract": {
                      "const": "programmableLaunchStampRouter"
                    },
                    "address": {
                      "const": "0x34965F2A2ee9254522232C32F02056E92BE0C98a"
                    },
                    "runtimeCodeHash": {
                      "const": "0x1dbbdaaad901ea3c6134dca0d4872a4789b3c071bf8ccfb44edd65d26d817388"
                    },
                    "previousBlockRuntimeCodeHash": {
                      "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                    },
                    "providerReadbacks": {
                      "type": "array",
                      "prefixItems": [
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "schemaVersion",
                            "providerId",
                            "trustDomain",
                            "contract",
                            "address",
                            "preDeploymentBlockNumber",
                            "preDeploymentBlockHash",
                            "preDeploymentRuntimeCodeHash",
                            "deploymentBlockNumber",
                            "deploymentBlockHash",
                            "deploymentRuntimeCodeHash",
                            "evidenceDigest"
                          ],
                          "properties": {
                            "schemaVersion": {
                              "const": "programmable.robinhood-atomic-root-runtime-transition-provider-readback.v1"
                            },
                            "providerId": {
                              "const": "quicknode"
                            },
                            "trustDomain": {
                              "const": "quicknode.com"
                            },
                            "contract": {
                              "const": "programmableLaunchStampRouter"
                            },
                            "address": {
                              "const": "0x34965F2A2ee9254522232C32F02056E92BE0C98a"
                            },
                            "preDeploymentBlockNumber": {
                              "type": "string",
                              "pattern": "^(?:0|[1-9][0-9]*)$"
                            },
                            "preDeploymentBlockHash": {
                              "type": "string",
                              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                            },
                            "preDeploymentRuntimeCodeHash": {
                              "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                            },
                            "deploymentBlockNumber": {
                              "type": "string",
                              "pattern": "^[1-9][0-9]*$"
                            },
                            "deploymentBlockHash": {
                              "type": "string",
                              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                            },
                            "deploymentRuntimeCodeHash": {
                              "const": "0x1dbbdaaad901ea3c6134dca0d4872a4789b3c071bf8ccfb44edd65d26d817388"
                            },
                            "evidenceDigest": {
                              "type": "string",
                              "pattern": "^sha256:[0-9a-f]{64}$"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "schemaVersion",
                            "providerId",
                            "trustDomain",
                            "contract",
                            "address",
                            "preDeploymentBlockNumber",
                            "preDeploymentBlockHash",
                            "preDeploymentRuntimeCodeHash",
                            "deploymentBlockNumber",
                            "deploymentBlockHash",
                            "deploymentRuntimeCodeHash",
                            "evidenceDigest"
                          ],
                          "properties": {
                            "schemaVersion": {
                              "const": "programmable.robinhood-atomic-root-runtime-transition-provider-readback.v1"
                            },
                            "providerId": {
                              "const": "alchemy"
                            },
                            "trustDomain": {
                              "const": "alchemy.com"
                            },
                            "contract": {
                              "const": "programmableLaunchStampRouter"
                            },
                            "address": {
                              "const": "0x34965F2A2ee9254522232C32F02056E92BE0C98a"
                            },
                            "preDeploymentBlockNumber": {
                              "type": "string",
                              "pattern": "^(?:0|[1-9][0-9]*)$"
                            },
                            "preDeploymentBlockHash": {
                              "type": "string",
                              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                            },
                            "preDeploymentRuntimeCodeHash": {
                              "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                            },
                            "deploymentBlockNumber": {
                              "type": "string",
                              "pattern": "^[1-9][0-9]*$"
                            },
                            "deploymentBlockHash": {
                              "type": "string",
                              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                            },
                            "deploymentRuntimeCodeHash": {
                              "const": "0x1dbbdaaad901ea3c6134dca0d4872a4789b3c071bf8ccfb44edd65d26d817388"
                            },
                            "evidenceDigest": {
                              "type": "string",
                              "pattern": "^sha256:[0-9a-f]{64}$"
                            }
                          }
                        }
                      ],
                      "items": false,
                      "minItems": 2,
                      "maxItems": 2
                    },
                    "stateEvidenceDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    }
                  }
                }
              ],
              "items": false,
              "minItems": 3,
              "maxItems": 3
            },
            "ethereumFinalityEvidence": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "schemaVersion",
                "profile",
                "l2Checkpoint",
                "batchNumber",
                "l2Providers",
                "ethereumProviders",
                "rollup",
                "sequencerInbox",
                "postingTransactionHash",
                "postingBlockNumber",
                "postingBlockHash",
                "postingLogIndex",
                "ethereumFinalizedCheckpoint",
                "observedAt",
                "captureClosureDigest",
                "postingEventDigest",
                "l1EvidenceDigest",
                "evidenceDigest"
              ],
              "properties": {
                "schemaVersion": {
                  "const": "programmable.robinhood-l2-checkpoint-ethereum-finality.v1"
                },
                "profile": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "schemaVersion",
                    "structuralProfileId",
                    "businessProfileId",
                    "admissionDescriptorDigest",
                    "admissionPolicyDigest",
                    "admissionBindingDigest",
                    "admissionSchemaDigest",
                    "profileRevision",
                    "profileVersion",
                    "profileDigest"
                  ],
                  "properties": {
                    "schemaVersion": {
                      "const": "programmable.custom-launch-profile-ref.v4"
                    },
                    "structuralProfileId": {
                      "const": "programmable.custom-launch.robinhood-mainnet.v1"
                    },
                    "businessProfileId": {
                      "const": "robinhood-production-launch"
                    },
                    "admissionDescriptorDigest": {
                      "const": "sha256:99b4ccabdaaf143bad28a8f6af441a1b93e1f113d0179236328b7fa594d1f948"
                    },
                    "admissionPolicyDigest": {
                      "const": "sha256:31e6b286ca839b31cb1edfe30c05d9f334892f3d84377961dc10b93959c7e216"
                    },
                    "admissionBindingDigest": {
                      "const": "sha256:f31643e6e9ff6d5409d59a2fc3ac7fb5ac9cfcb3af08e95c9478bc95ddfa66a2"
                    },
                    "admissionSchemaDigest": {
                      "const": "sha256:a28a6de6208d6ba7b65b4b706174509570955ba9ce9714624bcb2046ab7beae7"
                    },
                    "profileRevision": {
                      "const": 1
                    },
                    "profileVersion": {
                      "const": "4.0.0"
                    },
                    "profileDigest": {
                      "const": "sha256:484b1dc6e9091804fabc230f2b3a7504940fa00264f8e66e82a66a951e71f1a0"
                    }
                  }
                },
                "l2Checkpoint": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "blockNumber",
                    "blockHash"
                  ],
                  "properties": {
                    "blockNumber": {
                      "type": "string",
                      "pattern": "^[1-9][0-9]*$"
                    },
                    "blockHash": {
                      "type": "string",
                      "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                    }
                  }
                },
                "batchNumber": {
                  "type": "string",
                  "pattern": "^[1-9][0-9]*$"
                },
                "l2Providers": {
                  "type": "array",
                  "prefixItems": [
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain",
                        "l1Confirmations"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "quicknode"
                        },
                        "trustDomain": {
                          "const": "quicknode.com"
                        },
                        "l1Confirmations": {
                          "type": "string",
                          "pattern": "^[1-9][0-9]*$"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain",
                        "l1Confirmations"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "alchemy"
                        },
                        "trustDomain": {
                          "const": "alchemy.com"
                        },
                        "l1Confirmations": {
                          "type": "string",
                          "pattern": "^[1-9][0-9]*$"
                        }
                      }
                    }
                  ],
                  "items": false,
                  "minItems": 2,
                  "maxItems": 2
                },
                "ethereumProviders": {
                  "type": "array",
                  "prefixItems": [
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "drpc"
                        },
                        "trustDomain": {
                          "const": "drpc.org"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "quicknode"
                        },
                        "trustDomain": {
                          "const": "quicknode.com"
                        }
                      }
                    }
                  ],
                  "items": false,
                  "minItems": 2,
                  "maxItems": 2
                },
                "rollup": {
                  "const": "0x23A19d23e89166adedbDcB432518AB01e4272D94"
                },
                "sequencerInbox": {
                  "const": "0xBd0D173EEb87D57A09521c24388a12789F33ba96"
                },
                "postingTransactionHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "postingBlockNumber": {
                  "type": "string",
                  "pattern": "^[1-9][0-9]*$"
                },
                "postingBlockHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "postingLogIndex": {
                  "type": "string",
                  "pattern": "^(?:0|[1-9][0-9]*)$"
                },
                "ethereumFinalizedCheckpoint": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "blockNumber",
                    "blockHash",
                    "tag"
                  ],
                  "properties": {
                    "blockNumber": {
                      "type": "string",
                      "pattern": "^[1-9][0-9]*$"
                    },
                    "blockHash": {
                      "type": "string",
                      "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                    },
                    "tag": {
                      "const": "finalized"
                    }
                  }
                },
                "observedAt": {
                  "type": "string",
                  "format": "date-time"
                },
                "captureClosureDigest": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                },
                "postingEventDigest": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                },
                "l1EvidenceDigest": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                },
                "evidenceDigest": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                }
              },
              "x-programmable-order": "ethereumFinalizedCheckpoint.blockNumber >= postingBlockNumber"
            },
            "evidenceDigest": {
              "type": "string",
              "pattern": "^sha256:[0-9a-f]{64}$"
            },
            "sourceVerification": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "sourcifyProviderMatchCoveredContracts",
                "exactByteSourceBuildTransactionCoveredContracts",
                "officialSourcePinnedCoveredContracts"
              ],
              "properties": {
                "sourcifyProviderMatchCoveredContracts": {
                  "const": [
                    "programmableLaunchStampRouter",
                    "graphFactory"
                  ]
                },
                "exactByteSourceBuildTransactionCoveredContracts": {
                  "const": [
                    "programmableLaunchStampRouter",
                    "graphFactory"
                  ]
                },
                "officialSourcePinnedCoveredContracts": {
                  "const": [
                    "permitAuthority"
                  ]
                }
              }
            }
          },
          "x-programmable-order": "resultingContracts providerReadbacks prove blockNumber - 1 -> blockNumber"
        },
        "permit2GenesisProvenance": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "schemaVersion",
            "kind",
            "address",
            "startBlock",
            "genesisSourceUrl",
            "genesisSourceDigest",
            "allocRuntimeCodeBytes",
            "providerReadbacks",
            "evidenceDigest"
          ],
          "properties": {
            "schemaVersion": {
              "const": "programmable.custom-launch-genesis-provenance.v1"
            },
            "kind": {
              "const": "genesis-predeploy"
            },
            "address": {
              "const": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
            },
            "startBlock": {
              "const": "0"
            },
            "genesisSourceUrl": {
              "const": "https://cdn.robinhood.com/assets/generated_assets/hoodchain_docsite/chain-node-configs/robinhood-genesis.json"
            },
            "genesisSourceDigest": {
              "const": "sha256:353e6f6441b47695b41cee0c3645cde8dd7492d2f7f574bfb6aa4371e41bb6ba"
            },
            "allocRuntimeCodeBytes": {
              "const": 9152
            },
            "providerReadbacks": {
              "type": "array",
              "prefixItems": [
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "schemaVersion",
                    "providerId",
                    "trustDomain",
                    "blockNumber",
                    "blockHash",
                    "runtimeCodeHash",
                    "evidenceDigest"
                  ],
                  "properties": {
                    "schemaVersion": {
                      "const": "programmable.custom-launch-genesis-provider-readback.v1"
                    },
                    "providerId": {
                      "const": "quicknode"
                    },
                    "trustDomain": {
                      "const": "quicknode.com"
                    },
                    "blockNumber": {
                      "const": "0"
                    },
                    "blockHash": {
                      "type": "string",
                      "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                    },
                    "runtimeCodeHash": {
                      "const": "0x5208783f52488f7d3493e5e38311ab707c1d75457fe472a19b0b4d57d66a7fca"
                    },
                    "evidenceDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    }
                  }
                },
                {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "schemaVersion",
                    "providerId",
                    "trustDomain",
                    "blockNumber",
                    "blockHash",
                    "runtimeCodeHash",
                    "evidenceDigest"
                  ],
                  "properties": {
                    "schemaVersion": {
                      "const": "programmable.custom-launch-genesis-provider-readback.v1"
                    },
                    "providerId": {
                      "const": "alchemy"
                    },
                    "trustDomain": {
                      "const": "alchemy.com"
                    },
                    "blockNumber": {
                      "const": "0"
                    },
                    "blockHash": {
                      "type": "string",
                      "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                    },
                    "runtimeCodeHash": {
                      "const": "0x5208783f52488f7d3493e5e38311ab707c1d75457fe472a19b0b4d57d66a7fca"
                    },
                    "evidenceDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    }
                  }
                }
              ],
              "items": false,
              "minItems": 2,
              "maxItems": 2
            },
            "evidenceDigest": {
              "type": "string",
              "pattern": "^sha256:[0-9a-f]{64}$"
            }
          },
          "x-programmable-order": "providerReadbacks[0].blockHash == providerReadbacks[1].blockHash"
        },
        "permitAuthoritySourceProvenance": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "schemaVersion",
            "kind",
            "address",
            "transactionHash",
            "blockNumber",
            "blockHash",
            "sourceCommitment",
            "evidenceDigest",
            "configurationEvidence"
          ],
          "properties": {
            "schemaVersion": {
              "const": "programmable.custom-launch-deployment-evidence.v1"
            },
            "kind": {
              "const": "official-source-pinned"
            },
            "address": {
              "const": "0xeD617CE7f82e2AB589aDeFFD319D1D872Bc8De06"
            },
            "transactionHash": {
              "type": "string",
              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
            },
            "blockNumber": {
              "type": "string",
              "pattern": "^[1-9][0-9]*$"
            },
            "blockHash": {
              "type": "string",
              "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
            },
            "sourceCommitment": {
              "const": "sha256:4591dc35029cba2a869f91919cb3cf7e7c68f26727cc68e4b03d99cdf1bc2ebb"
            },
            "evidenceDigest": {
              "type": "string",
              "pattern": "^sha256:[0-9a-f]{64}$"
            },
            "configurationEvidence": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "schemaVersion",
                "finalized",
                "blockNumber",
                "blockHash",
                "proxyRuntimeCodeHash",
                "singleton",
                "fallbackHandler",
                "owners",
                "threshold",
                "nonce",
                "modules",
                "modulesNext",
                "guard",
                "fallbackHandlerRuntimeCodeHash",
                "singletonSlot",
                "fallbackHandlerSlot",
                "guardSlot",
                "primaryProvider",
                "secondaryProvider",
                "ethereumFinalityEvidence",
                "atomicRootStateEvidenceDigest",
                "evidenceDigest"
              ],
              "properties": {
                "schemaVersion": {
                  "const": "programmable.safe-configuration-evidence.v1"
                },
                "finalized": {
                  "const": true
                },
                "blockNumber": {
                  "type": "string",
                  "pattern": "^[1-9][0-9]*$"
                },
                "blockHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "proxyRuntimeCodeHash": {
                  "const": "0xd7d408ebcd99b2b70be43e20253d6d92a8ea8fab29bd3be7f55b10032331fb4c"
                },
                "singleton": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "address",
                    "runtimeCodeHash",
                    "version",
                    "sourceCommitment"
                  ],
                  "properties": {
                    "address": {
                      "const": "0x41675C099F32341bf84BFc5382aF534df5C7461a"
                    },
                    "runtimeCodeHash": {
                      "const": "0x1fe2df852ba3299d6534ef416eefa406e56ced995bca886ab7a553e6d0c5e1c4"
                    },
                    "version": {
                      "const": "1.4.1"
                    },
                    "sourceCommitment": {
                      "const": "sha256:4591dc35029cba2a869f91919cb3cf7e7c68f26727cc68e4b03d99cdf1bc2ebb"
                    }
                  }
                },
                "fallbackHandler": {
                  "const": "0xfd0732Dc9E303f09fCEf3a7388Ad10A83459Ec99"
                },
                "fallbackHandlerRuntimeCodeHash": {
                  "const": "0x7c6007a5d711cea8dfd5d91f5940ec29c7f200fe511eb1fc1397b367af3c42f9"
                },
                "owners": {
                  "const": [
                    "0x032b1c7b96793717F0BD2f11eb86cd10CdefC4a3",
                    "0x2Bb333d48DFAF1596D9036671d2E43168994249E"
                  ]
                },
                "threshold": {
                  "const": 1
                },
                "nonce": {
                  "const": "0"
                },
                "modules": {
                  "const": []
                },
                "modulesNext": {
                  "const": "0x0000000000000000000000000000000000000001"
                },
                "guard": {
                  "const": null
                },
                "singletonSlot": {
                  "const": "0x00000000000000000000000041675c099f32341bf84bfc5382af534df5c7461a"
                },
                "fallbackHandlerSlot": {
                  "const": "0x000000000000000000000000fd0732dc9e303f09fcef3a7388ad10a83459ec99"
                },
                "guardSlot": {
                  "const": "0x0000000000000000000000000000000000000000000000000000000000000000"
                },
                "primaryProvider": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "providerId",
                    "trustDomain",
                    "evidenceDigest"
                  ],
                  "properties": {
                    "providerId": {
                      "const": "quicknode"
                    },
                    "trustDomain": {
                      "const": "quicknode.com"
                    },
                    "evidenceDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    }
                  }
                },
                "secondaryProvider": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "providerId",
                    "trustDomain",
                    "evidenceDigest"
                  ],
                  "properties": {
                    "providerId": {
                      "const": "alchemy"
                    },
                    "trustDomain": {
                      "const": "alchemy.com"
                    },
                    "evidenceDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    }
                  }
                },
                "ethereumFinalityEvidence": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "schemaVersion",
                    "profile",
                    "l2Checkpoint",
                    "batchNumber",
                    "l2Providers",
                    "ethereumProviders",
                    "rollup",
                    "sequencerInbox",
                    "postingTransactionHash",
                    "postingBlockNumber",
                    "postingBlockHash",
                    "postingLogIndex",
                    "ethereumFinalizedCheckpoint",
                    "observedAt",
                    "captureClosureDigest",
                    "postingEventDigest",
                    "l1EvidenceDigest",
                    "evidenceDigest"
                  ],
                  "properties": {
                    "schemaVersion": {
                      "const": "programmable.robinhood-l2-checkpoint-ethereum-finality.v1"
                    },
                    "profile": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "schemaVersion",
                        "structuralProfileId",
                        "businessProfileId",
                        "admissionDescriptorDigest",
                        "admissionPolicyDigest",
                        "admissionBindingDigest",
                        "admissionSchemaDigest",
                        "profileRevision",
                        "profileVersion",
                        "profileDigest"
                      ],
                      "properties": {
                        "schemaVersion": {
                          "const": "programmable.custom-launch-profile-ref.v4"
                        },
                        "structuralProfileId": {
                          "const": "programmable.custom-launch.robinhood-mainnet.v1"
                        },
                        "businessProfileId": {
                          "const": "robinhood-production-launch"
                        },
                        "admissionDescriptorDigest": {
                          "const": "sha256:99b4ccabdaaf143bad28a8f6af441a1b93e1f113d0179236328b7fa594d1f948"
                        },
                        "admissionPolicyDigest": {
                          "const": "sha256:31e6b286ca839b31cb1edfe30c05d9f334892f3d84377961dc10b93959c7e216"
                        },
                        "admissionBindingDigest": {
                          "const": "sha256:f31643e6e9ff6d5409d59a2fc3ac7fb5ac9cfcb3af08e95c9478bc95ddfa66a2"
                        },
                        "admissionSchemaDigest": {
                          "const": "sha256:a28a6de6208d6ba7b65b4b706174509570955ba9ce9714624bcb2046ab7beae7"
                        },
                        "profileRevision": {
                          "const": 1
                        },
                        "profileVersion": {
                          "const": "4.0.0"
                        },
                        "profileDigest": {
                          "const": "sha256:484b1dc6e9091804fabc230f2b3a7504940fa00264f8e66e82a66a951e71f1a0"
                        }
                      }
                    },
                    "l2Checkpoint": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "blockNumber",
                        "blockHash"
                      ],
                      "properties": {
                        "blockNumber": {
                          "type": "string",
                          "pattern": "^[1-9][0-9]*$"
                        },
                        "blockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        }
                      }
                    },
                    "batchNumber": {
                      "type": "string",
                      "pattern": "^[1-9][0-9]*$"
                    },
                    "l2Providers": {
                      "type": "array",
                      "prefixItems": [
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "providerId",
                            "trustDomain",
                            "l1Confirmations"
                          ],
                          "properties": {
                            "providerId": {
                              "const": "quicknode"
                            },
                            "trustDomain": {
                              "const": "quicknode.com"
                            },
                            "l1Confirmations": {
                              "type": "string",
                              "pattern": "^[1-9][0-9]*$"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "providerId",
                            "trustDomain",
                            "l1Confirmations"
                          ],
                          "properties": {
                            "providerId": {
                              "const": "alchemy"
                            },
                            "trustDomain": {
                              "const": "alchemy.com"
                            },
                            "l1Confirmations": {
                              "type": "string",
                              "pattern": "^[1-9][0-9]*$"
                            }
                          }
                        }
                      ],
                      "items": false,
                      "minItems": 2,
                      "maxItems": 2
                    },
                    "ethereumProviders": {
                      "type": "array",
                      "prefixItems": [
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "providerId",
                            "trustDomain"
                          ],
                          "properties": {
                            "providerId": {
                              "const": "drpc"
                            },
                            "trustDomain": {
                              "const": "drpc.org"
                            }
                          }
                        },
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "providerId",
                            "trustDomain"
                          ],
                          "properties": {
                            "providerId": {
                              "const": "quicknode"
                            },
                            "trustDomain": {
                              "const": "quicknode.com"
                            }
                          }
                        }
                      ],
                      "items": false,
                      "minItems": 2,
                      "maxItems": 2
                    },
                    "rollup": {
                      "const": "0x23A19d23e89166adedbDcB432518AB01e4272D94"
                    },
                    "sequencerInbox": {
                      "const": "0xBd0D173EEb87D57A09521c24388a12789F33ba96"
                    },
                    "postingTransactionHash": {
                      "type": "string",
                      "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                    },
                    "postingBlockNumber": {
                      "type": "string",
                      "pattern": "^[1-9][0-9]*$"
                    },
                    "postingBlockHash": {
                      "type": "string",
                      "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                    },
                    "postingLogIndex": {
                      "type": "string",
                      "pattern": "^(?:0|[1-9][0-9]*)$"
                    },
                    "ethereumFinalizedCheckpoint": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "blockNumber",
                        "blockHash",
                        "tag"
                      ],
                      "properties": {
                        "blockNumber": {
                          "type": "string",
                          "pattern": "^[1-9][0-9]*$"
                        },
                        "blockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "tag": {
                          "const": "finalized"
                        }
                      }
                    },
                    "observedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "captureClosureDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    },
                    "postingEventDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    },
                    "l1EvidenceDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    },
                    "evidenceDigest": {
                      "type": "string",
                      "pattern": "^sha256:[0-9a-f]{64}$"
                    }
                  },
                  "x-programmable-order": "ethereumFinalizedCheckpoint.blockNumber >= postingBlockNumber"
                },
                "atomicRootStateEvidenceDigest": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                },
                "evidenceDigest": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                }
              }
            }
          }
        },
        "externalRootDeploymentEvidence": {
          "type": "array",
          "prefixItems": [
            {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "schemaVersion",
                "contract",
                "kind",
                "address",
                "runtimeCodeHash",
                "transactionHash",
                "previousBlockNumber",
                "previousBlockHash",
                "previousBlockRuntimeCodeHash",
                "startBlock",
                "blockHash",
                "registrySource",
                "providerReadbacks",
                "evidenceDigest"
              ],
              "properties": {
                "schemaVersion": {
                  "const": "programmable.custom-launch-deployment-evidence.v1"
                },
                "contract": {
                  "const": "poolManager"
                },
                "kind": {
                  "const": "exact-observed-deployment"
                },
                "address": {
                  "const": "0x8366a39CC670B4001A1121B8F6A443A643e40951"
                },
                "runtimeCodeHash": {
                  "const": "0xbd3881180b547f5fe817545743cfb4343e96b1bc6640dcd70c106b0066e95626"
                },
                "transactionHash": {
                  "const": "0x4fb28d4935866f462582c6c931c6f2705e55f5be5eb178c7d8d9329a95c44c41"
                },
                "previousBlockNumber": {
                  "const": "9069"
                },
                "previousBlockHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "previousBlockRuntimeCodeHash": {
                  "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                },
                "startBlock": {
                  "const": "9070"
                },
                "blockHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "registrySource": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "repository",
                    "commit",
                    "path",
                    "rawUrl",
                    "sha256"
                  ],
                  "properties": {
                    "repository": {
                      "const": "Uniswap/contracts"
                    },
                    "commit": {
                      "const": "4cfc406c8e34da3ce04e60657a7825075b64fd22"
                    },
                    "path": {
                      "const": "deployments/json/4663.json"
                    },
                    "rawUrl": {
                      "const": "https://raw.githubusercontent.com/Uniswap/contracts/4cfc406c8e34da3ce04e60657a7825075b64fd22/deployments/json/4663.json"
                    },
                    "sha256": {
                      "const": "sha256:21964cefbfc24b0ee89e7427acf74d223ce5a50aeb4216a9bac361a6148dea15"
                    }
                  }
                },
                "providerReadbacks": {
                  "type": "array",
                  "prefixItems": [
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain",
                        "transactionHash",
                        "rawTransactionDigest",
                        "transactionDigest",
                        "previousBlockNumber",
                        "previousBlockHash",
                        "previousBlockRuntimeCodeHash",
                        "blockNumber",
                        "blockHash",
                        "runtimeCodeHash",
                        "transactionReceiptDigest",
                        "evidenceDigest"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "quicknode"
                        },
                        "trustDomain": {
                          "const": "quicknode.com"
                        },
                        "transactionHash": {
                          "const": "0x4fb28d4935866f462582c6c931c6f2705e55f5be5eb178c7d8d9329a95c44c41"
                        },
                        "rawTransactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "transactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "previousBlockNumber": {
                          "const": "9069"
                        },
                        "previousBlockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "previousBlockRuntimeCodeHash": {
                          "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                        },
                        "blockNumber": {
                          "const": "9070"
                        },
                        "blockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "runtimeCodeHash": {
                          "const": "0xbd3881180b547f5fe817545743cfb4343e96b1bc6640dcd70c106b0066e95626"
                        },
                        "transactionReceiptDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "evidenceDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain",
                        "transactionHash",
                        "rawTransactionDigest",
                        "transactionDigest",
                        "previousBlockNumber",
                        "previousBlockHash",
                        "previousBlockRuntimeCodeHash",
                        "blockNumber",
                        "blockHash",
                        "runtimeCodeHash",
                        "transactionReceiptDigest",
                        "evidenceDigest"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "alchemy"
                        },
                        "trustDomain": {
                          "const": "alchemy.com"
                        },
                        "transactionHash": {
                          "const": "0x4fb28d4935866f462582c6c931c6f2705e55f5be5eb178c7d8d9329a95c44c41"
                        },
                        "rawTransactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "transactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "previousBlockNumber": {
                          "const": "9069"
                        },
                        "previousBlockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "previousBlockRuntimeCodeHash": {
                          "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                        },
                        "blockNumber": {
                          "const": "9070"
                        },
                        "blockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "runtimeCodeHash": {
                          "const": "0xbd3881180b547f5fe817545743cfb4343e96b1bc6640dcd70c106b0066e95626"
                        },
                        "transactionReceiptDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "evidenceDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        }
                      }
                    }
                  ],
                  "items": false,
                  "minItems": 2,
                  "maxItems": 2
                },
                "evidenceDigest": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                }
              },
              "x-programmable-order": "previousBlockNumber + 1 == startBlock; previousBlockNumber == providerReadbacks[*].previousBlockNumber; previousBlockHash == providerReadbacks[*].previousBlockHash; startBlock == providerReadbacks[*].blockNumber; blockHash == providerReadbacks[*].blockHash; providerReadbacks[0].rawTransactionDigest == providerReadbacks[1].rawTransactionDigest; providerReadbacks[0].transactionDigest == providerReadbacks[1].transactionDigest; providerReadbacks[0].transactionReceiptDigest == providerReadbacks[1].transactionReceiptDigest"
            },
            {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "schemaVersion",
                "contract",
                "kind",
                "address",
                "runtimeCodeHash",
                "transactionHash",
                "previousBlockNumber",
                "previousBlockHash",
                "previousBlockRuntimeCodeHash",
                "startBlock",
                "blockHash",
                "registrySource",
                "providerReadbacks",
                "evidenceDigest"
              ],
              "properties": {
                "schemaVersion": {
                  "const": "programmable.custom-launch-deployment-evidence.v1"
                },
                "contract": {
                  "const": "positionManager"
                },
                "kind": {
                  "const": "exact-observed-deployment"
                },
                "address": {
                  "const": "0x58daec3116aae6D93017bAAea7749052E8a04fA7"
                },
                "runtimeCodeHash": {
                  "const": "0xc873e135dc9aaec88489cfbad146b4cb49d6a32e0d80326377784b7ba17670b2"
                },
                "transactionHash": {
                  "const": "0x228c18ada6cb46b4fbcc18f4ec1519953415393e256fa8349aafbd5a2db037c8"
                },
                "previousBlockNumber": {
                  "const": "9072"
                },
                "previousBlockHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "previousBlockRuntimeCodeHash": {
                  "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                },
                "startBlock": {
                  "const": "9073"
                },
                "blockHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "registrySource": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "repository",
                    "commit",
                    "path",
                    "rawUrl",
                    "sha256"
                  ],
                  "properties": {
                    "repository": {
                      "const": "Uniswap/contracts"
                    },
                    "commit": {
                      "const": "4cfc406c8e34da3ce04e60657a7825075b64fd22"
                    },
                    "path": {
                      "const": "deployments/json/4663.json"
                    },
                    "rawUrl": {
                      "const": "https://raw.githubusercontent.com/Uniswap/contracts/4cfc406c8e34da3ce04e60657a7825075b64fd22/deployments/json/4663.json"
                    },
                    "sha256": {
                      "const": "sha256:21964cefbfc24b0ee89e7427acf74d223ce5a50aeb4216a9bac361a6148dea15"
                    }
                  }
                },
                "providerReadbacks": {
                  "type": "array",
                  "prefixItems": [
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain",
                        "transactionHash",
                        "rawTransactionDigest",
                        "transactionDigest",
                        "previousBlockNumber",
                        "previousBlockHash",
                        "previousBlockRuntimeCodeHash",
                        "blockNumber",
                        "blockHash",
                        "runtimeCodeHash",
                        "transactionReceiptDigest",
                        "evidenceDigest"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "quicknode"
                        },
                        "trustDomain": {
                          "const": "quicknode.com"
                        },
                        "transactionHash": {
                          "const": "0x228c18ada6cb46b4fbcc18f4ec1519953415393e256fa8349aafbd5a2db037c8"
                        },
                        "rawTransactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "transactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "previousBlockNumber": {
                          "const": "9072"
                        },
                        "previousBlockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "previousBlockRuntimeCodeHash": {
                          "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                        },
                        "blockNumber": {
                          "const": "9073"
                        },
                        "blockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "runtimeCodeHash": {
                          "const": "0xc873e135dc9aaec88489cfbad146b4cb49d6a32e0d80326377784b7ba17670b2"
                        },
                        "transactionReceiptDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "evidenceDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain",
                        "transactionHash",
                        "rawTransactionDigest",
                        "transactionDigest",
                        "previousBlockNumber",
                        "previousBlockHash",
                        "previousBlockRuntimeCodeHash",
                        "blockNumber",
                        "blockHash",
                        "runtimeCodeHash",
                        "transactionReceiptDigest",
                        "evidenceDigest"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "alchemy"
                        },
                        "trustDomain": {
                          "const": "alchemy.com"
                        },
                        "transactionHash": {
                          "const": "0x228c18ada6cb46b4fbcc18f4ec1519953415393e256fa8349aafbd5a2db037c8"
                        },
                        "rawTransactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "transactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "previousBlockNumber": {
                          "const": "9072"
                        },
                        "previousBlockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "previousBlockRuntimeCodeHash": {
                          "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                        },
                        "blockNumber": {
                          "const": "9073"
                        },
                        "blockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "runtimeCodeHash": {
                          "const": "0xc873e135dc9aaec88489cfbad146b4cb49d6a32e0d80326377784b7ba17670b2"
                        },
                        "transactionReceiptDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "evidenceDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        }
                      }
                    }
                  ],
                  "items": false,
                  "minItems": 2,
                  "maxItems": 2
                },
                "evidenceDigest": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                }
              },
              "x-programmable-order": "previousBlockNumber + 1 == startBlock; previousBlockNumber == providerReadbacks[*].previousBlockNumber; previousBlockHash == providerReadbacks[*].previousBlockHash; startBlock == providerReadbacks[*].blockNumber; blockHash == providerReadbacks[*].blockHash; providerReadbacks[0].rawTransactionDigest == providerReadbacks[1].rawTransactionDigest; providerReadbacks[0].transactionDigest == providerReadbacks[1].transactionDigest; providerReadbacks[0].transactionReceiptDigest == providerReadbacks[1].transactionReceiptDigest"
            },
            {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "schemaVersion",
                "contract",
                "kind",
                "address",
                "runtimeCodeHash",
                "transactionHash",
                "previousBlockNumber",
                "previousBlockHash",
                "previousBlockRuntimeCodeHash",
                "startBlock",
                "blockHash",
                "registrySource",
                "providerReadbacks",
                "evidenceDigest"
              ],
              "properties": {
                "schemaVersion": {
                  "const": "programmable.custom-launch-deployment-evidence.v1"
                },
                "contract": {
                  "const": "stateView"
                },
                "kind": {
                  "const": "exact-observed-deployment"
                },
                "address": {
                  "const": "0xF3334192D15450CdD385c8B70e03f9A6bD9E673b"
                },
                "runtimeCodeHash": {
                  "const": "0x7d9c591e0956fd89d98feb4ffcfe8bf1f7a62bd485edd979fa21d104b49878a6"
                },
                "transactionHash": {
                  "const": "0x3d61e2c9eeb482385b1aa436b9e8f812167ea579cc390e4f93bc5abde00582f4"
                },
                "previousBlockNumber": {
                  "const": "9074"
                },
                "previousBlockHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "previousBlockRuntimeCodeHash": {
                  "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                },
                "startBlock": {
                  "const": "9075"
                },
                "blockHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "registrySource": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "repository",
                    "commit",
                    "path",
                    "rawUrl",
                    "sha256"
                  ],
                  "properties": {
                    "repository": {
                      "const": "Uniswap/contracts"
                    },
                    "commit": {
                      "const": "4cfc406c8e34da3ce04e60657a7825075b64fd22"
                    },
                    "path": {
                      "const": "deployments/json/4663.json"
                    },
                    "rawUrl": {
                      "const": "https://raw.githubusercontent.com/Uniswap/contracts/4cfc406c8e34da3ce04e60657a7825075b64fd22/deployments/json/4663.json"
                    },
                    "sha256": {
                      "const": "sha256:21964cefbfc24b0ee89e7427acf74d223ce5a50aeb4216a9bac361a6148dea15"
                    }
                  }
                },
                "providerReadbacks": {
                  "type": "array",
                  "prefixItems": [
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain",
                        "transactionHash",
                        "rawTransactionDigest",
                        "transactionDigest",
                        "previousBlockNumber",
                        "previousBlockHash",
                        "previousBlockRuntimeCodeHash",
                        "blockNumber",
                        "blockHash",
                        "runtimeCodeHash",
                        "transactionReceiptDigest",
                        "evidenceDigest"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "quicknode"
                        },
                        "trustDomain": {
                          "const": "quicknode.com"
                        },
                        "transactionHash": {
                          "const": "0x3d61e2c9eeb482385b1aa436b9e8f812167ea579cc390e4f93bc5abde00582f4"
                        },
                        "rawTransactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "transactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "previousBlockNumber": {
                          "const": "9074"
                        },
                        "previousBlockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "previousBlockRuntimeCodeHash": {
                          "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                        },
                        "blockNumber": {
                          "const": "9075"
                        },
                        "blockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "runtimeCodeHash": {
                          "const": "0x7d9c591e0956fd89d98feb4ffcfe8bf1f7a62bd485edd979fa21d104b49878a6"
                        },
                        "transactionReceiptDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "evidenceDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain",
                        "transactionHash",
                        "rawTransactionDigest",
                        "transactionDigest",
                        "previousBlockNumber",
                        "previousBlockHash",
                        "previousBlockRuntimeCodeHash",
                        "blockNumber",
                        "blockHash",
                        "runtimeCodeHash",
                        "transactionReceiptDigest",
                        "evidenceDigest"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "alchemy"
                        },
                        "trustDomain": {
                          "const": "alchemy.com"
                        },
                        "transactionHash": {
                          "const": "0x3d61e2c9eeb482385b1aa436b9e8f812167ea579cc390e4f93bc5abde00582f4"
                        },
                        "rawTransactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "transactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "previousBlockNumber": {
                          "const": "9074"
                        },
                        "previousBlockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "previousBlockRuntimeCodeHash": {
                          "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                        },
                        "blockNumber": {
                          "const": "9075"
                        },
                        "blockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "runtimeCodeHash": {
                          "const": "0x7d9c591e0956fd89d98feb4ffcfe8bf1f7a62bd485edd979fa21d104b49878a6"
                        },
                        "transactionReceiptDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "evidenceDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        }
                      }
                    }
                  ],
                  "items": false,
                  "minItems": 2,
                  "maxItems": 2
                },
                "evidenceDigest": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                }
              },
              "x-programmable-order": "previousBlockNumber + 1 == startBlock; previousBlockNumber == providerReadbacks[*].previousBlockNumber; previousBlockHash == providerReadbacks[*].previousBlockHash; startBlock == providerReadbacks[*].blockNumber; blockHash == providerReadbacks[*].blockHash; providerReadbacks[0].rawTransactionDigest == providerReadbacks[1].rawTransactionDigest; providerReadbacks[0].transactionDigest == providerReadbacks[1].transactionDigest; providerReadbacks[0].transactionReceiptDigest == providerReadbacks[1].transactionReceiptDigest"
            },
            {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "schemaVersion",
                "contract",
                "kind",
                "address",
                "runtimeCodeHash",
                "transactionHash",
                "previousBlockNumber",
                "previousBlockHash",
                "previousBlockRuntimeCodeHash",
                "startBlock",
                "blockHash",
                "registrySource",
                "providerReadbacks",
                "evidenceDigest"
              ],
              "properties": {
                "schemaVersion": {
                  "const": "programmable.custom-launch-deployment-evidence.v1"
                },
                "contract": {
                  "const": "v4Quoter"
                },
                "kind": {
                  "const": "exact-observed-deployment"
                },
                "address": {
                  "const": "0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94"
                },
                "runtimeCodeHash": {
                  "const": "0xd707b1da8cb165e5ea35a3b4450d971eb562ec171e23492aa117036b78a868f6"
                },
                "transactionHash": {
                  "const": "0x6bf436d72a17f87284ddcab43094689bd320dfb39b535213b9a0b669fabc4ab4"
                },
                "previousBlockNumber": {
                  "const": "9073"
                },
                "previousBlockHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "previousBlockRuntimeCodeHash": {
                  "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                },
                "startBlock": {
                  "const": "9074"
                },
                "blockHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "registrySource": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "repository",
                    "commit",
                    "path",
                    "rawUrl",
                    "sha256"
                  ],
                  "properties": {
                    "repository": {
                      "const": "Uniswap/contracts"
                    },
                    "commit": {
                      "const": "4cfc406c8e34da3ce04e60657a7825075b64fd22"
                    },
                    "path": {
                      "const": "deployments/json/4663.json"
                    },
                    "rawUrl": {
                      "const": "https://raw.githubusercontent.com/Uniswap/contracts/4cfc406c8e34da3ce04e60657a7825075b64fd22/deployments/json/4663.json"
                    },
                    "sha256": {
                      "const": "sha256:21964cefbfc24b0ee89e7427acf74d223ce5a50aeb4216a9bac361a6148dea15"
                    }
                  }
                },
                "providerReadbacks": {
                  "type": "array",
                  "prefixItems": [
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain",
                        "transactionHash",
                        "rawTransactionDigest",
                        "transactionDigest",
                        "previousBlockNumber",
                        "previousBlockHash",
                        "previousBlockRuntimeCodeHash",
                        "blockNumber",
                        "blockHash",
                        "runtimeCodeHash",
                        "transactionReceiptDigest",
                        "evidenceDigest"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "quicknode"
                        },
                        "trustDomain": {
                          "const": "quicknode.com"
                        },
                        "transactionHash": {
                          "const": "0x6bf436d72a17f87284ddcab43094689bd320dfb39b535213b9a0b669fabc4ab4"
                        },
                        "rawTransactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "transactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "previousBlockNumber": {
                          "const": "9073"
                        },
                        "previousBlockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "previousBlockRuntimeCodeHash": {
                          "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                        },
                        "blockNumber": {
                          "const": "9074"
                        },
                        "blockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "runtimeCodeHash": {
                          "const": "0xd707b1da8cb165e5ea35a3b4450d971eb562ec171e23492aa117036b78a868f6"
                        },
                        "transactionReceiptDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "evidenceDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain",
                        "transactionHash",
                        "rawTransactionDigest",
                        "transactionDigest",
                        "previousBlockNumber",
                        "previousBlockHash",
                        "previousBlockRuntimeCodeHash",
                        "blockNumber",
                        "blockHash",
                        "runtimeCodeHash",
                        "transactionReceiptDigest",
                        "evidenceDigest"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "alchemy"
                        },
                        "trustDomain": {
                          "const": "alchemy.com"
                        },
                        "transactionHash": {
                          "const": "0x6bf436d72a17f87284ddcab43094689bd320dfb39b535213b9a0b669fabc4ab4"
                        },
                        "rawTransactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "transactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "previousBlockNumber": {
                          "const": "9073"
                        },
                        "previousBlockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "previousBlockRuntimeCodeHash": {
                          "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                        },
                        "blockNumber": {
                          "const": "9074"
                        },
                        "blockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "runtimeCodeHash": {
                          "const": "0xd707b1da8cb165e5ea35a3b4450d971eb562ec171e23492aa117036b78a868f6"
                        },
                        "transactionReceiptDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "evidenceDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        }
                      }
                    }
                  ],
                  "items": false,
                  "minItems": 2,
                  "maxItems": 2
                },
                "evidenceDigest": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                }
              },
              "x-programmable-order": "previousBlockNumber + 1 == startBlock; previousBlockNumber == providerReadbacks[*].previousBlockNumber; previousBlockHash == providerReadbacks[*].previousBlockHash; startBlock == providerReadbacks[*].blockNumber; blockHash == providerReadbacks[*].blockHash; providerReadbacks[0].rawTransactionDigest == providerReadbacks[1].rawTransactionDigest; providerReadbacks[0].transactionDigest == providerReadbacks[1].transactionDigest; providerReadbacks[0].transactionReceiptDigest == providerReadbacks[1].transactionReceiptDigest"
            },
            {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "schemaVersion",
                "contract",
                "kind",
                "address",
                "runtimeCodeHash",
                "transactionHash",
                "previousBlockNumber",
                "previousBlockHash",
                "previousBlockRuntimeCodeHash",
                "startBlock",
                "blockHash",
                "registrySource",
                "providerReadbacks",
                "evidenceDigest"
              ],
              "properties": {
                "schemaVersion": {
                  "const": "programmable.custom-launch-deployment-evidence.v1"
                },
                "contract": {
                  "const": "universalRouter"
                },
                "kind": {
                  "const": "exact-observed-deployment"
                },
                "address": {
                  "const": "0x06AfBA43Fd06227fA663b0DAecF536f6EaA6bf99"
                },
                "runtimeCodeHash": {
                  "const": "0xbe8e8191bb42d843c2e948a5a55772eaab864ce01e54dcd47c9d089170b302d5"
                },
                "transactionHash": {
                  "const": "0xdfb76494e158d8dea4376160315239271636a18515207fd4526e574bc7eeb456"
                },
                "previousBlockNumber": {
                  "const": "3347898"
                },
                "previousBlockHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "previousBlockRuntimeCodeHash": {
                  "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                },
                "startBlock": {
                  "const": "3347899"
                },
                "blockHash": {
                  "type": "string",
                  "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                },
                "registrySource": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "repository",
                    "commit",
                    "path",
                    "rawUrl",
                    "sha256"
                  ],
                  "properties": {
                    "repository": {
                      "const": "Uniswap/contracts"
                    },
                    "commit": {
                      "const": "4cfc406c8e34da3ce04e60657a7825075b64fd22"
                    },
                    "path": {
                      "const": "deployments/json/4663.json"
                    },
                    "rawUrl": {
                      "const": "https://raw.githubusercontent.com/Uniswap/contracts/4cfc406c8e34da3ce04e60657a7825075b64fd22/deployments/json/4663.json"
                    },
                    "sha256": {
                      "const": "sha256:21964cefbfc24b0ee89e7427acf74d223ce5a50aeb4216a9bac361a6148dea15"
                    }
                  }
                },
                "providerReadbacks": {
                  "type": "array",
                  "prefixItems": [
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain",
                        "transactionHash",
                        "rawTransactionDigest",
                        "transactionDigest",
                        "previousBlockNumber",
                        "previousBlockHash",
                        "previousBlockRuntimeCodeHash",
                        "blockNumber",
                        "blockHash",
                        "runtimeCodeHash",
                        "transactionReceiptDigest",
                        "evidenceDigest"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "quicknode"
                        },
                        "trustDomain": {
                          "const": "quicknode.com"
                        },
                        "transactionHash": {
                          "const": "0xdfb76494e158d8dea4376160315239271636a18515207fd4526e574bc7eeb456"
                        },
                        "rawTransactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "transactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "previousBlockNumber": {
                          "const": "3347898"
                        },
                        "previousBlockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "previousBlockRuntimeCodeHash": {
                          "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                        },
                        "blockNumber": {
                          "const": "3347899"
                        },
                        "blockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "runtimeCodeHash": {
                          "const": "0xbe8e8191bb42d843c2e948a5a55772eaab864ce01e54dcd47c9d089170b302d5"
                        },
                        "transactionReceiptDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "evidenceDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "providerId",
                        "trustDomain",
                        "transactionHash",
                        "rawTransactionDigest",
                        "transactionDigest",
                        "previousBlockNumber",
                        "previousBlockHash",
                        "previousBlockRuntimeCodeHash",
                        "blockNumber",
                        "blockHash",
                        "runtimeCodeHash",
                        "transactionReceiptDigest",
                        "evidenceDigest"
                      ],
                      "properties": {
                        "providerId": {
                          "const": "alchemy"
                        },
                        "trustDomain": {
                          "const": "alchemy.com"
                        },
                        "transactionHash": {
                          "const": "0xdfb76494e158d8dea4376160315239271636a18515207fd4526e574bc7eeb456"
                        },
                        "rawTransactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "transactionDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "previousBlockNumber": {
                          "const": "3347898"
                        },
                        "previousBlockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "previousBlockRuntimeCodeHash": {
                          "const": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
                        },
                        "blockNumber": {
                          "const": "3347899"
                        },
                        "blockHash": {
                          "type": "string",
                          "pattern": "^0x(?!0{64}$)[0-9a-f]{64}$"
                        },
                        "runtimeCodeHash": {
                          "const": "0xbe8e8191bb42d843c2e948a5a55772eaab864ce01e54dcd47c9d089170b302d5"
                        },
                        "transactionReceiptDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "evidenceDigest": {
                          "type": "string",
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        }
                      }
                    }
                  ],
                  "items": false,
                  "minItems": 2,
                  "maxItems": 2
                },
                "evidenceDigest": {
                  "type": "string",
                  "pattern": "^sha256:[0-9a-f]{64}$"
                }
              },
              "x-programmable-order": "previousBlockNumber + 1 == startBlock; previousBlockNumber == providerReadbacks[*].previousBlockNumber; previousBlockHash == providerReadbacks[*].previousBlockHash; startBlock == providerReadbacks[*].blockNumber; blockHash == providerReadbacks[*].blockHash; providerReadbacks[0].rawTransactionDigest == providerReadbacks[1].rawTransactionDigest; providerReadbacks[0].transactionDigest == providerReadbacks[1].transactionDigest; providerReadbacks[0].transactionReceiptDigest == providerReadbacks[1].transactionReceiptDigest"
            }
          ],
          "items": false,
          "minItems": 5,
          "maxItems": 5
        },
        "contracts": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "programmableLaunchStampRouter",
            "permitAuthority",
            "graphFactory",
            "poolManager",
            "positionManager",
            "stateView",
            "v4Quoter",
            "permit2",
            "universalRouter"
          ],
          "properties": {
            "programmableLaunchStampRouter": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "address",
                "runtimeCodeHash"
              ],
              "properties": {
                "address": {
                  "const": "0x34965F2A2ee9254522232C32F02056E92BE0C98a"
                },
                "runtimeCodeHash": {
                  "const": "0x1dbbdaaad901ea3c6134dca0d4872a4789b3c071bf8ccfb44edd65d26d817388"
                }
              }
            },
            "permitAuthority": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "address",
                "runtimeCodeHash"
              ],
              "properties": {
                "address": {
                  "const": "0xeD617CE7f82e2AB589aDeFFD319D1D872Bc8De06"
                },
                "runtimeCodeHash": {
                  "const": "0xd7d408ebcd99b2b70be43e20253d6d92a8ea8fab29bd3be7f55b10032331fb4c"
                }
              }
            },
            "graphFactory": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "address",
                "runtimeCodeHash"
              ],
              "properties": {
                "address": {
                  "const": "0x0B6b3F40f84Df25D3bd69238f937096177DD09Bd"
                },
                "runtimeCodeHash": {
                  "const": "0xd23692fae59331592048e71a96d4963e170ee56e449683dc9f7fa3f9470018b8"
                }
              }
            },
            "poolManager": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "address",
                "runtimeCodeHash"
              ],
              "properties": {
                "address": {
                  "const": "0x8366a39CC670B4001A1121B8F6A443A643e40951"
                },
                "runtimeCodeHash": {
                  "const": "0xbd3881180b547f5fe817545743cfb4343e96b1bc6640dcd70c106b0066e95626"
                }
              }
            },
            "positionManager": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "address",
                "runtimeCodeHash"
              ],
              "properties": {
                "address": {
                  "const": "0x58daec3116aae6D93017bAAea7749052E8a04fA7"
                },
                "runtimeCodeHash": {
                  "const": "0xc873e135dc9aaec88489cfbad146b4cb49d6a32e0d80326377784b7ba17670b2"
                }
              }
            },
            "stateView": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "address",
                "runtimeCodeHash"
              ],
              "properties": {
                "address": {
                  "const": "0xF3334192D15450CdD385c8B70e03f9A6bD9E673b"
                },
                "runtimeCodeHash": {
                  "const": "0x7d9c591e0956fd89d98feb4ffcfe8bf1f7a62bd485edd979fa21d104b49878a6"
                }
              }
            },
            "v4Quoter": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "address",
                "runtimeCodeHash"
              ],
              "properties": {
                "address": {
                  "const": "0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94"
                },
                "runtimeCodeHash": {
                  "const": "0xd707b1da8cb165e5ea35a3b4450d971eb562ec171e23492aa117036b78a868f6"
                }
              }
            },
            "permit2": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "address",
                "runtimeCodeHash"
              ],
              "properties": {
                "address": {
                  "const": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
                },
                "runtimeCodeHash": {
                  "const": "0x5208783f52488f7d3493e5e38311ab707c1d75457fe472a19b0b4d57d66a7fca"
                }
              }
            },
            "universalRouter": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "address",
                "runtimeCodeHash"
              ],
              "properties": {
                "address": {
                  "const": "0x06AfBA43Fd06227fA663b0DAecF536f6EaA6bf99"
                },
                "runtimeCodeHash": {
                  "const": "0xbe8e8191bb42d843c2e948a5a55772eaab864ce01e54dcd47c9d089170b302d5"
                }
              }
            }
          }
        }
      },
      "x-programmable-order": "contracts bind atomic deployment, Permit2 genesis, Safe permit authority, and external root evidence; atomic provider transactionHash copies equal deploymentEvidence.transactionHash; atomic deployment, Safe snapshot, and Ethereum finality agree; programmable Router != universal Router"
    },
    "profileRef": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "structuralProfileId",
        "businessProfileId",
        "admissionDescriptorDigest",
        "admissionPolicyDigest",
        "admissionBindingDigest",
        "admissionSchemaDigest",
        "profileRevision",
        "profileVersion",
        "profileDigest"
      ],
      "properties": {
        "schemaVersion": {
          "const": "programmable.custom-launch-profile-ref.v4"
        },
        "structuralProfileId": {
          "const": "programmable.custom-launch.robinhood-mainnet.v1"
        },
        "businessProfileId": {
          "const": "robinhood-production-launch"
        },
        "admissionDescriptorDigest": {
          "const": "sha256:99b4ccabdaaf143bad28a8f6af441a1b93e1f113d0179236328b7fa594d1f948"
        },
        "admissionPolicyDigest": {
          "const": "sha256:31e6b286ca839b31cb1edfe30c05d9f334892f3d84377961dc10b93959c7e216"
        },
        "admissionBindingDigest": {
          "const": "sha256:f31643e6e9ff6d5409d59a2fc3ac7fb5ac9cfcb3af08e95c9478bc95ddfa66a2"
        },
        "admissionSchemaDigest": {
          "const": "sha256:a28a6de6208d6ba7b65b4b706174509570955ba9ce9714624bcb2046ab7beae7"
        },
        "profileRevision": {
          "const": 1
        },
        "profileVersion": {
          "const": "4.0.0"
        },
        "profileDigest": {
          "const": "sha256:484b1dc6e9091804fabc230f2b3a7504940fa00264f8e66e82a66a951e71f1a0"
        }
      }
    },
    "funding": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "mode",
        "valueWei"
      ],
      "properties": {
        "schemaVersion": {
          "const": "programmable.custom-launch-funding-intent.v2"
        },
        "mode": {
          "enum": [
            "none",
            "wallet-transaction-value"
          ]
        },
        "valueWei": {
          "type": "string",
          "pattern": "^(?:0|[1-9][0-9]*)$"
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "mode": {
                "const": "none"
              }
            },
            "required": [
              "mode"
            ]
          },
          "then": {
            "properties": {
              "valueWei": {
                "const": "0"
              }
            }
          },
          "else": {
            "properties": {
              "valueWei": {
                "type": "string",
                "pattern": "^[1-9][0-9]*$"
              }
            }
          }
        }
      ]
    },
    "v4Source": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "root",
        "paths",
        "sourceLineageNonce",
        "publicOrigin"
      ],
      "properties": {
        "root": {
          "oneOf": [
            {
              "const": "."
            },
            {
              "$ref": "#/$defs/relativePath"
            }
          ]
        },
        "paths": {
          "type": "array",
          "minItems": 1,
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/relativePath"
          }
        },
        "sourceLineageNonce": {
          "$ref": "#/$defs/uintString"
        },
        "publicOrigin": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "url",
            "revision"
          ],
          "properties": {
            "url": {
              "type": "string",
              "format": "uri",
              "pattern": "^https://"
            },
            "revision": {
              "type": "string",
              "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
            }
          }
        }
      }
    },
    "v4LiquidityModel": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "model",
        "declaredLaunchState",
        "targetIds"
      ],
      "properties": {
        "schemaVersion": {
          "const": "programmable.custom-launch-liquidity-model.v1"
        },
        "model": {
          "enum": [
            "none-empty-pool",
            "project-provided-liquidity",
            "hook-owned-liquidity",
            "externally-managed-position",
            "custom-bonding-or-curve"
          ]
        },
        "declaredLaunchState": {
          "enum": [
            "pool-not-initialized",
            "pool-initialized-empty",
            "liquidity-required",
            "liquidity-provided-by-launch",
            "custom-settlement"
          ]
        },
        "targetIds": {
          "type": "array",
          "minItems": 0,
          "maxItems": 16,
          "uniqueItems": true,
          "items": {
            "type": "string",
            "pattern": "^[a-z][a-z0-9._:-]{0,127}$"
          },
          "x-programmable-order": "unique UTF-8 ascending"
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "model": {
                "const": "none-empty-pool"
              }
            },
            "required": [
              "model"
            ]
          },
          "then": {
            "properties": {
              "targetIds": {
                "type": "array",
                "maxItems": 0
              }
            }
          }
        }
      ]
    }
  }
}
