This is a Iris test release.
It:
-
Fix buggy serialization of contract information - this means compiler version is actually stored on chain, and isn't replaced by "unknown".
-
Added
AENS.update
to FATE VM -
Added
AENS.lookup
andOracle.expiry
lookup functions to FATE VM -
Fixed bug regarding TTL of preclaims in FATE VM - it was incorrectly always set to 0, from
VM_FATE_SOPHIA_2
it has the correct value. -
Fixed bug in
AENS.resolve
in FATE VM - for invalid namesVM_FATE_SOPHIA_1
will crash. FromVM_FATE_SOPHIA_2
it will not crash, rather returnNone
. -
Changed
Chain.block_hash
- inVM_FATE_SOPHIA_2
it will returnSome(<blockhash>)
forChain.block_height
(i.e. current generation) previously it returnedNone
. With Bitcoin-NG we do have the block hash of the current generation, so no reason not to allow this. -
Extend AENS name max expiration time from 50000 generations (~100 days) to 180000 generations (~375 days).
-
Changes how a meta transaction TTL's is being validated: so far it used to be the outermost transaction's ttl that was taken into account, now it is the innermost one instead. Meta transactions no longer have TTL.
-
Fixes a protocol issue: a valid force progress call with invalid CallData or failing call will result in on-chain transaction but tokens from the caller would still be moved to the forced contract. This is fixed and failed calls in successful force progress transactions result in rollback of the off-chain balances.
-
Improves the functionality of State Channel delegates: now they can provide
channel_solo_snapshot_tx
as well. This is really handy in cases one party is missing and the other is doing malicious force progess on-chain while the channel is still open. -
Revisits the State Channel delegates: so far they were a shared list for both participants. From Iris on, delegates are per peer: there is a list of delegates for the
initiator
and another one for theresponder
. Old channel objects can still be used but users are strongly recomended to reset theirdelegates
list if they had any. Note that the HTTP representations are changed accordingly. -
Allows delegates to force progress on behalf of the user that authorized them to do so.
-
Improved garbage collector for all Fate contracts form Iris
-
Fate contracts of different versions can call eachother (Fate1 can call Fate2 and vice-versa)
-
Opcode availability and behaviour depends on VM version of the contract (Fate2 opcodes are available both when Fate2 contract is called directly and when called by another (possibly Fate1) contract)
Please test the iris protocol by activating it in the configuration file as below:
chain:
hard_forks:
"1": 0
"2": 1
"3": 2
"4": 3
fork_management:
network_id: "my_test_iris"
Please let us know if you have any problems by opening a ticket. Troubleshooting of common issues is documented in the wiki.
For an overview of the installation process for different platforms, building the package from source, configuration and operation of the Aeternity node please refer to Aeternity node documentation.