lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README

services_hardening_events.v1.json (5774B)


      1 {
      2   "schema": "radroots.services-hardening.event-decisions.v1",
      3   "contract_version": 1,
      4   "decision_state": "reserved_preimplementation",
      5   "trade_mutation": {
      6     "contract_family": "radroots.trade.mutation-index.v1",
      7     "event_class": "regular_immutable",
      8     "event_kinds": [
      9       { "mutation_type": "proposal", "kind": 3470, "contract_id": "radroots.trade.proposal.v1" },
     10       { "mutation_type": "decision", "kind": 3471, "contract_id": "radroots.trade.decision.v1" },
     11       { "mutation_type": "revision_proposal", "kind": 3472, "contract_id": "radroots.trade.revision_proposal.v1" },
     12       { "mutation_type": "revision_decision", "kind": 3473, "contract_id": "radroots.trade.revision_decision.v1" },
     13       { "mutation_type": "cancellation", "kind": 3474, "contract_id": "radroots.trade.cancellation.v1" }
     14     ],
     15     "canonical_tag_order": [
     16       "contract",
     17       "d:trade",
     18       "x:mutation",
     19       "x:root",
     20       "x:parent_sorted",
     21       "p:buyer",
     22       "p:seller"
     23     ],
     24     "tags": [
     25       { "name": "contract", "marker": "", "cardinality": "exactly_one", "value": "content_contract_id", "relay_filter": "none" },
     26       { "name": "d", "marker": "", "cardinality": "exactly_one", "value": "trade_id_lower_hex_32", "relay_filter": "#d" },
     27       { "name": "x", "marker": "mutation", "cardinality": "exactly_one", "value": "mutation_id_lower_hex_64", "relay_filter": "#x" },
     28       { "name": "x", "marker": "root", "cardinality": "proposal_zero_other_mutations_exactly_one", "value": "root_mutation_id_lower_hex_64", "relay_filter": "#x" },
     29       { "name": "x", "marker": "parent", "cardinality": "proposal_zero_other_mutations_one_to_four_sorted_unique", "value": "parent_mutation_id_lower_hex_64", "relay_filter": "#x" },
     30       { "name": "p", "marker": "", "cardinality": "first_of_exactly_two", "value": "buyer_pubkey_lower_hex_64", "relay_filter": "#p" },
     31       { "name": "p", "marker": "", "cardinality": "second_of_exactly_two", "value": "seller_pubkey_lower_hex_64", "relay_filter": "#p" }
     32     ],
     33     "filter_contract": {
     34       "trade_id": "kind plus #d",
     35       "mutation_id": "kind plus #x followed by marker verification",
     36       "root_mutation_id": "kind plus #x followed by marker verification",
     37       "party_pubkey": "kind plus #p followed by exact ordered buyer-first and seller-second comparison against canonical content"
     38     },
     39     "validation": {
     40       "structural_tags_are_derived": true,
     41       "unknown_structural_marker_rejected": true,
     42       "duplicate_or_conflicting_structural_tag_rejected": true,
     43       "caller_structural_tags_forbidden": true,
     44       "legacy_contract_d_p_e_shape_accepted": false
     45     }
     46   },
     47   "rhi_attestation": {
     48     "contract_id": "radroots.rhi.evidence_attestation.v1",
     49     "kind_constant": "KIND_RHI_EVIDENCE_ATTESTATION",
     50     "kind": 3441,
     51     "event_class": "regular_immutable",
     52     "replaceability": "none",
     53     "content_encoding": "RFC8785_JCS_JSON_UTF8",
     54     "statement_digest": {
     55       "algorithm": "sha256",
     56       "domain_separator_utf8_nul": "radroots:rhi-evidence-attestation-statement:v1",
     57       "payload_fields": [
     58         "contract_id",
     59         "contract_version",
     60         "issuer_pubkey",
     61         "trade_id",
     62         "claim_mutation_id",
     63         "outcome",
     64         "reason_codes",
     65         "reducer_contract_id",
     66         "reducer_contract_version",
     67         "projection_digest",
     68         "evidence_manifest_digest",
     69         "evidence_policy_digest",
     70         "observed_at_unix_s",
     71         "attestation_method",
     72         "supersedes_report_id",
     73         "supersedes_event_id",
     74         "trade_generation"
     75       ],
     76       "excluded_fields": ["report_id", "statement_digest", "event_id", "signature"],
     77       "formula": "SHA256(domain_separator_utf8 || 0x00 || RFC8785(payload)_utf8)"
     78     },
     79     "fixed_values": {
     80       "contract_version": 1,
     81       "attestation_method": "signed_evidence_snapshot",
     82       "outcomes": ["valid", "invalid", "indeterminate"]
     83     },
     84     "canonical_tag_order": [
     85       "contract",
     86       "d:trade",
     87       "x:claim",
     88       "x:statement",
     89       "t:outcome",
     90       "x:supersedes_report",
     91       "e:supersedes_event"
     92     ],
     93     "tags": [
     94       { "name": "contract", "marker": "", "cardinality": "exactly_one", "value": "radroots.rhi.evidence_attestation.v1", "relay_filter": "none" },
     95       { "name": "d", "marker": "", "cardinality": "exactly_one", "value": "trade_id_lower_hex_32", "relay_filter": "#d" },
     96       { "name": "x", "marker": "claim", "cardinality": "exactly_one", "value": "claim_mutation_id_lower_hex_64", "relay_filter": "#x" },
     97       { "name": "x", "marker": "statement", "cardinality": "exactly_one", "value": "statement_digest_lower_hex_64", "relay_filter": "#x" },
     98       { "name": "t", "marker": "", "cardinality": "exactly_one", "value": "radroots:rhi-outcome:<valid|invalid|indeterminate>", "relay_filter": "#t" },
     99       { "name": "x", "marker": "supersedes_report", "cardinality": "zero_or_one", "value": "superseded_statement_digest_lower_hex_64", "relay_filter": "#x" },
    100       { "name": "e", "marker": "", "cardinality": "zero_or_one", "value": "superseded_nostr_event_id_lower_hex_64", "relay_filter": "#e" }
    101     ],
    102     "supersession": {
    103       "requires_both_references_or_neither": true,
    104       "report_id_equals_statement_digest": true,
    105       "current_selection": "highest_committed_trade_generation_then_observed_at_then_statement_digest",
    106       "relay_arrival_order_authoritative": false,
    107       "deletion_request_changes_retained_history": false
    108     },
    109     "validation": {
    110       "author_equals_issuer": true,
    111       "content_is_exact_canonical_report": true,
    112       "structural_tags_are_derived": true,
    113       "duplicate_or_conflicting_structural_tag_rejected": true,
    114       "caller_structural_tags_forbidden": true,
    115       "reason_codes_sorted_unique": true
    116     }
    117   }
    118 }