Skip to content

Releases: amadeusprotocol/node

v1.5.3 - Waiting so Long

02 Jun 03:00
565ed45

Choose a tag to compare

silverfins_waitingsolong.mp4

Major 📜

  • Add MMR (Merkle Mountain Range) block accumulator — append-only commitment over all blocks with compact inclusion proofs + standalone verify, exposed over RPC (proof/block, proof/verify_block). See mmr.ex and api_proof.ex.
  • Add state snapshots + chain pruner — snapshot-consistent reads via transaction_with_snapshot, fast-sync state snapshots, and a pruner to bound disk growth. See fabric_snapshot.ex, db_pruner.ex.
  • Add submit_and_wait?finalized=true on RPC to block until a tx is finalized (not just committed). See api_tx.ex.
  • Harden the WASM contract VM — upgrade to wasmer 7.1.0; fix gas/budget accounting, bulk-mem & seed charging, RNG farming, cache poisoning, and cap call depth at 16.
  • 🧪 Land HBSMT (Hot Binary Sparse Merkle Tree) — ~5k-line Merkle tree running alongside legacy HubtV2, with a full soundness/attack test battery. Will be added to consensus in next fork. See hbsmt.rs.

Minor

  • Significantly lower RocksDB RAM usage; add memaudit.
  • Add finalized | committed | pending tx status to metadata.
  • New cursor/start_nonce pagination for tx-by-address queries.
  • Peer hardening: malicious-address warning endpoint, drop spammy/unrouted peers, cache IPv4 off STUN, only accept parsable IPv4.
  • Fix DoS on the testnet SSL forwarder + validator bitset; rate-limit testnet uPoW endpoints.
  • Guard against zstd bombs, negative nonces, and invalid sols (no crash).
  • Rewrite DOCS.md (protocol params, WASM contracts, SDKs, networks).
  • Snapshot at 63000010.

v1.5.2 - Tree of Might

12 Jan 22:21

Choose a tag to compare

output.mp4

Major 📜

  • Upgrade bintree🌲 to V2 which significantly improves merkle proofs+verification
  • Add submit_and_wait?finalized=true on RPC to wait for finality
  • Add Rust and more AssembyScript contract examples

Minor:

  • Add Prometheus support for RPC metrics feed (BYOT)
  • Reduce storage cost per read 10x
  • Reduce storage cost per write 10x (didnt allow large contracts to deploy)
  • Fix a DoS bug on the testnet SSL forwarder
  • Add finalized|committed|pending to tx metadata as status
  • Add transfer_nft to API
  • Snapshot at 48362121

v1.5.1

20 Dec 20:46

Choose a tag to compare

Fix issues related to the tx_filter.
To recap:

/api/chain/tx_by_filter?arg0=<b58(sol)>
now naturally checks if the sol is included in the chain

Queries on accounts with tons of transactions will work now

to rebuild ALL CHAIN filters you can use

DB.Entry.Hashbuilder.clear_all()
DB.Entry.Hashbuilder.start()

otherwise itl start building new filters from when you launch.

you should still delete all the old filters via

RocksDB.get_cf_size(:tx_filter)
DB.Entry.Hashbuilder.clear_all()

size of optimized filters should be approx 22G for full chain. If your size is over 30G delete the old filters.

v1.5.0

18 Dec 04:37

Choose a tag to compare

Upgrade whenever possible, otherwise you will fall out of sync when the next slash_trainer gets called

Major:

  • Changes TX filters to use hashfilters (current filters defined here)
  • Reorgs slash_trainer args so the mpk is arg0

Minor:

  • Temporary hashfilter builder genserver

NOTE:
Please consider arg0 as the receiver PK as its part of the hashfilter for future contract programming.
With hashfilters its possible now to search for arg0 == sol, making it quick to check if a sol is included in the chain.

v1.3.9 - Frieza Upgrade

14 Dec 22:31

Choose a tag to compare

image
awaken.mp4

AKA The WASM Executor update 🥳

  • Adds full WASM execution live only on testnet and behind a NOOP on mainnet (pending further tests)
  • Adds full AssembyScript examples for coding smart contracts
  • Fixes large performance regression in RPC /stats api

Minor:

  • Relax NetGuard in the case of catchup
  • Fix crash inside ComputorGen

v1.3.8 - Kami Road

11 Dec 19:10

Choose a tag to compare

image

Update before epoch 434:

  • Adds new ExecutionReceipt
#[derive(Clone, Debug)]
pub struct ExecutionReceipt {
    pub txid: Vec<u8>,
    pub success: bool,
    pub result: Vec<u8>,
    pub exec_used: Vec<u8>,
    pub logs: Vec<Vec<u8>>,
}
  • Adds storage deposit of 1.0 AMA which is refunded at TX END
  • Ensures some extra correctness of TXPool
  • Continuing work on VM cost counting and import calling

v1.3.7

02 Dec 17:36

Choose a tag to compare

fix circulating and epoch reward RPC query

v1.3.6

01 Dec 16:55

Choose a tag to compare

New snapshot 41960861

v1.3.5

30 Nov 05:51

Choose a tag to compare

Add exec accounting in epoch 419 to prepare for new WASM contracts

v1.3.4

28 Nov 02:43

Choose a tag to compare

Update before epoch 416.

  • Adds exec_used to tx receipt
  • Adds contractstate_tree new CF to store merkle tree for contract state
  • Adds slight change to mutations_hash