-
Notifications
You must be signed in to change notification settings - Fork 120
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
[chain/transaction] Introduce Multi-Action Support #698
Conversation
} | ||
} | ||
|
||
// We create a temp state checkpoint to ensure we don't commit failed actions to state. | ||
actionStart := ts.OpIndex() | ||
handleRevert := func(rerr error) (*Result, error) { | ||
handleRevert := func(rerr error) ([]*Result, error) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we revert, return all results up to the failure (with success true)
This PR has become stale because it has been open for 30 days with no activity. Adding the |
@@ -41,7 +41,7 @@ func (b *StatelessBlock) Execute( | |||
f = fetcher.New(im, numTxs, b.vm.GetStateFetchConcurrency()) | |||
e = executor.New(numTxs, b.vm.GetTransactionExecutionCores(), MaxKeyDependencies, b.vm.GetExecutorVerifyRecorder()) | |||
ts = tstate.New(numTxs * 2) // TODO: tune this heuristic | |||
results = make([]*Result, numTxs) | |||
results = make([]*Result, 0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want a 2d array with a length of numTxs
instead? or flatten all the results into one array? not sure of the consequences of doing the flatten approach right now
Signed-off-by: William Law <[email protected]>
// all storage use in the background. KeyOperations is unique to a view. | ||
allocates, writes := ts.KeyOperations() | ||
results := make([]*Result, 0) | ||
for _, action := range t.Actions { |
Check warning
Code scanning / CodeQL
Useless assignment to local variable Warning
Going to use #858 going forward (had too many issues with merge conflicts and made it difficult to reason). Was easier to start fresh |
Resolves: #335
TODO
Rule
to limit number ofActions
perTransaction
ActionID
(33 bytes) for unique interactions rather thanTxID
(may need more than 1 unique key per tx)Future Work (post-merge)
Warp.Message
to anAction
instead of aTransaction
(then consider eachAction
anInnerTx
)