add erc20 compatible allowances#950
Open
gregdhill wants to merge 1 commit intoopen-web3-stack:masterfrom
Open
Conversation
Signed-off-by: Gregory Hill <[email protected]>
Codecov Report
@@ Coverage Diff @@
## master #950 +/- ##
==========================================
- Coverage 78.46% 78.43% -0.03%
==========================================
Files 105 105
Lines 10819 10879 +60
==========================================
+ Hits 8489 8533 +44
- Misses 2330 2346 +16
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Member
|
I just don't like the approve/transferFrom model. I understand we need it for ERC20 but I don't want to expose them in pallets. There is no reason user should use those calls and therefore we shouldn't have those calls. There are two alternative approach: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I'm not sure if this has been considered before, but we are working on adding ERC20 precompiles here and we need some way to approve the spending of funds. Substrate already supports this in
pallet-assetsso we can follow their design approach. For instance they do require deposits which I have currently omitted from this PR for simplicity but let me know if that is something you'd like to see. Otherwise the current change itself is trivial, we have another storage map which tracks the total amount approved for spending which can be updated either by theset_allowanceextrinsic or it will decreased when the spender callstransfer_allowance.