Skip to content

Instantly share code, notes, and snippets.

@matiwinnetou
matiwinnetou / english_action.ak
Last active January 18, 2023 07:44
Aiken English Auction
use aiken/hash.{Blake2b_224, Hash}
use aiken/interval.{Finite, Interval, IntervalBound, PositiveInfinity}
use aiken/list
use aiken/option
use aiken/transaction.{
Input, Output, OutputReference, ScriptContext, ScriptPurpose, Spend,
ValidityRange,
}
use aiken/transaction/credential.{
Address, Inline, PublicKeyCredential, Script, ScriptCredential,
use aiken/hash.{Blake2b_224, Hash}
use aiken/interval.{Finite, Interval, IntervalBound, PositiveInfinity}
use aiken/list
use aiken/option
use aiken/transaction.{
Input, Output, OutputReference, ScriptContext, ScriptPurpose, Spend,
ValidityRange,
}
use aiken/transaction/credential.{
Address, Inline, PublicKeyCredential, Script, ScriptCredential,
use aiken/builtin
use aiken/bytearray
use aiken/hash.{Hash, Sha2_256}
use aiken/list
use aiken/string
// Merkle Tree in Aiken (ported from: https://github.com/input-output-hk/hydra/blob/master/plutus-merkle-tree/src/Plutus/MerkleTree.hs)
pub type MerkleTree<alg> {
// represents no value (null object pattern)
octave:25> fprintf('%.3f\n', (2^16))
65536.000
octave:26> fprintf('%.3f\n', (2^17))
131072.000
octave:27> fprintf('%.3f\n', (2^18))
262144.000
octave:28> fprintf('%.3f\n', (2^19))
524288.000
octave:29> fprintf('%.3f\n', (2^20))
1048576.000
import $ivy.`com.bloxbean.cardano:cardano-client-lib:0.5.0-alpha.4`
import $ivy.`com.bloxbean.cardano:cardano-client-backend-blockfrost:0.5.0-alpha.4`
import $ivy.`com.bloxbean.cardano:cardano-client-cip30:0.5.0-alpha.4`
import $ivy.`com.lihaoyi:requests_3:0.8.0`
import $ivy.`com.fasterxml.jackson.core:jackson-core:2.15.2`
import com.bloxbean.cardano.client.api.model.Amount
import com.bloxbean.cardano.client.crypto._
import com.bloxbean.cardano.client.account._
// brew install amm
// amm cip30_debug.sc
import $ivy.`org.cardanofoundation:cip30-data-signature-parser:0.0.10`
import $ivy.`org.slf4j:slf4j-simple:2.0.9`
import org.cardanofoundation.cip30.CIP30Verifier
import java.util.Optional