Skip to content
This repository was archived by the owner on Jan 20, 2026. It is now read-only.

[EVM] rebasing sei-cosmos#422

Merged
stevenlanders merged 26 commits intoevm-tempfrom
rebase-2024-02-06
Feb 6, 2024
Merged

[EVM] rebasing sei-cosmos#422
stevenlanders merged 26 commits intoevm-tempfrom
rebase-2024-02-06

Conversation

@stevenlanders
Copy link
Contributor

Describe your changes and provide context

  • sei cosmos main rebase

Testing performed to validate your change

  • unit / lower env

philipsu522 and others added 26 commits January 11, 2024 12:18
## Describe your changes and provide context
Add migration handler to add new disable seqno parameter to chain. Note
that i verified that we already use default values so we can just set
the params to default instead of maintaining authParamsV1 and V2
## Testing performed to validate your change
- unit tests
- upgraded local chain, ensure that bank sends work
## Describe your changes and provide context
This PR reverts the change in
#353 and
#391 until we have OCC
fully enabled.

## Testing performed to validate your change
Unit test coverage
## Changelog

* Ensure we have panic recovery handlers in `PrepareProposal` and
`ProcessProposal`.
…tion (#404)

## Describe your changes and provide context
This removes the behavior of disabling a dynamic dependency generator if
it returns something invalid during message dependency generation. This
needs to be removed so that the state writes are consistent with
synchronous execution, such that message dependency generation is a
read-only path. This change won't cause correctness issues, but in the
case that there is an incorrect dynamic dependency generator, it will
result in wasted compute since it will try it every time instead of
disabling it after the first time it was incorrect. This seems like an
acceptable compromise in order to have consistency with synchronous
execution.

## Testing performed to validate your change
Updated unit tests, and tested this behavior on a loadtest cluster
## Describe your changes and provide context
This should fix the concurrent map access for storeV2 root multistore
over (rs.ckvStores). The problem is that it is currently not protected
by a read lock so when other goroutine modify the map, it will throw
panic

## Testing performed to validate your change
## Describe your changes and provide context
Fix a bunch of minor issues from audit:
- LoadVersionAndUpgrade should not ignore version
- Simplify CacheWrap to avoid wrapping twice
- SS store query is not setting height correctly in the query response
- Add panic logic for bumpversion if it is false in commit
- Use the correct commit info in query
## Testing performed to validate your change
## Describe your changes and provide context
For EVM getProof endpoint, we'd need to call functions on the underlying
iavl store, so we'd need a way to expose the parent store from a cachekv

## Testing performed to validate your change
## Describe your changes and provide context
We need to make `TxIndex` available during dependency generation so that
we can derive the corresponding temporary intermediate account and
coinbase account for the message

## Testing performed to validate your change
- To avoid multiple deserialization, as well as adding cached values to
sdk.Tx
- Add new acl constants for evm subprefixes
- Add a new bank send method that doesn't automatically create accounts
unit tests & local sei integration
Integrate with pending txs:
- return `ResponseCheckTxV2`
- add a new field `PendingTxChecker` field in Context

integration with local sei
## Describe your changes and provide context

## Testing performed to validate your change
## Describe your changes and provide context
Add two new bank keeper functions that allow sub-usei (i.e. wei)
sending, where 1 usei = 10^12 wei:
```
SendCoinsAndWei(ctx sdk.Context, from sdk.AccAddress, to sdk.AccAddress, customEscrow sdk.AccAddress, denom string, amt sdk.Int, wei sdk.Int) error
GetWeiBalance(ctx sdk.Context, addr sdk.AccAddress) sdk.Int
```
Any usei that is split as a result of wei sending will be stored in an
escrow account, which can either be one that's specified by the caller
or a default global escrow module account.

## Testing performed to validate your change
unit test & local integration with sei-chain
## Describe your changes and provide context

## Testing performed to validate your change
- Adding an expiration handler callback that lets the mempool

- sei-protocol/sei-tendermint#179

- e2e testing with hardhat tests
## Describe your changes and provide context
- needs tendermint pr and go.mod update
- adds evm properties to the `ResponseCheckTxV2`
- adds evm properties to context

## Testing performed to validate your change
- hardhat tests on sei-chain repo
- unit tests on tendermint repo
## Describe your changes and provide context
- update tendermint

## Testing performed to validate your change
- unit tests
## Describe your changes and provide context
Add an interface function `VersionExists` to store types

## Testing performed to validate your change
local sei integration
## Describe your changes and provide context
Iterating with mergeiterator to get all keys and then deleting is
extremely slow when there are >10 layers of `cachekv`. This PR adds a
more efficient function to delete all keys within a range, without
having to make recursive calls like mergeiterator.

## Testing performed to validate your change
unit test on cachekv

---------

Co-authored-by: Philip Su <philip.su.522@gmail.com>
## Describe your changes and provide context
- update sei-tendermint version to include expire tx metric fix

## Testing performed to validate your change
- existing tests
## Describe your changes and provide context
- update to tendermint  (keeping version in sync with sei-chain)

## Testing performed to validate your change
- unit tests
## Describe your changes and provide context

## Testing performed to validate your change
## Describe your changes and provide context
- includes new tendermint 

## Testing performed to validate your change
- unit tests
## Describe your changes and provide context
Bypass negative check for sends involving Wei escrow accounts, since
they may temporarily go negative during tx processing (but will be
settled back to 0 in EndBlock)

## Testing performed to validate your change
tested with the corresponding sei change
## Describe your changes and provide context
- ticks tm version

## Testing performed to validate your change
- unit and lower env testing
@stevenlanders stevenlanders merged commit 1669a25 into evm-temp Feb 6, 2024
@stevenlanders stevenlanders deleted the rebase-2024-02-06 branch February 6, 2024 18:27
codchen added a commit that referenced this pull request Mar 7, 2024
- sei cosmos main rebase

- unit / lower env

---------

Co-authored-by: Philip Su <philip.su.522@gmail.com>
Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Uday Patil <udpatil@gmail.com>
Co-authored-by: codchen <codchen03@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants