{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://xcim.invalid/ietf/an01/schemas/deployment-binding.schema.json",
  "title": "AN01-F01 deployment-binding",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "adapter_profile",
    "anchor_policy_id",
    "issuer_id",
    "log_id",
    "as_genesis_commitment",
    "chain_id",
    "network_genesis_block_hash",
    "anchor_intent_commitment",
    "contract_address",
    "deployment_transaction_hash",
    "deployment_block_number",
    "deployment_block_hash",
    "creation_input_keccak256",
    "runtime_code_keccak256",
    "abi_sha256",
    "constructor_arguments",
    "bootstrap_finalized_block_number",
    "bootstrap_finalized_block_hash",
    "root_policy_epoch",
    "valid_from",
    "valid_until"
  ],
  "properties": {
    "adapter_profile": {
      "const": "xcim-as01-evm-amoy-milestone-01"
    },
    "anchor_policy_id": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/id"
    },
    "issuer_id": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/id"
    },
    "log_id": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/id"
    },
    "as_genesis_commitment": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/hash"
    },
    "chain_id": {
      "const": 80002
    },
    "network_genesis_block_hash": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/hex32"
    },
    "anchor_intent_commitment": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/hash"
    },
    "contract_address": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/address"
    },
    "deployment_transaction_hash": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/hex32"
    },
    "deployment_block_number": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/positive"
    },
    "deployment_block_hash": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/hex32"
    },
    "creation_input_keccak256": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/hex32"
    },
    "runtime_code_keccak256": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/hex32"
    },
    "abi_sha256": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/hex32"
    },
    "constructor_arguments": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "as_genesis_commitment",
        "anchor_intent_commitment",
        "identity_commitment",
        "publisher",
        "guardian"
      ],
      "properties": {
        "as_genesis_commitment": {
          "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/hex32"
        },
        "anchor_intent_commitment": {
          "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/hex32"
        },
        "identity_commitment": {
          "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/hex32"
        },
        "publisher": {
          "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/address"
        },
        "guardian": {
          "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/address"
        }
      }
    },
    "bootstrap_finalized_block_number": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/positive"
    },
    "bootstrap_finalized_block_hash": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/hex32"
    },
    "root_policy_epoch": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/positive"
    },
    "valid_from": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/safe"
    },
    "valid_until": {
      "$ref": "https://xcim.invalid/ietf/an01/schemas/common.schema.json#/$defs/positive"
    }
  }
}
