24 lines
		
	
	
		
			523 B
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			523 B
		
	
	
	
		
			Plaintext
		
	
	
	
use aiken/hash.{Blake2b_224, Hash}
 | 
						|
use aiken/list
 | 
						|
use aiken/transaction.{ScriptContext}
 | 
						|
use aiken/transaction/credential.{VerificationKey}
 | 
						|
 | 
						|
type Datum {
 | 
						|
  owner: Hash<Blake2b_224, VerificationKey>,
 | 
						|
}
 | 
						|
 | 
						|
type Redeemer {
 | 
						|
  msg: ByteArray,
 | 
						|
}
 | 
						|
 | 
						|
validator {
 | 
						|
  fn spend(datum: Datum, redeemer: Redeemer, context: ScriptContext) -> Bool {
 | 
						|
    let must_say_hello = redeemer.msg == "Hello, World!"
 | 
						|
 | 
						|
    let must_be_signed =
 | 
						|
      list.has(context.transaction.extra_signatories, datum.owner)
 | 
						|
 | 
						|
    must_say_hello && must_be_signed
 | 
						|
  }
 | 
						|
}
 |