-
Notifications
You must be signed in to change notification settings - Fork 2
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
feat: ope poc #203
feat: ope poc #203
Conversation
add basic support in sdk: - add a TxExecutor baseapp option - add TxIndex/TxCount/MsgIndex in context Update CHANGELOG.md Signed-off-by: yihuang <[email protected]> fix misspell fix lint run gci fix lint gci seems not compatible with gofumpt
generic interface generic btree generic cachekv generic transient store support ObjStore changelog Update CHANGELOG.md Signed-off-by: yihuang <[email protected]> object store key Apply review suggestions fix merge conflict fix snapshot revert dependers
* Problem: MultiStore interface is bloated Solution: - Split out specialied methods from it, keeping the MultiStore generic * Update store/CHANGELOG.md Signed-off-by: yihuang <[email protected]> --------- Signed-off-by: yihuang <[email protected]>
* Support RunAtomic API * add unit test
* Problem: no efficient way to collect fee Solution: - support an idea of virtual account in bank module, where the incoming coins are accumulated in a per-tx object store first, then accumulate and credit to the real account at end blocker. it's nesserary to support parallel tx execution, where we try not to access shared states. more efficient sum support SendCoinsFromModuleToAccountVirtual fix test fix test * fix lint * fix test * fix test * fix test * fix test * fix test * fix mock keeper * try fix lint * try fix lint * reuse code * try fix linter * Update x/bank/keeper/send.go Signed-off-by: yihuang <[email protected]> * algin panic call * fix error handling * try fix lint * nolintlint generate falst postiive --------- Signed-off-by: yihuang <[email protected]>
… of same tx (cosmos#565) * Problem: signature verification result not cache between incarnations of same tx Closes: cosmos#564 Solution: - introduce incarnation cache that's shared between incarnations of the same tx * Update CHANGELOG.md Signed-off-by: yihuang <[email protected]> * Update types/context.go Signed-off-by: yihuang <[email protected]> * Update types/context.go Signed-off-by: yihuang <[email protected]> * fix nil convert --------- Signed-off-by: yihuang <[email protected]>
* Problem: tx executor can't do dependency analysis Solution: - change the api to allow static analysis on tx body * fix * changelog * cleanup * Update CHANGELOG.md Signed-off-by: yihuang <[email protected]> --------- Signed-off-by: yihuang <[email protected]>
for key := range okeys { | ||
cms.MountStoreWithDB(okeys[key], storetypes.StoreTypeObject, nil) | ||
} |
Check warning
Code scanning / CodeQL
Iteration over map Warning test
@@ -193,6 +195,10 @@ | |||
) | |||
} | |||
|
|||
func (am AppModule) EndBlock(ctx context.Context) error { | |||
return am.keeper.CreditVirtualAccounts(ctx) |
Check warning
Code scanning / CodeQL
Panic in BeginBock or EndBlock consensus methods Warning
path flow from Begin/EndBlock to a panic call
path flow from Begin/EndBlock to a panic call
path flow from Begin/EndBlock to a panic call
path flow from Begin/EndBlock to a panic call
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.
Could you provide reference to a related Cronos PR for this part? It seems necessary to review whether virtual bank functions in other modules were missed and should be considered together.
} | ||
|
||
req.callback(&abci.ResponseCheckTx{ | ||
GasWanted: int64(gInfo.GasWanted), // TODO: Should type accept unsigned ints? |
Check failure
Code scanning / gosec
integer overflow conversion uint64 -> uint8 Error
|
||
req.callback(&abci.ResponseCheckTx{ | ||
GasWanted: int64(gInfo.GasWanted), // TODO: Should type accept unsigned ints? | ||
GasUsed: int64(gInfo.GasUsed), // TODO: Should type accept unsigned ints? |
Check failure
Code scanning / gosec
integer overflow conversion uint64 -> uint8 Error
} | ||
app.chCheckTx <- reqCheckTx | ||
|
||
go app.prepareCheckTx(reqCheckTx) |
Check notice
Code scanning / CodeQL
Spawning a Go routine Note
) | ||
|
||
func (app *BaseApp) startReactors() { | ||
go app.checkTxAsyncReactor() |
Check notice
Code scanning / CodeQL
Spawning a Go routine Note
|
||
waits, signals := app.checkAccountWGs.Register(app.cdc, req.tx) | ||
|
||
go app.checkTxAsync(req, waits, signals) |
Check notice
Code scanning / CodeQL
Spawning a Go routine Note
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Description
Closes: #XXXX
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!
to the type prefix if API or client breaking changeCHANGELOG.md
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...
!
in the type prefix if API or client breaking change