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

Remove dependence on deferred transactions in reference contracts #8

Closed
Tracked by #1480
arhag opened this issue Oct 4, 2022 · 2 comments
Closed
Tracked by #1480

Remove dependence on deferred transactions in reference contracts #8

arhag opened this issue Oct 4, 2022 · 2 comments
Assignees

Comments

@arhag
Copy link
Member

arhag commented Oct 4, 2022

After #7 is complete, only the core contract should have deferred transactions used in a couple of places (unstaking refund and name bid refund). But already have ways to claim the refunds in case the deferred transactions fail. So removing the deferred transaction dependency in the core contract can be as simple as removing the lines that schedule the redundant deferred transaction.

Note however this will have the impact of always requires users to take another explicit action (which requires signing a new transaction) to actually claim the refund whereas now the process does usually happen automatically. To make this process less burdensome, we may wish to explore changes to make it possible for anyone to automate the refund claiming on behalf of the user. This may simply involving adjusting the authorization required for the refund action so that anyone can claim a refund on behalf of a user rather than only the user who is owed the refund. However, due to the user impact of this change, we may still wish to further consider the approach we take here before removing the deferred transaction support in the core contract.

@ericpassmore
Copy link
Contributor

Quick Grep found the following hits on Defered Transaction
grep -ri deferred * | cut -d: -f1 | sort | uniq -c
6 contracts/eosio.bios/include/eosio.bios/eosio.bios.hpp
6 contracts/eosio.boot/include/eosio.boot/eosio.boot.hpp
1 contracts/eosio.msig/include/eosio.msig/eosio.msig.hpp
2 contracts/eosio.system/include/eosio.system/eosio.system.hpp
6 contracts/eosio.system/include/eosio.system/native.hpp
7 contracts/eosio.system/src/delegate_bandwidth.cpp
1 contracts/eosio.system/src/eosio.system.cpp
3 contracts/eosio.system/src/name_bidding.cpp
1 contracts/eosio.wrap/include/eosio.wrap/eosio.wrap.hpp
1 docs/04_guides/01_upgrading-the-eosio.system-contract.md
4 docs/04_guides/07_how-to-use-eosio.wrap.md

@bhazzard bhazzard changed the title Remove dependence on deferred transactions Remove dependence on deferred transactions in reference contracts Sep 14, 2023
@ericpassmore ericpassmore self-assigned this Sep 18, 2023
@ericpassmore
Copy link
Contributor

closed with merge of PR #29

@github-project-automation github-project-automation bot moved this from Todo to Done in Team Backlog Sep 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Done
Development

No branches or pull requests

3 participants