Skip to content
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

merge devnet-5 version to base branch #266

Merged
merged 93 commits into from
Nov 20, 2024

Commits on Sep 26, 2024

  1. fix: testnet command minor issues (#91)

    - Add default gen state to `ibc` module
    - Add `jq` to dockerfile, needed to local deployments
    - Specify min gas prices as default `1ubbn` in a single place
    RafilxTenfen authored Sep 26, 2024
    Configuration menu
    Copy the full SHA
    83fb0e7 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2024

  1. fix: Epoch initial height (#93)

    When we initialize epoch, we should also initialize epoch 1. Otherwise,
    epoch 0 will be accessed
    gitferry authored Sep 27, 2024
    Configuration menu
    Copy the full SHA
    22f9283 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    39f8e56 View commit details
    Browse the repository at this point in the history
  3. chore: add changelog for pr 91 (#97)

    Forgot to add changelog in #91
    RafilxTenfen authored Sep 27, 2024
    Configuration menu
    Copy the full SHA
    da4cc46 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8b656dd View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2024

  1. Configuration menu
    Copy the full SHA
    13b1e35 View commit details
    Browse the repository at this point in the history
  2. Remove x/zoneconcierge module (#55)

    just a show case of changes necessary to remove zoneconciege module
    KonradStaniec authored Sep 30, 2024
    Configuration menu
    Copy the full SHA
    d640591 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    47863ba View commit details
    Browse the repository at this point in the history
  4. chore: upgrade token distribution (#103)

    - Update upgrade name from signet-launch to v1
    - A new file with data for token distribution to run during the upgrade.
    Expected template:
    
    ```json
    {
      "token_distribution": [
        {
          "address_sender": "bbn14d97wthm9fqvvdd96ax8lnfppwknndxztevs7k",
          "address_receiver": "bbn13t5cnqj6t0p4xa40cwhmgv4wju0zl6g8slk8rz",
          "amount": 100000
        },
        ...
      ]
    }
    ```
    
    - New function from test suite to run before the upgrade `type
    PreUpgradeFunc func([]*chain.Config)`
    RafilxTenfen authored Sep 30, 2024
    Configuration menu
    Copy the full SHA
    c11bbb3 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. feat: in-protocol minimum gas price (#107)

    Resolves babylonlabs-io/pm#49
    
    This PR introduces the in-protocol minimum gas price mechanism, in which
    the consensus (more specifically the AnteHandler) enforces every tx has
    to set a gas price at least 0.002 ubbn. The PR also provides relevant
    tests. The impl closely follows
    celestiaorg/celestia-app#2985.
    
    In addition, this PR creates a new package `app/ante` to abstract out
    the construction of the AnteHandler for Babylon, following the practice
    at Celestia.
    
    - RFC: babylonlabs-io/pm#56
    - ADR: babylonlabs-io/pm#61
    SebastianElvis authored Oct 1, 2024
    Configuration menu
    Copy the full SHA
    ae2e53e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6b5e633 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2024

  1. feat: Implement ADR-26 - pre-approval flow (#117)

    Initial implementation of pre-approval flow following -
    https://github.com/babylonlabs-io/pm/blob/main/adr/adr-026-pre-approval-staking-flow.md
    ---------
    
    Co-authored-by: Cirrus Gai <greferry@gmail.com>
    KonradStaniec and gitferry authored Oct 2, 2024
    Configuration menu
    Copy the full SHA
    04e12eb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fd526f1 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2024

  1. docs: Update btcstaking module documentation (#123)

    ### Summary
    Update to `btcstaking` docs 
    
    - Revised wording to align with standard Cosmos SDK practices, ensuring
    clarity for users. Each module should utilise a single KV store, with
    different data types organised using prefixed namespaces within that
    store, instead of creating multiple KV stores.
    - Updates to query params documentation
    samricotta authored Oct 3, 2024
    Configuration menu
    Copy the full SHA
    b8bcb89 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2024

  1. feat(ADR-028): refunding transaction fee for certain txs (#125)

    Resolves babylonlabs-io/pm#64
    
    This PR introduces the functionality of refunding fee for certain txs,
    including BTC headers/checkpoints in BTC timestamping protocol, and
    finality signature, BTC delegation inclusion proof, covenant signatures,
    undelegation, selective slashing evidence in BTC staking protocol.
    
    The implementation leverages a new key-only KV store in the incentive
    module for storing refundable messages, and a new PostHandler for
    refunding a tx if all msgs in it are refundable.
    
    Along the way, this PR also adds dependency from BTC light client / BTC
    staking modules to the incentive module, and adds relevant e2e tests to
    ensure that the tx fee refunding indeed works.
    
    - RFC:
    https://github.com/babylonlabs-io/pm/blob/main/rfc/rfc-010-transaction-fee-refund-protocol.md
    - ADR:
    https://github.com/babylonlabs-io/pm/blob/main/adr/adr-028-transaction-fee-refund-protocol.md
    SebastianElvis authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    6e5210d View commit details
    Browse the repository at this point in the history
  2. chore: upgrade multibuild (#113)

    - Slipt the upgrade data into two
      - testnet `app/upgrades/v1/testnet`
      - mainnet `app/upgrades/v1/mainnet`
    - Add new build tag `mainnet` or `testnet` that adds the upgrade handler
    with the expected data
    - By default `make build` creates a binary with an upgrade plan that
    contains mainnet data, if `make build-testnet` is run it adds the
    `testnet` build flag and adds the upgrade plan that contains testnet
    data
    RafilxTenfen authored Oct 4, 2024
    Configuration menu
    Copy the full SHA
    b56406b View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. chore: tx fee refunding follow-up (#130)

    This follow-up PR fixes the comments in
    #125, including
    
    - changelog and typo comments in BTCCheckpoint module
    - allow covenant signatures after covenant quorum are reached, and
    return error if the covenant signature is duplicated. This is to ensure
    covenants won't have operational cost when submitting covenant sig late,
    and avoid refunding to duplicated covenant signatures
    - reject duplicated finality signature. This is to avoid refunding to
    duplicated covenant signatures
    - add a dedup check in the PostHandler, to ensure one won't exploit the
    refunding by having many duplicated messages in a single tx. Also added
    a fuzz test for this.
    SebastianElvis authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    6a74ebc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    89dd901 View commit details
    Browse the repository at this point in the history
  3. fix: intercept staking module messages inside MsgExec (#138)

    Resolves #127
    
    This PR fixes the `DropValidatorMsgDecorator` AnteHandler to handle
    disallowed staking related messages inside `MsgExec` (ref
    https://jumpcrypto.com/writing/bypassing-ethermint-ante-handlers/).
    SebastianElvis authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    b128f1d View commit details
    Browse the repository at this point in the history
  4. chore: Do not convert int to uint32 in btcstaking lib (#135)

    This PR handles the conversion of ints to uint32s in the btcstaking
    library. The conversions that were modified were not unsafe as they were
    the results of the `len()` call,
    but they still made static analyzers complain.
    
    Instead, we opted to convert uint32s to ints. However, this makes the
    assumption that the program will be executed in 64-bit architectures in
    order to be safe, which afaik is already a requirement.
    vitsalis authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    64b6897 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    efeb745 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a6a7c28 View commit details
    Browse the repository at this point in the history
  7. chore: Remove nolint:errcheck and instead handle errors (#134)

    As we are adding static analyzers in the codebase, many of them will
    point out unhandled errors. If we add annotations to our codebase for
    each of them, this might bloat the codebase. Another approach is to only
    allow a single static analyzer fail about unhandled errors, while
    ignoring the rest.
    
    In this PR, I opted to just handle the errors by panicking in order to remove
    the `nolint:errcheck` from the annotations. These methods failing
    are programmatic errors.
    vitsalis authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    da9ba2a View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. fix handling covent message when quorum is already reached (#141)

    Pr: #130 allowed for
    accepting covenant signatures after quorum is reached.
    
    This change introduces regression i.e covenant signatures accepted after
    quorum is reached also generated voting power events, this could lead to
    weird results in processing voting power events.
    
    This pr fixes that by making sure that events of any kind are generated
    only if this is first time quorum is reached.
    KonradStaniec authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    029873d View commit details
    Browse the repository at this point in the history
  2. test: adapt tests to the pre-approval flow (#137)

    Resolves #121
    Resolves #119 
    
    This PR adapts the tests under `x/btcstaking` to the pre-approval flow.
    This includes
    
    - generalising the `h.CreateDelegation` function to support both
    pre-approval and non-pre-approval flow
    - new test util function for submitting inclusion proof
    - adapt most of the tests to use pre-pre-approval
    
    ~~In addition, this PR proposes to rename status `VERIFIED` to
    `APPROVED` for clarity: verified is a bit generic while approved is more
    consistent with existing terms (pre-"approval").~~ Also this PR fixes
    the flaky `FuzzBTCDelegation` test (checked the fix via fuzzing
    locally).
    SebastianElvis authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    bbdfa4e View commit details
    Browse the repository at this point in the history
  3. chore: Upgrade CosmWasm Parameters (#132)

    - Update cosmwasm params during upgrade
    - Mainnet only gov account can store new contracts
    - Testnet everybody can store new contracts
    RafilxTenfen authored Oct 8, 2024
    Configuration menu
    Copy the full SHA
    07e4437 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2024

  1. feat: Add new external events related to finality provider status cha…

    …nge (#144)
    
    This is a follow-up PR of #131. This PR implements events generation
    related to finality providers as described in
    https://babylonlabs.atlassian.net/wiki/spaces/BABYLON/pages/31195227/API+asks+for+BBN+node.
    In particular, this PR
    
    1. adds events for fp creation and editing, which are emitted within
    corresponding message handlers
    2. adds events for fp status update, i.e., active, inactive, jailed,
    slashed, which are emitted during voting power table update per
    BeginBlock
    gitferry authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    fe232fe View commit details
    Browse the repository at this point in the history
  2. chore: remove signed finality provider (#142)

    Finality providers will register themselfs after the chain is public
    launched, so the signed msgs can be removed from the upgrade handler
    
    Should be reviewed after #132 is merged
    RafilxTenfen authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    935668b View commit details
    Browse the repository at this point in the history
  3. chore: add status to btc delegation rest (#146)

    - Removed ZoneConcierge params from swagger docs
    - Add status to `QueryBTCDelegationsRequest`
    - Moved from
    `/babylon/btcstaking/v1/btc_delegations/{staking_tx_hash_hex}` to
    `/babylon/btcstaking/v1/btc_delegation/{staking_tx_hash_hex}` in
    `QueryBTCDelegationRequest`
    RafilxTenfen authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    e1b085b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2d00e8c View commit details
    Browse the repository at this point in the history
  5. chore: backport github action (#149)

    Part of #110
    
    This PR introduces the backport Github action. One can label a hotfix PR
    to `main` with `backport release/0.Y.x`, and this GH action will open a
    backport PR automatically.
    SebastianElvis authored Oct 9, 2024
    Configuration menu
    Copy the full SHA
    0b203a6 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2024

  1. chore(query): Add block results query (#148)

    Needed by api querying block execution results
    gitferry authored Oct 10, 2024
    Configuration menu
    Copy the full SHA
    223c541 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e4a655b View commit details
    Browse the repository at this point in the history
  3. ci: add Github actions for changelog reminder and goreleaser (#155)

    Resolves #110 
    
    This PR adds Github actions for changelog reminder and goreleaser. Also
    this PR bumps the dependency of babylonlabs-io/.github to v0.7.0
    
    TODOs before merging:
    
    - [x] wait until v0.7.0 tag of https://github.com/babylonlabs-io/.github
    - [x] apply v0.7.0 to all reusable workflows
    SebastianElvis authored Oct 10, 2024
    Configuration menu
    Copy the full SHA
    ea1b174 View commit details
    Browse the repository at this point in the history
  4. fix(btcstaking/client): edit fp arg (#154)

    We're accessing arg at index 1, but should be at 0
    Lazar955 authored Oct 10, 2024
    Configuration menu
    Copy the full SHA
    a5c4e94 View commit details
    Browse the repository at this point in the history
  5. chore: fix changelog (#156)

    Fixes changelog from previous pr
    Lazar955 authored Oct 10, 2024
    Configuration menu
    Copy the full SHA
    a2f6b3a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8436249 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2024

  1. ci: add goreleaser setup and move out changelog reminder (#170)

    This PR 
    
    - sets up Go releaser for Babylon. Currently it only supports linux
    amd64. Other targets will be supported in the future. To test locally,
    run `make release-snapshot`
    - moves changelog reminder out from the CI flow
    SebastianElvis authored Oct 11, 2024
    Configuration menu
    Copy the full SHA
    23ff41d View commit details
    Browse the repository at this point in the history
  2. chore: Improve external events format (#169)

    This PR flattened the external events and changed all the event fields
    to string so that it's easier for subscribers to parse them
    gitferry authored Oct 11, 2024
    Configuration menu
    Copy the full SHA
    86f6bc5 View commit details
    Browse the repository at this point in the history
  3. fix: Non-determinism in sorting finality providers in the voting powe…

    …r table (#180)
    
    Non-determinism is caused due to not considering cases where both two
    items are jailed or non-timestamped, and when voting power is equal.
    This PR addressed this by determining the order in those cases by the
    increasing order of btc pk hex.
    gitferry authored Oct 11, 2024
    Configuration menu
    Copy the full SHA
    58e13f0 View commit details
    Browse the repository at this point in the history
  4. chore: Remove localnet functionality from Makefile (#184)

    This functionality is not useful as a network of Babylon nodes just by
    itself does not allow us to test much. This is evident by the fact that
    we never use this for testing. Instead we typically utilise a deployment
    containing all the interconnected components consisting of the Babylon
    network.
    vitsalis authored Oct 11, 2024
    Configuration menu
    Copy the full SHA
    e66765c View commit details
    Browse the repository at this point in the history
  5. chore: Bitcoin heights and depths made uint32 (#181)

    Resolves #179 
    
    This is an impactful change that brings the BTC height types that we use
    more in sync with the expected types for BTC block heights, similar to
    those that are used by other libraries. It is part of the code
    improvement efforts that we are doing in preparation of the next
    testnet.
    
    Given that it touches many files, I believe that this change should
    happen sooner than later so that it can be appropriately tested.
    vitsalis authored Oct 11, 2024
    Configuration menu
    Copy the full SHA
    d0eca74 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2024

  1. Properly validate whether tranactions are standard (#185)

    Add:
    - new `btcstaking` library function to validate whether transactions are
    standard based on
    https://github.com/btcsuite/btcd/blob/ee68dc66a835bf2c9333f3d7b33791841f561c84/mempool/policy.go#L285
    - use those function to validate unbonding / slashing transactions
    - test suite to test new functions
    KonradStaniec authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    508046b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b7c87a7 View commit details
    Browse the repository at this point in the history
  3. Do not panic on nil proof when handling votes (#186)

    If not would receive finality vote with `nil` Proof, it would panic. 
    
    Pr:
    - fixes that
    - add test case
    KonradStaniec authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    c4c25b6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c35c6a0 View commit details
    Browse the repository at this point in the history
  5. docs: Add documentation to btccheckpoint module (#147)

    ## Summary
    There is currently nothing documenting the code for btccheckpoint
    module. This adds information on the following: state, messages,
    endblocker, queries and general concepts regarding the module.
    samricotta authored Oct 14, 2024
    Configuration menu
    Copy the full SHA
    4996ca1 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2024

  1. docs: small additional edits for btccheckpoint module (#195)

    Additional edits that werent saved
    samricotta authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    c4f1ff0 View commit details
    Browse the repository at this point in the history
  2. fix: BTCDelgationResponse missing staking_time (#197)

    In pre-approval flow, the delegation has zero value for both
    `startHeight` and `endHeight`. Therefore, the staking time should not be
    inferred from `endHeight - startHeight`. Instead, it should be stored
    seprately. This PR adds `stakingTime` to `BTCDelegationResponse`
    gitferry authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    6f1808b View commit details
    Browse the repository at this point in the history
  3. chore: Handle FinalityProviderSigningInfo object (#194)

    ## Summary
    
    Part closes: babylonlabs-io/pm#72
    
    Currently some of the objects in the babylon apis are exposed and need
    to be handled correctly seen in
    [here](babylonlabs-io/pm#72)
    
    This PR handles the `FinalityProviderSigningInfo` in
    https://github.com/babylonlabs-io/babylon/blob/v0.11.0/x/finality/keeper/grpc_query.go#L230
    samricotta authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    c6167e5 View commit details
    Browse the repository at this point in the history
  4. chore: update exposed db objects in x/checkpointing module (#201)

    ## Summary
    Part closes: babylonlabs-io/pm#72
    
    Currently some of the objects in the babylon apis are exposed and need
    to be handled correctly seen in
    babylonlabs-io/pm#72
    
    This PR handles the exposed objects in `x/checkpointing`
    samricotta authored Oct 15, 2024
    Configuration menu
    Copy the full SHA
    089917e View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2024

  1. refactor: simplify logics in FP set rotation (#188)

    Resolves #145 
    Resolves #191 (fuzzed locally and it's not flaky anymore)
    
    This PR simplifies the logics in FP set rotation, including:
    
    - Moving event emitting to msg handlers whereever possible (mostly for
    jailing/unjailing).
    - Removing the handling of special case `len(events) == 0`. This is not
    necessary and can be handled altogether in
    `ProcessAllPowerDistUpdateEvents` with same complexity.
    - Splitting `recordVotingPowerAndCache` into two functions, one for
    recording voting power table/cache and the other for emitting
    events/hooks for Fp state update.
    - Some minor abstraction for separating event emitting and voting power
    rotation algorithm.
    
    Will do a second round of refactoring in another PR, together with
    #72
    SebastianElvis authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    35610ce View commit details
    Browse the repository at this point in the history
  2. chore: update exposed db objects in x/incentive module (#200)

    ## Summary
    
    Part closes: babylonlabs-io/pm#72
    
    Currently some of the objects in the babylon apis are exposed and need
    to be handled correctly seen in
    babylonlabs-io/pm#72
    
    This PR handles the exposed objects in `x/incentive`
    samricotta authored Oct 16, 2024
    Configuration menu
    Copy the full SHA
    1c00726 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a6044d7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5a3f401 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2024

  1. chore: update exposed db object RewardGuages in x/incentive module (

    #203)
    
    Part closes: babylonlabs-io/pm#72
    
    Currently some of the objects in the babylon apis are exposed and need
    to be handled correctly seen in
    babylonlabs-io/pm#72
    
    This PR handles the exposed objects in `x/incentive`
    
    Specifically the `RewardGuages` object.
    samricotta authored Oct 17, 2024
    Configuration menu
    Copy the full SHA
    bdf1e52 View commit details
    Browse the repository at this point in the history
  2. chore: rename total voting power to total bonded sat (#207)

    Resolves #72 
    
    This PR renames total voting power to total bonded sat. After
    timestamping pub rand and jailing, having bonded BTC does not mean
    having voting power anymore, and the corresponding variables need to be
    renamed.
    SebastianElvis authored Oct 17, 2024
    Configuration menu
    Copy the full SHA
    f418d1f View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2024

  1. chore: update exposed db object Evidence in x/finality module (#208)

    Part closes: babylonlabs-io/pm#72
    
    Currently some of the objects in the babylon apis are exposed and need
    to be handled correctly seen in
    babylonlabs-io/pm#72
    
    This PR handles the exposed objects in `x/finality`
    
    Specifically the `Evidence` object.
    samricotta authored Oct 18, 2024
    Configuration menu
    Copy the full SHA
    c836041 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    78581a7 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2024

  1. chore: bump wasmd and re-enable static linking (#213)

    Resolves #26 
    Also addresses the GH action warning on Dockerfiles
    
    NOTE: `init.Dockerfile` still uses dynamic linking because it builds
    v0.9.3. This can only be fixed in the v2 upgrade, unless we release
    v0.9.4 with this PR backported (which I don't think it's the case).
    SebastianElvis authored Oct 21, 2024
    Configuration menu
    Copy the full SHA
    b1a4b48 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2024

  1. feat: Implement ADR-29 - generalized unbonding (#215)

    Highlights:
    - Now `MsgBTCUndelegate` contains stake spending transaction as well as
    inclusion proof
    - `BTCDelegation` contains news field `DelegatorUnbondingInfo` instead
    of old staker signature field
    - new field `DelegatorUnbondingInfo` contains information about in which
    header unbonding happened. Also, if `StakeSpendingTx` in the message was
    different that registered `UnbondingTx`, `DelegatorUnbondingInfo`
    contains whole stake spending tx.
    - New event is emitted if unbonding happens through different
    transaction the the pre-registered one.
    KonradStaniec authored Oct 22, 2024
    Configuration menu
    Copy the full SHA
    6a0ccac View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2024

  1. chore: add check in finality for block height finality parameter to a…

    …ccept finality vote/pubrand (#204)
    
    Add finality param to minimum block height to allow receiving Finality
    and Pub Rand Commit of `x/finality`
    
    This value is a module parameter and it can be updated by governance
    proposal
    RafilxTenfen authored Oct 23, 2024
    Configuration menu
    Copy the full SHA
    9efe79b View commit details
    Browse the repository at this point in the history
  2. chore: Make injected checkpoint a standard tx (#224)

    Closes #129 by introducing the encoder and decoder into the proposal
    handler
    gitferry authored Oct 23, 2024
    Configuration menu
    Copy the full SHA
    0831dc6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a31a234 View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2024

  1. chore: Add inclusion height to early unbonding event (#228)

    Closes #225.
    
    * added unbonding start height to early unbonding event
    * changed that early unbonding event is emitted  as a tx event
    gitferry authored Oct 25, 2024
    Configuration menu
    Copy the full SHA
    77462ca View commit details
    Browse the repository at this point in the history
  2. Fix removing voting power during expiry (#218)

    fixes: #176
    
    - expire delegations `max(w, min_unbonding_time)` blocks before timeloc ends
    KonradStaniec authored Oct 25, 2024
    Configuration menu
    Copy the full SHA
    0caa9be View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0082d2d View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2024

  1. feat(finality): move voting power table to finality module (#217)

    Resolves #24 
    
    This PR moves voting power table to finality module, including all
    relevant KV stores, APIs and functions. This ensures that
    
    - BTC staking module becomes the "staking hub" for storing all FPs and
    BTC delegations of Babylon and consumer chains
    - Finality module becomes the 1st use case of this staking hub, namely
    providing BTC staking finality for Babylon chain
    SebastianElvis authored Oct 29, 2024
    Configuration menu
    Copy the full SHA
    fcc6fdc View commit details
    Browse the repository at this point in the history
  2. change defaults for cache (#235)

    In case of large values of iavl cache Babylon hits oom error.
    KonradStaniec authored Oct 29, 2024
    Configuration menu
    Copy the full SHA
    c9a55a5 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2024

  1. mint: Babylon inflation module (#211)

    Resolves babylonlabs-io/pm#92
    
    This PR provides the implementation of the inflation module. 
    
    - The module shares the same interfaces as `x/mint`, and serves as a
    drop-in replacement of Cosmos SDK's `x/mint`.
    - The module implements a different inflation function. Currently, it
    employs Celestia's
    [algorithm](https://docs.celestia.org/learn/staking-governance-supply)
    where the inflation rate decreases gradually w.r.t. the block timestamp.
    It contains all necessary dependencies for implementing any inflation
    function.
    - The implementation is adapted from
    [Celestia](https://github.com/celestiaorg/celestia-app/tree/main/x/mint)
    and [Cosmos SDK](https://github.com/cosmos/cosmos-sdk/tree/main/x/mint).
    
    Steps for implementation:
    
    - [x] copy https://github.com/celestiaorg/celestia-app/tree/main/x/mint
    to `x/mint`
    - [x] fix all dependencies
    - [x] bump module to Cosmos SDK v0.50
    - [x] replace Cosmos x/mint with the new x/mint
    - [x] fix unit tests
    - [x] fix e2e tests
    - [x] fix software upgrade e2e
    - [x] changelog
    - [x] write ADR
    - [x] implement the design
    - [x] properly initialise the new mint module in upgrade handler
    - [x] fix doc
    SebastianElvis authored Oct 30, 2024
    Configuration menu
    Copy the full SHA
    a98cfd9 View commit details
    Browse the repository at this point in the history
  2. Add more info to staking creation event (#238)

    Fixes: #237
    
    - Adding `PkScript` makes is possible to listen to confirmation event
    using lnd libraries (and therefore btc lightclients)
    - Addinng `StakingOutputIndex` makes it possible to identify staking
    output as utxo i.e tuple (hash, idx)
    KonradStaniec authored Oct 30, 2024
    Configuration menu
    Copy the full SHA
    c7eddc9 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2024

  1. backport: change log (#239) (#240)

    Co-authored-by: KonradStaniec <konrad.staniec@gmail.com>
    RafilxTenfen and KonradStaniec authored Oct 31, 2024
    Configuration menu
    Copy the full SHA
    a2cf760 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0f1b296 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2024

  1. Configuration menu
    Copy the full SHA
    e41021e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2851bf5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    98e9746 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2024

  1. chore: Fix flunky TestValidateParsedMessageAgainstTheParams (#252)

    Closes #251. The flunky is caused due to the fact that the test uses
    `uint16` type for the `stakingTimeBlocks` which is generated in a range
    of min and max staking time (0, 100000). However, the max value of
    `uint16` is 65535. This PR changes the value of max staking time to
    10000 to avoid overflow.
    gitferry authored Nov 6, 2024
    Configuration menu
    Copy the full SHA
    232f604 View commit details
    Browse the repository at this point in the history
  2. chore(*): upgrade comet bft and go version (#253)

    Upgrades comet bft to v0.38.14
    Lazar955 authored Nov 6, 2024
    Configuration menu
    Copy the full SHA
    6fe5781 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2024

  1. Avoid unnecessary bech32 decoding (#254)

    Solves issues: #243
    KonradStaniec authored Nov 7, 2024
    Configuration menu
    Copy the full SHA
    c07e4ef View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2024

  1. Removes retry library (#256)

    Retry library should not be part of the core babylon repo. It is up to
    the caller to decide which errors he should hanle and in what mannet
    KonradStaniec authored Nov 8, 2024
    Configuration menu
    Copy the full SHA
    cbdc68a View commit details
    Browse the repository at this point in the history
  2. fix error handling in checkpointing module (#257)

    Fix error handling in checkpointing module:
    - the line `err = types.ErrInvalidCkptStatus.Wrapf("the status of the
    checkpoint should be %s", from.String())` was just allocating error and
    not doing anything with it
    - error from `ckptWithMeta, err := k.GetRawCheckpoint(ctx, epoch)` was
    just getting swallowed
    KonradStaniec authored Nov 8, 2024
    Configuration menu
    Copy the full SHA
    aa99e2e View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2024

  1. feat: fix go releaser and hook by github action (#258)

    Make github action actually make a go release package and added into
    release note to be able download by all the audience. Remove libwasmvm
    for github action using whatever is defined in the go mod file library.
    liam-icheng-lai authored Nov 9, 2024
    Configuration menu
    Copy the full SHA
    90e6b5c View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2024

  1. chore(gomod): upgrade dependancies (#262)

    Upgrades wasmd, cosmos sdk, relayer
    Lazar955 authored Nov 12, 2024
    Configuration menu
    Copy the full SHA
    d4d31e1 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2024

  1. incentive: full tokenomics implementation (#260)

    Resolves babylonlabs-io/pm#100
    
    This PR implements the leftover issues in the tokenmomics, including
    
    - removing BTC timestamping related incentive mechanisms
    - rewarding all active FPs rather than those who voted (we can do this
    because of jailing mechanism, and this is in line with Cosmos SDK)
    
    The rest of the [tokenomics
    issue](babylonlabs-io/pm#100) are mostly
    parameters and benchmarking, which depend on external factors and other
    engineering efforts.
    SebastianElvis authored Nov 13, 2024
    Configuration menu
    Copy the full SHA
    dd4009d View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2024

  1. Configuration menu
    Copy the full SHA
    d10dd40 View commit details
    Browse the repository at this point in the history
  2. fix conflicts

    SebastianElvis committed Nov 14, 2024
    Configuration menu
    Copy the full SHA
    540d59f View commit details
    Browse the repository at this point in the history
  3. Phase-1 stake ingesting - RFC15 (#265)

    Implement:
    - allow list that will expire at certain Babylon block
    - upgrade to insert allowed transactions hashes
    - modification in message handler to use allow list under certain
    Babylon height
    
    i.e approach 4, from
    [RFC-15](https://github.com/babylonlabs-io/pm/blob/main/rfc/rfc-015-moderate-intake-of-phase-1-stake.md#4-fixed-list-of-allowed-transactions-with-parameter-how-long-to-keep-the-allow-list)
    
    Rationale for putting allowlist expiration height in params:
    - if we discover some problems during initial blocks of phase-2, we may
    extend the periond when allow list is used
    - we should be able to disable allow list for testnet (setting
    expiration height to `0` disable allow list)
    KonradStaniec authored Nov 14, 2024
    Configuration menu
    Copy the full SHA
    50e9a23 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2024

  1. Configuration menu
    Copy the full SHA
    88cce45 View commit details
    Browse the repository at this point in the history
  2. fix compile

    SebastianElvis committed Nov 15, 2024
    Configuration menu
    Copy the full SHA
    1be1c2b View commit details
    Browse the repository at this point in the history
  3. Add validation that there is only one fp key in delegation (#270)

    Fixes: #269
    
    In phase-2 every delegation must have only one finality provider.
    Adds:
    - validation
    - test cases
    KonradStaniec authored Nov 15, 2024
    Configuration menu
    Copy the full SHA
    2d423a8 View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2024

  1. Add staking tx to the creation event (#273)

    - Add staking tx to the event 
    - Removes from the event data than can be retrieved from staking tx:
      - staking tx hash
      - staking output pk script
      - staking output amount
    KonradStaniec authored Nov 18, 2024
    Configuration menu
    Copy the full SHA
    c861e03 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    098751b View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2024

  1. Configuration menu
    Copy the full SHA
    579d66c View commit details
    Browse the repository at this point in the history