v0.2.0
Pre-release
Pre-release
In short
- A consensus upgrade is scheduled at block height 78440. This upgrade aims to balance pool sizes and discourage the formation of large, dominating pools, as part of our ongoing commitment to improving network decentralization.
- Introduction of the new MLS01 standard, replacing the legacy version. This standard allows issuers to have optional control over the token supply. This is also available starting from block 78440.
- Added ability for token issuers to optionally enable freeze/unfreeze actions on tokens.
- Enhanced authority management, allowing token issuers to change the authority responsible for controlling supply and freeze/unfreeze actions.
- Included an OP_RETURN output capable of containing a full hash.
- Implemented several bug fixes and code improvements.
What's Changed
- Incentivize pledging in consensus by @azarovh in #1170
- Make subsystems with built-in event loop serve immutable calls in parallel by @iljakuklic in #1180
- P2p: handling bad handshake and version by @ImplOfAnImpl in #1183
- Update cargo and update some Cargo.toml versions by @TheQuantumPhysicist in #1188
- P2p protocol versioning support by @ImplOfAnImpl in #1182
- Small code deduplication between peer v1 and v2. Singular unconnected headers are now disallowed in v2. by @ImplOfAnImpl in #1184
- Replace API Server's mock data responses with database calls by @alfiedotwtf in #1190
- Add print version command to the wallet by @OBorce in #1192
- mempool: Clippy fix by @iljakuklic in #1196
- functional test framework: Port parts of P2PDataStore to Mintlayer by @iljakuklic in #1222
- Refactor wallet controller by @OBorce in #1197
- Take best_sent_block_header into account in peer_v2 by @ImplOfAnImpl in #1224
- Use bounded channels for peer events by @ImplOfAnImpl in #1186
- Fix delegation support in the wallet by @OBorce in #1225
- Use tracing/tracing_subscriber instead of env_logger by @ImplOfAnImpl in #1187
- Followup for the "use tracing" PR by @ImplOfAnImpl in #1191
- Reduce log level of certain logging lines from "debug" to "trace" to reduce test logs bloat by @ImplOfAnImpl in #1227
- Make API server database 100% async by @TheQuantumPhysicist in #1195
- Ensure that transactions are wrapped asynchronously in the parent database object instead of blocking on transactions' drop function. by @TheQuantumPhysicist in #1223
- Postgres async with tx dropper cleanup by @TheQuantumPhysicist in #1226
- Use our storage traits and get rid of sqlx by @TheQuantumPhysicist in #1174
- Add more negative scenario functional tests by @OBorce in #1228
- Some code deduplication related to peer db storage by @ImplOfAnImpl in #1231
- Use podman to run postgres tests by @TheQuantumPhysicist in #1229
- Add CLI option to control feerate argument from mempool by @OBorce in #1230
- Podman now deletes the container on exit and prints the logs to stdout by @TheQuantumPhysicist in #1236
- Attempt to get rid of macros in chainstate storage by @TheQuantumPhysicist in #1233
- Create a separate type for absolute time + some related fixes and refactoring by @TheQuantumPhysicist in #1235
- Switch to Postgres storage by @alfiedotwtf in #1234
- Use the --rm command line argument for podman by @TheQuantumPhysicist in #1240
- Update iced gui library 0.9 -> 0.10 by @OBorce in #1232
- Mlt -> CoinUnit by @TheQuantumPhysicist in #1241
- Restrict building the lmdb crate to 64-bit only by @TheQuantumPhysicist in #1242
- Use only checked math ops for Uint* types by @TheQuantumPhysicist in #1243
- P2p crawler peers ban by @ImplOfAnImpl in #1244
- Use ConnectivityEvent::Misbehaved to report unexpected handshakes by @ImplOfAnImpl in #1245
- RPC json elements now can return proper addresses instead of hex values by @TheQuantumPhysicist in #1238
- Fix next_connect_time by @ImplOfAnImpl in #1249
- Add function to ensure that consensus will never be IgnoreConsensus in production by @TheQuantumPhysicist in #1252
- Feature/regtest options cli wallet by @OBorce in #1246
- Reset the keychain in-memory state on tx error by @OBorce in #1257
- Introduce
PoSChainConfigBuilder
and change maturity distances for Testnet by @azarovh in #1250 - subsystem: Remove custom event loop support by @iljakuklic in #1256
- Add wallet address generator binary by @OBorce in #1261
- Refactor wallet CLI args by @OBorce in #1262
- Remove temporary prints by @TheQuantumPhysicist in #1263
- Fix postgres connection string by @alfiedotwtf in #1266
- Respond with an empty headers list if in IBD state by @azarovh in #1258
- Appease clippy 1.73 by @TheQuantumPhysicist in #1265
- Improve methods names in p2p/sync/TestNode by @azarovh in #1260
- Fix p2p test timeout on coverage by @azarovh in #1264
- Partition coverage into multiple jobs for diskspace in CI by @TheQuantumPhysicist in #1269
- Initial whole-stack tests for the API Server by @alfiedotwtf in #1259
- Longer timeout for p2p tests to accomodate raspberry pi by @TheQuantumPhysicist in #1271
- blockprod: Ability to specify custom transactions by @iljakuklic in #1270
- mempool: Fix tx accumulator block size calculation by @iljakuklic in #1276
- Minor: Add documentation to generate_block to warn against misusing parameters by @TheQuantumPhysicist in #1277
- Adding more API Server web server tests by @alfiedotwtf in #1278
- Minor update to coverage by @TheQuantumPhysicist in #1280
- Add new functions to wasm-crypto by @OBorce in #1282
- Make RPC port number dependent on chain config by @TheQuantumPhysicist in #1285
- Enforce files end with a new line to fulfill POSIX standard of a line by @TheQuantumPhysicist in #1286
- End-to-end encryption for staking key passing to block production by @TheQuantumPhysicist in #1288
- Change tokens supply by @azarovh in #1179
- Isolate database expensive reads in its own module and isolate its
use
lines to avoid unused warnings by @TheQuantumPhysicist in #1290 - Only ascii alphanumeric strings in tokens after v1 by @azarovh in #1283
- Feature/wallet token supply change by @OBorce in #1272
- Tests for new peer discovery when the tip is stale by @ImplOfAnImpl in #1292
- Extract duplicate code from wallet unit tests by @OBorce in #1284
- Make connection count limits modifiable in tests by @ImplOfAnImpl in #1294
- Clean up P2pConfig by @ImplOfAnImpl in #1295
- Fix no_timelock_outputs_on_decommission test by @azarovh in #1297
- Support v1 tokens in randomised tests by @azarovh in #1296
- Update some crates and cargo update by @TheQuantumPhysicist in #1302
- Remove the transaction index and all its traces by @TheQuantumPhysicist in #1305
- Add DataDeposit output type by @TheQuantumPhysicist in #1298
- Allow single unmint operation per token per tx by @azarovh in #1307
- Enforce NoSignature data to follow a rule in ChainConfig for mainnet by @TheQuantumPhysicist in #1311
- Make block production recognize recoverable errors when collecting transactions by @TheQuantumPhysicist in #1308
- Remove the temporary solution that required GTK3 by @TheQuantumPhysicist in #1310
- Temp fix for issuance and supply change fee in the same tx by @azarovh in #1313
- update JsonRpsee to v0.20 by @OBorce in #1315
- Fixes in p2p related to blocks order by @ImplOfAnImpl in #1316
- Attempt to fix spuriously failing test "dont_make_announcements_while_blocks_are_being_sent" by @ImplOfAnImpl in #1309
- Feature/get wallet transaction by @OBorce in #1304
- Freeze/unfreeze tokens by @azarovh in #1303
- Fix some p2p issues by @ImplOfAnImpl in #1306
- Feature/wallet token freeze unfreeze by @OBorce in #1312
- Allow changing authority for a token by @azarovh in #1318
- Remove a space in cargo.toml by @muursh in #1322
- Miscellaneous fixes for the fork by @TheQuantumPhysicist in #1319
- Change wasm functions to return private keys instead of public ones by @OBorce in #1320
- Add initial Address balance endpoint support to the API Server by @alfiedotwtf in #1293
- Remove the spuriously failing test "dont_make_announcements_while_blocks_are_being_sent" by @ImplOfAnImpl in #1321
- Forbid account inputs in block reward by @azarovh in #1326
- P2p: minor cleanup by @ImplOfAnImpl in #1325
- Add address transaction history to API Server address endpoint by @alfiedotwtf in #1317
- Change min change to 0 for tokens by @OBorce in #1328
- Add CORS layer to API Server by @alfiedotwtf in #1329
- Allow single account command in transaction inputs by @azarovh in #1330
- Add support to change token authority in the wallet by @OBorce in #1327
- fix token change supply functional test decimals by @OBorce in #1332
- Add support for data deposit in the wallet by @OBorce in #1333
- Test for 0 decimal tokens in the functional test by @OBorce in #1334
- fix wallet unittest gen_range invalid range by @OBorce in #1337
- Pass pay fees parameter to the ordering struct by @OBorce in #1338
- Fix tests::tx_verification_simulation by @azarovh in #1339
- Remove access to chainstate database without a transaction by @TheQuantumPhysicist in #1335
- Prevent accessing the wallet database without a transaction by @TheQuantumPhysicist in #1336
- Don't punish peers for sending too many tx announcements by @ImplOfAnImpl in #1341
- Bump to next version and set fork height by @TheQuantumPhysicist in #1340
- Update cargo crates by @TheQuantumPhysicist in #1342
- docker compose file for testing p2p v2 protocol by @ImplOfAnImpl in #1299
- Bump storage version for the release by @TheQuantumPhysicist in #1343
- Check if the node's block height is < wallet height by @OBorce in #1344
- Revert "Merge pull request #1310 from mintlayer/fix/remove_gtk3" by @TheQuantumPhysicist in #1345
Full Changelog: v0.1.2...v0.2.0