
* 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
27 lines
631 B
Plaintext
27 lines
631 B
Plaintext
|
|
contract interface SpendContract =
|
|
entrypoint withdraw : (int) => int
|
|
|
|
contract SpendTest =
|
|
|
|
stateful entrypoint spend(to, amount) =
|
|
let total = Contract.balance
|
|
Chain.spend(to, amount)
|
|
total - amount
|
|
|
|
stateful entrypoint withdraw(amount) : int =
|
|
spend(Call.caller, amount)
|
|
|
|
stateful entrypoint withdraw_from(account, amount) =
|
|
account.withdraw(amount)
|
|
withdraw(amount)
|
|
|
|
stateful entrypoint spend_from(from, to, amount) =
|
|
from.withdraw(amount)
|
|
Chain.spend(to, amount)
|
|
Chain.balance(to)
|
|
|
|
entrypoint get_balance() = Contract.balance
|
|
entrypoint get_balance_of(a) = Chain.balance(a)
|
|
|