[pallet-revive] rework balance transfers#6187
Conversation
Signed-off-by: xermicus <cyrill@parity.io>
Signed-off-by: xermicus <cyrill@parity.io>
Signed-off-by: xermicus <cyrill@parity.io>
Signed-off-by: xermicus <cyrill@parity.io>
Signed-off-by: xermicus <cyrill@parity.io>
|
bot fmt |
|
@xermicus https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/7623826 was started for your command Comment |
|
@xermicus Command |
|
/cmd prdoc --audience runtime_dev --bump major |
Signed-off-by: xermicus <cyrill@parity.io>
Co-authored-by: PG Herveou <pgherveou@gmail.com>
|
bot bench substrate-pallet --pallet=pallet_revive |
|
@xermicus https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/7649092 was started for your command Comment |
|
@xermicus Command |
|
Will review when conflicts are resolved. |
|
bot fmt |
|
@xermicus https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/7683739 was started for your command Comment |
|
@xermicus Command |
|
bot fmt |
|
@xermicus https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/7685784 was started for your command Comment |
|
@xermicus Command |
* master: (129 commits) pallet-revive: Use `RUSTUP_TOOLCHAIN` if set (#6365) [eth-rpc] proxy /health (#6360) [Release|CI/CD] adjust release pipelines (#6366) Bump the known_good_semver group across 1 directory with 3 updates (#6339) Run check semver in MQ (#6287) [Deprecation] deprecate treasury `spend_local` call and related items (#6169) refactor and harden check_core_index (#6217) litep2p: Update litep2p to v0.8.0 (#6353) [pallet-staking] Additional check for virtual stakers (#5985) migrate pallet-remarks to v2 bench syntax (#6291) Remove leftover references of Wococo (#6361) snowbridge: allow account conversion for Ethereum accounts (#6221) authority-discovery: Populate DHT records with public listen addresses (#6298) Bounty Pallet: add `approve_bounty_with_curator` call to `bounties` pallet (#5961) Silent annoying log (#6351) [pallet-revive] rework balance transfers (#6187) `statement-distribution`: RFC103 implementation (#5883) Disable flaky tests reported in #6343 / #6345 (#6346) migrate pallet-recovery to benchmark V2 syntax (#6299) inclusion emulator: correctly handle UMP signals (#6178) ...
This PR removes the
transfersyscall and changes balance transfers to make the existential deposit (ED) fully transparent for contracts.The
transferAPI is removed since there is no corresponding EVM opcode and transferring via a call introduces barely any overhead.We make the ED transparent to contracts by transferring the ED from the call origin to nonexistent accounts. Without this change, transfers to nonexistant accounts will transfer the supplied value minus the ED from the contracts viewpoint, and consequentially fail if the supplied value lies below the ED. Changing this behavior removes the need for contract code to handle this rather annoying corner case and aligns better with the EVM. The EVM charges a similar deposit from the gas meter, so transferring the ED from the call origin is practically the same as the call origin pays for gas.