aiken/examples/acceptance_tests/script_context/v3
KtorZ 6b6bace8a5
test 'mint' purpose and script context creation.
Alongside a bunch of other stuff from the coverage list. In
  particular, the mint transaction contains:

  - reference inputs
  - multiple outputs, with assets, and type-0, type-1 and type-6
    addresses.
  - an output with a datum hash
  - an output with an inline script
  - carries an extra datum witness, preimage of the embedded hash
  - mint, with 2 policies purposely ordered wrongly, with 1 and 2
    assets purposely ordered wrong. One of the mint is actually a
    burn (i.e. negative quantity)
2024-08-13 10:56:29 +02:00
..
ctx test 'mint' purpose and script context creation. 2024-08-13 10:56:29 +02:00
lib Write down first e2e script context test for v3. 2024-08-13 10:56:28 +02:00
validators test 'mint' purpose and script context creation. 2024-08-13 10:56:29 +02:00
.gitignore Write down first e2e script context test for v3. 2024-08-13 10:56:28 +02:00
README.md test 'mint' purpose and script context creation. 2024-08-13 10:56:29 +02:00
aiken.lock Write down first e2e script context test for v3. 2024-08-13 10:56:28 +02:00
aiken.toml Write down first e2e script context test for v3. 2024-08-13 10:56:28 +02:00
plutus.json test 'mint' purpose and script context creation. 2024-08-13 10:56:29 +02:00
test.sh test 'mint' purpose and script context creation. 2024-08-13 10:56:29 +02:00

README.md

V3 Script Context Tests

This project contains a few handcrafted Plutus V3 validators and transactions whose sole purpose is to test the interpretation of the ScriptContext from within an Aiken's validators.

So validators are meant to work hand-in-hand with an associated context. Because we can't have fully static context (since they contain the validator and its hash), we define templates.

Everything is a bit clunky, but steps have been captured in a test.sh script for convenience.

How to use

./test.sh [VALIDATOR_TITLE]

Test Coverage

  • Purpose

    • spend
    • mint
    • withdraw
    • publish
    • voting
    • proposing
  • Transaction body

    • inputs
    • reference inputs
      • none
      • some
    • outputs
      • none
      • some
    • fee
    • mint
    • certificates
      • none
      • some
        • Register credential
          • no deposit
          • with deposit
        • Unregister credential
          • no deposit
          • with deposit
        • Delegate
        • Register & delegate credential
        • Register drep
        • Unregister drep
        • Update drep
        • Register pool
        • Retire pool
        • Delegate CC
        • Retire CC
    • withdrawals
      • none
      • some
    • validity range
    • extra signatories
      • none
      • some
    • redeemers
    • datums
    • votes
      • none
      • some
    • proposal procedures
      • none
      • some
    • current treasury
      • with
      • without
    • treasury donation
      • with
      • without
  • Address

    • type-0 (key | key)
    • type-1 (script | key)
    • type-2 (key | script)
    • type-3 (script | script)
    • type-4 (key | ptr)
    • type-5 (script | ptr)
    • type-6 (key | ø)
    • type-7 (key | ø)
  • Value

    • only ada
    • multi-assets
  • Output datum

    • none
    • hash
    • inline
  • Output script

    • none
    • inline
  • Governance Action

    • parameter change
      • with action id
      • without action id
    • hardfork initiation
      • with action id
      • without action id
    • treasuryWithdrawals
      • with constitution
      • without constitution
    • no confidence
      • with action id
      • without action id
    • update committee
      • with action id
      • without action id
    • new constitution
      • with action id
      • without action id
    • info action
  • Vote

    • No
    • Yes
    • Abstain
  • Voter

    • CC
    • DRep
    • SPO
  • ChangedParameters

    • 0: coin
    • 1 : coin
    • 2 : uint .size 4
    • 3 : uint .size 4
    • 4 : uint .size 2
    • 5 : coin
    • 6 : coin
    • 7 : epoch_interval
    • 8 : uint .size 2
    • 9 : nonnegative_interval
    • 10 : unit_interval
    • 11 : unit_interval
    • 16 : coin
    • 17 : coin
    • 18 : costmdls
    • 19 : ex_unit_prices
    • 20 : ex_units
    • 21 : ex_units
    • 22 : uint .size 4
    • 23 : uint .size 2
    • 24 : uint .size 2
    • 25 : pool_voting_thresholds
    • 26 : drep_voting_thresholds
    • 27 : uint .size 2
    • 28 : epoch_interval
    • 29 : epoch_interval
    • 30 : coin
    • 31 : coin
    • 32 : epoch_interval
    • 33 : nonnegative_interval}
  • Constitution

    • with guardrail script
    • without guardrail script
  • Credential

    • key
    • script
  • Delegatee

    • pool
    • drep
    • pool + drep
  • DRep

    • key
    • script
    • abstain
    • no confidence
  • Boundary

    • closed
    • open