types.ts (10677B)
1 // @generated by cargo xtask generate ts 2 // Do not edit by hand. 3 import type { Currency, Decimal, Discount, Money, Quantity, Unit } from "@radroots/core-bindings"; 4 import type { RadrootsFarmRef, RadrootsOperationalListing, RadrootsOperationalListingAvailability, RadrootsOperationalListingBin, RadrootsOperationalListingDeliveryMethod, RadrootsOperationalListingImage, RadrootsOperationalListingProduct, RadrootsOperationalListingPublicLocation, RadrootsPlotRef, RadrootsResourceAreaRef } from "@radroots/event-bindings"; 5 6 export type RadrootsOperationalListingSubtotal = { price_amount: Money, price_currency: Currency, quantity_amount: Decimal, quantity_unit: Unit, }; 7 8 export type RadrootsOperationalListingTotal = { price_amount: Money, price_currency: Currency, quantity_amount: Decimal, quantity_unit: Unit, }; 9 10 export type RadrootsOperationalListingTradeProjection = { listing_id: string, listing_addr: string, seller_pubkey: string, title: string, description: string, product_type: string, primary_bin_id: string, bin_quantity: Quantity, unit: Unit, unit_price: Money, inventory_available: Decimal, availability: RadrootsOperationalListingAvailability, location: RadrootsOperationalListingPublicLocation, delivery_method: RadrootsOperationalListingDeliveryMethod, listing: RadrootsOperationalListing, }; 11 12 export type RadrootsTradeAgreementClaimV1 = { claim_mutation_id: string, proposal_mutation_id: string, candidate_id: string, candidate_author_pubkey: string, accepted_by_pubkey: string, reservation_commitment: string, }; 13 14 export type RadrootsTradeAgreementStateV1 = "none" | "agreed" | "contested" | "cancelled"; 15 16 export type RadrootsTradeAttestationRecordV1 = { event_id: string, claim_mutation_id: string, result: RadrootsTradeAttestationResultV1, }; 17 18 export type RadrootsTradeAttestationResultV1 = "Valid" | "Invalid"; 19 20 export type RadrootsTradeAttestationStateV1 = "none" | "present_valid" | "present_invalid" | "conflicting"; 21 22 export type RadrootsTradeConflictStateV1 = "none" | "concurrent_candidates" | "double_acceptance" | "decision_conflict" | "cancellation_conflict" | "invalid_causal_chain" | "inventory_authority_conflict"; 23 24 export type RadrootsTradeEvidenceStateV1 = "complete" | "missing" | "query_partial" | "unsupported_version"; 25 26 export type RadrootsTradeEvidenceCoverageV1 = "missing" | "partial" | "scope_satisfied" | "unsupported"; 27 28 export type RadrootsTradeEvidenceOutcomeV1 = "valid" | "invalid" | "indeterminate"; 29 30 export type RadrootsTradeEvidenceManifestV1 = { contract_id: "radroots.trade.evidence-manifest.v1", contract_version: 1, trade_id: string, trade_generation: string, observed_at_unix_s: string, coverage: RadrootsTradeEvidenceCoverageV1, evidence_policy_digest: string, manifest_digest: string, canonical_bytes_hex: string, }; 31 32 export type RadrootsRhiEvidenceSupersessionV1 = { report_id: string, event_id: string, }; 33 34 export type RadrootsRhiEvidenceReportV1 = { contract_id: "radroots.rhi.evidence_attestation.v1", contract_version: 1, issuer_pubkey: string, trade_id: string, claim_mutation_id: string, outcome: RadrootsTradeEvidenceOutcomeV1, reason_codes: Array<string>, projection_digest: string, evidence_manifest_digest: string, evidence_policy_digest: string, observed_at_unix_s: string, trade_generation: string, statement_digest: string, supersession?: RadrootsRhiEvidenceSupersessionV1 | null, canonical_content: string, }; 35 36 export type RadrootsRhiEvidenceAttestationV1 = { issuer_pubkey: string, trade_id: string, claim_mutation_id: string, outcome: RadrootsTradeEvidenceOutcomeV1, observed_at_unix_s: string, trade_generation: string, statement_digest: string, supersession?: RadrootsRhiEvidenceSupersessionV1 | null, canonical_content: string, }; 37 38 export type RadrootsTypedEvidenceEventPlanV1 = { contract_id: string, kind: number, author_pubkey: string, created_at_unix_s: string, expected_event_id: string, tags: Array<Array<string>>, content: string, }; 39 40 export type RadrootsTradeFacetCount = { key: string, count: number, }; 41 42 export type RadrootsTradeFulfillmentStateV1 = "not_started"; 43 44 export type RadrootsTradeListingBackofficeOverlay = { listing_addr: string, review_queue?: RadrootsTradeReviewQueueEntry | null, moderation_flags: Array<RadrootsTradeModerationFlag>, }; 45 46 export type RadrootsTradeListingBackofficeQuery = { listing: RadrootsTradeListingQuery, requires_review?: boolean | null, has_open_moderation_flags?: boolean | null, }; 47 48 export type RadrootsTradeListingBackofficeView = { listing: RadrootsTradeListingProjection, marketplace?: RadrootsTradeMarketplaceListingSummary | null, overlay?: RadrootsTradeListingBackofficeOverlay | null, requires_review: boolean, open_moderation_flag_count: number, }; 49 50 export type RadrootsTradeListingBinProjection = { bin: RadrootsOperationalListingBin, one_bin_total: RadrootsOperationalListingTotal, }; 51 52 export type RadrootsTradeListingFacets = { seller_pubkeys: Array<RadrootsTradeFacetCount>, farm_pubkeys: Array<RadrootsTradeFacetCount>, farm_ids: Array<RadrootsTradeFacetCount>, product_keys: Array<RadrootsTradeFacetCount>, product_categories: Array<RadrootsTradeFacetCount>, listing_statuses: Array<RadrootsTradeFacetCount>, }; 53 54 export type RadrootsTradeListingMarketStatus = "unknown" | "window" | "active" | "sold" | { other: { value: string, }, }; 55 56 export type RadrootsTradeListingProjection = { listing_addr: string, seller_pubkey: string, listing_id: string, farm: RadrootsFarmRef, product: RadrootsOperationalListingProduct, primary_bin_id: string, bins: Array<RadrootsTradeListingBinProjection>, resource_area?: RadrootsResourceAreaRef | null, plot?: RadrootsPlotRef | null, discounts?: Array<Discount> | null, inventory_available?: Decimal | null, availability?: RadrootsOperationalListingAvailability | null, delivery_method?: RadrootsOperationalListingDeliveryMethod | null, location?: RadrootsOperationalListingPublicLocation | null, images?: Array<RadrootsOperationalListingImage> | null, trade_count: number, open_trade_count: number, terminal_trade_count: number, }; 57 58 export type RadrootsTradeListingQuery = { seller_pubkey?: string | null, farm_pubkey?: string | null, farm_id?: string | null, product_key?: string | null, product_category?: string | null, listing_status?: RadrootsTradeListingMarketStatus | null, }; 59 60 export type RadrootsTradeListingSort = { field: RadrootsTradeListingSortField, direction: RadrootsTradeSortDirection, }; 61 62 export type RadrootsTradeListingSortField = "listing_addr" | "product_title" | "product_category" | "seller_pubkey" | "inventory_available" | "open_trade_count" | "total_trade_count"; 63 64 export type RadrootsTradeMarketplaceListingSummary = { listing_addr: string, seller_pubkey: string, farm_pubkey: string, farm_id: string, product_key: string, product_title: string, product_category: string, product_summary?: string | null, listing_status: RadrootsTradeListingMarketStatus, location_primary?: string | null, inventory_available?: Decimal | null, primary_bin_id: string, primary_bin_label?: string | null, primary_bin_total: RadrootsOperationalListingTotal, trade_count: number, open_trade_count: number, terminal_trade_count: number, }; 65 66 export type RadrootsTradeModerationFlag = { code: string, severity: RadrootsTradeModerationSeverity, status: RadrootsTradeModerationStatus, source?: string | null, reason?: string | null, }; 67 68 export type RadrootsTradeModerationSeverity = "notice" | "warning" | "block"; 69 70 export type RadrootsTradeModerationStatus = "open" | "snoozed" | "resolved"; 71 72 export type RadrootsTradeNegotiationStateV1 = "none" | "open" | "closed_declined" | "closed_expired"; 73 74 export type RadrootsTradePaymentStateV1 = "not_tracked"; 75 76 export type RadrootsTradePrivateTermsStateV1 = "not_required" | "available_verified" | "missing" | "undecryptable" | "commitment_mismatch"; 77 78 export type RadrootsTradeProjectionV1 = { reducer_contract_id: string, reducer_version: number, trade_id: string, root_mutation_id?: string | null, buyer_pubkey?: string | null, seller_pubkey?: string | null, farm_id?: string | null, negotiation_state: RadrootsTradeNegotiationStateV1, agreement_state: RadrootsTradeAgreementStateV1, evidence_state: RadrootsTradeEvidenceStateV1, conflict_state: RadrootsTradeConflictStateV1, private_terms_state: RadrootsTradePrivateTermsStateV1, attestation_state: RadrootsTradeAttestationStateV1, fulfillment_state: RadrootsTradeFulfillmentStateV1, payment_state: RadrootsTradePaymentStateV1, candidate_heads: Array<string>, agreement_claims: Array<RadrootsTradeAgreementClaimV1>, active_agreement_claim_ids: Array<string>, contested_claim_ids: Array<string>, cancelled_claim_ids: Array<string>, declined_candidate_ids: Array<string>, missing_parent_ids: Array<string>, missing_proposal_ids: Array<string>, unsupported_mutation_ids: Array<string>, issues: Array<RadrootsTradeReducerIssueV1>, attestations: Array<RadrootsTradeAttestationRecordV1>, projection_digest: string, }; 79 80 export type RadrootsTradeReducerIssueV1 = "MissingRootProposal" | "MultipleRootProposals" | "MissingMutationId" | { TradeIdentityMismatch: { mutation_id: string, }, } | { UnsupportedSchema: { mutation_id: string, schema_version: number, }, } | { InvalidMutation: { mutation_id?: string | null, reason: string, }, } | { MissingParent: { mutation_id: string, parent_mutation_id: string, }, } | { MissingProposal: { decision_mutation_id: string, proposal_mutation_id: string, }, } | { CandidateIdMismatch: { decision_mutation_id: string, proposal_mutation_id: string, }, } | { DecisionAuthorMismatch: { decision_mutation_id: string, }, } | { DecisionParentMissing: { decision_mutation_id: string, proposal_mutation_id: string, }, } | { MissingSellerReservation: { decision_mutation_id: string, }, } | { ReservationCandidateMismatch: { decision_mutation_id: string, }, } | { ReservationAuthorityMismatch: { decision_mutation_id: string, }, } | { ReservationLineMismatch: { decision_mutation_id: string, }, } | { DecisionConflict: { proposal_mutation_id: string, }, } | { DoubleAcceptance: { proposal_mutation_id: string, }, } | { CancellationConflict: { cancellation_mutation_id: string, }, } | { InvalidCausalChain: { mutation_id: string, }, } | { PrivateTermsUnavailable: { candidate_id: string, }, } | { ProjectionDigestUnavailable: { reason: string, }, }; 81 82 export type RadrootsTradeReviewPriority = "low" | "normal" | "high" | "critical"; 83 84 export type RadrootsTradeReviewQueueEntry = { queue: string, priority: RadrootsTradeReviewPriority, status: RadrootsTradeReviewStatus, assigned_operator?: string | null, reason?: string | null, }; 85 86 export type RadrootsTradeReviewStatus = "queued" | "in_progress" | "blocked" | "resolved"; 87 88 export type RadrootsTradeSortDirection = "asc" | "desc";