Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[txs] change balance_transfer API for Carpe app #995

Merged
merged 1 commit into from
Apr 5, 2022

Conversation

ea-open-source
Copy link
Contributor

Motivation

The current implementation of balance_transfer makes the app crash when invoked from Carpe app, possibly due to the call to get TxParams inside balance_transfer. So, this PR requires the calling code to directly pass TxParams parameter when invoking balance_transfer

Have you read the Contributing Guidelines on pull requests?

Yes

Test Plan

You can run the following command

cargo xtest --package txs

Related PRs

[cli] API for getting wallet type

Copy link
Contributor

@soaresa soaresa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested with Carpe

@soaresa soaresa merged commit dd49986 into 0LNetworkCommunity:main Apr 5, 2022
0o-de-lally added a commit that referenced this pull request Sep 28, 2022
* Bulk update for new Move syntax

* Updating and getting audit, autopay tests pass

* Updating and getting burn tests pass (3 of them fails, see todos)

* Adding missing and updated patch

* Updating previosly fixed test with --round param.

* Create same number of validators in genesis and test harness

* Update and get all cases tests pass

* Deleting test files due to wrong version

* Add correct version of test files

* Bulk update for new Move syntax

* Update all _meta tests and get some pass

* Update various important tests and get them pass

* Bulk update

* Update various important tests and get them pass

* Update and get all "decimal" folder tests pass

* Update "demos" and "diem_account" tests. Most of them still fail.

* Update "fifo" and "fullnode_subsidy" tests

* Update tests with new syntax

* Update tests with new syntax

* Update tests with new syntax

* Update tests with new syntax

* Update tests with new syntax

* Update tests with new syntax

* Update tests with new syntax

* Update tests with new syntax

* Update tests with new syntax

* Fixing some tests. 107 passed; 55 failed

* Fixing most of the stdlib_script caused fails

* Fix all Vector::compare errors. Create VectorHelper and move 0L Vector patch into this file.

* Get some tests pass

* First solution to how to create non-validator account without error

* Fix todo

* Update or get some tests that require non-validator accounts pass

* Update/get some tests that require non-validator accounts pass. 122 passed; 41 failed.

* Fix cyclic dependency, enable "fn get_network_peers_info"

* Update move-0L version

* Update move-0L which fixes ol_vdf cyclic dependency, and fix first related test challenge_parse.move

* Fixing some tests related to ol_vdf cyclic dependency, 129 passed; 33 failed

* Doc. update

* Fixing remaining tests related to ol_vdf cyclic dependency except onboarding_reconfig

* Correct way of mixing validator and non-validator accounts

* Getting more tests pass

* Getting more tests pass. 140 passed; 22 failed

* Minor changes

* Getting more tests pass. 144 passed; 18 failed.

* Getting more tests pass. 146 passed; 16 failed.

* Getting more tests pass

* Adding missing files and patches

* Doc. update

* Update make-e2e-upgrade-fixtures.mk and stdlib upgrade files

* Update move-0L version

* Refactoring

* Remove diem-swarm which is deleted in diem

* Refactoring

