Implement GAS refund attribute #1039

Open
opened 2025-12-28 17:15:01 +00:00 by sami · 2 comments
Owner

Originally created by @roman-khimov on GitHub (Dec 15, 2022).

See https://github.com/neo-project/neo/issues/2806#issuecomment-1220405200. It's pretty easy to do with NeoGo, we have all of the appropriate data immediately. If it works (and it should, only contract addresses are somewhat of a problem, but it's a known one and it can be worked around), it can be proposed as a proper protocol change for 3.7.0/3.8.0.

Originally created by @roman-khimov on GitHub (Dec 15, 2022). See https://github.com/neo-project/neo/issues/2806#issuecomment-1220405200. It's pretty easy to do with NeoGo, we have all of the appropriate data immediately. If it works (and it should, only contract addresses are somewhat of a problem, but it's a known one and it can be worked around), it can be proposed as a proper protocol change for 3.7.0/3.8.0.
Author
Owner

@ZhangTao1596 commented on GitHub (Jan 31, 2023):

An initial version is here https://github.com/ZhangTao1596/neo-go/tree/system-fee-refund. I will optimize and test tomorrow.

@ZhangTao1596 commented on GitHub (Jan 31, 2023): An initial version is here https://github.com/ZhangTao1596/neo-go/tree/system-fee-refund. I will optimize and test tomorrow.
Author
Owner

@roman-khimov commented on GitHub (Jan 31, 2023):

There is a race between dao.GetTxExecResult() in getTxCosumed() and storeBlock() saving this data asynchronously (see a goroutine there), some additional mechanism is needed probably to have this data in the context of PostPersist (we technically have it, but it may not be yet in DAO).

@roman-khimov commented on GitHub (Jan 31, 2023): There is a race between `dao.GetTxExecResult()` in `getTxCosumed()` and `storeBlock()` saving this data asynchronously (see a goroutine there), some additional mechanism is needed probably to have this data in the context of `PostPersist` (we technically have it, but it may not be yet in DAO).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/neo-go#1039
No description provided.