operations.toml (61600B)
1 [contract] 2 name = "radroots_core_contract" 3 version = "1.0.0-alpha.1" 4 source = "rust" 5 6 [public] 7 domains = [ 8 "blossom", 9 "event", 10 "food_availability", 11 "profile", 12 "farm", 13 "operational_listing", 14 "trade", 15 "social", 16 "knowledge", 17 ] 18 19 [shared_types] 20 public = [ 21 "Sha256", 22 "FileExtension", 23 "HashPath", 24 "BlobUrl", 25 "ApprovedBlobUrl", 26 "MediaType", 27 "BlobDescriptor", 28 "ApprovedDescriptor", 29 "ByteCommitment", 30 "ByteVerifiedDescriptor", 31 "AuthorizationAction", 32 "AuthorizationContent", 33 "ServerDomain", 34 "AuthorizationTarget", 35 "ServerScopeRequirement", 36 "AuthorizationValidation", 37 "AuthorizationClaim", 38 "ValidatedAuthorizationClaim", 39 "AuthorizationWireParts", 40 "AuthoredUploadClaim", 41 "RadrootsNostrSignedBlossomAuthorization", 42 "RadrootsNostrBlossomAuthorizationHeader", 43 "RadrootsNostrVerifiedBlossomAuthorization", 44 "Nip01EventWireParts", 45 "GenericEventDraft", 46 "AuthoredEventPlan", 47 "SignedEvent", 48 "EventEnvelope", 49 "RadrootsIdVerifiedEvent", 50 "RadrootsSignatureVerifiedEvent", 51 "RadrootsNip01VerificationError", 52 "RadrootsContractValidatedEvent", 53 "RadrootsAdmittedEvent", 54 "RadrootsEventAdmissionError", 55 "EventHeadCoordinate", 56 "EventHeadCandidate", 57 "CurrentEventHead", 58 "EventHeadDecision", 59 "EventRef", 60 "EventPtr", 61 "ClassifiedListingAddress", 62 "ClassifiedListingPartition", 63 "AuthoredImage", 64 "AuthoredImageError", 65 "FoodAvailabilityError", 66 "FoodContent", 67 "FoodIdentifier", 68 "FoodText", 69 "FoodPublishedAt", 70 "FoodCurrency", 71 "FoodUnit", 72 "FoodPrice", 73 "FoodQuantity", 74 "FoodAvailabilityStatus", 75 "FoodImageDimensions", 76 "FoodAvailabilityImage", 77 "FoodAvailabilityDetailsParts", 78 "FoodAvailabilityDetails", 79 "RadrootsFoodAvailabilityEncodeError", 80 "RadrootsFoodAvailabilityImageDiagnostic", 81 "RadrootsInboundFoodAvailabilityImage", 82 "RadrootsInboundFoodAvailabilityProjection", 83 "RadrootsFoodAvailabilityProjectionOutcome", 84 "RadrootsFoodAvailabilityProjectionError", 85 "RadrootsAdmittedFoodAvailabilityEvent", 86 "RadrootsExcludedClassifiedListingCandidate", 87 "RadrootsFoodAvailabilityAdmissionOutcome", 88 "RadrootsFoodAvailabilityAdmissionError", 89 "RadrootsFoodAvailabilityRevisionError", 90 "Nip05Identifier", 91 "Nip05IdentifierError", 92 "AuthoredProfile", 93 "AuthoredProfileError", 94 "RadrootsAuthoredProfileEncodeError", 95 "RadrootsInboundProfileMetadata", 96 "RadrootsProfileMetadataParseError", 97 "RadrootsAdmittedProfileEvent", 98 "RadrootsProfileAdmissionError", 99 "RadrootsNip05IdentityVerification", 100 "RadrootsUnverifiedProfileMediaReference", 101 "Farm", 102 "OperationalListing", 103 "Post", 104 "AuthoredPostError", 105 "PostImageDimensions", 106 "AuthoredPostImage", 107 "AuthoredUpdate", 108 "AuthoredPhotoUpdate", 109 "AuthoredAsk", 110 "Nip10ReplyError", 111 "NostrRelayHint", 112 "Nip10ReplyReference", 113 "AuthoredNip10Reply", 114 "RadrootsPostDiagnostic", 115 "RadrootsPostClassification", 116 "RadrootsInboundPostImeta", 117 "RadrootsInboundPostProjection", 118 "RadrootsPostProjectionError", 119 "RadrootsAdmittedRootPostEvent", 120 "RadrootsThreadExcludedPostCandidate", 121 "RadrootsPostAdmissionOutcome", 122 "RadrootsPostAdmissionError", 123 "RadrootsNip10ReplyStyle", 124 "RadrootsNip10ReplyDiagnostic", 125 "RadrootsInboundNip10EventReference", 126 "RadrootsInboundNip10Participant", 127 "RadrootsInboundNip10ReplyProjection", 128 "RadrootsNip10ReplyProjectionError", 129 "RadrootsAdmittedNip10ReplyEvent", 130 "RadrootsNip10ReplyAdmissionError", 131 "Nip22CommentError", 132 "Nip22CommentRootKind", 133 "Nip22EventRootReference", 134 "Nip22AddressRootReference", 135 "Nip22CommentParentReference", 136 "Nip22CommentRoot", 137 "Nip22CommentPosition", 138 "AuthoredNip22Comment", 139 "RadrootsNip22CommentDiagnostic", 140 "RadrootsInboundNip22Participant", 141 "RadrootsInboundNip22EventRoot", 142 "RadrootsInboundNip22AddressRoot", 143 "RadrootsInboundNip22CommentRoot", 144 "RadrootsInboundNip22CommentParent", 145 "RadrootsInboundNip22CurrentRevision", 146 "RadrootsInboundNip22TopLevelEventReference", 147 "RadrootsInboundNip22TopLevelAddressReference", 148 "RadrootsInboundNip22CommentPosition", 149 "RadrootsInboundNip22CommentProjection", 150 "RadrootsNip22CommentProjectionError", 151 "RadrootsAdmittedNip22CommentEvent", 152 "RadrootsNip22CommentAdmissionError", 153 "Nip01Coordinate", 154 "Nip01CoordinateParts", 155 "Nip01CoordinateParseError", 156 "Nip09DeletionError", 157 "Nip09DeletionEventTarget", 158 "Nip09DeletionAddressTarget", 159 "AuthoredNip09DeletionRequest", 160 "RadrootsNip09DeletionDiagnostic", 161 "RadrootsInboundNip09DeletionEventTarget", 162 "RadrootsInboundNip09DeletionAddressTarget", 163 "RadrootsInboundNip09DeletionKindAdvisory", 164 "RadrootsInboundNip09DeletionProjection", 165 "RadrootsNip09DeletionProjectionError", 166 "RadrootsAdmittedNip09DeletionRequestEvent", 167 "RadrootsNip09DeletionAdmissionError", 168 "RadrootsNip09SuppressionOutcome", 169 "RadrootsNip09SuppressionReason", 170 "RadrootsNip09EventReferenceEvidence", 171 "RadrootsNip09AddressReferenceEvidence", 172 "RadrootsNip09SuppressionDecision", 173 "Reaction", 174 "Article", 175 "FileMetadata", 176 "IanaTimeZoneId", 177 "CalendarUri", 178 "CalendarRequest", 179 "CalendarParticipant", 180 "CalendarEventError", 181 "CalendarDate", 182 "AuthoredCalendarDateEvent", 183 "AuthoredCalendarTimeEvent", 184 "ParsedNip52CalendarCommon", 185 "ParsedNip52CalendarCommonParts", 186 "ParsedNip52CalendarDateEvent", 187 "ObservedUtcDay", 188 "ParsedNip52CalendarTimeEvent", 189 "CalendarAdmissionError", 190 "AdmittedCalendarDateEvent", 191 "AdmittedCalendarTimeEvent", 192 "CalendarUid", 193 "CalendarEventReference", 194 "CalendarEventRevisionReference", 195 "CalendarEventAuthorReference", 196 "AuthoredCalendar", 197 "ParsedNip52CalendarParts", 198 "ParsedNip52Calendar", 199 "AdmittedCalendar", 200 "CalendarEventRsvpStatus", 201 "CalendarEventFreeBusy", 202 "AuthoredCalendarEventRsvp", 203 "ParsedNip52CalendarEventRsvpParts", 204 "ParsedNip52CalendarEventRsvp", 205 "AdmittedCalendarEventRsvp", 206 "TradeId", 207 "TradeCandidateId", 208 "TradeMutationId", 209 "TradeMutationKindV1", 210 "TradeMutationEnvelopeV1", 211 "TradeMutationBodyV1", 212 "TradeCandidateTermsV1", 213 "TradeCandidateLineV1", 214 "TradeLineTombstoneV1", 215 "TradeEconomicsProfileV1", 216 "TradeEconomicAdjustmentV1", 217 "FulfillmentProfileV1", 218 "TradeCancellationProfileV1", 219 "TradePrivateTermsRefV1", 220 "SellerReservationAssertionV1", 221 "SellerReservationLineV1", 222 "TradeDecisionV1", 223 "TradeCanonicalMutationV1", 224 "RadrootsTradeReductionInputV1", 225 "RadrootsTradeMutationRecordV1", 226 "RadrootsTradePrivateTermsEvidenceV1", 227 "RadrootsTradeAttestationResultV1", 228 "RadrootsTradeAttestationRecordV1", 229 "RadrootsTradeProjectionV1", 230 "RadrootsTradeAgreementClaimV1", 231 "RadrootsTradeReducerIssueV1", 232 "RadrootsTradeNegotiationStateV1", 233 "RadrootsTradeAgreementStateV1", 234 "RadrootsTradeEvidenceStateV1", 235 "RadrootsTradeConflictStateV1", 236 "RadrootsTradePrivateTermsStateV1", 237 "RadrootsTradeAttestationStateV1", 238 "RadrootsTradeFulfillmentStateV1", 239 "RadrootsTradePaymentStateV1", 240 "WikiArticle", 241 "WikiRedirect", 242 "WikiMergeRequest", 243 "KnowledgeSource", 244 "KnowledgeClaim", 245 "KnowledgeRelation", 246 "KnowledgeReview", 247 "KnowledgeFieldReport", 248 "EvidenceBounty", 249 "KnowledgeChangeProposal", 250 "ContributionAttestation", 251 "RadrootsKnowledgeContractManifest", 252 "RadrootsDecodedEvent", 253 ] 254 255 [errors] 256 classes = [ 257 "encode_error", 258 "parse_error", 259 "validation_error", 260 "address_error", 261 "decode_error", 262 "admission_error", 263 "verification_error", 264 ] 265 266 [implementation_provenance] 267 model_crates = [ 268 "radroots_core", 269 "radroots_event", 270 "radroots_identity", 271 "radroots_protocol", 272 "radroots_trade", 273 "radroots_transport", 274 ] 275 algorithm_crates = [ 276 "radroots_blossom", 277 "radroots_event_codec", 278 "radroots_geonames", 279 "radroots_nostr", 280 "radroots_nostr_connect", 281 "radroots_secrets", 282 "radroots_signing", 283 "radroots_storage", 284 "radroots_storage_sqlite", 285 "radroots_sync", 286 "radroots_transport_nostr", 287 ] 288 289 [operations.blossom_parse_hash_path] 290 domain = "blossom" 291 id = "blossom.parse_hash_path" 292 stability = "beta" 293 inputs = ["String"] 294 outputs = ["HashPath"] 295 error_class = "validation_error" 296 deterministic = true 297 signing = "none" 298 transport = "none" 299 300 [operations.blossom_parse_hash_path.implementation] 301 rust_modules = ["crates/blossom/src/hash.rs"] 302 rust_types = [ 303 "radroots_blossom::FileExtension", 304 "radroots_blossom::HashPath", 305 "radroots_blossom::Sha256", 306 ] 307 308 [operations.blossom_parse_hash_path.conformance] 309 vector = "contracts/conformance/vectors/blossom/hash_path_and_descriptor.v1.json" 310 311 [operations.blossom_approve_descriptor_reference] 312 domain = "blossom" 313 id = "blossom.approve_descriptor_reference" 314 stability = "beta" 315 inputs = ["BlobDescriptor"] 316 outputs = ["ApprovedDescriptor"] 317 error_class = "validation_error" 318 deterministic = true 319 signing = "none" 320 transport = "none" 321 322 [operations.blossom_approve_descriptor_reference.implementation] 323 rust_modules = ["crates/blossom/src/descriptor.rs", "crates/blossom/src/url.rs"] 324 rust_types = [ 325 "radroots_blossom::ApprovedDescriptor", 326 "radroots_blossom::BlobDescriptor", 327 ] 328 329 [operations.blossom_approve_descriptor_reference.conformance] 330 vector = "contracts/conformance/vectors/blossom/hash_path_and_descriptor.v1.json" 331 332 [operations.blossom_verify_descriptor_bytes] 333 domain = "blossom" 334 id = "blossom.verify_descriptor_bytes" 335 stability = "beta" 336 inputs = ["ApprovedDescriptor", "Bytes", "MediaType"] 337 outputs = ["ByteVerifiedDescriptor"] 338 error_class = "validation_error" 339 deterministic = true 340 signing = "none" 341 transport = "none" 342 343 [operations.blossom_verify_descriptor_bytes.implementation] 344 rust_modules = [ 345 "crates/blossom/src/descriptor.rs", 346 "crates/blossom/src/hash.rs", 347 ] 348 rust_types = [ 349 "radroots_blossom::ApprovedDescriptor", 350 "radroots_blossom::ByteCommitment", 351 "radroots_blossom::ByteVerifiedDescriptor", 352 "radroots_blossom::MediaType", 353 ] 354 355 [operations.blossom_verify_descriptor_bytes.conformance] 356 vector = "contracts/conformance/vectors/blossom/hash_path_and_descriptor.v1.json" 357 358 [operations.blossom_build_upload_authorization_claim] 359 domain = "blossom" 360 id = "blossom.build_upload_authorization_claim" 361 stability = "beta" 362 inputs = [ 363 "AuthorizationContent", 364 "ServerDomain", 365 "Sha256", 366 "CreatedAt", 367 "LifetimeSeconds", 368 ] 369 outputs = ["AuthoredUploadClaim", "AuthorizationWireParts"] 370 error_class = "validation_error" 371 deterministic = true 372 signing = "none" 373 transport = "none" 374 375 [operations.blossom_build_upload_authorization_claim.implementation] 376 rust_modules = ["crates/blossom/src/authorization.rs"] 377 rust_types = [ 378 "radroots_blossom::AuthorizationWireParts", 379 "radroots_blossom::AuthoredUploadClaim", 380 ] 381 382 [operations.blossom_build_upload_authorization_claim.conformance] 383 vector = "contracts/conformance/vectors/blossom/bud11_claims.v1.json" 384 385 [operations.blossom_parse_authorization_claim] 386 domain = "blossom" 387 id = "blossom.parse_authorization_claim" 388 stability = "beta" 389 inputs = ["String", "CreatedAt", "NostrTags"] 390 outputs = ["AuthorizationClaim"] 391 error_class = "parse_error" 392 deterministic = true 393 signing = "none" 394 transport = "none" 395 396 [operations.blossom_parse_authorization_claim.implementation] 397 rust_modules = ["crates/blossom/src/authorization.rs"] 398 rust_types = ["radroots_blossom::AuthorizationClaim"] 399 400 [operations.blossom_parse_authorization_claim.conformance] 401 vector = "contracts/conformance/vectors/blossom/bud11_claims.v1.json" 402 403 [operations.blossom_validate_authorization_claim] 404 domain = "blossom" 405 id = "blossom.validate_authorization_claim" 406 stability = "beta" 407 inputs = ["AuthorizationClaim", "AuthorizationValidation"] 408 outputs = ["ValidatedAuthorizationClaim"] 409 error_class = "validation_error" 410 deterministic = true 411 signing = "none" 412 transport = "none" 413 414 [operations.blossom_validate_authorization_claim.implementation] 415 rust_modules = ["crates/blossom/src/authorization.rs"] 416 rust_types = [ 417 "radroots_blossom::AuthorizationValidation", 418 "radroots_blossom::ValidatedAuthorizationClaim", 419 ] 420 421 [operations.blossom_validate_authorization_claim.conformance] 422 vector = "contracts/conformance/vectors/blossom/bud11_claims.v1.json" 423 424 [operations.blossom_decode_verify_authorization_header] 425 domain = "blossom" 426 id = "blossom.decode_verify_authorization_header" 427 stability = "beta" 428 inputs = ["String", "AuthorizationValidation"] 429 outputs = ["RadrootsNostrVerifiedBlossomAuthorization"] 430 error_class = "decode_error" 431 deterministic = true 432 signing = "nip01" 433 transport = "none" 434 435 [operations.blossom_decode_verify_authorization_header.implementation] 436 rust_modules = [ 437 "crates/blossom/src/authorization.rs", 438 "crates/nostr/src/blossom.rs", 439 ] 440 rust_types = [ 441 "radroots_blossom::AuthorizationValidation", 442 "radroots_nostr::blossom::RadrootsNostrVerifiedBlossomAuthorization", 443 ] 444 445 [operations.blossom_decode_verify_authorization_header.conformance] 446 vector = "contracts/conformance/vectors/blossom/bud11_nostr_adapter.v1.json" 447 448 [operations.event_verify_nip01] 449 domain = "event" 450 id = "event.verify_nip01" 451 stability = "beta" 452 inputs = ["EventEnvelope"] 453 outputs = ["RadrootsSignatureVerifiedEvent"] 454 error_class = "verification_error" 455 deterministic = true 456 signing = "nip01" 457 transport = "none" 458 459 [operations.event_verify_nip01.implementation] 460 rust_modules = [ 461 "crates/event/src/wire.rs", 462 "crates/event_codec/src/verification.rs", 463 ] 464 rust_types = [ 465 "radroots_event::envelope::EventEnvelope", 466 "radroots_event_codec::verify::RadrootsIdVerifiedEvent", 467 "radroots_event_codec::verify::RadrootsNip01VerificationError", 468 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 469 ] 470 471 [operations.event_verify_nip01.conformance] 472 vector = "contracts/conformance/vectors/profile/verified_event.v1.json" 473 474 [operations.event_admit_verified] 475 domain = "event" 476 id = "event.admit_verified" 477 stability = "beta" 478 inputs = ["RadrootsSignatureVerifiedEvent"] 479 outputs = ["RadrootsAdmittedEvent"] 480 error_class = "admission_error" 481 deterministic = true 482 signing = "none" 483 transport = "none" 484 485 [operations.event_admit_verified.implementation] 486 rust_modules = [ 487 "crates/event_codec/src/admission.rs", 488 "crates/event_codec/src/verification.rs", 489 ] 490 rust_types = [ 491 "radroots_event_codec::admission::RadrootsAdmittedEvent", 492 "radroots_event_codec::admission::RadrootsEventAdmissionError", 493 "radroots_event_codec::verify::RadrootsContractValidatedEvent", 494 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 495 ] 496 497 [operations.event_admit_verified.conformance] 498 vector = "contracts/conformance/vectors/event/verified_admission.v1.json" 499 case_kinds = ["event.admit_verified.valid", "event.admit_verified.invalid"] 500 501 [operations.event_select_head] 502 domain = "event" 503 id = "event.select_head" 504 stability = "beta" 505 inputs = ["EventHeadCandidate", "CurrentEventHead?"] 506 outputs = ["EventHeadDecision"] 507 error_class = "validation_error" 508 deterministic = true 509 signing = "none" 510 transport = "none" 511 512 [operations.event_select_head.implementation] 513 rust_modules = ["crates/event/src/event_head.rs"] 514 rust_types = [ 515 "radroots_event::envelope::event_head::CurrentEventHead", 516 "radroots_event::envelope::event_head::EventHeadCandidate", 517 "radroots_event::envelope::event_head::EventHeadDecision", 518 ] 519 520 [operations.event_select_head.conformance] 521 vector = "contracts/conformance/vectors/profile/verified_event.v1.json" 522 523 [operations.food_availability_build_authored_draft] 524 domain = "food_availability" 525 id = "food_availability.build_authored_draft" 526 stability = "beta" 527 inputs = ["FoodAvailabilityDetails", "u64"] 528 outputs = ["Nip01EventWireParts"] 529 error_class = "encode_error" 530 deterministic = true 531 signing = "none" 532 transport = "none" 533 534 [operations.food_availability_build_authored_draft.implementation] 535 rust_modules = [ 536 "crates/event/src/food_availability.rs", 537 "crates/event_codec/src/food_availability/authored.rs", 538 ] 539 rust_types = [ 540 "radroots_blossom::ByteVerifiedDescriptor", 541 "radroots_event::food::availability::FoodAvailabilityDetails", 542 "radroots_event::food::availability::FoodAvailabilityDetailsParts", 543 "radroots_event::food::availability::FoodAvailabilityError", 544 "radroots_event::food::availability::FoodAvailabilityImage", 545 "radroots_event::media::AuthoredImage", 546 "radroots_event::wire::Nip01EventWireParts", 547 "radroots_event_codec::food_availability::authored::RadrootsFoodAvailabilityEncodeError", 548 ] 549 550 [operations.food_availability_build_authored_draft.conformance] 551 vector = "contracts/conformance/vectors/food_availability/profile.v1.json" 552 case_kinds = [ 553 "food_availability.build_authored_draft.valid", 554 "food_availability.build_authored_draft.invalid", 555 ] 556 557 [operations.food_availability_project_verified_event] 558 domain = "food_availability" 559 id = "food_availability.project_verified_event" 560 stability = "beta" 561 inputs = ["RadrootsSignatureVerifiedEvent"] 562 outputs = ["RadrootsFoodAvailabilityProjectionOutcome"] 563 error_class = "parse_error" 564 deterministic = true 565 signing = "none" 566 transport = "none" 567 568 [operations.food_availability_project_verified_event.implementation] 569 rust_modules = [ 570 "crates/event/src/classified_listing.rs", 571 "crates/event/src/food_availability.rs", 572 "crates/event_codec/src/food_availability/inbound.rs", 573 ] 574 rust_types = [ 575 "radroots_event::listing::classified::ClassifiedListingPartition", 576 "radroots_event::food::availability::FoodAvailabilityError", 577 "radroots_event_codec::food_availability::inbound::RadrootsFoodAvailabilityImageDiagnostic", 578 "radroots_event_codec::food_availability::inbound::RadrootsFoodAvailabilityProjectionError", 579 "radroots_event_codec::food_availability::inbound::RadrootsFoodAvailabilityProjectionOutcome", 580 "radroots_event_codec::food_availability::inbound::RadrootsInboundFoodAvailabilityImage", 581 "radroots_event_codec::food_availability::inbound::RadrootsInboundFoodAvailabilityProjection", 582 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 583 ] 584 585 [operations.food_availability_project_verified_event.conformance] 586 vector = "contracts/conformance/vectors/food_availability/profile.v1.json" 587 case_kinds = [ 588 "food_availability.project_verified_event.valid", 589 "food_availability.project_verified_event.invalid", 590 ] 591 592 [operations.food_availability_verify_and_admit_event] 593 domain = "food_availability" 594 id = "food_availability.verify_and_admit_event" 595 stability = "beta" 596 inputs = ["EventEnvelope"] 597 outputs = ["RadrootsFoodAvailabilityAdmissionOutcome"] 598 error_class = "admission_error" 599 deterministic = true 600 signing = "nip01" 601 transport = "none" 602 603 [operations.food_availability_verify_and_admit_event.implementation] 604 rust_modules = [ 605 "crates/event_codec/src/food_availability/admission.rs", 606 "crates/event_codec/src/food_availability/inbound.rs", 607 "crates/event_codec/src/verification.rs", 608 ] 609 rust_types = [ 610 "radroots_event::envelope::EventEnvelope", 611 "radroots_event_codec::food_availability::admission::RadrootsAdmittedFoodAvailabilityEvent", 612 "radroots_event_codec::food_availability::admission::RadrootsExcludedClassifiedListingCandidate", 613 "radroots_event_codec::food_availability::admission::RadrootsFoodAvailabilityAdmissionError", 614 "radroots_event_codec::food_availability::admission::RadrootsFoodAvailabilityAdmissionOutcome", 615 "radroots_event_codec::food_availability::inbound::RadrootsInboundFoodAvailabilityProjection", 616 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 617 ] 618 619 [operations.food_availability_verify_and_admit_event.conformance] 620 vector = "contracts/conformance/vectors/food_availability/profile.v1.json" 621 case_kinds = [ 622 "food_availability.verify_and_admit_event.valid", 623 "food_availability.verify_and_admit_event.invalid", 624 ] 625 626 [operations.food_availability_validate_revision] 627 domain = "food_availability" 628 id = "food_availability.validate_revision" 629 stability = "beta" 630 inputs = ["RadrootsSignatureVerifiedEvent"] 631 outputs = ["Unit"] 632 error_class = "validation_error" 633 deterministic = true 634 signing = "none" 635 transport = "none" 636 637 [operations.food_availability_validate_revision.implementation] 638 rust_modules = [ 639 "crates/event_codec/src/food_availability/inbound.rs", 640 "crates/event_codec/src/food_availability/revision.rs", 641 ] 642 rust_types = [ 643 "radroots_event_codec::food_availability::inbound::RadrootsFoodAvailabilityProjectionError", 644 "radroots_event_codec::food_availability::revision::RadrootsFoodAvailabilityRevisionError", 645 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 646 ] 647 648 [operations.food_availability_validate_revision.conformance] 649 vector = "contracts/conformance/vectors/food_availability/profile.v1.json" 650 case_kinds = [ 651 "food_availability.validate_revision.valid", 652 "food_availability.validate_revision.invalid", 653 ] 654 655 [operations.profile_build_authored_draft] 656 domain = "profile" 657 id = "profile.build_authored_draft" 658 stability = "beta" 659 inputs = ["AuthoredProfile"] 660 outputs = ["Nip01EventWireParts"] 661 error_class = "encode_error" 662 deterministic = true 663 signing = "none" 664 transport = "none" 665 666 [operations.profile_build_authored_draft.implementation] 667 rust_modules = [ 668 "crates/event/src/profile.rs", 669 "crates/event_codec/src/profile/authored.rs", 670 ] 671 rust_types = [ 672 "radroots_blossom::ByteVerifiedDescriptor", 673 "radroots_event::media::AuthoredImage", 674 "radroots_event::media::AuthoredImageError", 675 "radroots_event::profile::AuthoredProfile", 676 "radroots_event::profile::AuthoredProfileError", 677 "radroots_event::profile::Nip05Identifier", 678 "radroots_event::profile::Nip05IdentifierError", 679 "radroots_event_codec::encode::profile::RadrootsAuthoredProfileEncodeError", 680 ] 681 682 [operations.profile_build_authored_draft.conformance] 683 vector = "contracts/conformance/vectors/profile/metadata.v1.json" 684 685 [operations.profile_parse_inbound_metadata] 686 domain = "profile" 687 id = "profile.parse_inbound_metadata" 688 stability = "beta" 689 inputs = ["String"] 690 outputs = ["RadrootsInboundProfileMetadata"] 691 error_class = "parse_error" 692 deterministic = true 693 signing = "none" 694 transport = "none" 695 696 [operations.profile_parse_inbound_metadata.implementation] 697 rust_modules = [ 698 "crates/event/src/profile.rs", 699 "crates/event_codec/src/profile/inbound.rs", 700 ] 701 rust_types = [ 702 "radroots_event::profile::Nip05Identifier", 703 "radroots_event_codec::decode::profile::RadrootsInboundProfileMetadata", 704 "radroots_event_codec::decode::profile::RadrootsNip05IdentityVerification", 705 "radroots_event_codec::decode::profile::RadrootsProfileMetadataParseError", 706 "radroots_event_codec::decode::profile::RadrootsUnverifiedProfileMediaReference", 707 ] 708 709 [operations.profile_parse_inbound_metadata.conformance] 710 vector = "contracts/conformance/vectors/profile/metadata.v1.json" 711 712 [operations.profile_verify_and_admit_event] 713 domain = "profile" 714 id = "profile.verify_and_admit_event" 715 stability = "beta" 716 inputs = ["EventEnvelope"] 717 outputs = ["RadrootsAdmittedProfileEvent"] 718 error_class = "admission_error" 719 deterministic = true 720 signing = "nip01" 721 transport = "none" 722 723 [operations.profile_verify_and_admit_event.implementation] 724 rust_modules = [ 725 "crates/event_codec/src/profile/admission.rs", 726 "crates/event_codec/src/profile/inbound.rs", 727 "crates/event_codec/src/verification.rs", 728 ] 729 rust_types = [ 730 "radroots_event::envelope::EventEnvelope", 731 "radroots_event_codec::admission::profile::RadrootsAdmittedProfileEvent", 732 "radroots_event_codec::admission::profile::RadrootsProfileAdmissionError", 733 "radroots_event_codec::decode::profile::RadrootsInboundProfileMetadata", 734 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 735 ] 736 737 [operations.profile_verify_and_admit_event.conformance] 738 vector = "contracts/conformance/vectors/profile/verified_event.v1.json" 739 740 [operations.farm_build_draft] 741 domain = "farm" 742 id = "farm.build_draft" 743 stability = "beta" 744 inputs = ["Farm"] 745 outputs = ["Nip01EventWireParts"] 746 error_class = "encode_error" 747 deterministic = true 748 signing = "native" 749 transport = "native" 750 751 [operations.farm_build_draft.implementation] 752 rust_modules = ["crates/event_codec/src/farm/encode.rs"] 753 rust_types = ["radroots_event::farm::Farm"] 754 755 [operations.farm_build_draft.conformance] 756 vector = "contracts/conformance/vectors/farm/build_draft.v1.json" 757 758 [operations.operational_listing_build_tags] 759 domain = "operational_listing" 760 id = "operational_listing.build_tags" 761 stability = "beta" 762 inputs = ["OperationalListing"] 763 outputs = ["NostrTags"] 764 error_class = "encode_error" 765 deterministic = true 766 signing = "native" 767 transport = "native" 768 769 [operations.operational_listing_build_tags.implementation] 770 rust_modules = [ 771 "crates/event_codec/src/operational_listing/encode.rs", 772 "crates/event_codec/src/operational_listing/tags.rs", 773 ] 774 rust_types = ["radroots_event::listing::operational::OperationalListing"] 775 776 [operations.operational_listing_build_tags.conformance] 777 vector = "contracts/conformance/vectors/operational_listing/build_tags.v1.json" 778 779 [operations.operational_listing_build_draft] 780 domain = "operational_listing" 781 id = "operational_listing.build_draft" 782 stability = "beta" 783 inputs = ["OperationalListing"] 784 outputs = ["Nip01EventWireParts"] 785 error_class = "encode_error" 786 deterministic = true 787 signing = "native" 788 transport = "native" 789 790 [operations.operational_listing_build_draft.implementation] 791 rust_modules = [ 792 "crates/event_codec/src/operational_listing/encode.rs", 793 "crates/event_codec/src/wire.rs", 794 ] 795 rust_types = ["radroots_event::listing::operational::OperationalListing"] 796 797 [operations.operational_listing_build_draft.conformance] 798 vector = "contracts/conformance/vectors/operational_listing/build_draft.v1.json" 799 800 [operations.operational_listing_parse_event] 801 domain = "operational_listing" 802 id = "operational_listing.parse_event" 803 stability = "beta" 804 inputs = ["EventEnvelope"] 805 outputs = ["OperationalListing"] 806 error_class = "parse_error" 807 deterministic = true 808 signing = "native" 809 transport = "native" 810 811 [operations.operational_listing_parse_event.implementation] 812 rust_modules = ["crates/event_codec/src/operational_listing/decode.rs"] 813 rust_types = [ 814 "radroots_event::envelope::EventEnvelope", 815 "radroots_event::listing::operational::OperationalListingParseError", 816 "radroots_event::listing::operational::OperationalListing", 817 ] 818 819 [operations.operational_listing_parse_event.conformance] 820 vector = "contracts/conformance/vectors/operational_listing/parse_event.v1.json" 821 822 [operations.social_update_build_authored_draft] 823 domain = "social" 824 id = "social.update.build_authored_draft" 825 stability = "beta" 826 inputs = ["AuthoredUpdate"] 827 outputs = ["Nip01EventWireParts"] 828 error_class = "encode_error" 829 deterministic = true 830 signing = "none" 831 transport = "none" 832 833 [operations.social_update_build_authored_draft.implementation] 834 rust_modules = [ 835 "crates/event/src/post.rs", 836 "crates/event_codec/src/post/authored.rs", 837 ] 838 rust_types = [ 839 "radroots_event::post::AuthoredPostError", 840 "radroots_event::post::AuthoredUpdate", 841 ] 842 843 [operations.social_update_build_authored_draft.conformance] 844 vector = "contracts/conformance/vectors/post/verified_profiles.v1.json" 845 case_kinds = [ 846 "social.update.build_authored_draft.valid", 847 "social.update.build_authored_draft.invalid", 848 ] 849 850 [operations.social_photo_update_build_authored_draft] 851 domain = "social" 852 id = "social.photo_update.build_authored_draft" 853 stability = "beta" 854 inputs = ["AuthoredPhotoUpdate"] 855 outputs = ["Nip01EventWireParts"] 856 error_class = "encode_error" 857 deterministic = true 858 signing = "none" 859 transport = "none" 860 861 [operations.social_photo_update_build_authored_draft.implementation] 862 rust_modules = [ 863 "crates/event/src/post.rs", 864 "crates/event_codec/src/post/authored.rs", 865 ] 866 rust_types = [ 867 "radroots_blossom::ApprovedBlobUrl", 868 "radroots_blossom::ByteVerifiedDescriptor", 869 "radroots_event::media::AuthoredImage", 870 "radroots_event::post::AuthoredPhotoUpdate", 871 "radroots_event::post::AuthoredPostError", 872 "radroots_event::post::AuthoredPostImage", 873 "radroots_event::post::PostImageDimensions", 874 ] 875 876 [operations.social_photo_update_build_authored_draft.conformance] 877 vector = "contracts/conformance/vectors/post/verified_profiles.v1.json" 878 case_kinds = [ 879 "social.photo_update.build_authored_draft.valid", 880 "social.photo_update.build_authored_draft.invalid", 881 ] 882 883 [operations.social_ask_build_authored_draft] 884 domain = "social" 885 id = "social.ask.build_authored_draft" 886 stability = "beta" 887 inputs = ["AuthoredAsk"] 888 outputs = ["Nip01EventWireParts"] 889 error_class = "encode_error" 890 deterministic = true 891 signing = "none" 892 transport = "none" 893 894 [operations.social_ask_build_authored_draft.implementation] 895 rust_modules = [ 896 "crates/event/src/post.rs", 897 "crates/event_codec/src/post/authored.rs", 898 ] 899 rust_types = [ 900 "radroots_event::post::AuthoredAsk", 901 "radroots_event::post::AuthoredPostError", 902 "radroots_event::post::AuthoredPostImage", 903 ] 904 905 [operations.social_ask_build_authored_draft.conformance] 906 vector = "contracts/conformance/vectors/post/verified_profiles.v1.json" 907 case_kinds = [ 908 "social.ask.build_authored_draft.valid", 909 "social.ask.build_authored_draft.invalid", 910 ] 911 912 [operations.social_reply_build_authored_draft] 913 domain = "social" 914 id = "social.reply.build_authored_draft" 915 stability = "beta" 916 inputs = ["AuthoredNip10Reply"] 917 outputs = ["Nip01EventWireParts"] 918 error_class = "encode_error" 919 deterministic = true 920 signing = "none" 921 transport = "none" 922 923 [operations.social_reply_build_authored_draft.implementation] 924 rust_modules = [ 925 "crates/event/src/relay_hint.rs", 926 "crates/event/src/reply.rs", 927 "crates/event_codec/src/reply/authored.rs", 928 ] 929 rust_types = [ 930 "radroots_event::post::reply::AuthoredNip10Reply", 931 "radroots_event::post::reply::Nip10ReplyError", 932 "radroots_event::tag::relay_hint::NostrRelayHint", 933 "radroots_event::post::reply::Nip10ReplyReference", 934 ] 935 936 [operations.social_reply_build_authored_draft.conformance] 937 vector = "contracts/conformance/vectors/post/verified_profiles.v1.json" 938 case_kinds = [ 939 "social.reply.build_authored_draft.valid", 940 "social.reply.build_authored_draft.invalid", 941 ] 942 943 [operations.social_reply_project_verified_event] 944 domain = "social" 945 id = "social.reply.project_verified_event" 946 stability = "beta" 947 inputs = ["RadrootsSignatureVerifiedEvent"] 948 outputs = ["RadrootsInboundNip10ReplyProjection"] 949 error_class = "parse_error" 950 deterministic = true 951 signing = "none" 952 transport = "none" 953 954 [operations.social_reply_project_verified_event.implementation] 955 rust_modules = [ 956 "crates/event/src/relay_hint.rs", 957 "crates/event_codec/src/reply/inbound.rs", 958 ] 959 rust_types = [ 960 "radroots_event::tag::relay_hint::NostrRelayHint", 961 "radroots_event_codec::decode::reply::RadrootsInboundNip10EventReference", 962 "radroots_event_codec::decode::reply::RadrootsInboundNip10Participant", 963 "radroots_event_codec::decode::reply::RadrootsInboundNip10ReplyProjection", 964 "radroots_event_codec::decode::reply::RadrootsNip10ReplyDiagnostic", 965 "radroots_event_codec::decode::reply::RadrootsNip10ReplyProjectionError", 966 "radroots_event_codec::decode::reply::RadrootsNip10ReplyStyle", 967 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 968 ] 969 970 [operations.social_reply_project_verified_event.conformance] 971 vector = "contracts/conformance/vectors/post/verified_profiles.v1.json" 972 case_kinds = [ 973 "social.reply.project_verified_event.valid", 974 "social.reply.project_verified_event.invalid", 975 ] 976 977 [operations.social_reply_verify_and_admit_event] 978 domain = "social" 979 id = "social.reply.verify_and_admit_event" 980 stability = "beta" 981 inputs = ["EventEnvelope"] 982 outputs = ["RadrootsAdmittedNip10ReplyEvent"] 983 error_class = "admission_error" 984 deterministic = true 985 signing = "nip01" 986 transport = "none" 987 988 [operations.social_reply_verify_and_admit_event.implementation] 989 rust_modules = [ 990 "crates/event_codec/src/reply/admission.rs", 991 "crates/event_codec/src/reply/inbound.rs", 992 "crates/event_codec/src/verification.rs", 993 ] 994 rust_types = [ 995 "radroots_event::envelope::EventEnvelope", 996 "radroots_event_codec::admission::reply::RadrootsAdmittedNip10ReplyEvent", 997 "radroots_event_codec::admission::reply::RadrootsNip10ReplyAdmissionError", 998 "radroots_event_codec::decode::reply::RadrootsInboundNip10ReplyProjection", 999 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 1000 ] 1001 1002 [operations.social_reply_verify_and_admit_event.conformance] 1003 vector = "contracts/conformance/vectors/post/verified_profiles.v1.json" 1004 case_kinds = [ 1005 "social.reply.verify_and_admit_event.valid", 1006 "social.reply.verify_and_admit_event.invalid", 1007 ] 1008 1009 [operations.social_post_project_verified_event] 1010 domain = "social" 1011 id = "social.post.project_verified_event" 1012 stability = "beta" 1013 inputs = ["RadrootsSignatureVerifiedEvent"] 1014 outputs = ["RadrootsInboundPostProjection"] 1015 error_class = "parse_error" 1016 deterministic = true 1017 signing = "none" 1018 transport = "none" 1019 1020 [operations.social_post_project_verified_event.implementation] 1021 rust_modules = ["crates/event_codec/src/post/inbound.rs"] 1022 rust_types = [ 1023 "radroots_event_codec::decode::post::RadrootsInboundPostImeta", 1024 "radroots_event_codec::decode::post::RadrootsInboundPostProjection", 1025 "radroots_event_codec::decode::post::RadrootsPostClassification", 1026 "radroots_event_codec::decode::post::RadrootsPostDiagnostic", 1027 "radroots_event_codec::decode::post::RadrootsPostProjectionError", 1028 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 1029 ] 1030 1031 [operations.social_post_project_verified_event.conformance] 1032 vector = "contracts/conformance/vectors/post/verified_profiles.v1.json" 1033 case_kinds = [ 1034 "social.post.project_verified_event.valid", 1035 "social.post.project_verified_event.invalid", 1036 ] 1037 1038 [operations.social_post_verify_and_admit_event] 1039 domain = "social" 1040 id = "social.post.verify_and_admit_event" 1041 stability = "beta" 1042 inputs = ["EventEnvelope"] 1043 outputs = ["RadrootsPostAdmissionOutcome"] 1044 error_class = "admission_error" 1045 deterministic = true 1046 signing = "nip01" 1047 transport = "none" 1048 1049 [operations.social_post_verify_and_admit_event.implementation] 1050 rust_modules = [ 1051 "crates/event_codec/src/post/admission.rs", 1052 "crates/event_codec/src/post/inbound.rs", 1053 "crates/event_codec/src/verification.rs", 1054 ] 1055 rust_types = [ 1056 "radroots_event::envelope::EventEnvelope", 1057 "radroots_event_codec::admission::post::RadrootsAdmittedRootPostEvent", 1058 "radroots_event_codec::admission::post::RadrootsPostAdmissionError", 1059 "radroots_event_codec::admission::post::RadrootsPostAdmissionOutcome", 1060 "radroots_event_codec::admission::post::RadrootsThreadExcludedPostCandidate", 1061 "radroots_event_codec::decode::post::RadrootsInboundPostProjection", 1062 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 1063 ] 1064 1065 [operations.social_post_verify_and_admit_event.conformance] 1066 vector = "contracts/conformance/vectors/post/verified_profiles.v1.json" 1067 case_kinds = [ 1068 "social.post.verify_and_admit_event.valid", 1069 "social.post.verify_and_admit_event.invalid", 1070 ] 1071 1072 [operations.social_comment_build_authored_draft] 1073 domain = "social" 1074 id = "social.comment.build_authored_draft" 1075 stability = "beta" 1076 inputs = ["AuthoredNip22Comment"] 1077 outputs = ["Nip01EventWireParts"] 1078 error_class = "encode_error" 1079 deterministic = true 1080 signing = "none" 1081 transport = "none" 1082 1083 [operations.social_comment_build_authored_draft.implementation] 1084 rust_modules = [ 1085 "crates/event/src/comment.rs", 1086 "crates/event/src/relay_hint.rs", 1087 "crates/event_codec/src/comment/authored.rs", 1088 ] 1089 rust_types = [ 1090 "radroots_event::post::comment::AuthoredNip22Comment", 1091 "radroots_event::post::comment::Nip22AddressRootReference", 1092 "radroots_event::post::comment::Nip22CommentError", 1093 "radroots_event::post::comment::Nip22CommentParentReference", 1094 "radroots_event::post::comment::Nip22CommentPosition", 1095 "radroots_event::post::comment::Nip22CommentRoot", 1096 "radroots_event::post::comment::Nip22CommentRootKind", 1097 "radroots_event::post::comment::Nip22EventRootReference", 1098 "radroots_event::tag::relay_hint::NostrRelayHint", 1099 "radroots_event::wire::Nip01EventWireParts", 1100 ] 1101 1102 [operations.social_comment_build_authored_draft.conformance] 1103 vector = "contracts/conformance/vectors/comment/verified_profile.v1.json" 1104 case_kinds = [ 1105 "social.comment.build_authored_draft.valid", 1106 "social.comment.build_authored_draft.invalid", 1107 ] 1108 1109 [operations.social_comment_project_verified_event] 1110 domain = "social" 1111 id = "social.comment.project_verified_event" 1112 stability = "beta" 1113 inputs = ["RadrootsSignatureVerifiedEvent"] 1114 outputs = ["RadrootsInboundNip22CommentProjection"] 1115 error_class = "parse_error" 1116 deterministic = true 1117 signing = "none" 1118 transport = "none" 1119 1120 [operations.social_comment_project_verified_event.implementation] 1121 rust_modules = [ 1122 "crates/event_codec/src/comment/inbound.rs", 1123 "crates/event_codec/src/verification.rs", 1124 ] 1125 rust_types = [ 1126 "radroots_event_codec::decode::comment::RadrootsInboundNip22AddressRoot", 1127 "radroots_event_codec::decode::comment::RadrootsInboundNip22CommentParent", 1128 "radroots_event_codec::decode::comment::RadrootsInboundNip22CommentPosition", 1129 "radroots_event_codec::decode::comment::RadrootsInboundNip22CommentProjection", 1130 "radroots_event_codec::decode::comment::RadrootsInboundNip22CommentRoot", 1131 "radroots_event_codec::decode::comment::RadrootsInboundNip22CurrentRevision", 1132 "radroots_event_codec::decode::comment::RadrootsInboundNip22EventRoot", 1133 "radroots_event_codec::decode::comment::RadrootsInboundNip22Participant", 1134 "radroots_event_codec::decode::comment::RadrootsInboundNip22TopLevelAddressReference", 1135 "radroots_event_codec::decode::comment::RadrootsInboundNip22TopLevelEventReference", 1136 "radroots_event_codec::decode::comment::RadrootsNip22CommentDiagnostic", 1137 "radroots_event_codec::decode::comment::RadrootsNip22CommentProjectionError", 1138 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 1139 ] 1140 1141 [operations.social_comment_project_verified_event.conformance] 1142 vector = "contracts/conformance/vectors/comment/verified_profile.v1.json" 1143 case_kinds = [ 1144 "social.comment.project_verified_event.valid", 1145 "social.comment.project_verified_event.invalid", 1146 ] 1147 1148 [operations.social_comment_verify_and_admit_event] 1149 domain = "social" 1150 id = "social.comment.verify_and_admit_event" 1151 stability = "beta" 1152 inputs = ["EventEnvelope"] 1153 outputs = ["RadrootsAdmittedNip22CommentEvent"] 1154 error_class = "admission_error" 1155 deterministic = true 1156 signing = "nip01" 1157 transport = "none" 1158 1159 [operations.social_comment_verify_and_admit_event.implementation] 1160 rust_modules = [ 1161 "crates/event_codec/src/comment/admission.rs", 1162 "crates/event_codec/src/comment/inbound.rs", 1163 "crates/event_codec/src/verification.rs", 1164 ] 1165 rust_types = [ 1166 "radroots_event::envelope::EventEnvelope", 1167 "radroots_event_codec::admission::comment::RadrootsAdmittedNip22CommentEvent", 1168 "radroots_event_codec::admission::comment::RadrootsNip22CommentAdmissionError", 1169 "radroots_event_codec::decode::comment::RadrootsInboundNip22CommentProjection", 1170 "radroots_event_codec::decode::comment::RadrootsNip22CommentProjectionError", 1171 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 1172 ] 1173 1174 [operations.social_comment_verify_and_admit_event.conformance] 1175 vector = "contracts/conformance/vectors/comment/verified_profile.v1.json" 1176 case_kinds = [ 1177 "social.comment.verify_and_admit_event.valid", 1178 "social.comment.verify_and_admit_event.invalid", 1179 ] 1180 1181 [operations.social_deletion_request_build_authored_draft] 1182 domain = "social" 1183 id = "social.deletion_request.build_authored_draft" 1184 stability = "beta" 1185 inputs = ["AuthoredNip09DeletionRequest"] 1186 outputs = ["Nip01EventWireParts"] 1187 error_class = "encode_error" 1188 deterministic = true 1189 signing = "none" 1190 transport = "none" 1191 1192 [operations.social_deletion_request_build_authored_draft.implementation] 1193 rust_modules = [ 1194 "crates/event/src/deletion.rs", 1195 "crates/event_codec/src/deletion/authored.rs", 1196 ] 1197 rust_types = [ 1198 "radroots_event::post::deletion::AuthoredNip09DeletionRequest", 1199 "radroots_event::post::deletion::Nip09DeletionAddressTarget", 1200 "radroots_event::post::deletion::Nip09DeletionError", 1201 "radroots_event::post::deletion::Nip09DeletionEventTarget", 1202 "radroots_event::id::Nip01Coordinate", 1203 "radroots_event::wire::Nip01EventWireParts", 1204 ] 1205 1206 [operations.social_deletion_request_build_authored_draft.conformance] 1207 vector = "contracts/conformance/vectors/deletion/verified_profile.v1.json" 1208 case_kinds = [ 1209 "social.deletion_request.build_authored_draft.valid", 1210 "social.deletion_request.build_authored_draft.invalid", 1211 ] 1212 1213 [operations.social_deletion_request_project_verified_event] 1214 domain = "social" 1215 id = "social.deletion_request.project_verified_event" 1216 stability = "beta" 1217 inputs = ["RadrootsSignatureVerifiedEvent"] 1218 outputs = ["RadrootsInboundNip09DeletionProjection"] 1219 error_class = "parse_error" 1220 deterministic = true 1221 signing = "none" 1222 transport = "none" 1223 1224 [operations.social_deletion_request_project_verified_event.implementation] 1225 rust_modules = [ 1226 "crates/event_codec/src/deletion/inbound.rs", 1227 "crates/event_codec/src/verification.rs", 1228 ] 1229 rust_types = [ 1230 "radroots_event_codec::decode::deletion::RadrootsInboundNip09DeletionAddressTarget", 1231 "radroots_event_codec::decode::deletion::RadrootsInboundNip09DeletionEventTarget", 1232 "radroots_event_codec::decode::deletion::RadrootsInboundNip09DeletionKindAdvisory", 1233 "radroots_event_codec::decode::deletion::RadrootsInboundNip09DeletionProjection", 1234 "radroots_event_codec::decode::deletion::RadrootsNip09DeletionDiagnostic", 1235 "radroots_event_codec::decode::deletion::RadrootsNip09DeletionProjectionError", 1236 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 1237 ] 1238 1239 [operations.social_deletion_request_project_verified_event.conformance] 1240 vector = "contracts/conformance/vectors/deletion/verified_profile.v1.json" 1241 case_kinds = [ 1242 "social.deletion_request.project_verified_event.valid", 1243 "social.deletion_request.project_verified_event.invalid", 1244 ] 1245 1246 [operations.social_deletion_request_verify_and_admit_event] 1247 domain = "social" 1248 id = "social.deletion_request.verify_and_admit_event" 1249 stability = "beta" 1250 inputs = ["EventEnvelope"] 1251 outputs = ["RadrootsAdmittedNip09DeletionRequestEvent"] 1252 error_class = "admission_error" 1253 deterministic = true 1254 signing = "nip01" 1255 transport = "none" 1256 1257 [operations.social_deletion_request_verify_and_admit_event.implementation] 1258 rust_modules = [ 1259 "crates/event_codec/src/deletion/admission.rs", 1260 "crates/event_codec/src/deletion/inbound.rs", 1261 "crates/event_codec/src/verification.rs", 1262 ] 1263 rust_types = [ 1264 "radroots_event::envelope::EventEnvelope", 1265 "radroots_event_codec::admission::deletion::RadrootsAdmittedNip09DeletionRequestEvent", 1266 "radroots_event_codec::admission::deletion::RadrootsNip09DeletionAdmissionError", 1267 "radroots_event_codec::decode::deletion::RadrootsInboundNip09DeletionProjection", 1268 "radroots_event_codec::decode::deletion::RadrootsNip09DeletionProjectionError", 1269 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 1270 ] 1271 1272 [operations.social_deletion_request_verify_and_admit_event.conformance] 1273 vector = "contracts/conformance/vectors/deletion/verified_profile.v1.json" 1274 case_kinds = [ 1275 "social.deletion_request.verify_and_admit_event.valid", 1276 "social.deletion_request.verify_and_admit_event.invalid", 1277 ] 1278 1279 [operations.social_deletion_request_evaluate_suppression] 1280 domain = "social" 1281 id = "social.deletion_request.evaluate_suppression" 1282 stability = "beta" 1283 inputs = [ 1284 "RadrootsSignatureVerifiedEvent", 1285 "RadrootsAdmittedNip09DeletionRequestEvent[]", 1286 ] 1287 outputs = ["RadrootsNip09SuppressionDecision"] 1288 error_class = "validation_error" 1289 deterministic = true 1290 signing = "none" 1291 transport = "none" 1292 1293 [operations.social_deletion_request_evaluate_suppression.implementation] 1294 rust_modules = ["crates/event_codec/src/deletion/evaluator.rs"] 1295 rust_types = [ 1296 "radroots_event_codec::admission::deletion::RadrootsAdmittedNip09DeletionRequestEvent", 1297 "radroots_event_codec::admission::deletion::RadrootsNip09AddressReferenceEvidence", 1298 "radroots_event_codec::admission::deletion::RadrootsNip09EventReferenceEvidence", 1299 "radroots_event_codec::admission::deletion::RadrootsNip09SuppressionDecision", 1300 "radroots_event_codec::admission::deletion::RadrootsNip09SuppressionOutcome", 1301 "radroots_event_codec::admission::deletion::RadrootsNip09SuppressionReason", 1302 "radroots_event_codec::verify::RadrootsSignatureVerifiedEvent", 1303 ] 1304 1305 [operations.social_deletion_request_evaluate_suppression.conformance] 1306 vector = "contracts/conformance/vectors/deletion/suppression.v1.json" 1307 case_kinds = ["social.deletion_request.evaluate_suppression.valid"] 1308 1309 [operations.social_reaction_build_tags] 1310 domain = "social" 1311 id = "social.reaction.build_tags" 1312 stability = "beta" 1313 inputs = ["Reaction"] 1314 outputs = ["NostrTags"] 1315 error_class = "encode_error" 1316 deterministic = true 1317 signing = "native" 1318 transport = "native" 1319 1320 [operations.social_reaction_build_tags.implementation] 1321 rust_modules = ["crates/event_codec/src/reaction/encode.rs"] 1322 rust_types = ["radroots_event::post::reaction::Reaction"] 1323 1324 [operations.social_reaction_build_tags.conformance] 1325 vector = "contracts/conformance/vectors/social/mvp.v1.json" 1326 1327 [operations.social_article_build_tags] 1328 domain = "social" 1329 id = "social.article.build_tags" 1330 stability = "beta" 1331 inputs = ["Article"] 1332 outputs = ["NostrTags"] 1333 error_class = "encode_error" 1334 deterministic = true 1335 signing = "native" 1336 transport = "native" 1337 1338 [operations.social_article_build_tags.implementation] 1339 rust_modules = ["crates/event_codec/src/article/encode.rs"] 1340 rust_types = ["radroots_event::post::article::Article"] 1341 1342 [operations.social_article_build_tags.conformance] 1343 vector = "contracts/conformance/vectors/social/mvp.v1.json" 1344 1345 [operations.social_file_metadata_build_tags] 1346 domain = "social" 1347 id = "social.file_metadata.build_tags" 1348 stability = "beta" 1349 inputs = ["FileMetadata"] 1350 outputs = ["NostrTags"] 1351 error_class = "encode_error" 1352 deterministic = true 1353 signing = "native" 1354 transport = "native" 1355 1356 [operations.social_file_metadata_build_tags.implementation] 1357 rust_modules = ["crates/event_codec/src/file_metadata/encode.rs"] 1358 rust_types = ["radroots_event::media::file_metadata::FileMetadata"] 1359 1360 [operations.social_file_metadata_build_tags.conformance] 1361 vector = "contracts/conformance/vectors/social/mvp.v1.json" 1362 1363 [operations.social_calendar_date_event_build_authored_draft] 1364 domain = "social" 1365 id = "social.calendar_date_event.build_authored_draft" 1366 stability = "beta" 1367 inputs = ["AuthoredCalendarDateEvent"] 1368 outputs = ["Nip01EventWireParts"] 1369 error_class = "encode_error" 1370 deterministic = true 1371 signing = "none" 1372 transport = "none" 1373 1374 [operations.social_calendar_date_event_build_authored_draft.implementation] 1375 rust_modules = [ 1376 "crates/event/src/calendar.rs", 1377 "crates/event/src/media.rs", 1378 "crates/event_codec/src/calendar/encode.rs", 1379 ] 1380 rust_types = [ 1381 "radroots_event::calendar::AuthoredCalendarDateEvent", 1382 "radroots_event::calendar::CalendarDate", 1383 "radroots_event::calendar::CalendarEventError", 1384 "radroots_event::media::AuthoredImage", 1385 "radroots_event::wire::Nip01EventWireParts", 1386 "radroots_event_codec::error::EventEncodeError", 1387 ] 1388 1389 [operations.social_calendar_date_event_build_authored_draft.conformance] 1390 vector = "contracts/conformance/vectors/calendar/radroots_profile.v1.json" 1391 1392 [operations.social_calendar_date_event_parse_nip52] 1393 domain = "social" 1394 id = "social.calendar_date_event.parse_nip52" 1395 stability = "beta" 1396 inputs = ["u32", "NostrTags", "String"] 1397 outputs = ["ParsedNip52CalendarDateEvent"] 1398 error_class = "parse_error" 1399 deterministic = true 1400 signing = "none" 1401 transport = "none" 1402 1403 [operations.social_calendar_date_event_parse_nip52.implementation] 1404 rust_modules = [ 1405 "crates/event/src/calendar.rs", 1406 "crates/event_codec/src/calendar/decode.rs", 1407 ] 1408 rust_types = [ 1409 "radroots_event::calendar::CalendarDate", 1410 "radroots_event::calendar::CalendarRequest", 1411 "radroots_event::calendar::CalendarUri", 1412 "radroots_event::calendar::ParsedNip52CalendarCommon", 1413 "radroots_event::calendar::ParsedNip52CalendarCommonParts", 1414 "radroots_event::calendar::ParsedNip52CalendarDateEvent", 1415 "radroots_event_codec::error::EventParseError", 1416 ] 1417 1418 [operations.social_calendar_date_event_parse_nip52.conformance] 1419 vector = "contracts/conformance/vectors/calendar/nip52_baseline.v1.json" 1420 1421 [operations.social_calendar_date_event_admit_radroots_profile] 1422 domain = "social" 1423 id = "social.calendar_date_event.admit_radroots_profile" 1424 stability = "beta" 1425 inputs = ["ParsedNip52CalendarDateEvent"] 1426 outputs = ["AdmittedCalendarDateEvent"] 1427 error_class = "admission_error" 1428 deterministic = true 1429 signing = "none" 1430 transport = "none" 1431 1432 [operations.social_calendar_date_event_admit_radroots_profile.implementation] 1433 rust_modules = [ 1434 "crates/event/src/calendar.rs", 1435 "crates/event_codec/src/calendar/decode.rs", 1436 ] 1437 rust_types = [ 1438 "radroots_event::calendar::AdmittedCalendarDateEvent", 1439 "radroots_event::calendar::CalendarAdmissionError", 1440 "radroots_event::calendar::ParsedNip52CalendarDateEvent", 1441 ] 1442 1443 [operations.social_calendar_date_event_admit_radroots_profile.conformance] 1444 vector = "contracts/conformance/vectors/calendar/radroots_profile.v1.json" 1445 1446 [operations.social_calendar_time_event_build_authored_draft] 1447 domain = "social" 1448 id = "social.calendar_time_event.build_authored_draft" 1449 stability = "beta" 1450 inputs = ["AuthoredCalendarTimeEvent"] 1451 outputs = ["Nip01EventWireParts"] 1452 error_class = "encode_error" 1453 deterministic = true 1454 signing = "none" 1455 transport = "none" 1456 1457 [operations.social_calendar_time_event_build_authored_draft.implementation] 1458 rust_modules = [ 1459 "crates/event/src/calendar.rs", 1460 "crates/event/src/media.rs", 1461 "crates/event_codec/src/calendar/encode.rs", 1462 ] 1463 rust_types = [ 1464 "radroots_event::calendar::AuthoredCalendarTimeEvent", 1465 "radroots_event::calendar::CalendarEventError", 1466 "radroots_event::calendar::IanaTimeZoneId", 1467 "radroots_event::media::AuthoredImage", 1468 "radroots_event::wire::Nip01EventWireParts", 1469 "radroots_event_codec::error::EventEncodeError", 1470 ] 1471 1472 [operations.social_calendar_time_event_build_authored_draft.conformance] 1473 vector = "contracts/conformance/vectors/calendar/radroots_profile.v1.json" 1474 1475 [operations.social_calendar_time_event_parse_nip52] 1476 domain = "social" 1477 id = "social.calendar_time_event.parse_nip52" 1478 stability = "beta" 1479 inputs = ["u32", "NostrTags", "String"] 1480 outputs = ["ParsedNip52CalendarTimeEvent"] 1481 error_class = "parse_error" 1482 deterministic = true 1483 signing = "none" 1484 transport = "none" 1485 1486 [operations.social_calendar_time_event_parse_nip52.implementation] 1487 rust_modules = [ 1488 "crates/event/src/calendar.rs", 1489 "crates/event_codec/src/calendar/decode.rs", 1490 ] 1491 rust_types = [ 1492 "radroots_event::calendar::CalendarRequest", 1493 "radroots_event::calendar::CalendarUri", 1494 "radroots_event::calendar::IanaTimeZoneId", 1495 "radroots_event::calendar::ObservedUtcDay", 1496 "radroots_event::calendar::ParsedNip52CalendarCommon", 1497 "radroots_event::calendar::ParsedNip52CalendarCommonParts", 1498 "radroots_event::calendar::ParsedNip52CalendarTimeEvent", 1499 "radroots_event_codec::error::EventParseError", 1500 ] 1501 1502 [operations.social_calendar_time_event_parse_nip52.conformance] 1503 vector = "contracts/conformance/vectors/calendar/nip52_baseline.v1.json" 1504 1505 [operations.social_calendar_time_event_admit_radroots_profile] 1506 domain = "social" 1507 id = "social.calendar_time_event.admit_radroots_profile" 1508 stability = "beta" 1509 inputs = ["ParsedNip52CalendarTimeEvent"] 1510 outputs = ["AdmittedCalendarTimeEvent"] 1511 error_class = "admission_error" 1512 deterministic = true 1513 signing = "none" 1514 transport = "none" 1515 1516 [operations.social_calendar_time_event_admit_radroots_profile.implementation] 1517 rust_modules = [ 1518 "crates/event/src/calendar.rs", 1519 "crates/event_codec/src/calendar/decode.rs", 1520 ] 1521 rust_types = [ 1522 "radroots_event::calendar::AdmittedCalendarTimeEvent", 1523 "radroots_event::calendar::CalendarAdmissionError", 1524 "radroots_event::calendar::ParsedNip52CalendarTimeEvent", 1525 ] 1526 1527 [operations.social_calendar_time_event_admit_radroots_profile.conformance] 1528 vector = "contracts/conformance/vectors/calendar/radroots_profile.v1.json" 1529 1530 [operations.social_calendar_build_authored_draft] 1531 domain = "social" 1532 id = "social.calendar.build_authored_draft" 1533 stability = "beta" 1534 inputs = ["AuthoredCalendar"] 1535 outputs = ["Nip01EventWireParts"] 1536 error_class = "encode_error" 1537 deterministic = true 1538 signing = "none" 1539 transport = "none" 1540 1541 [operations.social_calendar_build_authored_draft.implementation] 1542 rust_modules = [ 1543 "crates/event/src/calendar.rs", 1544 "crates/event/src/media.rs", 1545 "crates/event_codec/src/calendar/encode.rs", 1546 ] 1547 rust_types = [ 1548 "radroots_event::calendar::AuthoredCalendar", 1549 "radroots_event::calendar::CalendarEventError", 1550 "radroots_event::calendar::CalendarEventReference", 1551 "radroots_event::calendar::CalendarUid", 1552 "radroots_event::media::AuthoredImage", 1553 "radroots_event::wire::Nip01EventWireParts", 1554 "radroots_event_codec::error::EventEncodeError", 1555 ] 1556 1557 [operations.social_calendar_build_authored_draft.conformance] 1558 vector = "contracts/conformance/vectors/calendar/radroots_profile.v1.json" 1559 1560 [operations.social_calendar_parse_nip52] 1561 domain = "social" 1562 id = "social.calendar.parse_nip52" 1563 stability = "beta" 1564 inputs = ["u32", "NostrTags", "String"] 1565 outputs = ["ParsedNip52Calendar"] 1566 error_class = "parse_error" 1567 deterministic = true 1568 signing = "none" 1569 transport = "none" 1570 1571 [operations.social_calendar_parse_nip52.implementation] 1572 rust_modules = [ 1573 "crates/event/src/calendar.rs", 1574 "crates/event_codec/src/calendar/decode.rs", 1575 ] 1576 rust_types = [ 1577 "radroots_event::calendar::CalendarEventError", 1578 "radroots_event::calendar::CalendarEventReference", 1579 "radroots_event::calendar::CalendarUri", 1580 "radroots_event::calendar::ParsedNip52Calendar", 1581 "radroots_event::calendar::ParsedNip52CalendarParts", 1582 "radroots_event_codec::error::EventParseError", 1583 ] 1584 1585 [operations.social_calendar_parse_nip52.conformance] 1586 vector = "contracts/conformance/vectors/calendar/nip52_baseline.v1.json" 1587 1588 [operations.social_calendar_admit_radroots_profile] 1589 domain = "social" 1590 id = "social.calendar.admit_radroots_profile" 1591 stability = "beta" 1592 inputs = ["ParsedNip52Calendar"] 1593 outputs = ["AdmittedCalendar"] 1594 error_class = "admission_error" 1595 deterministic = true 1596 signing = "none" 1597 transport = "none" 1598 1599 [operations.social_calendar_admit_radroots_profile.implementation] 1600 rust_modules = [ 1601 "crates/event/src/calendar.rs", 1602 "crates/event_codec/src/calendar/decode.rs", 1603 ] 1604 rust_types = [ 1605 "radroots_blossom::BlobUrl", 1606 "radroots_event::calendar::AdmittedCalendar", 1607 "radroots_event::calendar::CalendarAdmissionError", 1608 "radroots_event::calendar::CalendarEventReference", 1609 "radroots_event::calendar::CalendarUid", 1610 "radroots_event::calendar::ParsedNip52Calendar", 1611 ] 1612 1613 [operations.social_calendar_admit_radroots_profile.conformance] 1614 vector = "contracts/conformance/vectors/calendar/radroots_profile.v1.json" 1615 1616 [operations.social_calendar_rsvp_build_authored_draft] 1617 domain = "social" 1618 id = "social.calendar_rsvp.build_authored_draft" 1619 stability = "beta" 1620 inputs = ["AuthoredCalendarEventRsvp"] 1621 outputs = ["Nip01EventWireParts"] 1622 error_class = "encode_error" 1623 deterministic = true 1624 signing = "none" 1625 transport = "none" 1626 1627 [operations.social_calendar_rsvp_build_authored_draft.implementation] 1628 rust_modules = [ 1629 "crates/event/src/calendar.rs", 1630 "crates/event_codec/src/calendar/encode.rs", 1631 ] 1632 rust_types = [ 1633 "radroots_event::calendar::AuthoredCalendarEventRsvp", 1634 "radroots_event::calendar::CalendarEventAuthorReference", 1635 "radroots_event::calendar::CalendarEventError", 1636 "radroots_event::calendar::CalendarEventReference", 1637 "radroots_event::calendar::CalendarEventRevisionReference", 1638 "radroots_event::calendar::CalendarUid", 1639 "radroots_event::calendar::CalendarEventFreeBusy", 1640 "radroots_event::calendar::CalendarEventRsvpStatus", 1641 "radroots_event::wire::Nip01EventWireParts", 1642 "radroots_event_codec::error::EventEncodeError", 1643 ] 1644 1645 [operations.social_calendar_rsvp_build_authored_draft.conformance] 1646 vector = "contracts/conformance/vectors/calendar/radroots_profile.v1.json" 1647 1648 [operations.social_calendar_rsvp_parse_nip52] 1649 domain = "social" 1650 id = "social.calendar_rsvp.parse_nip52" 1651 stability = "beta" 1652 inputs = ["u32", "NostrTags", "String"] 1653 outputs = ["ParsedNip52CalendarEventRsvp"] 1654 error_class = "parse_error" 1655 deterministic = true 1656 signing = "none" 1657 transport = "none" 1658 1659 [operations.social_calendar_rsvp_parse_nip52.implementation] 1660 rust_modules = [ 1661 "crates/event/src/calendar.rs", 1662 "crates/event_codec/src/calendar/decode.rs", 1663 ] 1664 rust_types = [ 1665 "radroots_event::calendar::CalendarEventAuthorReference", 1666 "radroots_event::calendar::CalendarEventError", 1667 "radroots_event::calendar::CalendarEventReference", 1668 "radroots_event::calendar::CalendarEventRevisionReference", 1669 "radroots_event::calendar::ParsedNip52CalendarEventRsvp", 1670 "radroots_event::calendar::ParsedNip52CalendarEventRsvpParts", 1671 "radroots_event::calendar::CalendarEventFreeBusy", 1672 "radroots_event::calendar::CalendarEventRsvpStatus", 1673 "radroots_event_codec::error::EventParseError", 1674 ] 1675 1676 [operations.social_calendar_rsvp_parse_nip52.conformance] 1677 vector = "contracts/conformance/vectors/calendar/nip52_baseline.v1.json" 1678 1679 [operations.social_calendar_rsvp_admit_radroots_profile] 1680 domain = "social" 1681 id = "social.calendar_rsvp.admit_radroots_profile" 1682 stability = "beta" 1683 inputs = ["ParsedNip52CalendarEventRsvp"] 1684 outputs = ["AdmittedCalendarEventRsvp"] 1685 error_class = "admission_error" 1686 deterministic = true 1687 signing = "none" 1688 transport = "none" 1689 1690 [operations.social_calendar_rsvp_admit_radroots_profile.implementation] 1691 rust_modules = [ 1692 "crates/event/src/calendar.rs", 1693 "crates/event_codec/src/calendar/decode.rs", 1694 ] 1695 rust_types = [ 1696 "radroots_event::calendar::AdmittedCalendarEventRsvp", 1697 "radroots_event::calendar::CalendarAdmissionError", 1698 "radroots_event::calendar::CalendarEventAuthorReference", 1699 "radroots_event::calendar::CalendarEventReference", 1700 "radroots_event::calendar::CalendarEventRevisionReference", 1701 "radroots_event::calendar::CalendarUid", 1702 "radroots_event::calendar::ParsedNip52CalendarEventRsvp", 1703 "radroots_event::calendar::CalendarEventFreeBusy", 1704 "radroots_event::calendar::CalendarEventRsvpStatus", 1705 ] 1706 1707 [operations.social_calendar_rsvp_admit_radroots_profile.conformance] 1708 vector = "contracts/conformance/vectors/calendar/radroots_profile.v1.json" 1709 1710 [operations.trade_canonicalize_mutation] 1711 domain = "trade" 1712 id = "trade.canonicalize_mutation" 1713 stability = "beta" 1714 inputs = ["TradeMutationEnvelopeV1"] 1715 outputs = ["TradeCanonicalMutationV1"] 1716 error_class = "encode_error" 1717 deterministic = true 1718 signing = "native" 1719 transport = "native" 1720 1721 [operations.trade_canonicalize_mutation.implementation] 1722 rust_modules = ["crates/event/src/trade.rs"] 1723 rust_types = [ 1724 "radroots_event::trade::TradeCanonicalMutationV1", 1725 "radroots_event::trade::TradeMutationEnvelopeV1", 1726 ] 1727 1728 [operations.trade_canonicalize_mutation.conformance] 1729 vector = "contracts/conformance/vectors/trade/canonicalize_mutation.v1.json" 1730 1731 [operations.trade_build_mutation_event] 1732 domain = "trade" 1733 id = "trade.build_mutation_event" 1734 stability = "beta" 1735 inputs = ["TradeMutationEnvelopeV1"] 1736 outputs = ["Nip01EventWireParts"] 1737 error_class = "encode_error" 1738 deterministic = true 1739 signing = "native" 1740 transport = "native" 1741 1742 [operations.trade_build_mutation_event.implementation] 1743 rust_modules = ["crates/event_codec/src/trade/mod.rs"] 1744 rust_types = ["radroots_event::trade::TradeMutationEnvelopeV1"] 1745 1746 [operations.trade_build_mutation_event.conformance] 1747 vector = "contracts/conformance/vectors/trade/build_mutation_event.v1.json" 1748 1749 [operations.trade_parse_mutation_event] 1750 domain = "trade" 1751 id = "trade.parse_mutation_event" 1752 stability = "beta" 1753 inputs = ["EventEnvelope"] 1754 outputs = ["TradeMutationEnvelopeV1"] 1755 error_class = "parse_error" 1756 deterministic = true 1757 signing = "native" 1758 transport = "native" 1759 1760 [operations.trade_parse_mutation_event.implementation] 1761 rust_modules = ["crates/event_codec/src/trade/mod.rs"] 1762 rust_types = [ 1763 "radroots_event::envelope::EventEnvelope", 1764 "radroots_event::trade::TradeMutationEnvelopeV1", 1765 ] 1766 1767 [operations.trade_parse_mutation_event.conformance] 1768 vector = "contracts/conformance/vectors/trade/parse_mutation_event.v1.json" 1769 1770 [operations.trade_reduce_records] 1771 domain = "trade" 1772 id = "trade.reduce_records" 1773 stability = "beta" 1774 inputs = ["RadrootsTradeReductionInputV1"] 1775 outputs = ["RadrootsTradeProjectionV1"] 1776 error_class = "validation_error" 1777 deterministic = true 1778 signing = "native" 1779 transport = "native" 1780 1781 [operations.trade_reduce_records.implementation] 1782 rust_modules = [ 1783 "crates/trade/src/reducer.rs", 1784 "crates/trade/src/reducer_impl.rs", 1785 ] 1786 rust_types = [ 1787 "radroots_trade::reducer::RadrootsTradeReductionInputV1", 1788 "radroots_trade::model::RadrootsTradeProjectionV1", 1789 ] 1790 1791 [operations.trade_reduce_records.conformance] 1792 vector = "contracts/conformance/vectors/trade/reduce_records.v1.json" 1793 1794 [operations.trade_prepare_workflow] 1795 domain = "trade" 1796 id = "trade.prepare_workflow" 1797 stability = "beta" 1798 inputs = ["TradeMutationEnvelopeV1"] 1799 outputs = ["WorkflowPlan"] 1800 error_class = "validation_error" 1801 deterministic = true 1802 signing = "none" 1803 transport = "none" 1804 1805 [operations.trade_prepare_workflow.implementation] 1806 rust_modules = ["crates/trade/src/workflow.rs"] 1807 rust_types = [ 1808 "radroots_trade::workflow::Error", 1809 "radroots_trade::workflow::WorkflowPlan", 1810 ] 1811 1812 [operations.trade_prepare_workflow.conformance] 1813 vector = "contracts/conformance/vectors/trade/prepare_workflow.v1.json" 1814 case_kinds = ["trade.prepare_workflow.valid", "trade.prepare_workflow.invalid"] 1815 1816 [operations.knowledge_contract_manifest_json] 1817 domain = "knowledge" 1818 id = "knowledge.contract_manifest_json" 1819 stability = "beta" 1820 inputs = ["RadrootsEventContractRegistry"] 1821 outputs = ["RadrootsKnowledgeContractManifest", "ManifestSha256"] 1822 error_class = "encode_error" 1823 deterministic = true 1824 signing = "native" 1825 transport = "native" 1826 1827 [operations.knowledge_contract_manifest_json.implementation] 1828 rust_modules = ["crates/event_codec/src/manifest.rs"] 1829 rust_types = [ 1830 "radroots_event_codec::manifest::RadrootsKnowledgeContractManifest", 1831 ] 1832 1833 [operations.knowledge_contract_manifest_json.conformance] 1834 vector = "contracts/conformance/vectors/knowledge/manifest_and_decode.v1.json" 1835 1836 [operations.knowledge_verify_and_decode_event] 1837 domain = "knowledge" 1838 id = "knowledge.verify_and_decode_event" 1839 stability = "beta" 1840 inputs = ["EventEnvelope"] 1841 outputs = ["RadrootsDecodedEvent"] 1842 error_class = "decode_error" 1843 deterministic = true 1844 signing = "nip01" 1845 transport = "native" 1846 1847 [operations.knowledge_verify_and_decode_event.implementation] 1848 rust_modules = [ 1849 "crates/event_codec/src/verification.rs", 1850 "crates/event_codec/src/knowledge/verification.rs", 1851 "crates/event_codec/src/knowledge/decode.rs", 1852 ] 1853 rust_types = [ 1854 "radroots_event::envelope::EventEnvelope", 1855 "radroots_event_codec::verify::RadrootsDecodedEvent", 1856 ] 1857 1858 [operations.knowledge_verify_and_decode_event.conformance] 1859 vector = "contracts/conformance/vectors/knowledge/manifest_and_decode.v1.json"