* use %h specifier to dynamically set the user home directory in systemd unit (#898)

* adds documentation on how to set up a build environment for macOS (#983)

* adds documentation on how to set up a build environment for macOS

* adds command to make setup script executable

* dynamically determines library path for brew

* Documentation Update (#996)

* Txsparam refactor (#973)

* move the default init of txparams to a constructor

* seprate the txparams type into a new module. place constructors in right place.
change default behavior of initializing TX params, to find a good upstream from the list of upstream_nodes.

* cargo fix

* clear warnings

* patch build

* patch build

* patch get_process

* cli args patch

* remove default_node from 0L.toml

* rename upstream_nodes to rpc_fullnodes

* patch tests

* app configs documentation

* grammar

* make upstream_node not an option

* build

* limit backlog sending when miner has maxed current epoch proofs.

* patch issue with swarm not making txs params

* make MAX_PROOFS_PER_EPOCH pub

* clean

* patch test build error

* backlog should exit with a TxError if can't evaluate tx status

* scaffold tower error

* patch build

* patch build

* change return type

* patch build

* display trait for towererror

* format tower errors

* Add tower error

* add error code

* add tower error

* add lower bound mining thresh

* patch defaults affecting integration tests

* tower WrongDifficulty type

* patch build

* remove evil unwraps

* remove annoying prints

* scaffold init rpc-playlist command

* add rpc-playlist command

* add rpc-playlist command

* scrub

* remove all evil unwraps from chain_view.rs

* scrub

* cargo clean

* remove deprecated state refresh

* patch merge

* use %h specifier to dynamically set the user home directory in systemd unit (#898)

* adds documentation on how to set up a build environment for macOS (#983)

* adds documentation on how to set up a build environment for macOS

* adds command to make setup script executable

* dynamically determines library path for brew

* Update README.md

Co-authored-by: 0o-de-lally <[email protected]>
Co-authored-by: ping <[email protected]>
Co-authored-by: Abed Hawa <[email protected]>
Co-authored-by: Sven Panko <[email protected]>

* [txs] Allow invoking balance_transfer function when importing libra (#995)

* add missing semicolons (#1060)

without the semicolon, the mkdir command
was being interpreted as part of the echo command,
thus failing to create the vdf_proofs directory

* Make whole carpe (#1059) by @jamesmeijers

* Make whole module with placeholder payments

* Add real payments and update tx script

* updating make whole system

* updating make whole module to allow users to claim rewards without linear search

* updating to not return payment info if payment has been used

* Build artifacts for previous commit

* Add cmd. to install zld fast linker for macos

* Bump actions/setup-node from 2 to 3.1.0 (#1055)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 2 to 3.1.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v2...v3.1.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/checkout from 2 to 3 (#1012)

Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* refactor WalletType::None to WalletType::Normal (#1019)

* Update start_a_full_node.md (#1061)

* Update start_a_full_node.md

* Update start_a_full_node.md

* Create auto_restart_validators.md (#1062)

* Create auto_restart_validators.md

* Update auto_restart_validators.md

Co-authored-by: 0o-de-lally <[email protected]>

Co-authored-by: 0o-de-lally <[email protected]>

* Disable zld linker

* cleanup github templatees (#992)

* Bump actions/setup-node from 3.1.0 to 3.1.1 (#1076)

Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3.1.0...v3.1.1)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Doc. update

* [cli] API for getting wallet type (#994)

* [cli] API for getting wallet type

* [cli] remove debug code

* [cli] add PartialEq trait to WalletType enum

* [cli] refactor get_wallet_type function

* [cli] add unit test, refactor get wallet type code

* [cli] correct test function name

Co-authored-by: 0o-de-lally <[email protected]>

* update devnet nodes ip addrs in fixture toml files (#1015)

* Delete roadmap.md (#989)

* [Web Monitor] - Hotfix + Network view (#1067)

* bug fix for #693

* add reset-safety makefile cmd

* Changes health check from miner to tower

* Fixes web monitor "can create account" field of Validator Info view

* Fixes number of EPOCHS_UNTIL_ACCOUNT_CREATION on web monitor

* Changes epoch proof counter for web-monitor

* Adds Network view

* Adds icon for port offline
Fixes val initial selection

* Remove unnecessary muts

* [move] Increase the proof-of-burn and make dynamic (#998)

* enable variable burn, includes tests

* documentation on match_burn

* make proof of burn 50%

* add burn pref transaction script and CLI subcommand.

* patch burn tests

* [move] autopay bug with percent change instruction type (#944)

* change structs in autopay so that prev_balance is shared by all instructions

* note

* new struct for migration

* Migrate the autopay structs.

* remove deprecated test

* make while loop halt please

* update test-onboard to use new data structures

* updating autopay type for new updates

* Updating percent of change test too ensure multiple txs get paid out fairly

* Trying to update integration test for easier debug

* try 2

* can't reproduce error locally, adding more debug output to Makefile for Github

* fix autopay resource for rust types

* Fixing potential issue where autopay is run before migration completes, resulting in errors

* Revert "Fixing potential issue where autopay is run before migration completes, resulting in errors"

This reverts commit 7159d805b967008818002150bcba3f6c96ec729a.

* Checking for existence of data structures in autopay

* try to see if upgrade passes even though Autopay is failing integration

* revert prev changes

* update upgrade test to point to latest move version

* clean warn

* patch makefile for mac

* stdlib build

* patch test

Co-authored-by: jamesmeijers <[email protected]>

* cherrypick from ancestry branch, for rebase into main, without Teams implementation (#1074) by @0o-de-lally
Authored-by: 0o-de-lally

* [move] remove slow wallet transfer restrictions (#1078)

* remove slow wallet transfer restrictions

* remove transfer restiction code

* slow wallet tests pass

Co-authored-by: @0o-de-lally

* [move] Cost-to-exist includes inactive validators (#1072) by @0o-de-lally

* cherry pick proof of burn cost to exist implementation from Teams proposeal

* port tests from Teams commit

* patch tests

* add hardcode start date for expanded proof-of-burn

* simplify burn calculation

* patch burn_epoch test

* patch burn tests

* patch slow_wallet_pay tests

* patch community wallet test

Co-authored-by: 0o-de-lally <[email protected]>

* [tools] Network Recovery Tools and Epoch Boundary Hardening (#1071)

* try creating a new type of writeset

* Builds!  prototype rescue_writeset admin script

* cargo fix

* builds

* cargo fix

* command for rescue

* wip emit event

* wip ol upgrade stdlib

* wip use build_changeset

* wip upgrade reconfig

* cleanup

* cargo fix

* include reconfig changeset

* cargo fix

* gross but builds

* create rescue function, vals plus stdlib

* cleanup

* clean

* disaster recovery

* restore to use reset_counters

* docs

* rescue writeset to force boundary change

* update writeset api

* create offline_increment for DiemTimestamp

* timestamp

* add increment timestamp to writeset generator

* undo change to timestamp

* add timestamp writeset

* patch

* stdlib

* cleanup

* add makefile

* makefile

* makefile

* documentation

* docs

* makefile

* makefile

* makefile

* makefile

* makefile

* Fix the piping of the grep result

* makefile

* WIP admin scripts

* add testnet writeset to admin scripts

* error handle Stats cant find address issue

* WIP test alternate stdlib build

* patch

* create experimental debug mode for epoch boundary

* return with fixed validator set in debug mode.

* ability to add remove debug mode

* change admin script to enable debug mode

* try to reset epoch clock on bulk reset

* cleanup

* clean

* clean

* change reconfig function

* change reconfig function

* change reconfig function

* add epoch timer resource type

* scaffold fetching epoch timer state and resetting

* get epoch timeset update

* make new cli command

* cargo fix

* wip manufacturing event type

* mfg event

* patch

* add check to Epoch::epoch_finished() to check that 10K blocks have been produced

* have Upgrade::upgrade_reconfig() increment time.

* better handling of errror cases in block_prologue via Stats.

* notes in makefile

* patch epoch_finished() for testnet cases

* make no changes to validator set if only 3 qualify.

* have epoch boundary failover to fewer validators, preferring those that have the most props in the epoch.

* notes

* debug prints

* stdlib

* test notes

* handle current vote cases better

* patch

* patch issue with Cases

* return the deduplication code to reconfigure_

* build stldlib

* patch epoch timer test

* patch epoch_timer test

* mark tests .todo to refactor

* cleanup prints

* shrink makewhole for testing

* patch case 2 test

* fix case 3 rejoin test

* update e2e stdlib payload

* patch e2e test

* patch ci yaml

* patch tx subsidy test

* patch onboarding tests

* patch test

Co-authored-by: Ashiiix <[email protected]>
Co-authored-by: liangping <[email protected]>

* Migrations rescue (#1081)

* try creating a new type of writeset

* Builds!  prototype rescue_writeset admin script

* cargo fix

* builds

* cargo fix

* command for rescue

* wip emit event

* wip ol upgrade stdlib

* wip use build_changeset

* wip upgrade reconfig

* cleanup

* cargo fix

* include reconfig changeset

* cargo fix

* gross but builds

* create rescue function, vals plus stdlib

* cleanup

* clean

* disaster recovery

* restore to use reset_counters

* docs

* rescue writeset to force boundary change

* update writeset api

* create offline_increment for DiemTimestamp

* timestamp

* add increment timestamp to writeset generator

* undo change to timestamp

* add timestamp writeset

* patch

* stdlib

* cleanup

* add makefile

* makefile

* makefile

* documentation

* docs

* makefile

* makefile

* makefile

* makefile

* makefile

* Fix the piping of the grep result

* makefile

* WIP admin scripts

* add testnet writeset to admin scripts

* error handle Stats cant find address issue

* WIP test alternate stdlib build

* patch

* create experimental debug mode for epoch boundary

* return with fixed validator set in debug mode.

* ability to add remove debug mode

* change admin script to enable debug mode

* try to reset epoch clock on bulk reset

* cleanup

* clean

* clean

* change reconfig function

* change reconfig function

* change reconfig function

* add epoch timer resource type

* scaffold fetching epoch timer state and resetting

* get epoch timeset update

* make new cli command

* cargo fix

* wip manufacturing event type

* mfg event

* patch

* add check to Epoch::epoch_finished() to check that 10K blocks have been produced

* have Upgrade::upgrade_reconfig() increment time.

* better handling of errror cases in block_prologue via Stats.

* notes in makefile

* patch epoch_finished() for testnet cases

* make no changes to validator set if only 3 qualify.

* have epoch boundary failover to fewer validators, preferring those that have the most props in the epoch.

* notes

* debug prints

* stdlib

* test notes

* handle current vote cases better

* patch

* patch issue with Cases

* return the deduplication code to reconfigure_

* build stldlib

* patch epoch timer test

* patch epoch_timer test

* mark tests .todo to refactor

* cleanup prints

* shrink makewhole for testing

* patch case 2 test

* fix case 3 rejoin test

* update e2e stdlib payload

* patch e2e test

* patch ci yaml

* patch tx subsidy test

* patch onboarding tests

* patch test

* add migration for autopay structs

* add make whole migrate

* add ancestry migration

* ancestry writset

* ancestry subcommand

* rescue to include autopay migration. Autopay needs to check for struct fields in prologue

* patch

* cargo fix

* patch autopay

* add ancestry fixture

* WIP migration subcommand

* ancestry migration working

* change vouch failover on audit

* complete vouch migration

* restore check in test

* resume reconfig time check

Co-authored-by: Ashiiix <[email protected]>
Co-authored-by: liangping <[email protected]>

* [move] rebase cost-to-exist branch (#1082)

* cherry pick proof of burn cost to exist implementation from Teams proposeal

* port tests from Teams commit

* patch tests

* add hardcode start date for expanded proof-of-burn

* simplify burn calculation

* patch burn_epoch test

* patch burn tests

* patch slow_wallet_pay tests

* patch community wallet test

* patch onboarding tx subsidy

* patch onboarding flow test

* build stdlib

* change order of integration tests

Co-authored-by: 0o-de-lally <[email protected]>

* Update node documentation to include VFN configuration (#964)

* Add VFN configuration

* Update errors

* Update errors

* Update errors

* Add warning box

* Add validator onboarding instructions

* Update validator onboarding instructions

* Update validator onboarding instructions

* Update validator onboarding instructions

* Make Whole migration (#1083)

* makewhole deposits to account on migration

* makewhole refactor and tests

* make whole tests passing

* update migrate subcommand

* cleanup

* cleanup

* cleanup prints

* patch claim loop

* make vm_offer_credit a private function

Co-authored-by: 0o-de-lally <[email protected]>

* [tools] Rpc fullnodes add functions for Carpe (#988)

* Txsparam refactor (#973)

* move the default init of txparams to a constructor

* seprate the txparams type into a new module. place constructors in right place.
change default behavior of initializing TX params, to find a good upstream from the list of upstream_nodes.

* cargo fix

* clear warnings

* patch build

* patch build

* patch get_process

* cli args patch

* remove default_node from 0L.toml

* rename upstream_nodes to rpc_fullnodes

* patch tests

* app configs documentation

* grammar

* make upstream_node not an option

* build

* limit backlog sending when miner has maxed current epoch proofs.

* patch issue with swarm not making txs params

* make MAX_PROOFS_PER_EPOCH pub

* clean

* patch test build error

* backlog should exit with a TxError if can't evaluate tx status

* scaffold tower error

* patch build

* patch build

* change return type

* patch build

* display trait for towererror

* format tower errors

* Add tower error

* add error code

* add tower error

* add lower bound mining thresh

* patch defaults affecting integration tests

* tower WrongDifficulty type

* patch build

* remove evil unwraps

* remove annoying prints

* scaffold init rpc-playlist command

* add rpc-playlist command

* add rpc-playlist command

* scrub

* remove all evil unwraps from chain_view.rs

* scrub

* cargo clean

* remove deprecated state refresh

* patch merge

* use %h specifier to dynamically set the user home directory in systemd unit (#898)

* adds documentation on how to set up a build environment for macOS (#983)

* adds documentation on how to set up a build environment for macOS

* adds command to make setup script executable

* dynamically determines library path for brew

* create update_config_file on fullnodeplaylist, to dedup with ol init and carpe

* clean

* randomize playlist on save

* patch tower test

Co-authored-by: ping <[email protected]>
Co-authored-by: Abed Hawa <[email protected]>
Co-authored-by: Sven Panko <[email protected]>

* [move-vm] secp and keccak hash (#894) (see other related changes in move-0L repo)

* Add ethereum keccak-256 hash to move language

Co-authored-by: 0o-de-lally <[email protected]>

* Migrate cumu deposits, Autopay (#1085)

* if no preference is set, assume recycled burns.

* patch tests

* bump version and cleanup prints

* fix autopay not merging data

* patch

* add migration for cumulative deposits

* fix off by one issue on Epoch number in timer. Order of epoch bounder reset_counters.

* patch globals to include min epoch blocks

* rescue writset was using wrong block height.

Co-authored-by: 0o-de-lally <[email protected]>

* [tools] tower: submit specific proof (#1001)

* Txsparam refactor (#973)

* move the default init of txparams to a constructor

* seprate the txparams type into a new module. place constructors in right place.
change default behavior of initializing TX params, to find a good upstream from the list of upstream_nodes.

Co-authored-by: 0o-de-lally <[email protected]>
Co-authored-by: ping <[email protected]>
Co-authored-by: Abed Hawa <[email protected]>

* Allows to send max allowed proofs per epoch (#1086)

* fixes an "off by 1" error in proof/backlog submission

* patch testnet globals (#1087)

* if no preference is set, assume recycled burns.

* patch tests

* bump version and cleanup prints

* fix autopay not merging data

* patch

* add migration for cumulative deposits

* min blocks per epoch for testnet 0

* force_boundary was producing wrong epoch height on migrate writeset

* debug

* patch

* patch

* patch testnet globals

* patch epoch boundary ordering issues. off by one in wallet process. Also patch under-burn.

* [tools] tower: submit specific proof (#1001)

* Txsparam refactor (#973)

* move the default init of txparams to a constructor

* seprate the txparams type into a new module. place constructors in right place.
change default behavior of initializing TX params, to find a good upstream from the list of upstream_nodes.

Co-authored-by: 0o-de-lally <[email protected]>
Co-authored-by: ping <[email protected]>
Co-authored-by: Abed Hawa <[email protected]>

* Allows to send max allowed proofs per epoch (#1086)

* fixes an "off by 1" error in proof/backlog submission

* revert temporary globals

* patch burn test, fixtutres

* patch

* cleanup prints

* epoch drip reactivated, merge issue

Co-authored-by: Sven Panko <[email protected]>
Co-authored-by: ping <[email protected]>
Co-authored-by: Abed Hawa <[email protected]>

* Fix tower backlog sending (#1089)

* Txsparam refactor (#973)

* move the default init of txparams to a constructor

* seprate the txparams type into a new module. place constructors in right place.
change default behavior of initializing TX params, to find a good upstream from the list of upstream_nodes.

* cargo fix

* clear warnings

* patch build

* patch build

* patch get_process

* cli args patch

* remove default_node from 0L.toml

* rename upstream_nodes to rpc_fullnodes

* patch tests

* app configs documentation

* grammar

* make upstream_node not an option

* build

* limit backlog sending when miner has maxed current epoch proofs.

* patch issue with swarm not making txs params

* make MAX_PROOFS_PER_EPOCH pub

* clean

* patch test build error

* backlog should exit with a TxError if can't evaluate tx status

* scaffold tower error

* patch build

* patch build

* change return type

* patch build

* display trait for towererror

* format tower errors

* Add tower error

* add error code

* add tower error

* add lower bound mining thresh

* patch defaults affecting integration tests

* tower WrongDifficulty type

* patch build

* remove evil unwraps

* remove annoying prints

* scaffold init rpc-playlist command

* add rpc-playlist command

* add rpc-playlist command

* scrub

* remove all evil unwraps from chain_view.rs

* scrub

* cargo clean

* remove deprecated state refresh

* patch merge

* use %h specifier to dynamically set the user home directory in systemd unit (#898)

* adds documentation on how to set up a build environment for macOS (#983)

* adds documentation on how to set up a build environment for macOS

* adds command to make setup script executable

* dynamically determines library path for brew

* fixes a problem that prevented first proof from being sent to the network

* off-by-1

Co-authored-by: 0o-de-lally <[email protected]>
Co-authored-by: ping <[email protected]>
Co-authored-by: Abed Hawa <[email protected]>

* Vouch tx (#1088)

* vouch tx scaffold

* patch

* cli for vouch

* cargo fix

* rename script

* stdlib build

Co-authored-by: 0o-de-lally <[email protected]>

* [txs] use managment costs instead of cheap costs for autopay batch TX (#1091)

* use managment costs instead of cheap costs for autopay batch TX

* adjusts usage of managment costs instead of cheap costs for vouch and burn tx as well

* [move] Recovery mode for epoch boundary (#1090)

* refactor DebugMode into Recovery Mode. Prevent payments until recovery is complete

* set epoch explicitly

* add tests for recovery mode

* Squashed commit of the following:

commit 9114a6ce380248b1f666d782d8e50add7e2f8795
Author: 0o-de-lally <[email protected]>
Date:   Sun Apr 24 13:52:04 2022 -0400

    include more vouch tests

commit 074e222df04cf3063cbfb6244c74b8ddec94b2e9
Author: 0o-de-lally <[email protected]>
Date:   Sun Apr 24 10:43:29 2022 -0400

    Vouch tx (#1088)

    * vouch tx scaffold

    * patch

    * cli for vouch

    * cargo fix

    * rename script

    * stdlib build

* No longer check for Autopay in Audit. Remove deprecated tests

* drawks thinks my commit history is sloppy :). This commit is a patch on a failing functional test for epoch boundary validator audit checking.

* in recovery mode make the fixed validator set case expire after # epochs

* patch integration test for test-autopay grep, to use updated values from the proof of burn patches

Co-authored-by: 0o-de-lally <[email protected]>

* Fix the check target to display the correct waypoint (#1092) by @ashiiix

Needs to split the check target into two separate one to make it act sequentially

* Release v5.1.0 (#1084)

* if no preference is set, assume recycled burns.

* patch tests

* bump version and cleanup prints

* fix autopay not merging data

* patch

* add migration for cumulative deposits

* TEMPORARY debug globals

* min blocks per epoch for testnet 0

* force_boundary was producing wrong epoch height on migrate writeset

* debug

* patch

* patch

* patch epoch boundary ordering issues. off by one in wallet process. Also patch under-burn.

* revert temporary globals

* build stlidib

* have rescue writeset reset the counters on new epoch event

* change prod epoch length globals for debug

* debug mode using 5 minute epochs with minimum of 50 blocks

* patch makefile

* change cli args for block-height

* makefile

* patch epoch boundary to not do proof of burn while in recovery mode, and add recovery mode to rescue writeset.

* fix compile

* patch cli args

* patch makefile

* move recovery mode setting to tx-migrate

* makefile

* Vouch migration

* restore production globals

* change makefile to hard coded RECOVERY_EPOCH = 173

* patch recovery mode test. Burns do not apply duing Recoverry Mode

* add tx-recovery writeset

* patch cli subcommand

* tower proof.rs needs a message on bad proof unwrap

* patch build error

* recovery mode writeset needs to disable recovery mode before initializing it, in case we are changing settings

* temporary hotfix command for writing writset to migrate cumu_deposits and set recovert mode validators to an empty vector.

* patch build

* update hotfix to trigger reconfiguration

* remove github actions files

* documentation

* wip changeset modules

* modularized writsets

* create changeset function wrapper

* get seed peers needs to exit on success

* cleanup logs in tower

* build stdlib

* temporary hotfix command for writing writset to migrate cumu_deposits and set recovert mode validators to an empty vector.

* patch build

* update hotfix to trigger reconfiguration

* remove github actions files

* documentation

* wip changeset modules

* modularized writsets

* create changeset function wrapper

* get seed peers needs to exit on success

* build stdlib

Co-authored-by: 0o-de-lally <[email protected]>

* Makewhole bindings (#1097)

* add makewhole rust resource

* test nesting of resources

* make structs public

* cleanup build, add prints to round manager

* clean up build

* patch types tests

Co-authored-by: 0o-de-lally <[email protected]>

* [txs] Tx api for revoking vouch (#1098)

* function to revoke vouch

* vouch revoking apis

* add test

Co-authored-by: 0o-de-lally <[email protected]>

* Docs for 5.1.0 (#1096)

* add changelog

* rulebook docs

* burn info

* burn info

* remove debug prints

Co-authored-by: 0o-de-lally <[email protected]>

* [validator set] set rotation can only expand by 1/6 (#1099)

* function to revoke vouch

* vouch revoking apis

* add test

* set rotation can only expand by a certain number of nodes on every epoch. So that no more than 25% of the next validator set has unproven nodes. This is based on the amount of nodes that we know to keep consensus (case 1 and 2).

* updating tests and patch implementation

* patch reconfig case_2

* make sure jailed nodes are dropping

Co-authored-by: 0o-de-lally <[email protected]>

* Release v5.1.1 (#1100)

* function to revoke vouch

* vouch revoking apis

* add test

* set rotation can only expand by a certain number of nodes on every epoch. So that no more than 25% of the next validator set has unproven nodes. This is based on the amount of nodes that we know to keep consensus (case 1 and 2).

* updating tests and patch implementation

* patch reconfig case_2

* make sure jailed nodes are dropping

* increase threshold for voting

* update writeset for rescue to include recovert mode

* patch build

* remove recovery mode

* expand epoch set by 1/6th

* make setting recovery mode optional from CLI

* impove mock case 1 helper

* patch onboarding reconfig

* patch mock tests

* refactored tests that use mock_

* build stdlib for release

* update 0L default configs for mempool and state sync

Co-authored-by: 0o-de-lally <[email protected]>

* Add Prometheus metrics for tx execution and 0L VDFs (#1102) - also see related changes in move-0L repo

* add prints for new transactions, mempool latency, executor steps time, and vdf fimer.

* more prints on a per tx level

* add sequence number to tx debug

* print payload

* payload too noisy

* adds more fine-grained executor metrics to prometheus

* adds more metrics for Prometheus monitoring for VDF verification and transaction execution

* adds two new Prometheus metrics to track how many VDF proofs are submitted and how many fail verification because of non-met criteria.

Co-authored-by: 0o-de-lally <[email protected]>

* persist failure should not panic (#1112)

Co-authored-by: 0o-de-lally <[email protected]>

* Release v5.1.1 (#1114)

* function to revoke vouch

* vouch revoking apis

* add test

* set rotation can only expand by a certain number of nodes on every epoch. So that no more than 25% of the next validator set has unproven nodes. This is based on the amount of nodes that we know to keep consensus (case 1 and 2).

* updating tests and patch implementation

* patch reconfig case_2

* make sure jailed nodes are dropping

* increase threshold for voting

* update writeset for rescue to include recovert mode

* patch build

* remove recovery mode

* expand epoch set by 1/6th

* make setting recovery mode optional from CLI

* impove mock case 1 helper

* patch onboarding reconfig

* patch mock tests

* refactored tests that use mock_

* build stdlib for release

* update 0L default configs for mempool and state sync

* bump version

* changelog

* Update 5_1_1.md

Co-authored-by: 0o-de-lally <[email protected]>

* [move] [Fast Track Proposal] Turn down the heat on Cost To Exist (#1119)

* defer for 90 days cost to inactives, and reduce the cost of burn by only implementing at steady state.

* burn should be the default if user has not set send to community explicitly

Co-authored-by: 0o-de-lally <[email protected]>

* Rename DemoBonding

* [diem-node] Patch Move error type handling by VM because of 0L error format changes (#1115)

* error code in prologue handling update

* further fixing of error handling

Co-authored-by: jamesmeijers <[email protected]>

* [move] Jail refactor. Resolve congestion of validator set, and resume set expansion (#1118)

* jail to enter

* notes

* first pass jail refactor

* add comments

* implement sorting of top accounts based on jail index. Filter nodes based on actual jailed bit.

* create migration script for jail struct

* initialize jail on new validator creation

* code review patches

* remove deprecated test

* refactor nodeweight to separate the sorting from split

* patch case 3 rejoin

* patch tests w api changes

* all tests passing

* patch new epoch should include case 2

* tests for jail and sorting validator candidates

* complete jail tests

Co-authored-by: 0o-de-lally <[email protected]>

* [tools] Restore cmd to take version (#1093)

* update restore command to reeceive a version number

* gitignore mv files

* update restore path format

* ol check will print db version

* restore works with multiple versions in a restore bundle

* ol restore takes highest transaction version if there are multiple

* update order of tx restore

* patch default restore

* add resetting of safety data

* [mempool] Specify number of workers for mempool threads. Add prometheus metrics for networking. (#1113)

* function to revoke vouch

* vouch revoking apis

* add test

* set rotation can only expand by a certain number of nodes on every epoch. So that no more than 25% of the next validator set has unproven nodes. This is based on the amount of nodes that we know to keep consensus (case 1 and 2).

* updating tests and patch implementation

* patch reconfig case_2

* make sure jailed nodes are dropping

* increase threshold for voting

* update writeset for rescue to include recovert mode

* patch build

* remove recovery mode

* expand epoch set by 1/6th

* make setting recovery mode optional from CLI

* add debug prints

* debug prints

* debug prints and comments.

* add debug prints and comments

* notes

* comment the mempool config params

* find where we could create backpressure on mempool

* prints for debugging

* WIP experimental backpressure on shared mempool consensus requests. Does not build.

* change node.yaml default params for state_sync and mempool

* Fix build

* adding prometheus counters

* patch build

* State sync debug (#1117)

* Release v5.1.1 (#1114)

* function to revoke vouch

* vouch revoking apis

* add test

* set rotation can only expand by a certain number of nodes on every epoch. So that no more than 25% of the next validator set has unproven nodes. This is based on the amount of nodes that we know to keep consensus (case 1 and 2).

* updating tests and patch implementation

* patch reconfig case_2

* make sure jailed nodes are dropping

* increase threshold for voting

* update writeset for rescue to include recovert mode

* patch build

* remove recovery mode

* expand epoch set by 1/6th

* make setting recovery mode optional from CLI

* impove mock case 1 helper

* patch onboarding reconfig

* patch mock tests

* refactored tests that use mock_

* build stdlib for release

* update 0L default configs for mempool and state sync

* bump version

* changelog

* Update 5_1_1.md

* adds some more metrics

* adds more metrics

* [move] [Fast Track Proposal] Turn down the heat on Cost To Exist (#1119)

* defer for 90 days cost to inactives, and reduce the cost of burn by only implementing at steady state.

* burn should be the default if user has not set send to community explicitly

* exchanges some dbg! statements with debug! statements to be able to control log output

Co-authored-by: 0o-de-lally <[email protected]>
Co-authored-by: Gökhan Şimşek <[email protected]>
Co-authored-by: Sven Panko <[email protected]>

* 📝 updated hard mode validator onboarding documentation (#1124)

* updated hard mode validator onboarding documentation

* minor fixes from review

* Fix web monitor show wrong account type (#1116)

* Remove unneccesary tests (#1108)

* Add CLI Option - unlocked balance for slow wallets (#1110)

* Remove unneccesary tests

* Add cli option

* Add unlocked balance logic

* Unwrap and remove quotes

* transfers of unrestricted coins into slow wallets need to count toward unlocked balance, with exception to community wallet txs which are slow. (#1126)

commit by @0xzoz

* Release v5.1.2 (#1120)

Co-authored-by: 0o-de-lally <[email protected]>

* bug in validator set formatting prevented accounts without autopay from being displayed (#1131)

Co-authored-by: 0o-de-lally <[email protected]>

* [devnet] Patch account onboarding and init automation for Rex devnet (#1130)

* remove autopay and refactor fetching epoch and waypoint

* cleanup onboard dialogue

* allow upstream peer to be passed to config

* cleanup dialogue.rs

* patch makefile Path hack

* skip pull request from genesis.

* cleanup

* init waypoint refactor

* get actual waypoint from chain

* patch onboarding tx ordering, and integration test

* patch integration test

* fix default addresses for testnet

* Fix build error

* [move] Fix reconfig dropping vals when vouchers fall out of set (#1132)

* should only check for vouches when being onboarded or being unjailed.

* create tests for vouchers dropping from set, and don't affect vouchees

Co-authored-by: 0o-de-lally <[email protected]>

* [web-monitor] Add burn prefs to API (#1134)

* add burn prefs to web-monitor api

* update ui

* change implementation

Co-authored-by: 0o-de-lally <[email protected]>

* Release 5.1.3 (#1125)

* downgrade error msg to info

* cleanup unused prometheus log code

* downgrade state sync error message to info

* makefile for set-waypoint

* patch makefile

* refresh onchain state

* genesis should assign vouches

* set layout for devnet has 4 nodes

* init val in genesis first

* github repo tools can put file in genesis repo

* save files to genesis repo

* reorganize testnet scripts

* cleanup

* documentation

* patch makefile

* makefile

* makefile

* text [skip-ci]

* update yaml configs so that node file uses multiple fullnode networks [skip-ci]

* patch [skip ci]

* patch ports [skip ci]

* validator init on genesis and ol init, will use seed peers

* trim whitespace on genesis_waypoint.txt

* makefile

* reverse state-sync default params

* add helper in init to reset safety data

* bump version

* ol restore has --boundary-only or -b which will not attempt to restore an advanced version. This is the safest restore option.

* ol restore defaults to only fetch the epoch boundary. --highest-version must be explicitly passed if the user wants versions beyond the epoch boundary (this is still experimental).

* ol serve: deprecating the --run-checks or -c option. We now assume the user wants to run checks while running the web-monitor

* improve error messages on safety rules initialize

* validator should panic on trying to startup safety rules

* patch

* makefile

* make testnet start with alice, bob, carol only

* add execution.genesis_file_location to fullnode yaml

* set layout to have 5 addresses for testnet genesis

* alway use cargo release mode even in testnet

* undo

* update fixture files with ip addresses for reference.

* patch validator yaml file generation

* ol start doesn't need to swtich between validator and fullnode mode with the new configs!

* make pubnet config use onchain discovery

* remove setting for fullnode identity in validator file

* rename ol restore option highest_version -> latest_version

Co-authored-by: 0o-de-lally <[email protected]>

* add unjailing transactions to txs (#1135)

Co-authored-by: 0o-de-lally <[email protected]>

* 📝 Log rotation  (#1129)

* updated hard mode validator onboarding documentation

* minor fixes from review

* log rotation with multilog added to validator onboarding docs

* log rotation docu correction

* [tower] Allow tower to mine dynamic VDF parameters (#1111)

* add vdf difficulty type in rust

* refactor fetching local block

* refactor mine once

* refactor mine_once

* remove depr tests

* tests passing

* move next_proof to own module

* move vdf difficulty type

* function to create next proof params from chain query

* switch between local and online mode for proof generation

* move code for allowing vdf praams to be stored instead  of hard coded.

* add toy_rng for tower state

* update VDF params at end of epoch

* check correct security in period

* cleanup

* patch tower cli build

* patch toy_rng for tests

* patch tower app test

* build stdlib

* test passing

* WIP make new miner methods work with swarm

* tower can get difficulty params from chain

* genesis to use test settings

* fix loop and backlog issue

* don't init difficulty at genesis

* reorder genesis tx so testnet is initialized before genesis settings

* patch merge

* patch test

* new towers will start from the baseline/genesis difficulty and security params

* refactor default vdf params for block zero

* update tests for toy_rng

* test epoch creates random difficulty

* catch error with len == 0

* bad makefile

* add test for continuous mining

* scaffold gc for tower

* scaffold

* find first discontinous proof

* collect subsequent proofs function

* delete files

* clean

* backlog checks a bad tx for garbage collection

* implement GC on failed proof

* while transitioning to dynamic vdf, tower should failover to localmode

* downgrade error msg to info

* cleanup unused prometheus log code

* downgrade state sync error message to info

* makefile for set-waypoint

* patch makefile

* refresh onchain state

* genesis should assign vouches

* set layout for devnet has 4 nodes

* init val in genesis first

* github repo tools can put file in genesis repo

* save files to genesis repo

* reorganize testnet scripts

* cleanup

* documentation

* documentation

* patch makefile

* patch makefile

* rename make recipes

* rename

* vdf difficulties must always be even numbers

* patch move

* makefile

* makefile

* text [skip-ci]

* update yaml configs so that node file uses multiple fullnode networks [skip-ci]

* patch [skip ci]

* patch ports [skip ci]

* validator init on genesis and ol init, will use seed peers

* trim whitespace on genesis_waypoint.txt

* makefile

* method to create  a genesis proof

* reverse state-sync default params

* add helper in init to reset safety data

* bump version

* ol restore has --boundary-only or -b which will not attempt to restore an advanced version. This is the safest restore option.

* ol restore defaults to only fetch the epoch boundary. --highest-version must be explicitly passed if the user wants versions beyond the epoch boundary (this is still experimental).

* ol serve: deprecating the --run-checks or -c option. We now assume the user wants to run checks while running the web-monitor

* improve error messages on safety rules initialize

* validator should panic on trying to startup safety rules

* patch

* makefile

* make config chain-id and instance of namedchain, breaking

* patch build

* make chainId::str_to_chain_id public

* parse namedchain from str

* use testing ID in tx_params

* make testnet start with alice, bob, carol only

* add execution.genesis_file_location to fullnode yaml

* set layout to have 5 addresses for testnet genesis

* alway use cargo release mode even in testnet

* undo

* update fixture files with ip addresses for reference.

* update check for prod settings for nextproof

* VDF native function was aborting instead of returning error.

* NextProof generate genesis proof from configs

* add derive traits to nextproof

* builds

* refactor get_next_proof_from_chain [skip-ci]

* patch test because chain_id options have changed

* patch testtepoch_random_difficulty.move

* refactor init and onboard to use new named chain property

* patch copy of fixture files in swarm

* patch wrong chainid for swarm

* patch test mining epochs

* patch chain_id build issues

* include more namedchain str parsing options

* tower: delete a vdf proof that cannot be parsed

* debug ci

Co-authored-by: 0o-de-lally <[email protected]>

* Use Move syntax highlighter for Move (#1138)

* Chore: Format tools (#1140) by @0xzoz

* format cli folder

* format genesis-tools folder

* format keys folder

* format onboard folder

* format tower folder

* format txs folder

* format types folder

* format util folder

* format verifiable_delay folder

* patch burn_unit test

* patch tx_fee_success. Issue with trying to take DiemRoot payment capability. Causes automatic writeset failure.

* patch vouch_init.move

* patch vouch_has_unrelated.move

* patch introduced bug in Subsidy. Need to prevent sending of 0 coin

* patch burn ratios test

* patch output of case_1_reconfig test

* patch epoch_timer expected output

* patch persistence exp

* adding script function to create an end user account. patched burn_epoch test

* improve error handling on Burn.move. Patch burn_epoch_send_comm

* patch vouch init

* patch vouch_audit_pass

* patch vouch_audit_pass and vouch_audit_reject

* patch revoke_should_not_drop_good_val

* lost_voucher tests

* patch

* slow_wallet_pay_reconfig.move

* recovery mode tests passing

* patch fullnode_reconfig

* patch onboarding_reconfig

* patch reconfig_below_set_size

* reconfig_include_case_2

* patch reconfig_jail_case_3

* patch reconfig_jail_case_4

* patch reconfig_success_two_epochs

* patch case_3_reconfig

* patch case_4_reconfig

* Patch the implementation of Receipts, which have not been implemented correctly, and accounts were being created without the struct.

* patch vm_payment receipts

* patch fullnode_reconfig_three_miners

* patch fullnode_reconfig_six_validators

* fullnode_reconfig_mixed_val_cases

* patch jail_sort

* patch inactive_validators

* patch onboarding_rate_limit

* All functional tests passing!

* start docs for smoke tests

* experimental smoke test for sending demo tx

* two new ol tests in the smoketests framework

* Lesson 3 Homework - Replace an unwrap() with match select statement (#1145)

* Osx makefile support (#1149)



* support osx shasum cli tool

* [move] reduce thresholds on validators (#1152)

* Move vouch constant to Globals, reduce to 2 vouchers per validator

* move validator signing threshold to Globals, and reduce from 5% to 3%

* patch testing defaults

Co-authored-by: 0o-de-lally <[email protected]>

* [node] Don't panic on failure to initialize safety rules. (#1153)

* failure to initialize safety rules should not stop the validator from starting, since the validator may be syncing. Note: THE VALIDATOR WILL NOT BE ABLE TO SIGN BLOCKS if the safety riles cannot be initialized.

* patch build

Co-authored-by: 0o-de-lally <[email protected]>

* tower integration test should span many blocks and across epochs

* patch makefile for teestnet

* implement a deserializer for namedchain

* update fixtures

* increase state sync tick interval to prevent timeouts

Co-authored-by: 0o-de-lally <[email protected]>

* separate stdlib from genesis in makefile recipe

* change set layout

* testnet genesis to have 4 nodes [skip-ci]

* namedchain parsing

* use the correct historical/baseline proof difficulty

* patch tower baseline difficulty in Move code

Co-authored-by: 0o-de-lally <[email protected]>

* Move bug in checking first proof in epoch

Co-authored-by: 0o-de-lally <[email protected]>

* add dave prod mode proof

* ... and stages

* patch TowerState bug with non-test envs for checking proof submission

Co-authored-by: 0o-de-lally <[email protected]>

* refector towerstate difficulty checking so that it applies to operator sent proofs.

Co-authored-by: 0o-de-lally <[email protected]>

* patch bug where the epoch boundary failover should start from longest list of validators (validator universe)

Co-authored-by: 0o-de-lally <[email protected]>

* add proof zero for eve

* changelog

Co-authored-by: 0o-de-lally <[email protected]>

* changelog

* bump version number

Co-authored-by: 0o-de-lally <[email protected]>

* changelog

* changelog

* changelog

* changelog [skip ci]

* format tower backlog error msg in edge case

* Docs for rescue writesets

Co-authored-by: 0o-de-lally <[email protected]>

* refactor epoch boundary counter reset in writeset builder

Co-authored-by: 0o-de-lally <[email protected]>

* Upgrade oracle to have upgrade function to expire a vote

Co-authored-by: 0o-de-lally <[email protected]>

* add vote revocation to Oracle Upgrade

Co-authored-by: 0o-de-lally <[email protected]>

* fullnode subsidy aka Carpe towers get paid anyways during the recovery mode

Co-authored-by: 0o-de-lally <[email protected]>

* recovery writeset should trigger the epoch counters to reset

Co-authored-by: 0o-de-lally <[email protected]>

* set the oracle expiry window

Co-authored-by: 0o-de-lally <[email protected]>

* add upgrade proposal expiration to rescue

Co-authored-by: 0o-de-lally <[email protected]>

* bind to correct module in Oracle

Co-authored-by: 0o-de-lally <[email protected]>

* patch writeset

Co-authored-by: 0o-de-lally <[email protected]>

* add upgrade expiration cli command

Co-authored-by: 0o-de-lally <[email protected]>

* make files

Co-authored-by: 0o-de-lally <[email protected]>

* refactor oracle upgrade expire writeset

Co-authored-by: 0o-de-lally <[email protected]>

* add txs helper for voting

* revoke functional test, passing

Co-authored-by: 0o-de-lally <[email protected]>

* deprecate fullnode payment in recovery mode test

Co-authored-by: 0o-de-lally <[email protected]>

* revoking vote, should revoke delegates

Co-authored-by: 0o-de-lally <[email protected]>

* test for revoking delegated votes

Co-authored-by: 0o-de-lally <[email protected]>

* recovery mode uses the initial validators throughought the period

Co-authored-by: 0o-de-lally <[email protected]>

* makefile set recovery epoch 295

Co-authored-by: 0o-de-lally <[email protected]>

* including misko9's validator yaml configs

Co-authored-by: 0o-de-lally <[email protected]>

* update StateSyncConfig parameters

Co-authored-by: 0o-de-lally <[email protected]>

* V6 smoketests (#1161)

* re-enable testnet using root key as treasury compliance.

* make treasury compliance address checks in move point to diem root

* makefile hack to copy releases to correct place for swarm to start with latest Move code.

* makefile

* smoke tests can create accounts from root

* At genesis diem_root receives a balance.  So that peer to peer transfers can be tested. A requirement of many smoketests

* clean

* create_and_fund_account working on smoke tests!

* WIP emitter forge test

* cleanup create_manifest in accounts/types

* txemitter test completes. still need to fix stats

* restart smoke test intermittent

* restore state sync defaults

* update ci workflow

* test ci

* patch ci.yaml

* forge.yaml

* forge.yaml

* ci.yaml functional tests

* v6 CI Workflows (#1162)

* tools tests passing locally

* patch upgrade fixtures

* fix upgrade fixtures makefile

* patch ci

* patch tests

* genesis should create new vouchers

* test for genesis init vouchers

* vouch inits on genesis

* patch

* patched all functional tests

* patch ci file

* [forge] accept and ignore "-Z unstable-options" and "--show-output"

My IDE insists to add these options while start debugging tests, so I'm adding these much like the existing NO-OP options, like test_threads, to the forge runner option.

Closes: #10149

* [storage] receive TransactionInfo from execution, instead of calculating it from DB

The DB being dumb, different strategies of generating the TransactionInfo can be controlled on the executor side only.

Notice that before this we've already make it that the storage doesn't fully check all the authentication structures generated by the executor by calculating them all by itself, specifically the state tree calculation leverages the internal node hash values computed by the executor.

We can remove the event tree, and even the top level accumulator calculation from the DB as well, but they are not too costly so it's not prioritized.

Closes: #10030

* DiemValidatorInterface: DebuggerStateView::version usage clean up

It's weird and confusing that DebuggerStateView queries at self.version - 1.

Made self.version an Option<Version>.
On the callsites (mainly the transaction replay tool):
* annotate_x_at_version annotates the *result* state of the version
* execute_x_at_version and run_x_at_version runs things based on the previous version state.
* create_release_from_artifact runs on top of artifact.version state

Closes: #10150

* Update build script

* patch two mutation findings

Closes: #10152

* [executor] run_transactions_naive more naive

This function used in tests used to rely on the block executor interfaces which I'm gonna impose more restrictions about the input blocks, namely existence of a state checkpoint at the end of a block, so I'm steering away from it.

Closes: #10162

* [executor] trivial: refactor TestBlock

1. The constructor takes in a size, instead of a range (which is never useful)
2. expect that the resulting block size being different from the number of user transactions (because we are gonna append the state checkpoint txn)

Closes: #10161

* [executor] refactor state_view.into() -> state_view.into_state_cache()

Love it being more explicit.

Closes: #10160

* [storage] arb_blocks_to_commit: rely NOT on the DB

We intend to make the DB dump, as in save whatever the upper layer asks to save, potentially losing the ability to calculate any hash. This removes the dependance on the DB's ability to calculate any Merkle hash, instead, the test helper being changed here relies on the in mem merkle tree algorithms directly.

Closes: #10159

* [executor] ParsedTransactionOutput and refactors

1. avoid repeatedly parse txn_output.events for the reconfig events
2. txn_output.unpack() to avoid clones.
3. txn_output.state_root_hash removed since it's not used.

Closes: #10157

* add Transaction::StateCheckpoint

Closes: #10110

* trivial: linter doesn't require copyright banner

Looks like Diem Contributors is now ambiguous.

Closes: #10167

* [scripts] ensure that nodejs install has pre_command for sudo

* [docker] fix for arch keyring issues

Closes: #10164

* [executor] trivial: execute_block: create local shortcuts to parent block internals

To make the following diff (for per_block SMT update) more obvious.

Closes: #10156

* remove scratchpad-benchmark

use "bench --features bench -p scratchpad" instead

* trivial: TreeState::into_ledger_view()

prepare for introducing parameter (DB, needed for per block SMT update where the latest state needs to be constructed by applying write sets on top of checkpoint) to this method.

* trivial: remove DB::get_latest_state_root()

In the world of state checkpoints, "latest state root" becomes ambiguous.

Closes: #10168

* PR to move in parallel

Closes: #10173

* V6 Implement CI tests for new frameworks (#1165)

* genesis should create new vouchers

* ci files

* Patch the shuffle account creation issue of trying to create accounts with treasury compliance acct which we removed

* update CI makefile

* Some cleaning and refactoring

* Move smoke-tests to testsuite/smoke-test/src/ol_smoke_tests.rs

* api testing of multisig and multiagent

* First version of working ol/smoke-test

* fix the hardcoded crypto salts, replaced from Diem's (#1171)

* add shuffle account tool, to store usable keys from mnemonic

* shuffle messages

Co-authored-by: Gökhan Şimşek <[email protected]>
Co-authored-by: Abed Hawa <[email protected]>
Co-authored-by: Sven Panko <[email protected]>
Co-authored-by: hotdogbbq <[email protected]>
Co-authored-by: ping <[email protected]>
Co-authored-by: East Agile <[email protected]>
Co-authored-by: nathaniel gentile <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ashiiix <[email protected]>
Co-authored-by: soaresa <[email protected]>
Co-authored-by: jamesmeijers <[email protected]>
Co-authored-by: 0xzoz <[email protected]>
Co-authored-by: ownyrd <[email protected]>
Co-authored-by: gold experience <[email protected]>
Co-authored-by: uvd <[email protected]>
Co-authored-by: TheOneID <[email protected]>
Co-authored-by: aldenhu <[email protected]>
Co-authored-by: aldenhu <[email protected]>
Co-authored-by: David Wolinsky <[email protected]>
Co-authored-by: gelash <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants