operations.toml (12035B)
1 [contract] 2 name = "radroots_core_contract" 3 version = "0.1.0-alpha.2" 4 source = "rust" 5 6 [public] 7 domains = ["profile", "farm", "listing", "order", "trade_validation", "social"] 8 9 [shared_types] 10 public = [ 11 "WireEventParts", 12 "RadrootsFrozenEventDraft", 13 "RadrootsSignedNostrEvent", 14 "RadrootsNostrEvent", 15 "RadrootsNostrEventRef", 16 "RadrootsNostrEventPtr", 17 "RadrootsListingAddress", 18 "RadrootsProfile", 19 "RadrootsFarm", 20 "RadrootsListing", 21 "RadrootsPost", 22 "RadrootsComment", 23 "RadrootsReaction", 24 "RadrootsArticle", 25 "RadrootsFileMetadata", 26 "RadrootsCalendarDateEvent", 27 "RadrootsCalendarTimeEvent", 28 "RadrootsOrderEnvelope", 29 "RadrootsOrderEventType", 30 "RadrootsOrderItem", 31 "RadrootsOrderPricingBasis", 32 "RadrootsOrderEconomicLineKind", 33 "RadrootsOrderEconomicActor", 34 "RadrootsOrderEconomicEffect", 35 "RadrootsOrderEconomicItem", 36 "RadrootsOrderEconomicLine", 37 "RadrootsOrderEconomicTotals", 38 "RadrootsOrderEconomics", 39 "RadrootsOrderRequest", 40 "RadrootsOrderInventoryCommitment", 41 "RadrootsOrderDecisionOutcome", 42 "RadrootsOrderDecision", 43 ] 44 45 [errors] 46 classes = ["encode_error", "parse_error", "validation_error", "address_error"] 47 48 [implementation_provenance] 49 model_crates = [ 50 "radroots_core", 51 "radroots_events", 52 "radroots_trade", 53 "radroots_identity", 54 ] 55 algorithm_crates = ["radroots_events_codec"] 56 57 [operations.profile_build_draft] 58 domain = "profile" 59 id = "profile.build_draft" 60 stability = "beta" 61 inputs = ["RadrootsProfile", "RadrootsProfileType?"] 62 outputs = ["WireEventParts"] 63 error_class = "encode_error" 64 deterministic = true 65 signing = "native" 66 transport = "native" 67 68 [operations.profile_build_draft.implementation] 69 rust_modules = ["crates/events_codec/src/profile/encode.rs"] 70 rust_types = ["radroots_events::profile::RadrootsProfile"] 71 72 [operations.profile_build_draft.conformance] 73 vector = "contracts/conformance/vectors/profile/build_draft.v1.json" 74 75 [operations.farm_build_draft] 76 domain = "farm" 77 id = "farm.build_draft" 78 stability = "beta" 79 inputs = ["RadrootsFarm"] 80 outputs = ["WireEventParts"] 81 error_class = "encode_error" 82 deterministic = true 83 signing = "native" 84 transport = "native" 85 86 [operations.farm_build_draft.implementation] 87 rust_modules = ["crates/events_codec/src/farm/encode.rs"] 88 rust_types = ["radroots_events::farm::RadrootsFarm"] 89 90 [operations.farm_build_draft.conformance] 91 vector = "contracts/conformance/vectors/farm/build_draft.v1.json" 92 93 [operations.listing_build_tags] 94 domain = "listing" 95 id = "listing.build_tags" 96 stability = "beta" 97 inputs = ["RadrootsListing"] 98 outputs = ["NostrTags"] 99 error_class = "encode_error" 100 deterministic = true 101 signing = "native" 102 transport = "native" 103 104 [operations.listing_build_tags.implementation] 105 rust_modules = [ 106 "crates/events_codec/src/listing/encode.rs", 107 "crates/events_codec/src/listing/tags.rs", 108 ] 109 rust_types = ["radroots_events::listing::RadrootsListing"] 110 111 [operations.listing_build_tags.conformance] 112 vector = "contracts/conformance/vectors/listing/build_tags.v1.json" 113 114 [operations.listing_build_draft] 115 domain = "listing" 116 id = "listing.build_draft" 117 stability = "beta" 118 inputs = ["RadrootsListing"] 119 outputs = ["WireEventParts"] 120 error_class = "encode_error" 121 deterministic = true 122 signing = "native" 123 transport = "native" 124 125 [operations.listing_build_draft.implementation] 126 rust_modules = [ 127 "crates/events_codec/src/listing/encode.rs", 128 "crates/events_codec/src/wire.rs", 129 ] 130 rust_types = ["radroots_events::listing::RadrootsListing"] 131 132 [operations.listing_build_draft.conformance] 133 vector = "contracts/conformance/vectors/listing/build_draft.v1.json" 134 135 [operations.listing_parse_event] 136 domain = "listing" 137 id = "listing.parse_event" 138 stability = "beta" 139 inputs = ["RadrootsNostrEvent"] 140 outputs = ["RadrootsListing"] 141 error_class = "parse_error" 142 deterministic = true 143 signing = "native" 144 transport = "native" 145 146 [operations.listing_parse_event.implementation] 147 rust_modules = ["crates/trade/src/listing/codec.rs"] 148 rust_types = [ 149 "radroots_events::RadrootsNostrEvent", 150 "radroots_events::listing::RadrootsListing", 151 ] 152 153 [operations.listing_parse_event.conformance] 154 vector = "contracts/conformance/vectors/listing/parse_event.v1.json" 155 156 [operations.social_post_build_tags] 157 domain = "social" 158 id = "social.post.build_tags" 159 stability = "beta" 160 inputs = ["RadrootsPost"] 161 outputs = ["NostrTags"] 162 error_class = "encode_error" 163 deterministic = true 164 signing = "native" 165 transport = "native" 166 167 [operations.social_post_build_tags.implementation] 168 rust_modules = ["crates/events_codec/src/post/encode.rs"] 169 rust_types = ["radroots_events::post::RadrootsPost"] 170 171 [operations.social_post_build_tags.conformance] 172 vector = "contracts/conformance/vectors/social/mvp.v1.json" 173 174 [operations.social_comment_build_tags] 175 domain = "social" 176 id = "social.comment.build_tags" 177 stability = "beta" 178 inputs = ["RadrootsComment"] 179 outputs = ["NostrTags"] 180 error_class = "encode_error" 181 deterministic = true 182 signing = "native" 183 transport = "native" 184 185 [operations.social_comment_build_tags.implementation] 186 rust_modules = ["crates/events_codec/src/comment/encode.rs"] 187 rust_types = ["radroots_events::comment::RadrootsComment"] 188 189 [operations.social_comment_build_tags.conformance] 190 vector = "contracts/conformance/vectors/social/mvp.v1.json" 191 192 [operations.social_reaction_build_tags] 193 domain = "social" 194 id = "social.reaction.build_tags" 195 stability = "beta" 196 inputs = ["RadrootsReaction"] 197 outputs = ["NostrTags"] 198 error_class = "encode_error" 199 deterministic = true 200 signing = "native" 201 transport = "native" 202 203 [operations.social_reaction_build_tags.implementation] 204 rust_modules = ["crates/events_codec/src/reaction/encode.rs"] 205 rust_types = ["radroots_events::reaction::RadrootsReaction"] 206 207 [operations.social_reaction_build_tags.conformance] 208 vector = "contracts/conformance/vectors/social/mvp.v1.json" 209 210 [operations.social_article_build_tags] 211 domain = "social" 212 id = "social.article.build_tags" 213 stability = "beta" 214 inputs = ["RadrootsArticle"] 215 outputs = ["NostrTags"] 216 error_class = "encode_error" 217 deterministic = true 218 signing = "native" 219 transport = "native" 220 221 [operations.social_article_build_tags.implementation] 222 rust_modules = ["crates/events_codec/src/article/encode.rs"] 223 rust_types = ["radroots_events::article::RadrootsArticle"] 224 225 [operations.social_article_build_tags.conformance] 226 vector = "contracts/conformance/vectors/social/mvp.v1.json" 227 228 [operations.social_file_metadata_build_tags] 229 domain = "social" 230 id = "social.file_metadata.build_tags" 231 stability = "beta" 232 inputs = ["RadrootsFileMetadata"] 233 outputs = ["NostrTags"] 234 error_class = "encode_error" 235 deterministic = true 236 signing = "native" 237 transport = "native" 238 239 [operations.social_file_metadata_build_tags.implementation] 240 rust_modules = ["crates/events_codec/src/file_metadata/encode.rs"] 241 rust_types = ["radroots_events::file_metadata::RadrootsFileMetadata"] 242 243 [operations.social_file_metadata_build_tags.conformance] 244 vector = "contracts/conformance/vectors/social/mvp.v1.json" 245 246 [operations.social_calendar_date_event_build_tags] 247 domain = "social" 248 id = "social.calendar_date_event.build_tags" 249 stability = "beta" 250 inputs = ["RadrootsCalendarDateEvent"] 251 outputs = ["NostrTags"] 252 error_class = "encode_error" 253 deterministic = true 254 signing = "native" 255 transport = "native" 256 257 [operations.social_calendar_date_event_build_tags.implementation] 258 rust_modules = ["crates/events_codec/src/calendar/encode.rs"] 259 rust_types = ["radroots_events::calendar::RadrootsCalendarDateEvent"] 260 261 [operations.social_calendar_date_event_build_tags.conformance] 262 vector = "contracts/conformance/vectors/social/mvp.v1.json" 263 264 [operations.social_calendar_time_event_build_tags] 265 domain = "social" 266 id = "social.calendar_time_event.build_tags" 267 stability = "beta" 268 inputs = ["RadrootsCalendarTimeEvent"] 269 outputs = ["NostrTags"] 270 error_class = "encode_error" 271 deterministic = true 272 signing = "native" 273 transport = "native" 274 275 [operations.social_calendar_time_event_build_tags.implementation] 276 rust_modules = ["crates/events_codec/src/calendar/encode.rs"] 277 rust_types = ["radroots_events::calendar::RadrootsCalendarTimeEvent"] 278 279 [operations.social_calendar_time_event_build_tags.conformance] 280 vector = "contracts/conformance/vectors/social/mvp.v1.json" 281 282 [operations.order_build_order_request_draft] 283 domain = "order" 284 id = "order.build_order_request_draft" 285 stability = "beta" 286 inputs = ["RadrootsOrderRequest", "RadrootsNostrEventPtr"] 287 outputs = ["WireEventParts"] 288 error_class = "encode_error" 289 deterministic = true 290 signing = "native" 291 transport = "native" 292 293 [operations.order_build_order_request_draft.implementation] 294 rust_modules = ["crates/events_codec/src/order/encode.rs"] 295 rust_types = [ 296 "radroots_events::RadrootsNostrEventPtr", 297 "radroots_events::order::RadrootsOrderRequest", 298 ] 299 300 [operations.order_build_order_request_draft.conformance] 301 vector = "contracts/conformance/vectors/order/build_order_request_draft.v1.json" 302 303 [operations.order_build_order_decision_draft] 304 domain = "order" 305 id = "order.build_order_decision_draft" 306 stability = "beta" 307 inputs = ["root_event_id", "prev_event_id", "RadrootsOrderDecision"] 308 outputs = ["WireEventParts"] 309 error_class = "encode_error" 310 deterministic = true 311 signing = "native" 312 transport = "native" 313 314 [operations.order_build_order_decision_draft.implementation] 315 rust_modules = ["crates/events_codec/src/order/encode.rs"] 316 rust_types = ["radroots_events::order::RadrootsOrderDecision"] 317 318 [operations.order_build_order_decision_draft.conformance] 319 vector = "contracts/conformance/vectors/order/build_order_decision_draft.v1.json" 320 321 [operations.order_parse_order_request] 322 domain = "order" 323 id = "order.parse_order_request" 324 stability = "beta" 325 inputs = ["RadrootsNostrEvent"] 326 outputs = ["RadrootsOrderEnvelope", "RadrootsOrderRequest"] 327 error_class = "parse_error" 328 deterministic = true 329 signing = "native" 330 transport = "native" 331 332 [operations.order_parse_order_request.implementation] 333 rust_modules = ["crates/events_codec/src/order/decode.rs"] 334 rust_types = [ 335 "radroots_events::RadrootsNostrEvent", 336 "radroots_events::order::RadrootsOrderEnvelope", 337 "radroots_events::order::RadrootsOrderRequest", 338 ] 339 340 [operations.order_parse_order_request.conformance] 341 vector = "contracts/conformance/vectors/order/parse_order_request.v1.json" 342 343 [operations.order_parse_order_decision] 344 domain = "order" 345 id = "order.parse_order_decision" 346 stability = "beta" 347 inputs = ["RadrootsNostrEvent"] 348 outputs = ["RadrootsOrderEnvelope", "RadrootsOrderDecision"] 349 error_class = "parse_error" 350 deterministic = true 351 signing = "native" 352 transport = "native" 353 354 [operations.order_parse_order_decision.implementation] 355 rust_modules = ["crates/events_codec/src/order/decode.rs"] 356 rust_types = [ 357 "radroots_events::RadrootsNostrEvent", 358 "radroots_events::order::RadrootsOrderEnvelope", 359 "radroots_events::order::RadrootsOrderDecision", 360 ] 361 362 [operations.order_parse_order_decision.conformance] 363 vector = "contracts/conformance/vectors/order/parse_order_decision.v1.json" 364 365 [operations.order_parse_listing_address] 366 domain = "order" 367 id = "order.parse_listing_address" 368 stability = "beta" 369 inputs = ["listing_addr"] 370 outputs = ["RadrootsListingAddress"] 371 error_class = "address_error" 372 deterministic = true 373 signing = "native" 374 transport = "native" 375 376 [operations.order_parse_listing_address.implementation] 377 rust_modules = ["crates/events/src/ids.rs"] 378 rust_types = ["radroots_events::ids::RadrootsListingAddress"] 379 380 [operations.order_parse_listing_address.conformance] 381 vector = "contracts/conformance/vectors/order/parse_listing_address.v1.json" 382 383 [operations.trade_validation_validate_listing_event] 384 domain = "trade_validation" 385 id = "trade_validation.validate_listing_event" 386 stability = "beta" 387 inputs = ["RadrootsNostrEvent"] 388 outputs = ["TradeListingValidateResult"] 389 error_class = "validation_error" 390 deterministic = true 391 signing = "native" 392 transport = "native" 393 394 [operations.trade_validation_validate_listing_event.implementation] 395 rust_modules = ["crates/trade/src/listing/validation.rs"] 396 rust_types = [ 397 "radroots_events::RadrootsNostrEvent", 398 "radroots_trade::listing::validation::RadrootsTradeListing", 399 ] 400 401 [operations.trade_validation_validate_listing_event.conformance] 402 vector = "contracts/conformance/vectors/trade_validation/validate_listing_event.v1.json"