feat(contracts): v0.0.43 — Slice 3.3 origin-escrow template SCAFFOLD (multi-party + dispute) 🎉
Ship Slice 3.3 v0.0.43 — second foundational template del Origin Contract Atelier.
Multi-party escrow + time-locked milestones + dispute-enabled via Pillar 6 Tribunal.
Cambios:
- contracts/origin-escrow/Cargo.toml: ink! 6.0.0-beta.1 + scale codec aligned
- contracts/origin-escrow/lib.rs: full ink! v6 contract source ~500 LOC:
* 5-state machine canonical (Created → Active → Disputed → Releasing → Completed)
* Storage canonical: parties (depositor + beneficiary + arbiter + treasury) +
config (terms_hash + total + fee + windows) + state tracking + milestones mapping
* 5 events canonical (Deposited, MilestoneCompleted, DisputeRaised,
DisputeResolved, EscrowCompleted)
* 12 error variants canonical (InvalidState, UnauthorizedCaller, etc.)
* Constructor canonical con invariants compile-detect (fee ≤ 5% BM V2 §5.3,
depositor != beneficiary, terms_hash != zero)
* 9 read methods canonical (state, parties, amounts, milestones)
* 5 write methods canonical (deposit, add_milestone, confirm_milestone,
raise_dispute, resolve_dispute)
* 4 Resolution variants Tribunal: ReleaseToBeneficiary, RefundToDepositor,
SplitFifty, Custom (with depositor_bps + beneficiary_bps == 10_000 invariant)
* 3 unit tests canonical
- contracts/origin-escrow/README.md: use cases + state machine diagram +
resolution patterns + cross-pillar integration
Inmutables compliance:
- #16 HTS anti-clasista: escrow_fee_bps cap 5% BM V2 §5.3
- #26 Content-Addressed: terms_hash + description_hash BLAKE3 inmutable
- #37 Free perpetua: 9 read methods sin payment
- #41 AGI Cross-Species: AGI puede ser depositor/beneficiary/arbiter
Cross-pillar wire canonical:
- Pillar 6 Tribunal (Mathi): arbiter = Tribunal contract address
- Pillar 2 OMC Marketplace (Marihan): escrow integrado purchases
- Pillar 1 Hosting (Larihana): refundable hosting fees future
- Pillar 4 Origin Chain (Charon): deploy vía pallet-revive Index 11
Use cases canonical:
- Freelance contracts (client + worker + Tribunal)
- OMC marketplace purchases (buyer + seller + Tribunal)
- Institutional partnerships (university + researcher + Tribunal)
- Refundable event tickets (organizer + holder + Tribunal)
Próximo Ship Slice 3.4 v0.0.44: origin-credential-mint contract template
(Ed25519 + BLAKE3 attestation, Sussi Ethos schema integration).
⚓ Path A Slice 3.3 SCAFFOLD shipped. Templates library canonical 2/5 complete.
🤖 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
f4f46767fe
commit
9f7897c47c
3 files changed
+643
No files matched your search
@@ -0,0 +1,41 @@
|
||||
[package]
|
||||
name = "origin-escrow"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
authors = [
|
||||
"Charon <charon@originmetaverse.com>",
|
||||
"David Herran <david@dreamhousestudios.com>",
|
||||
"Origin Metaverse community",
|
||||
]
|
||||
license = "MIT OR Apache-2.0"
|
||||
description = "Origin Chain Escrow contract template — multi-party + time-locked + dispute-enabled via Pillar 6 Tribunal integration. Para commerce + freelance + institutional partnerships. Second foundational template del Origin Contract Atelier."
|
||||
homepage = "https://originmetaverse.com"
|
||||
repository = "https://git.originmetaverse.com/Origin_Metaverse/arkhe-origin-chain"
|
||||
keywords = ["smart-contract", "escrow", "ink", "polkavm", "origin-metaverse"]
|
||||
categories = ["cryptography::cryptocurrencies", "no-std", "wasm"]
|
||||
|
||||
[dependencies]
|
||||
ink = { version = "6.0.0-beta.1", default-features = false }
|
||||
scale = { package = "parity-scale-codec", version = "3.7", default-features = false, features = ["derive"] }
|
||||
scale-info = { version = "2.11", default-features = false, features = ["derive"] }
|
||||
|
||||
[lib]
|
||||
path = "lib.rs"
|
||||
|
||||
[features]
|
||||
default = ["std"]
|
||||
std = [
|
||||
"ink/std",
|
||||
"scale/std",
|
||||
"scale-info/std",
|
||||
]
|
||||
ink-as-dependency = []
|
||||
e2e-tests = []
|
||||
|
||||
[profile.release]
|
||||
panic = "abort"
|
||||
lto = true
|
||||
opt-level = "z"
|
||||
overflow-checks = false
|
||||
codegen-units = 1
|
||||
strip = "symbols"
|
||||
Reference in new issue
Block a user