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

Account deletion #1107

Merged
merged 9 commits into from Jul 30, 2019

Conversation

@ilblackdragon
Copy link
Member

commented Jul 26, 2019

If account has less balance to support it for given number of blocks, anyone can initiate deletion and receive reward from that.

TODO: need to add logic when before running a staking auction staking to check that validator has enough rent on the account.

Stakers can't be deleted, but must have more rent on their account (4…
… * epoch_length). Also added check_rent method to call after transaction execution to make sure there is still enough rent on the account

@coqbot coqbot removed the needs: rebase label Jul 27, 2019

Add support for default values in runtime config (expected that we wi…
…ll put reasonable defaults in the binary), and fixed test_deserialize test / testnet.json
runtime/runtime/src/system.rs Outdated Show resolved Hide resolved
runtime/runtime/src/lib.rs Outdated Show resolved Hide resolved
core/primitives/src/types.rs Outdated Show resolved Hide resolved
runtime/runtime/src/config.rs Outdated Show resolved Hide resolved
runtime/runtime/src/config.rs Outdated Show resolved Hide resolved
runtime/runtime/src/lib.rs Outdated Show resolved Hide resolved
account_id: &AccountId,
account: &mut Account,
runtime_config: &RuntimeConfig,
epoch_length: BlockIndex,

This comment has been minimized.

Copy link
@evgenykuzyakov

evgenykuzyakov Jul 29, 2019

Collaborator

Apparently, epoch_length is tricky, but why can't we put it into RuntimeConfig?

This comment has been minimized.

Copy link
@ilblackdragon

ilblackdragon Jul 30, 2019

Author Member

Because it's not configuration of runtime but of a chain and we were planning to make it changeable via on chain voting over time

runtime/runtime/src/lib.rs Outdated Show resolved Hide resolved
runtime/runtime/src/system.rs Outdated Show resolved Hide resolved

@ilblackdragon ilblackdragon merged commit bff4681 into staging Jul 30, 2019

2 checks passed

GitLab CI pipeline (branch) Pipeline completed on GitLab CI
Details
GitLab CI pipeline (pull request) Pipeline completed on GitLab CI
Details

@ilblackdragon ilblackdragon deleted the delete-account branch Jul 30, 2019

ilblackdragon added a commit that referenced this pull request Jul 31, 2019

