Simplified Hybrid V1 DAML contract package for Raven's options market on Canton.
This repo is split into two packages:
core: deployable ledger contracts (nodaml-scriptdependency)tests: script/test package that depends oncoreDAR
This avoids uploading test dependencies to production participants.
Hybrid architecture from raven_flow.html:
OptionSeries: metadata and settlement stateCollateralVault: CC escrow, complete-set mint, payout release, settlement finalizationOptionToken: CALL/PUT ownership contractsCCPayout+SeriesSettlementRecord: payout and settlement artifacts- Splice featured app markers via
Splice.Api.FeaturedAppRightV1 ActivityAudit: memo/user-id audit metadata per actionPositionLot+PositionLotEvent: original quantity and lot event accounting
AMM pricing and pool state remain off-chain.
multi-package.yaml: package build graphcore/daml.yaml: deployable package configcore/src/*.daml: production templates and choicestests/daml.yaml: test package configtests/src/Test/Main.daml: end-to-end and negative testsdocs/: specs, handoff, and learning docs
cd /Users/prajwalghate/Documents/Work/canton/raven-contracts
# Build all packages (core + tests)
dpm build --all
# Run tests package scripts
cd tests
dpm test- Core DAR (upload target):
/Users/prajwalghate/Documents/Work/canton/raven-contracts/core/.daml/dist/raven-contracts-0.2.1.dar
- Tests DAR (local/testing only):
/Users/prajwalghate/Documents/Work/canton/raven-contracts/tests/.daml/dist/raven-contracts-tests-0.2.1.dar
- Backend computes AMM quotes/payouts off-chain.
- Backend submits DAML commands for mint/sell/settlement.
- Backend stores returned transaction IDs and CIDs in PostgreSQL.
- Canton ledger is source of truth for custody and settlement outcomes.
Read next:
docs/CONTRACT-SPEC.mddocs/FUNCTIONALITY-FLOW.mddocs/DEVELOPER-GUIDE.mddocs/INTEGRATION-GUIDE.mddocs/SANDBOX-AND-SCRIPT-TESTING.md