Aeternity Versions Save

Γ¦ternity blockchain - scalable blockchain for the people - smart contracts, state channels, names, tokens

v7.0.0

1 week ago

Ceres Release

  • Testnet protocol upgrade has been scheduled for block 939750 estimated to Wed Apr 24 08:30:00 UTC 2024.
  • Mainnet protocol upgrade has been scheduled for block 941700 estimated to Tue May 7 09:00:00 UTC 2024.

What's Changed

Ceres Protocol Changes

  • Only allow GAAttachTx for nonce 1 - i.e. an account cannot later be transformed into a generalized account.
  • Adjust the AENS auction mechanism;
    1. make auctions initially shorter
    2. new bids only extend auctions with a short period, and it is only extended if the new bid comes near the end of the auction (within the extension period).
  • Make NamePreclaimTx optional. Since the introduction of auctions, the front-running protection offered by the 'PreClaim -> Claim' flow is no longer as important. To simplify name registrations (or the start of a name auction) we now allow NameClaimTx without a previous NamePreclaimTx. In this case we set the NameSalt to 0.
  • Adds new operations to the FATE VM (version 3)
    • bitwise operations on integers (band, bor, bxor, bnot, << and >>)
    • Address.to_bytes - converting an address to its binary representation
    • Int.mulmod - a combined multiplication and modulus operation for efficiency
    • Crypto.poseidon - a ZK/SNARK friendly hash function
    • Introduce arbitrary sized binary arrays (type bytes()); adding Bytes.split_any, Bytes.to_fixed_size, Bytes.to_any_size, Bytes.size, String.to_bytes, and Int.to_bytes; and adjust Bytes.concat, and Crypto.verify_sig to allow both fixed and arbitrary sized byte arrays.
    • Chain.network_id - the network id of the chain
  • Change the micro block gas limit to use actual used gas instead of upper gas limit. This makes the network work better when contract calls are overestimated and allow for more transactions to fit in each block.
  • Allow contracts to be called by name. The key contract_pubkey of the name is resolved while running the transaction. This has consequences for the contract call structure (aect_call) that gets a new field with the contract call identifier. In order to be able to find the call result without doing name resolution calls are stored relative to the id rather than the contract pubkey. NOTE: Names can change at any time (frontrunning is possible!) so only call contracts by name when you trust the owner of the name!
  • Introduce a new type of pointer for AENS names. The raw data pointer/value is an arbitrary sized byte array (max 1024 bytes). And since before there is a maximum of 32 key-pointer pairs. FATE VM and Sophia are updated to allow full access to the new pointer type (See https://github.com/aeternity/aesophia/blob/master/docs/sophia_stdlib.md#aensv2).
  • Add generic/wildcard AENS delegation signatures. I.e. instead of delegating authority for a contract to operate with a specific name (name hash), by signing just the string AENS (+ network id, public key and contract address as usual) you can delegate the authority for a contract to handle all your names with one signature. See Issue #4080 for details. BEWARE: This gives the contract authority to handle all current and future names on your behalf, so it should be used with extreme care and only for well-known (and well understood!!) contracts.
  • Include fields fee and gas_price in GAMetaTx when computing the TX-hash of the inner transaction. This way a malicious miner can't change them before inserting the transaction in a micro block. Note: The authentication logic still needs to actually use the Auth.TxHash during authentication for this to take effect!
  • Set Protocol Upgrade heights for CERES by @hanssv in https://github.com/aeternity/aeternity/pull/4333
  • More structured delegation signatures by @hanssv in https://github.com/aeternity/aeternity/pull/4219
  • AENSv2.DataPt should have type bytes() not string by @hanssv in https://github.com/aeternity/aeternity/pull/4233
  • Restrict GAAttachTx - only allowed for fresh accounts by @hanssv in https://github.com/aeternity/aeternity/pull/4237
  • Adjust cost for reading stored value by @hanssv in https://github.com/aeternity/aeternity/pull/4249
  • FATE: AENSv2.DataPt should contain FATE_BYTES by @hanssv in https://github.com/aeternity/aeternity/pull/4255
  • HC/FATE: fix issue when calling Chain.blockhash on a competing key-block by @hanssv in https://github.com/aeternity/aeternity/pull/4263
  • Arbitrary sized signed message in Crypto.verify_sig by @hanssv in https://github.com/aeternity/aeternity/pull/4193
  • Make NamePreclaim optional by @hanssv in https://github.com/aeternity/aeternity/pull/4201
  • Extend FATE with arbitrary size byte arrays by @hanssv in https://github.com/aeternity/aeternity/pull/4142
  • Add Chain.network_id as FATE operation by @hanssv in https://github.com/aeternity/aeternity/pull/4167
  • prepare AENS auction changes by @hanssv in https://github.com/aeternity/aeternity/pull/4113

Breaking Changes πŸ› 

Exciting New Features πŸŽ‰

Bugfixes 🐞

Other Changes

Full Changelog: https://github.com/aeternity/aeternity/compare/v6.13.0...v7.0.0

v7.0.0-rc1

2 weeks ago

First Ceres Release Candidate

  • Testnet protocol upgrade has been scheduled for block 939750 estimated to Wed Apr 24 08:30:00 UTC 2024.
  • Mainnet protocol upgrade has been scheduled for block 941700 estimated to Tue May 7 09:00:00 UTC 2024.

What's Changed

Ceres Protocol Changes

  • Only allow GAAttachTx for nonce 1 - i.e. an account cannot later be transformed into a generalized account.
  • Adjust the AENS auction mechanism;
    1. make auctions initially shorter
    2. new bids only extend auctions with a short period, and it is only extended if the new bid comes near the end of the auction (within the extension period).
  • Make NamePreclaimTx optional. Since the introduction of auctions, the front-running protection offered by the 'PreClaim -> Claim' flow is no longer as important. To simplify name registrations (or the start of a name auction) we now allow NameClaimTx without a previous NamePreclaimTx. In this case we set the NameSalt to 0.
  • Adds new operations to the FATE VM (version 3)
    • bitwise operations on integers (band, bor, bxor, bnot, << and >>)
    • Address.to_bytes - converting an address to its binary representation
    • Int.mulmod - a combined multiplication and modulus operation for efficiency
    • Crypto.poseidon - a ZK/SNARK friendly hash function
    • Introduce arbitrary sized binary arrays (type bytes()); adding Bytes.split_any, Bytes.to_fixed_size, Bytes.to_any_size, Bytes.size, String.to_bytes, and Int.to_bytes; and adjust Bytes.concat, and Crypto.verify_sig to allow both fixed and arbitrary sized byte arrays.
    • Chain.network_id - the network id of the chain
  • Change the micro block gas limit to use actual used gas instead of upper gas limit. This makes the network work better when contract calls are overestimated and allow for more transactions to fit in each block.
  • Allow contracts to be called by name. The key contract_pubkey of the name is resolved while running the transaction. This has consequences for the contract call structure (aect_call) that gets a new field with the contract call identifier. In order to be able to find the call result without doing name resolution calls are stored relative to the id rather than the contract pubkey. NOTE: Names can change at any time (frontrunning is possible!) so only call contracts by name when you trust the owner of the name!
  • Introduce a new type of pointer for AENS names. The raw data pointer/value is an arbitrary sized byte array (max 1024 bytes). And since before there is a maximum of 32 key-pointer pairs. FATE VM and Sophia are updated to allow full access to the new pointer type (See https://github.com/aeternity/aesophia/blob/master/docs/sophia_stdlib.md#aensv2).
  • Add generic/wildcard AENS delegation signatures. I.e. instead of delegating authority for a contract to operate with a specific name (name hash), by signing just the string AENS (+ network id, public key and contract address as usual) you can delegate the authority for a contract to handle all your names with one signature. See Issue #4080 for details. BEWARE: This gives the contract authority to handle all current and future names on your behalf, so it should be used with extreme care and only for well-known (and well understood!!) contracts.
  • Include fields fee and gas_price in GAMetaTx when computing the TX-hash of the inner transaction. This way a malicious miner can't change them before inserting the transaction in a micro block. Note: The authentication logic still needs to actually use the Auth.TxHash during authentication for this to take effect!
  • Set Protocol Upgrade heights for CERES by @hanssv in https://github.com/aeternity/aeternity/pull/4333
  • More structured delegation signatures by @hanssv in https://github.com/aeternity/aeternity/pull/4219
  • AENSv2.DataPt should have type bytes() not string by @hanssv in https://github.com/aeternity/aeternity/pull/4233
  • Restrict GAAttachTx - only allowed for fresh accounts by @hanssv in https://github.com/aeternity/aeternity/pull/4237
  • Adjust cost for reading stored value by @hanssv in https://github.com/aeternity/aeternity/pull/4249
  • FATE: AENSv2.DataPt should contain FATE_BYTES by @hanssv in https://github.com/aeternity/aeternity/pull/4255
  • HC/FATE: fix issue when calling Chain.blockhash on a competing key-block by @hanssv in https://github.com/aeternity/aeternity/pull/4263
  • Arbitrary sized signed message in Crypto.verify_sig by @hanssv in https://github.com/aeternity/aeternity/pull/4193
  • Make NamePreclaim optional by @hanssv in https://github.com/aeternity/aeternity/pull/4201
  • Extend FATE with arbitrary size byte arrays by @hanssv in https://github.com/aeternity/aeternity/pull/4142
  • Add Chain.network_id as FATE operation by @hanssv in https://github.com/aeternity/aeternity/pull/4167
  • prepare AENS auction changes by @hanssv in https://github.com/aeternity/aeternity/pull/4113

Breaking Changes πŸ› 

Exciting New Features πŸŽ‰

Bugfixes 🐞

Other Changes

Full Changelog: https://github.com/aeternity/aeternity/compare/v6.13.0...v7.0.0-rc1

v6.13.0

1 month ago

What's Changed

Breaking Changes πŸ› 

Next Consensus

Exciting New Features πŸŽ‰

Bugfixes 🐞

Other Changes

New Contributors

Full Changelog: https://github.com/aeternity/aeternity/compare/v6.12.0...v6.13.0

v6.12.0

4 months ago

What's Changed

Exciting New Features πŸŽ‰

Bugfixes 🐞

Next Consensus

Other Changes

New Contributors

Full Changelog: https://github.com/aeternity/aeternity/compare/v6.11.0...v6.12.0

v6.11.0

9 months ago

What's Changed

Exciting New Features πŸŽ‰

Next Consensus

Full Changelog: https://github.com/aeternity/aeternity/compare/v6.10.0...v6.11.0

v6.10.0

10 months ago

What's Changed

Exciting New Features πŸŽ‰

Bugfixes 🐞

Next Consensus

Other Changes

New Contributors

Full Changelog: https://github.com/aeternity/aeternity/compare/v6.9.0...v6.10.0

v6.9.0

1 year ago

Please see the release notes.

v6.8.1

1 year ago

Please see the release notes.

v6.8.0

1 year ago

Please see the release notes.

v6.7.0

1 year ago

Please see the release notes.