Chunks + Validators (#1118)
* Adding gas usage and limit to the header to track relevant information for rewards.

* Remove usage of ..Default::default in proto conversions, which is hiding issues

* Account deletion (#1107)

* Account deletion implementation

* Stakers can't be deleted, but must have more rent on their account (4 * epoch_length). Also added check_rent method to call after transaction execution to make sure there is still enough rent on the account

* Actually delete data when deleting an account and test that

* Add support for default values in runtime config (expected that we will put reasonable defaults in the binary), and fixed test_deserialize test / testnet.json

* Moved helper functions for transactions into test-utils User trait

* Reuse check_stake function from runtime and system

* Address comments

* Step 1. Add validator proposals are called from process_block. Additional issue that verify_chunk_sginatures calling and that it may result in error are fixed.

* Merge master into staging (#1116)

* bump version to 0.2.6 (#1091)

* Fix stake double return bug (#1084)

* fix stake double return bug and update tests

* use cache properly

* properly implement stake returning

* refactor test utils

* fix gensis config

* Fix block producer assignment (#1088)

* fix block producer assignment

* trying with test lock

* tweak test parameters

* bump version to 0.2.6

* Update docker to have git version and use cache (#1092)

* neartest.com has been retired (#1098)

* Change how docker port mapping works for macos (#1086)

* Apply Peter's fix to docker image start up code

* fix port mapping in nodelib

* fix #1042: Ban peer doesn't save to storage (#1093)

* Add registers to Wasm bindings

* Remove some unreachables (#1108)

* Revert back to cranelift backend for now (#1109)

Singlepass backend is crashing

* Fix stake test (#1095)

* Fix stake test

* Check expected validators.

* Specify expected validator order.

* No need to move anymore.

* Step 2. Move post_state_root into ChunkExtra with gas_used and validator_proposals. Removed post state root from ShardMsg

* Step 3. Gas limit/usage & validator proposals propagate

* Cleaned up tests in validator manager. First steps to make sure routing tables are populated.

* Fix chain tests

* Change 100ms to 250ms block production for chunk_manager tests

ilblackdragon added a commit that referenced this pull request Aug 10, 2019

Release v0.2.7 (#1155)
* Fix stake double return bug (#1084)

* fix stake double return bug and update tests

* use cache properly

* properly implement stake returning

* refactor test utils

* fix gensis config

* Fix block producer assignment (#1088)

* fix block producer assignment

* trying with test lock

* tweak test parameters

* Add epoch hash to block headers (#1089)

* add epoch hash to block header

* rework runtime adapter API

* address comments

* Check validator signature (#1100)

* check validator signature

* ignore flaky test

* fix (#1101)

* Telemetry (#1090)

* Add telemetry cargo, which sends RPC to given url. Add serde attributes to transaction to correctly serialize u128. Moved out information into a separate module called from client

* Added signature to info telemetry. Default url for telemetry. Better showing mem and cpu

* Add formatting for Option<BaseEncode>, fix comments

* bump version to 0.2.6 (#1091)

* Fix stake double return bug (#1084)

* fix stake double return bug and update tests

* use cache properly

* properly implement stake returning

* refactor test utils

* fix gensis config

* Fix block producer assignment (#1088)

* fix block producer assignment

* trying with test lock

* tweak test parameters

* bump version to 0.2.6

* Update docker to have git version and use cache (#1092)

* Disable test_kickout

* Remove trailing slash in DEFAULT_TELEMETRY_URL

* Adding node id to the info/telemetry

* Return stake 3 epochs later (#1105)

* Return stake 3 epochs later

* remove print

* fix test

* remove clutch

* Networking AccountId tracking (#1058)

* Remove account id from handshake

* Add AnnounceAccount

+ Communication between client and network on trigger
    Missing trigger condition

+ Routing table as mechanism to support conection through hops

* Improve signed data on announce & check conditions

* reformat announce account into simpler pieces

* Handle client side.

* Fix tests

* Provide `get_epoch_offset` for mock runtime

* Address small issues

* Use hash for epoch instead of height

* Verify signature from account announcement

* Verify route while announcing account

* nit

* Fix mock test

* Add missing verify

* Update NewtorkInfo api for ease to use on tests

* Add test for announce account.

Add routing information in NetworkInfo for testing.

* Exact cause for ban in invalid acc announcement.

* Add test for announce account with different graph

* Avoid extra clone and queries

* Fix up merge conflict

* Account deletion (#1107)

* Account deletion implementation

* Stakers can't be deleted, but must have more rent on their account (4 * epoch_length). Also added check_rent method to call after transaction execution to make sure there is still enough rent on the account

* Actually delete data when deleting an account and test that

* Add support for default values in runtime config (expected that we will put reasonable defaults in the binary), and fixed test_deserialize test / testnet.json

* Moved helper functions for transactions into test-utils User trait

* Reuse check_stake function from runtime and system

* Address comments

* Merge master into staging (#1116)

* bump version to 0.2.6 (#1091)

* Fix stake double return bug (#1084)

* fix stake double return bug and update tests

* use cache properly

* properly implement stake returning

* refactor test utils

* fix gensis config

* Fix block producer assignment (#1088)

* fix block producer assignment

* trying with test lock

* tweak test parameters

* bump version to 0.2.6

* Update docker to have git version and use cache (#1092)

* neartest.com has been retired (#1098)

* Change how docker port mapping works for macos (#1086)

* Apply Peter's fix to docker image start up code

* fix port mapping in nodelib

* fix #1042: Ban peer doesn't save to storage (#1093)

* Add registers to Wasm bindings

* Remove some unreachables (#1108)

* Revert back to cranelift backend for now (#1109)

Singlepass backend is crashing

* Fix stake test (#1095)

* Fix stake test

* Check expected validators.

* Specify expected validator order.

* No need to move anymore.

* Add slashing in validator manager (#1112)

* Add slashing in validator manager

* pass slashed_validators as a parameter to add_proposals

* change runtime adapter to include slashing

* refactor slashing

* Finish kickout test after everything gets verified (#1123)

* Finish kickout test after everything gets verified

* Remove println

* typo (#1124)

* Remove merge conflict issue from store/lib.rs

* Bump version to 0.2.7

* Fix test_deserialize issue

* Enabled sending telemetry data over https (#1149)

* Update testnet genesis (#1150)

* HARD FORK: update testnet genesis

* Dedup validators in get_epoch_producers

* Correct test and reduce size of docker by removing files after docker is done

* Zero out storage_used_at

* Validator proposals fix (#1154)

* Fix issue that validator proposals were not propagated to Block::produce

* Speed up sync_state_stake_change and remove extra print

* Update testnet genesis to 1859314 block

* Hot fixes to syncing issues

* Fix issue with orphan resolution

* Fix genesis with fisherman to 0 for now

* Fix rushed fix

* Fix validator_join and remove warning

* Fix total approvals formula when there are 2 validatos

* Bump up the timelimits for announce_account tests

* Check what happened on CI for the announce_account test

* Add ignore to account_announce tests as they are currently not fully propagating account into. Will be fixing separtely
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.