1. Introduction
  2. Understanding eUTxOs
  3. Changelog
  4. 1. Helios language
    ❱
    1. 1.1. Comments
    2. 1.2. Variables
    3. 1.3. Primitive types
    4. 1.4. Container types
    5. 1.5. Branching
    6. 1.6. Print, error, assert
    7. 1.7. Functions
      ❱
      1. 1.7.1. Multiple return values
      2. 1.7.2. Void functions
      3. 1.7.3. Anonymous functions
      4. 1.7.4. Unused arguments
      5. 1.7.5. Optional arguments
      6. 1.7.6. Named arguments
      7. 1.7.7. Function values
      8. 1.7.8. Example: Collatz sequence
    8. 1.8. Operators
    9. 1.9. Structs
    10. 1.10. Enums
    11. 1.11. Methods
      ❱
      1. 1.11.1. Associated functions and constants
      2. 1.11.2. Automatic methods
      3. 1.11.3. Example: Rational
    12. 1.12. Structure of a script
      ❱
      1. 1.12.1. Example: always_succeeds
      2. 1.12.2. Contract Parameters
    13. 1.13. Modules
    14. 1.14. Builtins
      ❱
      1. 1.14.1. Address
      2. 1.14.2. AssetClass
      3. 1.14.3. Bool
      4. 1.14.4. ByteArray
      5. 1.14.5. Credential
      6. 1.14.6. Data
      7. 1.14.7. DatumHash
      8. 1.14.8. DCert
      9. 1.14.9. Duration
      10. 1.14.10. Int
      11. 1.14.11. List
      12. 1.14.12. Map
      13. 1.14.13. MintingPolicyHash
      14. 1.14.14. Option
      15. 1.14.15. OutputDatum
      16. 1.14.16. PubKey
      17. 1.14.17. PubKeyHash
      18. 1.14.18. ScriptContext
      19. 1.14.19. ScriptHash
      20. 1.14.20. ScriptPurpose
      21. 1.14.21. StakeKeyHash
      22. 1.14.22. StakingCredential
      23. 1.14.23. StakingHash
      24. 1.14.24. StakingPurpose
      25. 1.14.25. StakingValidatorHash
      26. 1.14.26. String
      27. 1.14.27. Time
      28. 1.14.28. TimeRange
      29. 1.14.29. Tx
      30. 1.14.30. TxId
      31. 1.14.31. TxInput
      32. 1.14.32. TxOutput
      33. 1.14.33. TxOutputId
      34. 1.14.34. ValidatorHash
      35. 1.14.35. Value
  5. 2. Helios API
    ❱
    1. 2.1. Setup
      ❱
      1. 2.1.1. Deno
    2. 2.2. Compiling Helios sources
    3. 2.3. Generating datums and redeemers
    4. 2.4. Building transactions
      ❱
      1. 2.4.1. Transaction inputs
      2. 2.4.2. Transaction outputs
      3. 2.4.3. Collateral
      4. 2.4.4. Explicit signers
      5. 2.4.5. Minting
      6. 2.4.6. Finalizing
      7. 2.4.7. Signing and submitting
    5. 2.5. Example: PicoSwap
      ❱
      1. 2.5.1. Main script
      2. 2.5.2. Generating datums
      3. 2.5.3. Contract helper class
      4. 2.5.4. Creating a new sale
      5. 2.5.5. Canceling a sale
      6. 2.5.6. Buying for-sale assets
    6. 2.6. API Reference
      ❱
      1. 2.6.1. Globals
      2. 2.6.2. Functions
      3. 2.6.3. Address
      4. 2.6.4. Assets
      5. 2.6.5. BlockfrostV0
      6. 2.6.6. ByteArrayData
      7. 2.6.7. CborData
      8. 2.6.8. Cip30Handle
      9. 2.6.9. Cip30Wallet
      10. 2.6.10. CoinSelection
      11. 2.6.11. ConstrData
      12. 2.6.12. Datum
      13. 2.6.13. DatumHash
      14. 2.6.14. FuzzyTest
      15. 2.6.15. HeliosData
      16. 2.6.16. IntData
      17. 2.6.17. ListData
      18. 2.6.18. MapData
      19. 2.6.19. MintingPolicyHash
      20. 2.6.20. Network
      21. 2.6.21. NetworkEmulator
      22. 2.6.22. NetworkParams
      23. 2.6.23. Program
      24. 2.6.24. PubKeyHash
      25. 2.6.25. Signature
      26. 2.6.26. StakeAddress
      27. 2.6.27. StakeKeyHash
      28. 2.6.28. StakingValidatorHash
      29. 2.6.29. Tx
      30. 2.6.30. TxId
      31. 2.6.31. TxOutput
      32. 2.6.32. TxRefInput
      33. 2.6.33. TxWitnesses
      34. 2.6.34. UplcBool
      35. 2.6.35. UplcByteArray
      36. 2.6.36. UplcData
      37. 2.6.37. UplcDataValue
      38. 2.6.38. UplcInt
      39. 2.6.39. UplcPair
      40. 2.6.40. UplcProgram
      41. 2.6.41. UplcString
      42. 2.6.42. UplcUnit
      43. 2.6.43. UplcValue
      44. 2.6.44. UserError
      45. 2.6.45. UTxO
      46. 2.6.46. ValidatorHash
      47. 2.6.47. Value
      48. 2.6.48. Wallet
      49. 2.6.49. WalletEmulator
      50. 2.6.50. WalletHelper
  6. 3. Helios CLI
    ❱
    1. 3.1. Setup
      ❱
      1. 3.1.1. Install helios-cli
      2. 3.1.2. Setup cardano-node
      3. 3.1.3. Wallet setup
    2. 3.2. Using helios-cli
    3. 3.3. Example: Always succeeds
    4. 3.4. Example: Time lock
  7. 4. Advanced concepts
    ❱
    1. 4.1. Exploits
    2. 4.2. Intermediate representation
    3. 4.3. Simplification
    4. 4.4. Minting native assets
      ❱
      1. 4.4.1. Signature based minting
      2. 4.4.2. Unique minting
    5. 4.5. Vesting contract
    6. 4.6. English auction
    7. 4.7. Oracle pools
    8. 4.8. DApp recommendations
    9. 4.9. Tx finalization

The Helios Smart Contract Language

Builtins

This section contains a reference of all the Helios builtins.

Primitive types

  • Bool
  • ByteArray
  • Int
  • String

Container types

  • List
  • Map
  • Option

Money types

  • AssetClass (i.e. the kind of 'currency')
  • Value

Time types

  • Duration (i.e. the difference of two Time instances)
  • Time
  • TimeRange (i.e. a period bound by two Time instances)

Hash and cryptography types

  • DatumHash
  • MintingPolicyHash
  • PubKey
  • PubKeyHash
  • ScriptHash
  • StakeKeyHash
  • StakingValidatorHash
  • ValidatorHash

Transaction types

  • Address
  • Credential
  • DCert
  • OutputDatum
  • ScriptContext
  • ScriptPurpose
  • StakingCredential
  • StakingHash
  • StakingPurpose
  • Tx
  • TxId
  • TxInput
  • TxOutput
  • TxOutputId