238 lines
4.6 KiB
Text
238 lines
4.6 KiB
Text
digraph GovernanceAuthorityToken {
|
|
|
|
rankdir = LR;
|
|
// Inputs:
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// governance in
|
|
governance_datum
|
|
[ shape = record
|
|
, label =
|
|
"{{ GovernanceState
|
|
}}"
|
|
];
|
|
|
|
governance_addr
|
|
[ shape = record
|
|
, label = "{{ Script | Governance }}"
|
|
, style = "bold"
|
|
];
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// proposal in
|
|
proposal_datum
|
|
[ shape = record
|
|
, label = "{{ ProposalState }}"
|
|
];
|
|
|
|
proposal_addr
|
|
-> proposal_redeemer
|
|
[style = "dashed", dir="none"];
|
|
|
|
proposal_addr
|
|
[ shape = record
|
|
, label = "{{ Script | Proposal }}"
|
|
, style = "bold"
|
|
];
|
|
|
|
governance_datum
|
|
-> governance_addr [style = "dashed"];
|
|
|
|
governance_redeemer
|
|
[ shape = record
|
|
, label = "{{ GovernanceAction | MintAuthorityTokens }}"
|
|
];
|
|
|
|
governance_addr
|
|
-> governance_redeemer
|
|
[style = "dashed", dir="none"];
|
|
|
|
proposal_datum -> proposal_addr [style = "dashed"];
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// user wallet in
|
|
user_wallet_min_ada_in
|
|
[ shape = ellipse
|
|
, label = <ADA: <I>min utxo</I>>
|
|
];
|
|
|
|
user_wallet_in
|
|
[ shape = box
|
|
, label = "User Inputs"
|
|
, style = "bold"
|
|
, peripheries = 2
|
|
];
|
|
|
|
user_wallet_min_ada_in
|
|
-> user_wallet_in
|
|
[ style = "dashed"
|
|
];
|
|
|
|
|
|
tx1
|
|
[ shape = diamond
|
|
, label = "Tx1"
|
|
, style = "bold"
|
|
];
|
|
|
|
user_wallet_in -> tx1;
|
|
governance_addr -> tx1;
|
|
proposal_addr -> tx1;
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// governance out
|
|
governance_datum_out
|
|
[ shape = record
|
|
, label =
|
|
"{{ GovernanceState
|
|
}}"
|
|
];
|
|
|
|
governance_addr_out
|
|
[ shape = record
|
|
, label = "{{ Script | Governance }}"
|
|
, style = "bold"
|
|
];
|
|
|
|
|
|
governance_datum_out
|
|
-> governance_addr_out
|
|
[ style = "dashed"
|
|
];
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// proposal out
|
|
proposal_datum_out
|
|
-> proposal_addr_out
|
|
[ style = "dashed"
|
|
];
|
|
|
|
proposal_redeemer
|
|
[ shape = record
|
|
, label =
|
|
"{{ ProposalAction | FinishVoting }}"
|
|
];
|
|
|
|
|
|
proposal_datum_out
|
|
[ shape = record
|
|
, label =
|
|
"{{ ProposalState }}"
|
|
];
|
|
|
|
proposal_addr_out
|
|
[ shape = record
|
|
, label = "{{ Script | Proposal }}"
|
|
, style = "bold"
|
|
];
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// effect out
|
|
effect_governance_token_out
|
|
[ shape = ellipse
|
|
, label = <GovernanceAuthorityToken: 1>
|
|
];
|
|
|
|
effect_addr_out
|
|
[ shape = record
|
|
, label = "{{ Script | Effect }}"
|
|
, style = "bold"
|
|
];
|
|
|
|
effect_governance_token_out
|
|
-> effect_addr_out
|
|
[ style = "dashed"
|
|
];
|
|
|
|
effect_min_ada_out
|
|
-> effect_addr_out
|
|
[ style = "dashed"
|
|
];
|
|
|
|
effect_min_ada_out
|
|
[ shape = ellipse
|
|
, label = <ADA: <I>min utxo</I>>
|
|
];
|
|
|
|
tx1 -> governance_addr_out;
|
|
tx1 -> proposal_addr_out;
|
|
tx1 -> effect_addr_out;
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// effect in
|
|
effect_addr_out2
|
|
[ shape = record
|
|
, label = "{{ Script | Effect }}"
|
|
, style = "bold"
|
|
];
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// market in
|
|
market_addr_in
|
|
[ shape = record
|
|
, label = "{{ Script | Market }}"
|
|
, style = "bold"
|
|
];
|
|
|
|
market_datum_in
|
|
[ shape = record
|
|
, label = "{{ MarketState | params: A }}"
|
|
];
|
|
|
|
market_datum_in
|
|
-> market_addr_in
|
|
[ style = "dashed"
|
|
];
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// market out
|
|
market_addr_out
|
|
[ shape = record
|
|
, label = "{{ Script | Market }}"
|
|
, style = "bold"
|
|
];
|
|
|
|
market_datum_out
|
|
[ shape = record
|
|
, label = "{{ MarketState | params: f(A) }}"
|
|
];
|
|
|
|
market_datum_out
|
|
-> market_addr_out
|
|
[ style = "dashed"
|
|
];
|
|
|
|
tx2
|
|
[ shape = diamond
|
|
, label = "Tx2"
|
|
, style = "bold"
|
|
];
|
|
|
|
user_wallet_min_ada_out
|
|
[ shape = ellipse
|
|
, label = <ADA: <I>min utxo</I>>
|
|
];
|
|
|
|
user_wallet_out
|
|
[ shape = box
|
|
, label = "User Outputs"
|
|
, style = "bold"
|
|
, peripheries = 2
|
|
];
|
|
|
|
user_wallet_min_ada_out
|
|
-> user_wallet_out
|
|
[ style = "dashed"
|
|
];
|
|
|
|
effect_addr_out -> tx2;
|
|
market_addr_in -> tx2;
|
|
tx2 -> user_wallet_out;
|
|
tx2 -> effect_addr_out2;
|
|
tx2 -> market_addr_out;
|
|
|
|
}
|