Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
527 commits
Select commit Hold shift + click to select a range
64f559a
Fix deferred sends from double subtracting (#261)
udpatil Jun 1, 2023
0861789
add more unit tests for global fee param (#263)
BrandonWeng Jun 1, 2023
08e97c3
Change dec coin amount of to iterative too (#265)
BrandonWeng Jun 1, 2023
fc5ad96
Defer closing leveldb when commit is happening (#267)
codchen Jun 5, 2023
19e800e
Invalid concurrent metric emission (#270)
udpatil Jun 6, 2023
2a4f541
Add more unit tests for acl module (#271)
BrandonWeng Jun 7, 2023
0ac6975
Remove deferred withdrawals and add saturating sub with tests (#266)
udpatil Jun 7, 2023
0cc8362
[Certik Audit] Remove duplicate function (#272)
philipsu522 Jun 7, 2023
1d8e69d
[Certik Audit] Mergeable conditional statements (#279)
philipsu522 Jun 8, 2023
817c387
[Certik Audit] Remove duplicate iterator.Close() (#273)
philipsu522 Jun 8, 2023
b7f44d0
Patch barberry for genesis vesting accounts (#280)
BrandonWeng Jun 8, 2023
255d9a2
[Certik Audit] Reuse signed blocks window (#274)
philipsu522 Jun 8, 2023
1e0a7f4
[Certik Audit] Remove unneccesary struct copy (#277)
philipsu522 Jun 8, 2023
8854493
[Certik Audit] Fix key length check (#278)
philipsu522 Jun 8, 2023
8d9ac06
[x/slashing] Add more test cases and documentation for slashing modul…
yzang2019 Jun 9, 2023
ae02eb7
Bank unit testing (#275)
udpatil Jun 9, 2023
64b7e65
Code Coverage Reports (#282)
BrandonWeng Jun 12, 2023
3096d32
Fix codecov (#283)
BrandonWeng Jun 12, 2023
0e79706
Fix allowed_msg uncapped spend limit bug (#284)
Jun 13, 2023
59358d5
Add more validating for staking and gov modules (#289)
BrandonWeng Jun 14, 2023
78ecca3
[nice to have] multisig preventing signing with wrong key (#286)
BrandonWeng Jun 14, 2023
c6acf9c
Always reset state between proposals (#285)
BrandonWeng Jun 14, 2023
9d58715
refactor deferred balance to use memkv (#287)
udpatil Jun 14, 2023
293e962
Fix ante validation (#291)
udpatil Jun 14, 2023
01141c5
Synchronize lastCommitInfo access in rootmulti (#288)
codchen Jun 15, 2023
baf7640
Revert "Always reset state between proposals (#285)" (#292)
BrandonWeng Jun 15, 2023
de5523d
Add deferred balance to total supply calculation (#293)
udpatil Jun 16, 2023
af47935
Add test coverage for Gov CLI (#290)
yzang2019 Jun 16, 2023
33cd5f9
Disable crisis msg verify invariant (#294)
udpatil Jun 20, 2023
8c165b0
Update Misleading Code Naming (#295)
BrandonWeng Jun 21, 2023
a600644
[Certik Audit] Fix typos (#297)
philipsu522 Jun 22, 2023
4277e0e
Config changes for no orphan (#259)
codchen Jun 22, 2023
62179a3
apply audit fixes for cache and aclmapping (#298)
udpatil Jun 22, 2023
6a18478
Add > 1 check for gov quorum (#299)
BrandonWeng Jun 22, 2023
592ecf3
Make iavl separate orphan storage configurable (#301)
codchen Jun 23, 2023
be5d615
[Certik Audit] Fix addr len check (#300)
philipsu522 Jun 26, 2023
a36650f
[Certik Audit] Clean up byte to int cast (#304)
philipsu522 Jun 28, 2023
d0b5c7d
Add a new snapshot directory config (#305)
yzang2019 Jun 30, 2023
42ce315
Fix --dry-run for TXs (#306)
BrandonWeng Jun 30, 2023
4ea0123
Add NoConsumptionInfiniteGasMeter (#308)
codchen Jul 12, 2023
5a00851
Add unit test check job (#309)
BrandonWeng Jul 13, 2023
db88a9e
bump tendermint (#312)
udpatil Aug 2, 2023
689b038
Add workflow to register proto files (#313)
codchen Aug 22, 2023
47756ee
Allow manual trigger of buf.build protos (#314)
philipsu522 Aug 22, 2023
250902f
Fix buf push (#315)
codchen Aug 23, 2023
5ce4761
Allow minor releases before the block height (#320)
stevenlanders Oct 4, 2023
e1300ee
Update tendermint to v0.2.28 (#325)
stevenlanders Oct 6, 2023
525d7e5
Fast reject invalid consensus params (#331)
philipsu522 Oct 16, 2023
4ddac00
Make createQueryContext public (#333)
codchen Oct 19, 2023
adfc650
Make Localinfo public (#345)
codchen Nov 3, 2023
7aa40f0
Add ACL constants for EVM (#346)
codchen Nov 9, 2023
4129e39
Seqno config disable (#354)
philipsu522 Nov 21, 2023
aca3153
Revert "Seqno config disable (#354)" (#364)
philipsu522 Nov 27, 2023
955e502
Perf: Relax locking contention for cache and cachekv (#353)
yzang2019 Dec 5, 2023
55b63c7
Revert "Add ACL constants for EVM" (#378)
codchen Dec 8, 2023
ff08174
Refactor wasm dependency mapping (#383)
udpatil Dec 22, 2023
489a75a
[SeiDB] Part1: Add root multistore v2 in cosmos sdk (#373)
yzang2019 Dec 27, 2023
a3249b2
[SeiDB] Part2:Add io.closer interface for commit multistore (#374)
yzang2019 Dec 27, 2023
c1d4dc8
[SeiDB] Part3: Adjust Snapshot and Pruning logic for storeV2 (#376)
yzang2019 Dec 27, 2023
20fe5df
[SeiDB] Part4: Remove SetOrphanConfig (#377)
yzang2019 Dec 28, 2023
59a44c5
Improve cachekv write performance (#388)
yzang2019 Jan 2, 2024
70a2ff0
[SeiDB] Start pruning manager to sei cosmos (#393)
yzang2019 Jan 8, 2024
9bb3438
Fix memory leak due to emitting infinite events during snapshot (#391)
yzang2019 Jan 9, 2024
555e8fc
Add config to disable seqno (#385)
philipsu522 Jan 9, 2024
0be3425
Add migration handler for disabling seqno (#394)
philipsu522 Jan 11, 2024
e2825c2
Revert removing events for cachekv (#396)
yzang2019 Jan 17, 2024
9e5cd3d
fix(baseapp): Ensure Panic Recovery in Prepare & Process Handlers (#401)
alexanderbez Jan 24, 2024
8689e30
No longer disable dynamic dep generation during ACL dependency genera…
udpatil Jan 25, 2024
d21502a
[SeiDB] Fix concurrent map access (#411)
yzang2019 Jan 30, 2024
704855c
[SeiDB] Fix various issues from ottersec audit (#418)
yzang2019 Feb 1, 2024
8dac641
[SeiDB] Fix SS apply changeset version off by 1 (#424)
yzang2019 Feb 7, 2024
1019eff
Add new error code for oracle spam broadcast failure (#421)
yzang2019 Feb 8, 2024
781b2ef
Add min gas price to abci info (#440)
philipsu522 Feb 26, 2024
dccf06a
Add occ todos / comments (#317)
udpatil Sep 13, 2023
4698971
Multiversion Item Implementation and Tests (#318)
udpatil Sep 26, 2023
e597f95
[occ] Add incarnation field (#321)
udpatil Sep 29, 2023
55d0a6f
[occ] Implement basic multiversion store (#322)
udpatil Oct 6, 2023
e2d384e
[occ] Add concurrency worker configuration (#324)
stevenlanders Oct 9, 2023
ac25c03
[occ] Occ multiversion store (#326)
udpatil Oct 10, 2023
f629716
[occ] Add batch tx delivery interface (#327)
stevenlanders Oct 10, 2023
fd10e20
[occ] MVKV store implementation and tests (#323)
udpatil Oct 10, 2023
292d14e
[occ] Add validation function for transaction state to multiversionst…
udpatil Oct 13, 2023
936509e
[occ] Add basic worker task and scheduler shell (#328)
stevenlanders Oct 17, 2023
325fadd
[occ] Implement iterator for mvkv (#329)
udpatil Oct 17, 2023
154c0f8
fix dependency (#334)
udpatil Oct 17, 2023
dcc5a0e
[occ] Iterateset tracking and validation implementation (#337)
udpatil Oct 19, 2023
903b686
[occ] Add scheduler logic for validation (#336)
stevenlanders Oct 19, 2023
fb4fc93
[occ] Fix situation where no stores causes a panic (#338)
stevenlanders Oct 20, 2023
47ba32d
Add occ flag check to context (#340)
stevenlanders Oct 23, 2023
9badb4c
[occ] Add struct field and helpers for estimate prefills (#341)
udpatil Oct 24, 2023
0fa8725
Fix map access panic (#343)
stevenlanders Oct 30, 2023
b6cdf97
Gen estimates writeset (#344)
udpatil Nov 3, 2023
6c4906d
[OCC] Add trace spans to scheduler (#347)
stevenlanders Nov 6, 2023
c34ae24
[occ] Fix parent store readset validation (#348)
udpatil Nov 10, 2023
8995ce4
[occ] OCC scheduler and validation fixes (#359)
udpatil Nov 22, 2023
9680321
[occ] Add optimizations for multiversion and mvkv (#361)
udpatil Nov 27, 2023
fc03efd
[OCC] Add scheduler goroutine pool and optimizations (#362)
stevenlanders Nov 29, 2023
58e5644
update concurrency workers (#380)
udpatil Dec 12, 2023
fc929a4
[OCC] Fix hang where abort channel blocks iterator (#379)
stevenlanders Dec 13, 2023
ef2d9f0
Occ iterator fix (#389)
udpatil Jan 2, 2024
e8a1920
fix interface
udpatil Jan 2, 2024
a5a1f6b
fix deleteIterateSet and leave some comments (#395)
udpatil Jan 12, 2024
d16c735
Occ enabled cfg (#398)
udpatil Jan 18, 2024
fb58989
Remove block gas meter in occ (#407)
udpatil Jan 25, 2024
8ef9852
Relax locking contention (#427)
udpatil Feb 9, 2024
76f05cb
fix assignment to not cause panic (#429)
udpatil Feb 9, 2024
46bddd9
[OCC] add metrics for scheduler (#431)
stevenlanders Feb 13, 2024
5dd7a61
[OCC] perform validateAll after execution (#437)
stevenlanders Feb 15, 2024
7064ad4
Add ci to seiv2 branch in sei-cosmos (#444)
udpatil Feb 28, 2024
4933f16
Seiv2 runtx (#448)
udpatil Mar 1, 2024
0713140
Refactor readset to handle potential race conditions (#449)
udpatil Mar 2, 2024
6aa738a
add unit test for iterator validation (#450)
udpatil Mar 2, 2024
b6320e0
Fix seidb abci query race condition (#441)
yzang2019 Mar 4, 2024
0648a2e
Fix iterator behavior for edge case validation failures (#451)
udpatil Mar 5, 2024
e7e43a6
[OCC] Add sync fallback for high incarnation counts (#452)
stevenlanders Mar 6, 2024
de6a650
Refactor abort handlers and iterator early stops to allow for abortin…
udpatil Mar 11, 2024
366d4d5
Write estimates even on abort to provide partial estimation of tx wri…
udpatil Mar 12, 2024
a90b730
Add metrics for storeV2 (#456)
yzang2019 Mar 14, 2024
99badbe
Refactor sync fallback to apropriately validate and re-excute as nece…
udpatil Mar 14, 2024
f83505f
Adding token factory specific denom endpoint (#457)
dssei Mar 14, 2024
347de3e
Revert "Adding token factory specific denom endpoint" (#463)
dssei Mar 19, 2024
39007e4
Rework abort handling to not be dependent on extracting codes from de…
udpatil Mar 19, 2024
2371b24
[OCC] fix undesired colon causing re-executions (#466) (#467)
stevenlanders Mar 19, 2024
e1092af
Add readcache to validationIterator to prevent race conditions causin…
udpatil Mar 26, 2024
19e5767
[OCC] if synchronous, reset non-pending (#477)
stevenlanders Mar 29, 2024
7703f92
Add latency log for occ scheduler (#483)
yzang2019 Apr 16, 2024
a513814
Cosmos Gas Multiplier Params (#489)
Kbhat1 Apr 19, 2024
625702b
Expose parent on CacheKV (#352)
codchen Nov 17, 2023
2765b3b
Set TxIndex before generating dependencies (#358)
codchen Nov 22, 2023
beaa20a
change DeliverTx to take typed tx (#360)
codchen Dec 4, 2023
33585c4
Integrate with pending txs in mempool (#381)
codchen Dec 16, 2023
031a359
Add checkTx cb (#382)
codchen Dec 20, 2023
68a75c1
Add wei support in bank keeper (#386)
codchen Dec 28, 2023
cb6870c
Add ACL constants for Bank Wei prefix (#387)
codchen Dec 28, 2023
009ad7e
[EVM] Add pending nonce support (#390)
stevenlanders Jan 4, 2024
4336fb2
rebase
codchen Jan 11, 2024
97db46d
[EVM] Allow multiple txs from same account in a block (#397)
stevenlanders Jan 19, 2024
d9be845
Expose VersionExists (#400)
codchen Jan 23, 2024
9fc5b79
Add `DeleteAll` method to store type (#402)
codchen Jan 24, 2024
ddf0fd7
Allow balance to go negative in SendCoinsAndWei (#417)
codchen Feb 1, 2024
464b01f
Expose add/sub balance methods on bank keeper (#432)
codchen Feb 13, 2024
d1d3bac
Remove escrow account in wei logic (#434)
codchen Feb 14, 2024
6c3766b
Add evm address to keys output (#442)
codchen Feb 27, 2024
bcb9501
Amplify cosmos tx priority (#443)
codchen Feb 27, 2024
0bdac9f
occ-evm compatibility changes
udpatil Jan 8, 2024
a344fbc
update generate estimated writeset for evm compatibility
udpatil Jan 9, 2024
5e32595
use absoluteIndex instead of relative Index for txIndex
udpatil Jan 11, 2024
8b09043
Fix mvkv to adhere to updated KVStore interface
udpatil Jan 25, 2024
585c26b
update schduler and tests
udpatil Jan 26, 2024
74948ec
update scheduler test call pattern
udpatil Feb 28, 2024
49c7f9a
Integrate with tendermint EVM tx replacement logic (#446)
codchen Mar 7, 2024
ab715a5
Fix indexesValidated and PrefillEstimates to operate on absolute idx …
udpatil Mar 11, 2024
295af0d
Modify max incarnation fallback (#460)
udpatil Mar 14, 2024
015792a
[OCC] if no txs, avoid scheduler overhead, limit tasks (#468)
stevenlanders Mar 20, 2024
5317b98
Fix DeleteAll for CacheKV/MultiVersionKV so that all keys are properl…
codchen Mar 22, 2024
0af8163
Fix cachekv DeleteAll (#476)
codchen Mar 27, 2024
57b3b7d
Added `TxTracer` to `DeliverTxEntry` which is the first step to suppo…
maoueh Mar 29, 2024
d54241f
[EVM] Add unsupported tx type to registered errors (#480)
stevenlanders Apr 1, 2024
69204ad
Fix Panic: Check For Error Before Defer (#482)
Kbhat1 Apr 10, 2024
6afd1d2
[EVM] add tx hash to evm info (#488)
stevenlanders Apr 18, 2024
e5f6032
Update sei-tendermint to v0.3.0
udpatil Apr 19, 2024
2eb221e
Revert "Revert removing events for cachekv (#396)" (#491)
udpatil Apr 19, 2024
ff35bce
Gas multiplier getter (#492)
codchen Apr 25, 2024
a606191
Remove Non-Multiplier Gas Meter (#493)
Kbhat1 Apr 29, 2024
5076e4c
Fix seid keys list with evm-addr (#495)
philipsu522 Apr 29, 2024
9ed88fe
Prevent abort channel from filling up (#494)
udpatil Apr 29, 2024
94325df
[EVM] update tendermint with mempool fix (#496)
stevenlanders Apr 30, 2024
3391beb
Vm error evm (#498)
codchen May 6, 2024
fe87a22
use sdk.Result for passing EvmError (#499)
codchen May 6, 2024
500333f
add sdk.Result decorator (#500)
codchen May 6, 2024
99f2b71
Export/import wei balance (#502)
codchen May 7, 2024
c01496c
Add validation to prevent data corruption due to SS store misoperatio…
yzang2019 May 8, 2024
d32c72c
Fix wei balance exporting (#504)
codchen May 10, 2024
1d86c48
Allow reading pairs in changeset before flush (#506)
codchen May 14, 2024
5156838
Fix export genesis for historical height (#505)
yzang2019 May 15, 2024
845561e
Bump seidb 0.0.38 (#507)
yzang2019 May 16, 2024
fd72375
Add metrics to expose chain state size for StoreV2 (#508)
yzang2019 May 17, 2024
18f32ac
Add error for evm revert (#511)
udpatil Jun 3, 2024
609f65d
Set tx checksum in ctx (#512)
codchen Jun 4, 2024
74d7c0a
Add cosmos events for sending/receiving wei (#510)
udpatil Jun 6, 2024
1845604
Enable swagger endpoint by default (#515)
dssei Jun 10, 2024
35f2c41
add EVM event manager to context (#516)
codchen Jun 11, 2024
f0ec3a4
Fix metric name for chain state size (#517)
yzang2019 Jun 14, 2024
46aa357
Add callback for receipt storage (#520)
stevenlanders Jun 27, 2024
fa49a22
add DeliverTx hook (#521)
codchen Jun 27, 2024
3db6428
Remove dex usages (#509)
udpatil Jul 2, 2024
447feab
Add CacheMultiStoreForExport to support wasm snapshot export (#523)
yzang2019 Jul 16, 2024
178707f
Add public interface for multistore to return earlist version (#525)
yzang2019 Jul 18, 2024
861e6e5
Add recipient checker logics to bank send (#526)
codchen Jul 22, 2024
f50b879
Add DeliverTx callback (#529)
codchen Jul 25, 2024
93aabbb
Add logs for snapshot export and import (#528)
yzang2019 Jul 26, 2024
b9de8a9
Genesis export stream (#519)
jewei1997 Jul 29, 2024
b60c00b
Add EVMEntryViaWasmdPrecompile flag (#530)
codchen Jul 30, 2024
f2765b8
Revert "Remove dex usages (#509)" (#531)
udpatil Aug 1, 2024
cf4c571
fix: init app earliest version correctly after state sync (#535)
blindchaser Aug 19, 2024
8a6e87d
Delete kvstore specified in store upgrades (#533)
udpatil Aug 20, 2024
c1ba047
Stop executing the handler when proposal is sumbmitted (#534)
Aug 23, 2024
1c9da91
Add max gas limit check in ante handler (#532)
yzang2019 Aug 28, 2024
1e29d35
fix closer assignment (#536)
udpatil Aug 28, 2024
69df5c8
bump dependencies (#537)
udpatil Aug 30, 2024
9bd21c7
return prior to delivertx hooks upon evm err (#540)
udpatil Sep 20, 2024
bcaa1ff
Token allow list feature. Bank module changes (#538)
dssei Sep 20, 2024
9e5ecfe
add precompile invoked though delegatecall flag in ctx (#539)
jewei1997 Sep 23, 2024
4b6079d
Refactor DeliverTx hook so that panics can be handled (#543)
codchen Oct 17, 2024
a5d33b8
Only apply DeliverTx hooks if there is no error (#544)
codchen Oct 22, 2024
512ac14
Archive Node Migration: Expose Get State Store + Query Iavl Before Mi…
Kbhat1 Oct 29, 2024
b060a14
do not early return for validated task in synchronous mode (#547)
codchen Oct 30, 2024
e2ff395
Flush receipt with the correct state (#546)
codchen Nov 1, 2024
5f82ff3
SS Only Write Leaf Nodes (#548)
Kbhat1 Nov 1, 2024
4bfd936
Move allow list logic to msg server (#550)
dssei Nov 4, 2024
4ce3d0c
Param change verification (#551)
philipsu522 Nov 19, 2024
6ff1706
Remove Unnecessary Serving logs (#553)
Kbhat1 Nov 22, 2024
472fa7f
Remove stale al comment (#554)
dssei Nov 22, 2024
012d15c
Set Earliest Version Update (#555)
Kbhat1 Nov 27, 2024
ae773fe
Fix Seid Rollback state mismatch error (#557)
yzang2019 Dec 5, 2024
035c17e
Add confidential transfer constants (#552)
dssei Dec 6, 2024
90123e1
Fix state sync halt issue (#559)
yzang2019 Jan 3, 2025
1b0c652
Integrate with MinTxsInBlock (#558)
codchen Jan 6, 2025
8350f9b
Update upload-artifact gh action to v4 (#562)
philipsu522 Jan 30, 2025
70ad8b8
Add in-place-testnet command (#561)
codchen Jan 31, 2025
72defbf
Bypass unnecessary logics in BeginBlock for simulate (#565)
codchen Feb 19, 2025
bfd56f1
RPC simulation gas used (#566)
jewei1997 Mar 3, 2025
276c36f
blacklist evm coinbase address from receiving (#568)
codchen Mar 4, 2025
0b96e08
Add whitelist for fee denoms (#564)
codchen Mar 4, 2025
600638b
do no use legacy marshaling on key exports (#567)
dssei Mar 6, 2025
71fc854
Add a hard max gas wanted as consensus param (#572)
jewei1997 Mar 13, 2025
f497fc1
Fix quadratic balance query (#573)
codchen Apr 1, 2025
1014041
Add IsTracing flag to ctx (#576)
codchen Apr 7, 2025
f1df6fe
do not set ginfo if antehandler returns an error (#575)
codchen Apr 8, 2025
060d888
update UnpackAny with latest cosmos-sdk logic (#574)
codchen Apr 11, 2025
3989b0c
Allow CLI to only print signed tx without sending (#577)
codchen Apr 18, 2025
eb30f6e
skip upgrade BeginBlock for EVM tracer (#578)
codchen May 13, 2025
ad52030
Add nextMs to context (#580)
codchen May 30, 2025
d71d3f0
Add store tracer (#579)
codchen Jun 2, 2025
6d312f8
Add new config OnlyAllowExportOnSnapshotVersion for sc (#584)
yzang2019 Jun 10, 2025
0df8353
Call store tracer in writes (#585)
codchen Jun 13, 2025
208f4b8
[SEI-9785] Require 70% patch coverage (#586)
udpatil Jun 17, 2025
353d7bd
Add legacy UnpackAny (#587)
codchen Jul 14, 2025
59bbb96
Add CODEOWNERS (#589)
philipsu522 Jul 23, 2025
4acb54d
chore: bump btcec to v2.3.2, x/crypto to v0.31.0 (#588)
blindchaser Jul 23, 2025
6fbd599
[SEI-8256] Update unknown decode logic (#591)
udpatil Jul 28, 2025
6d1e3a3
Add upgrade helper (#596)
codchen Aug 11, 2025
42cf3aa
Merge remote-tracking branch 'src-sei-cosmos/main' into masih/mono-is…
masih Sep 30, 2025
fe3b187
Move `sei-cosmos` CI test workflow to top level
masih Sep 29, 2025
d578381
Remove redundant github files
masih Sep 29, 2025
4f31e3c
`go mod tidy`
masih Sep 29, 2025
4c770b5
Fix Dockerfile go module caching
masih Sep 29, 2025
49c8b00
Fix sei-cosmos CI go version and coverage report path
masih Sep 30, 2025
205b695
Use consistent sei-db version across dependencies
masih Sep 30, 2025
b13b19a
Fix `gofmt` issues
masih Sep 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
182 changes: 182 additions & 0 deletions .github/workflows/sei-cosmos-unit-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
name: sei-cosmos
# Tests / Code Coverage workflow runs unit tests and uploads a code coverage report
# This workflow is run on pushes to main & every Pull Requests where a .go, .mod, .sum have been changed
on:
pull_request:
push:
branches:
- main
- occ-main # TODO: remove after occ work is done
- seiv2

permissions:
contents: read
pull-requests: write

concurrency:
group: ci-${{ github.ref }}-tests
cancel-in-progress: true

jobs:
split-test-files:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: 1.24
- name: Create a file with all core Cosmos SDK pkgs
run: go list ./... > pkgs.txt
- name: Split pkgs into 10 files
run: split -d -n l/10 pkgs.txt pkgs.txt.part.
# cache multiple
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-00"
path: ./pkgs.txt.part.00
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-01"
path: ./pkgs.txt.part.01
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-02"
path: ./pkgs.txt.part.02
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-03"
path: ./pkgs.txt.part.03
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-04"
path: ./pkgs.txt.part.04
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-05"
path: ./pkgs.txt.part.05
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-06"
path: ./pkgs.txt.part.06
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-07"
path: ./pkgs.txt.part.07
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-08"
path: ./pkgs.txt.part.08
- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-09"
path: ./pkgs.txt.part.09

tests:
runs-on: ubuntu-latest
needs: split-test-files
strategy:
fail-fast: false
matrix:
part: ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09"]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- uses: actions/setup-go@v3
with:
go-version: 1.24
- uses: technote-space/get-diff-action@v6.1.0
with:
PATTERNS: |
**/**.go
go.mod
go.sum
- uses: actions/download-artifact@v4
with:
name: "${{ github.sha }}-${{ matrix.part }}"
- name: Get data from Go build cache
uses: actions/cache@v3
with:
path: |
~/go/pkg/mod
~/.cache/golangci-lint
~/.cache/go-build
key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.sum') }}

- name: test & coverage report creation
run: |
cat pkgs.txt.part.${{ matrix.part }} | xargs go test -mod=readonly -race -timeout 5m -coverprofile=${{ matrix.part }}profile.out -covermode=atomic -tags='ledger test_ledger_mock'

- uses: actions/upload-artifact@v4
with:
name: "${{ github.sha }}-${{ matrix.part }}-coverage"
path: ./${{ matrix.part }}profile.out

upload-coverage-report:
needs: tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: 1.24

# Download all coverage reports from the 'tests' job
- name: Download coverage reports
uses: actions/download-artifact@v4

- name: Set GOPATH
run: echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV

- name: Add GOPATH/bin to PATH
run: echo "GOBIN=$(go env GOPATH)/bin" >> $GITHUB_ENV

- name: Install gocovmerge
run: go get github.com/wadey/gocovmerge && go install github.com/wadey/gocovmerge

- name: Merge coverage reports
run: gocovmerge $(find . -type f -name '*profile.out') > coverage.txt

- name: Check coverage report lines
run: wc -l coverage.txt
continue-on-error: true

- name: Check coverage report files
run: ls **/*profile.out
continue-on-error: true

# Now we upload the merged report to Codecov
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
file: ./coverage.txt
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true

unit-test-check:
name: Unit Test Check
runs-on: ubuntu-latest
needs: tests
if: always()
steps:
- name: Get workflow conclusion
id: workflow_conclusion
uses: nick-fields/retry@v2
with:
max_attempts: 2
retry_on: error
timeout_seconds: 30
command: |
jobs=$(curl https://api.github.com/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/jobs)
job_statuses=$(echo "$jobs" | jq -r '.jobs[] | .conclusion')

for status in $job_statuses
do
echo "Status: $status"
if [[ "$status" == "failure" ]]; then
echo "Some or all tests have failed!"
exit 1
fi
done

echo "All tests have passed!"
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates
COPY go.mod go.sum ./
COPY sei-wasmvm/go.mod sei-wasmvm/go.sum ./sei-wasmvm/
COPY sei-wasmd/go.mod sei-wasmd/go.sum ./sei-wasmd/
COPY sei-cosmos/go.mod sei-cosmos/go.sum ./sei-cosmos/
RUN go mod download

# Copy source and build (CGO enabled for libwasmvm)
Expand Down
4 changes: 2 additions & 2 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ require (
github.com/rs/cors v1.8.2
github.com/rs/zerolog v1.30.0
github.com/sei-protocol/goutils v0.0.2
github.com/sei-protocol/sei-db v0.0.27-0.20240123064153-d6dfa112e760
github.com/sei-protocol/sei-db v0.0.51
github.com/sirkon/goproxy v1.4.8
github.com/spf13/cast v1.5.0
github.com/spf13/cobra v1.8.1
Expand Down Expand Up @@ -352,7 +352,7 @@ replace (
github.com/CosmWasm/wasmvm => ./sei-wasmvm
github.com/btcsuite/btcd => github.com/btcsuite/btcd v0.23.2
github.com/confio/ics23/go => github.com/cosmos/cosmos-sdk/ics23/go v0.8.0
github.com/cosmos/cosmos-sdk => github.com/sei-protocol/sei-cosmos v0.3.66
github.com/cosmos/cosmos-sdk => ./sei-cosmos
github.com/cosmos/iavl => github.com/sei-protocol/sei-iavl v0.2.0
github.com/cosmos/ibc-go/v3 => github.com/sei-protocol/sei-ibc-go/v3 v3.3.6
github.com/ethereum/go-ethereum => github.com/sei-protocol/go-ethereum v1.15.7-sei-7
Expand Down
2 changes: 0 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -1991,8 +1991,6 @@ github.com/sei-protocol/go-ethereum v1.15.7-sei-7 h1:5Um1DHbcv9Nn0ksDHaaj49Ub/Nl
github.com/sei-protocol/go-ethereum v1.15.7-sei-7/go.mod h1:+S9k+jFzlyVTNcYGvqFhzN/SFhI6vA+aOY4T5tLSPL0=
github.com/sei-protocol/goutils v0.0.2 h1:Bfa7Sv+4CVLNM20QcpvGb81B8C5HkQC/kW1CQpIbXDA=
github.com/sei-protocol/goutils v0.0.2/go.mod h1:iYE2DuJfEnM+APPehr2gOUXfuLuPsVxorcDO+Tzq9q8=
github.com/sei-protocol/sei-cosmos v0.3.66 h1:DZL0OWpv+3/tleudTXUeMJtjb2C92O9PiNJBQoYDhBE=
github.com/sei-protocol/sei-cosmos v0.3.66/go.mod h1:xckXRG0A8Fxr69YNYTE8/aqSprVui3Byt5iJEiSrEQ4=
github.com/sei-protocol/sei-db v0.0.51 h1:jK6Ps+jDbGdWIPZttaWk7VIsq8aLWWlkTp9axIraL/U=
github.com/sei-protocol/sei-db v0.0.51/go.mod h1:m5g7p0QeAS3dNJHIl28zQpzOgxQmvYqPb7t4hwgIOCA=
github.com/sei-protocol/sei-iavl v0.2.0 h1:OisPjXiDT+oe+aeckzDEFgkZCYuUjHgs/PP8DPicN+I=
Expand Down
44 changes: 44 additions & 0 deletions sei-cosmos/.build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/bin/bash

set -ue

# Expect the following envvars to be set:
# - APP
# - VERSION
# - COMMIT
# - TARGET_OS
# - LEDGER_ENABLED
# - DEBUG

# Source builder's functions library
. /usr/local/share/tendermint/buildlib.sh

# These variables are now available
# - BASEDIR
# - OUTDIR

# Build for each os-architecture pair
for platform in ${TARGET_PLATFORMS} ; do
# This function sets GOOS, GOARCH, and OS_FILE_EXT environment variables
# according to the build target platform. OS_FILE_EXT is empty in all
# cases except when the target platform is 'windows'.
setup_build_env_for_platform "${platform}"

make clean
echo Building for $(go env GOOS)/$(go env GOARCH) >&2
GOROOT_FINAL="$(go env GOROOT)" \
make build \
LDFLAGS=-buildid=${VERSION} \
VERSION=${VERSION} \
COMMIT=${COMMIT} \
LEDGER_ENABLED=${LEDGER_ENABLED}
mv ./build/${APP}${OS_FILE_EXT} ${OUTDIR}/${APP}-${VERSION}-$(go env GOOS)-$(go env GOARCH)${OS_FILE_EXT}

# This function restore the build environment variables to their
# original state.
restore_build_env
done

# Generate and display build report.
generate_build_report
cat ${OUTDIR}/build_report
116 changes: 116 additions & 0 deletions sei-cosmos/.clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
---
Language: Proto
# BasedOnStyle: LLVM
AccessModifierOffset: -2
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: true
AlignEscapedNewlines: Right
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: true
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AlwaysBreakTemplateDeclarations: false
BinPackArguments: true
BinPackParameters: true
BraceWrapping:
AfterClass: false
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
AfterExternBlock: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Attach
BreakBeforeInheritanceComma: false
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeColon
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: true
ColumnLimit: 120
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
- Regex: '.*'
Priority: 1
IncludeIsMainRegex: '(Test)?$'
IndentCaseLabels: false
IndentPPDirectives: None
IndentWidth: 2
IndentWrappedFunctionNames: false
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLinesAtTheStartOfBlocks: true
MacroBlockBegin: ''
MacroBlockEnd: ''
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBlockIndentWidth: 2
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
RawStringFormats:
- Delimiters:
- pb
Language: TextProto
BasedOnStyle: google
ReflowComments: true
SortIncludes: true
SortUsingDeclarations: true
SpaceAfterCStyleCast: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
TabWidth: 8
UseTab: Never
...

Loading
Loading