
* Support for CREATE, CLONE and BYTECODE_HASH * Add missing files * Pushed the clone example through the typechecker * CLONE compiles * Fix dependent type in CLONE * Bytecode hash fixes * Refactor * Refactor 2 * move some logic away * Fixed some error messages. Type inference of child contract still does some random shit\n(mistakes arguments with result type) * CREATE sometimes compiles and sometimes not * Fix some scoping/constraint issues * works, needs cleanup * cleanup * Fix some tests. Remove optimization of singleton tuples * Fix default argument for clone * Cleanup * CHANGELOG * Mention void type * Address review, fix some dialyzer errors * Please dialyzer * Fix failing tests * Write negative tests * Docs * TOC * missing 'the' * missing 'the' * missing 'the' * missing 'the' * mention pre-fund * format * pre-fund clarification * format * Grammar in docs
29 lines
868 B
Plaintext
29 lines
868 B
Plaintext
contract IntegerAdder =
|
|
entrypoint init() = ()
|
|
entrypoint addIntegers(x, y) = x + y
|
|
|
|
contract IntegerAdderHolder =
|
|
type state = IntegerAdder
|
|
stateful entrypoint init() = Chain.create() : IntegerAdder
|
|
entrypoint get() = state
|
|
|
|
contract IntegerAdderFactory =
|
|
entrypoint init() = ()
|
|
stateful entrypoint new() =
|
|
let i = Chain.create() : IntegerAdderHolder
|
|
i.get()
|
|
|
|
payable contract ValueAdder =
|
|
entrypoint init() = ()
|
|
stateful entrypoint addValue(x) =
|
|
let integerAdderFactory = Chain.create()
|
|
let adder = integerAdderFactory.new()
|
|
adder.addIntegers(x, Contract.balance)
|
|
|
|
main contract EnterpriseContract =
|
|
entrypoint init() = ()
|
|
stateful payable entrypoint increaseByThree(x) =
|
|
require(Call.value >= 3, "Price for addition = 3AEtto, insufficient funds")
|
|
let threeAdder = Chain.create(value = 3)
|
|
threeAdder.addValue(x)
|