rhi

Coordinated trade for connected markets
git clone https://radroots.dev/git/rhi.git
Log | Files | Refs | README | LICENSE

publication_attempt_evidence.v1.json (2653B)


      1 {
      2   "schema": "radroots.rhi.publication-attempt-evidence",
      3   "schema_version": 1,
      4   "contract_version": 1,
      5   "target_states": [
      6     "pending",
      7     "submitted",
      8     "accepted",
      9     "rejected",
     10     "rate_limited",
     11     "auth_required",
     12     "failed",
     13     "unknown"
     14   ],
     15   "attempt_outcomes": [
     16     "submitted",
     17     "accepted",
     18     "rejected",
     19     "rate_limited",
     20     "auth_required",
     21     "failed",
     22     "unknown"
     23   ],
     24   "bounds": {
     25     "target_ordinal": { "minimum": 0, "maximum": 31 },
     26     "attempt_number": { "minimum": 1, "maximum": 100 },
     27     "unix_milliseconds": { "minimum": 0, "maximum": 9223372036854775807 },
     28     "finished_at": "greater_than_or_equal_to_started_at"
     29   },
     30   "attempt_identity": {
     31     "algorithm": "sha256",
     32     "domain": "radroots.rhi.publication_attempt.v1\u0000",
     33     "framing": [
     34       "outbox_id_32_bytes",
     35       "exact_committed_event_sha256_32_bytes",
     36       "target_ordinal_u32_be",
     37       "attempt_number_u32_be"
     38     ]
     39   },
     40   "evidence": {
     41     "sealed_type": "RhiPublicationAttemptEvidence",
     42     "forgeable": false,
     43     "serializable": false,
     44     "debug": "redacted",
     45     "bound_fields": [
     46       "attempt_id",
     47       "outbox_id",
     48       "exact_committed_event_sha256",
     49       "target_ordinal",
     50       "attempt_number",
     51       "started_at_unix_ms",
     52       "finished_at_unix_ms",
     53       "outcome"
     54     ],
     55     "result_code": "exact_closed_outcome_code",
     56     "raw_relay_result_or_error": false
     57   },
     58   "semantics": {
     59     "pending_is_attempt_outcome": false,
     60     "accepted_target_is_terminal": true,
     61     "submission_alone_proves_delivery": false,
     62     "unknown_may_be_refined_only_by_independent_evidence": true,
     63     "constructor_is_claim_or_transition_authority": false
     64   },
     65   "effects": {
     66     "sqlite_read_or_mutation": false,
     67     "relay_or_network": false,
     68     "event_parse_rebuild_serialize_or_sign": false,
     69     "task_spawn": false,
     70     "ambient_clock": false,
     71     "ambient_entropy": false
     72   },
     73   "deferred_to_step_202": [
     74     "publication_claim_and_lease",
     75     "durable_submitted_before_io",
     76     "relay_submission",
     77     "compare_and_swap_outcome_commit",
     78     "cancellation_and_lost_acknowledgement",
     79     "backoff_and_retry_schedule",
     80     "lease_and_restart_recovery",
     81     "unknown_outcome_reconciliation"
     82   ],
     83   "forbidden": [
     84     "arbitrary_target_state",
     85     "arbitrary_attempt_outcome",
     86     "arbitrary_result_code",
     87     "raw_relay_error_text",
     88     "unbounded_target_ordinal",
     89     "unbounded_attempt_number",
     90     "unbounded_or_reversed_time",
     91     "caller_supplied_outbox_or_event_digest",
     92     "sqlite_authority",
     93     "relay_io",
     94     "event_deserialization",
     95     "event_rebuild",
     96     "event_reserialization",
     97     "event_resigning"
     98   ]
     99 }