What's Changed
- chore(CI): allow to run change log manually by @anhductn2001 in #1682
- fix: linter by @mtsitrin in #1679
- fix(migration): fix setting canonical light clients and gauged denom-metadata by @mtsitrin in #1680
- fix(rollapp): allow tokenless on
CreateRollapp/UpdateRollappwith eip by @mtsitrin in #1685 - chore(ci): update changelog workflow by @anhductn2001 in #1686
- fix(upgrade): moved old params load to common flow instead of upgrade specific by @mtsitrin in #1687
- chore(ci): Fix changelog workflow by @anhductn2001 in #1690
- chore(ci): Separete changelog workflow to manually and automatically by @anhductn2001 in #1692
- chore(changelog): updated changelog by @omritoptix in #1693
- docs(changelog): Updated changelog for v3.2.0 by @omritoptix in #1695
- fix: correct usage of indefinite articles by @Marcofann in #1698
- chores(godoc): fix wrong function name in go docs by @luchenhan in #1700
- chore: fix some function names in comment by @peicuiping in #1694
- fix: add missing validations in x/rollapp/types/genesis.go by @NagaTulasi in #1657
- fix(iro): missing
StartTimeAfterSettlementin IRO default params by @mtsitrin in #1704 - chore(ci): push e2e test results to a slack channel by @anhductn2001 in #1707
- feat(lightclient): Add tx for setting canonical light client by @omritoptix in #1681
- chore(ci): bump actions/upload-artifact to v4 by @anhductn2001 in #1709
- chore(ci): Add token to secrets inputs by @anhductn2001 in #1711
- refactor(lightclient): removed the need for next stateInfo for valiadition by @mtsitrin in #1467
- fix(rollapp): cli update only metadata by @zale144 in #1708
- Update docs by @zale144 in #1705
- chore: fix some typos in comment by @luchenhan in #1713
- chore(ci): try sending report via webhook by @anhductn2001 in #1714
- fix(lightclient): fixed consensus states iterator by @mtsitrin in #1715
- chore(eip712): adding utility to print eip712 structs by @mtsitrin in #1718
- fix(iro): first sell tokens, than charge fee by @mtsitrin in #1717
- chore(dpes): updated math package by @mtsitrin in #1749
- fix(rollapp): make MinimumSequencerBond optional by @zale144 in #1754
- refactor: unify the error handling methods that are different from the project style by @LesCyber in #1767
- fix(lockup): remove logic to unlock all locks at end blocker, or from tx by @zale144 in #1764
- fix(eibc): authorization min fee truncating by @zale144 in #1756
- feat(iro): setting equilibrium point where the raised dym goes to the liquidity pool by @mtsitrin in #1750
- Fix spelling errors in Contributing.md by @tomasandroil in #1761
- feat(iro): founder can trade before start time by @mtsitrin in #1753
- chore: fix some function names in comment by @hugehope in #1735
- fix(lockup): get lock creation fee from params by @zale144 in #1762
- feat(app): Upgrading to v50 by @mtsitrin in #1736
- feat(iro): ability to send percentage of the iro raised funds directly to founder by @mtsitrin in #1755
- chore(UT): add UT utilities by @mtsitrin in #1779
- feat(iro): add option for vesting for owner funds by @mtsitrin in #1768
- Fix error logging format in fraud proposal handler by @vipocenka in #1773
- fix(app): v5 upgrade handler for lockup params by @zale144 in #1778
- refactor: use slices.Equal to simplify code by @huochexizhan in #1772
- refactor: replace golang.org/x/exp/slices with stdlib by @LesCyber in #1774
- feat(eibc): add ability to find fulfiller on demand by @danwt in #1745
- feat(lockup): added min lockup duration by @keruch in #1781
- feat(iro): ability to launch iro on demand by @mtsitrin in #1769
- chore: make function comment match function name by @welfuture in #1791
- feat(IRO): ability to have iro raise against other tokens and not only dym by @mtsitrin in #1792
- chore(deps): bump ibc go and cosmos sdk by @danwt in #1796
- fix(denommetadata): wrong key in paginated guery for registered denoms by @zale144 in #1798
- feat(sponsorship): added endorsement yielding by @keruch in #1748
- chore: fix some comments by @threehonor in #1801
- feat(iro): iro upgrade handler by @mtsitrin in #1793
- fix(incentives): param switch for endorsement mode by @zale144 in #1803
- refactor: move init transfer stack by @danwt in #1808
- chore: fix typos by @jasmyhigh in #1806
- feat(lightclient,rollapp): allows rollapp rollback even before the genesis bridge by @mtsitrin in #1809
- fix: rename x/sequencer after sentinel func by @danwt in #1817
- ci: bump actions/checkout to v4 by @dizer-ti in #1818
- fix(incentives): set min threshold for gauge incentives distribution by @zale144 in #1800
- feat(upgrade): upgrade handler to initialize endorsements for existing rollapps by @mtsitrin in #1821
- feat(genesis-bridge): pessimistic validation for rollapp genesis bridge opening by @mtsitrin in #1814
- chore: make function comment match function name by @findnature in #1830
- doc(iro): find equilibrium explain by @danwt in #1826
- feat(app): add circuit breaker module by @mtsitrin in #1828
- chore: fix some typos in comment by @yetyear in #1840
- feat(params)!: moved params to module store instead of params keeper by @mtsitrin in #1834
- refactor(streamer, dymns): deprecate usage of legacy proposals by @mtsitrin in #1835
- refactor: removed unused v46 methods and added missing
ValidateBasicby @mtsitrin in #1837 - fix(evm): fix eth custom get signers registry by @mtsitrin in #1850
- fix(incentives, lockup): added missing signer annotation by @mtsitrin in #1843
- feat(incentives): dont distribute endorsement rewards to non active rollapps by @mtsitrin in #1845
- feat(lightclient): update IBC headers from state info by @mtsitrin in #1836
- chore: bump golangci yaml to v2 by @danwt in #1853
- fix(sponsorship): added epoch identifier by @keruch in #1864
- upgrade(iro): check validate basic for plans by @danwt in #1861
- fix(eibc): use v2 math rand in on demand by @danwt in #1855
- feat: Hyperlane integration + eibc transfer completion hooks by @danwt in #1797
- fix(lockup): charging LockCreationFee only on new lock creation by @mtsitrin in #1866
- fix(sponsorship): missing total power in the endorsement migration by @keruch in #1865
- feat(eibc): optimistic eibc min fee is now percent by @danwt in #1868
- chore(migration): account for faster blocks in rollapp params (dispute + liveness) by @danwt in #1858
- feat(ante): implemented "inner decorator" which runs logic on wrapped msgs by @mtsitrin in #1867
- feat(incentives): support legacy EIP712 for
CreateGaugeby @mtsitrin in #1871 - migration(sequencer liveness): adjust params by @danwt in #1863
- feat(incentives): prevent multiple partial unlocks for a single lock by @mtsitrin in #1877
- feat(incentives): incentives distribution based on lock age by @mtsitrin in #1875
- Fix Typos in Proto Comments by @leopardracer in #1897
- feat(IRO): refactor IRO buy/sell events to return
Coininstead ofIntby @mtsitrin in #1893 - feat(ibcratelimit): wired the module by @keruch in #1880
- Fix minor grammar issues in comments and test assertions by @MamunC0der in #1900
- fix(codec): added missing codec registrations by @mtsitrin in #1896
- chore: use github actions to enforce protobuf format by @Angith in #1898
- refactor: various minor cleanups by @mtsitrin in #1895
- feat(sponsorship): lazy accumulator for endorsement yielding by @keruch in #1872
- fix(upgrade): params migration to support fast block time by @mtsitrin in #1903
- fix(codec): shorten and consistency in amino names by @mtsitrin in #1908
- feat(upgrade): added authorized circuit breaker accounts by @mtsitrin in #1907
- fix(proto): formatting proto files by @mtsitrin in #1904
- chore: add test for both gauge type msg generation by @artemijspavlovs in #1879
- feat(upgrade): wired gas free whitelisted txs by @mtsitrin in #1906
- feat(deps): bump ethermint to 07f1611f6247 by @keruch in #1909
- feat: use composable, non conflicting hyperlane metadata wire format to store forward memo and kaspa gadgets by @danwt in #1889
- feat: kas bridge by @danwt in #1883
- chore(linter): fix linter issues by @mtsitrin in #1911
- chore: remove redundant word in comment by @chengehe in #1914
- fix(migration): Added missing keytable initialization of ibc keeper by @omritoptix in #1913
- fix(sequencer): missing interface registration in sequencer module by @omritoptix in #1912
- fix(migration): update min swap fee by @omritoptix in #1915
- fix: kaspa bridge progress indication sign bytes, dont use gogoproto by @danwt in #1916
- chore: fix some minor issues in the comments by @gopherorg in #1917
- fix(iro): increase creation fee until cost is positive by @mtsitrin in #1919
- fix(iro): fixed TokensForExactInAmount with USDC by @mtsitrin in #1922
- fix(migration): reverted eibc/authz protos by @mtsitrin in #1924
- fix(migration): register streamer's old proposals types by @mtsitrin in #1923
- chore(deps): bump github.com/cosmos/cosmos-sdk from 0.50.13 to 0.50.14 by @dependabot[bot] in #1926
- chore: fix misspelling issues by @HenmaSab0 in #1928
- Kaspa bridge e2e tests facilitation by @danwt in #1918
- chore: fix some function names in comment by @ianlv in #1920
- docs(lockup): update TOC anchors in README.md by @HenmaSab0 in #1931
- chore(deps): bump golang.org/x/oauth2 from 0.23.0 to 0.27.0 by @dependabot[bot] in #1933
- refactor: use slices.Contains to simplify code by @jingchanglu in #1929
- chore: fix inconsistent struct name in comment by @pingshuijie in #1934
- Fix(CLI): remove hardcoded address in forward cli util by @danwt in #1935
- Add register denom msg for hyperlane tokens by @danwt in #1937
- refactor: use maps.Copy for cleaner map handling by @minxinyi in #1936
- chore(rollapp): update error message for fork precondition in Unbond method by @mtsitrin in #1938
- fix: Update dymint lint badge to use correct workflow by @kilavvy in #1940
- feat(sponsorship): queries to get endorsement and estimate rewards by @keruch in #1932
- refactor(kas): minor
x/kascleanups by @mtsitrin in #1941 - Fix: use fixed hyperlane cosmos dependency which properly allows hook setting by @danwt in #1945
- Remove hardcoded Hyperlane domain IDs by @danwt in #1946
- Add manual CLI tx for HL denom meta reg by @danwt in #1943
- feat: support HL-to-HL forwarding in x/forward module by @danwt in #1944
- chore(AI tools): init claude.md by @danwt in #1950
- chore(streamer): added streamer params query by @mtsitrin in #1956
- Fix typos in Dymension and Rollapp comments by @VolodymyrBg in #1957
- feat: print HL message field by field in utils (CLIENT ONLY) by @danwt in #1948
- feat: improve x/forward CLI utilities (DRY + feature complete) by @danwt in #1949
- fix(IRO): ensure approximation converges only via under-approximation by @mtsitrin in #1955
- chore: Fix typos and parameter naming in incentives and forward modules by @GarmashAlex in #1961
- fix(lightclient): avoid all consensus states iter by @danwt in #1959
- chore(ci): upgrade checkout to v5 by @rejected-l in #1960
- fix(simulation): correct typo in test output by @MozirDmitriy in #1963
- chore: fix some inconsistent function name in comment by @youzichuan in #1962
- refactor: use slices.Sort where appropriate by @hongmengning in #1965
- fix(sequencer): prevent self-kick to avoid state inconsistency by @omritoptix in #1964
- feat(sponsership): allow to clear all votes on new endorsment stream by @mtsitrin in #1968
- feat(eip712): improvements with eip712 support by @mtsitrin in #1970
- chore: fix grammatical issues in code comments by @radik878 in #1972
- fix: multiple typos of different importance by @crStiv in #1974
- chore: fix inconsistent function name in comment by @deepdring in #1976
- docs: correct script filename in README by @HenmaSab0 in #1978
- docs(ai): enhance claude.md with CLI info by @danwt in #1973
- chore: fix typo in comment by @gap-editor in #1985
- chore(deps): bump github.com/ulikunitz/xz from 0.5.11 to 0.5.14 by @dependabot[bot] in #1984
- fix(cmd): correct typos and grammar in dymd command files by @Snezhkko in #1982
- fix(streamer): tests after v50 by @keruch in #1983
- chore(deps): bump github.com/hashicorp/go-getter from 1.7.5 to 1.7.9 by @dependabot[bot] in #1989
- fix: correct error message for relayer validation in RollappPacket by @Fibonacci747 in #1992
- feat(streamer): pump stream by @keruch in #1981
- refactor: omit unnecessary reassignment by @keeghcet in #1995
- feat(sponsorship): only allow voting on rollapp gauges by @keruch in #1990
- feat(IRO): graduate completed IROs into amm pool by @mtsitrin in #1986
- draft: cli fixes by @danwt in #1975
- chore: make it mobile-friendly by @defiberrys in #2008
- feat(streamer): support graduation in pump streams by @keruch in #2001
- feat(streamer): use pump streams for buyback by @keruch in #2007
- refactor: use strings.Builder to improve performance by @zhoujiaweii in #2015
- chore: remove redundant word in comment by @quantpoet in #2016
- feat(IRO): migrate iro plans that pass the eq point by @mtsitrin in #2011
- chore: fix typo in comments by @sashaodessa in #2006
- feat(dymns): allow alias registration fee in foreign token by @mtsitrin in #2017
- feat(OTCBuyback): feat OTC buyback by @mtsitrin in #2010
- feat: TEE based finalization by @danwt in #1993
- feat(bridgingfee): fee for HL transfers by @keruch in #2014
- chore(ci): bump go version to 1.24 by @anhductn2001 in #2021
- fix(migration): fixed migration order by @mtsitrin in #2022
- chore(deps): bump github.com/cometbft/cometbft from 0.38.15 to 0.38.17 by @dependabot[bot] in #2018
- Go version alignment by @HenmaSab0 in #2025
- fix(streamer): oneof parsing in MsgCreatePumpStream by @keruch in #2023
- chore: using testing.B.Loop by @HenmaSab0 in #2026
- refactor: replace Split in loops with more efficient SplitSeq by @yajianggroup in #2028
- fix(iro): make graduation logic gas free by @mtsitrin in #2030
- feat(streamer): wire BeginBlock logic by @mtsitrin in #2027
- refactor: replace the deprecated function in the ioutil package by @mickychang9 in #2031
- feat(iro): after purchase, validate remaining tokens are purchasable by @mtsitrin in #2033
- fix(otcbuyback): audit fixes by @mtsitrin in #2029
- feat(streamer): fix bad pump amounts and skip non-iro rollapps by @keruch in #2032
- dep(txfees): coin conversion uses spot price instead of swap estimation by @mtsitrin in #2038
- fix(cli): properly parse recipient flag for IBC forwarding by @danwt in #2041
- fix: filepath in err string when using Wrapf causes non-determinism by @keruch in #2040
- feat(otcbuyback): invariants by @mtsitrin in #2034
- Fix(tee): add a guard to make sure attestation tx will progress (finalize new index) by @danwt in #2042
- chore: make function comment match function name by @yajianggroup in #2047
- fix(otcbuyback): make end auction flow gas free (#2042) by @mtsitrin in #2045
- fix(ci): free up disk space task by @artemijspavlovs in #2043
- refactor: use reflect.TypeFor by @asttool in #2053
- fix(x/forward): avoid partial failures in ibc or HL dispatch which result in loss of funds by @danwt in #2048
- fix(IRO): fixed precision for accurate liquidity calculations by @mtsitrin in #2046
- feat(IRO): add min trading amount requirement by @mtsitrin in #2052
- chore(cli): remove outdated cmd setup bridge by @danwt in #2054
- chore(deps): bump github.com/cometbft/cometbft from 0.38.17 to 0.38.19 by @dependabot[bot] in #2056
- fix(TEE): remove a check (moved from on-chain to offchain in dymint) by @danwt in #2055
- chore: fix inconsistent function name in comment by @withtimezone in #2058
- fix(TEE): include hub chain id in nonce by @danwt in #2059
- fix(tee): harden policies to be production ready by @danwt in #2057
- refactor: setup script and fix broken dymd check by @mdqst in #2060
- chore: fix incorrect comment by @withtimezone in #2063
- chore: fix JSON not being written to result by @famouswizard in #2062
- feat(otcbuyback): discounted offers by @keruch in #2061
- fix(streamer): top rollapps normalization by @keruch in #2044
- fix(deps): Updated osmosis dep to include fix for spot price conversion by @omritoptix in #2065
- fix(tee): add attested bd state root to nonce by @danwt in #2066
- feat(tee): allow owner to toggle feature (global param can still block for all rollapps) by @danwt in #2067
- refactor: replace interface{} with any for clarity and modernization by @wyrapeseed in #2068
- fix: added burner permission for x/streamer by @keruch in #2070
- feat(tee): add tee-toggle cli command by @artemijspavlovs in #2069
- fix(streamer): panic in pump streamer when spending entire epoch budget by @keruch in #2076
- fix(otcbuyback): unable to buy remaining allocation if min purchase amt is positive by @keruch in #2079
- fix(otcbuyback): fix invariants (#2067) by @mtsitrin in #2078
- feat(otcbuyback): add params query by @danwt in #2080
- chore: fix some comments by @kindknow in #2082
- chore(deps): Updated deps tags by @omritoptix in #2081
- fix(rollapp): fee denom validation by @mtsitrin in #2085
- refactor(cli): remove deprecated denom metadata proposal commands by @mtsitrin in #2086
- fix(otcbuyback): incorrect token validation in SetAcceptedDenoms by @keruch in #2084
- feat(IRO): adding initial FDV for standard (v2) IRO by @mtsitrin in #2088
New Contributors
- @Marcofann made their first contribution in #1698
- @peicuiping made their first contribution in #1694
- @LesCyber made their first contribution in #1767
- @tomasandroil made their first contribution in #1761
- @hugehope made their first contribution in #1735
- @vipocenka made their first contribution in #1773
- @huochexizhan made their first contribution in #1772
- @welfuture made their first contribution in #1791
- @threehonor made their first contribution in #1801
- @jasmyhigh made their first contribution in #1806
- @dizer-ti made their first contribution in #1818
- @findnature made their first contribution in #1830
- @yetyear made their first contribution in #1840
- @MamunC0der made their first contribution in #1900
- @Angith made their first contribution in #1898
- @chengehe made their first contribution in #1914
- @gopherorg made their first contribution in #1917
- @HenmaSab0 made their first contribution in #1928
- @ianlv made their first contribution in #1920
- @jingchanglu made their first contribution in #1929
- @pingshuijie made their first contribution in #1934
- @minxinyi made their first contribution in #1936
- @kilavvy made their first contribution in #1940
- @VolodymyrBg made their first contribution in #1957
- @GarmashAlex made their first contribution in #1961
- @rejected-l made their first contribution in #1960
- @MozirDmitriy made their first contribution in #1963
- @youzichuan made their first contribution in #1962
- @hongmengning made their first contribution in #1965
- @radik878 made their first contribution in #1972
- @crStiv made their first contribution in #1974
- @deepdring made their first contribution in #1976
- @gap-editor made their first contribution in #1985
- @Snezhkko made their first contribution in #1982
- @Fibonacci747 made their first contribution in #1992
- @keeghcet made their first contribution in #1995
- @defiberrys made their first contribution in #2008
- @zhoujiaweii made their first contribution in #2015
- @quantpoet made their first contribution in #2016
- @sashaodessa made their first contribution in #2006
- @yajianggroup made their first contribution in #2028
- @mickychang9 made their first contribution in #2031
- @asttool made their first contribution in #2053
- @withtimezone made their first contribution in #2058
- @mdqst made their first contribution in #2060
- @famouswizard made their first contribution in #2062
- @wyrapeseed made their first contribution in #2068
- @kindknow made their first contribution in #2082
Full Changelog: v3.2.0...v4.0.0-rc01