add: template from docs
This commit is contained in:
parent
94ff20253b
commit
5a8ef1aef0
|
@ -42,6 +42,7 @@ fn create_project(args: Args, package_name: &PackageName) -> miette::Result<()>
|
||||||
if !args.lib {
|
if !args.lib {
|
||||||
create_env(&root)?;
|
create_env(&root)?;
|
||||||
create_validators(&root)?;
|
create_validators(&root)?;
|
||||||
|
create_validator(&root)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
readme(&root, &package_name.repo)?;
|
readme(&root, &package_name.repo)?;
|
||||||
|
@ -110,6 +111,48 @@ fn create_validators(root: &Path) -> miette::Result<()> {
|
||||||
fs::create_dir_all(validators).into_diagnostic()
|
fs::create_dir_all(validators).into_diagnostic()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn create_validator(root: &Path) -> miette::Result<()> {
|
||||||
|
let validators = root.join("validators");
|
||||||
|
fs::write(
|
||||||
|
validators.join("hello.ak"),
|
||||||
|
indoc! {
|
||||||
|
r#"
|
||||||
|
use cardano/address.{{Credential}}
|
||||||
|
use cardano/assets.{{PolicyId}}
|
||||||
|
use cardano/certificate.{{Certificate}}
|
||||||
|
use cardano/governance.{{ProposalProcedure, Voter}}
|
||||||
|
use cardano/transaction.{{Transaction, OutputReference}}
|
||||||
|
|
||||||
|
validator my_script {{
|
||||||
|
mint(redeemer: MyMintRedeemer, policy_id: PolicyId, self: Transaction) {{
|
||||||
|
todo @"mint logic goes here"
|
||||||
|
}}
|
||||||
|
|
||||||
|
spend(datum: Option<MyDatum>, redeemer: MySpendRedeemer, utxo: OutputReference, self: Transaction) {{
|
||||||
|
todo @"spend logic goes here"
|
||||||
|
}}
|
||||||
|
|
||||||
|
withdraw(redeemer: MyWithdrawRedeemer, account: Credential, self: Transaction) {{
|
||||||
|
todo @"withdraw logic goes here"
|
||||||
|
}}
|
||||||
|
|
||||||
|
publish(redeemer: MyPublishRedeemer, certificate: Certificate, self: Transaction) {{
|
||||||
|
todo @"publish logic goes here"
|
||||||
|
}}
|
||||||
|
|
||||||
|
vote(redeemer: MyVoteRedeemer, voter: Voter, self: Transaction) {{
|
||||||
|
todo @"vote logic goes here"
|
||||||
|
}}
|
||||||
|
|
||||||
|
propose(redeemer: MyProposeRedeemer, proposal: ProposalProcedure, self: Transaction) {{
|
||||||
|
todo @"propose logic goes here"
|
||||||
|
}}
|
||||||
|
}}
|
||||||
|
"#,
|
||||||
|
},
|
||||||
|
).into_diagnostic()
|
||||||
|
}
|
||||||
|
|
||||||
fn readme(root: &Path, project_name: &str) -> miette::Result<()> {
|
fn readme(root: &Path, project_name: &str) -> miette::Result<()> {
|
||||||
fs::write(
|
fs::write(
|
||||||
root.join("README.md"),
|
root.join("README.md"),
|
||||||
|
|
Loading…
Reference in New Issue