Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: babylonlabs-io/covenant-emulator
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.9.0
Choose a base ref
...
head repository: babylonlabs-io/covenant-emulator
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
Showing with 2,476 additions and 4,651 deletions.
  1. +12 −2 .github/workflows/ci.yml
  2. +18 −2 .github/workflows/publish.yml
  3. +69 −0 CHANGELOG.md
  4. +66 −209 README.md
  5. +54 −22 clientcontroller/babylon.go
  6. +61 −0 clientcontroller/babylon_test.go
  7. +13 −10 clientcontroller/interface.go
  8. +87 −5 cmd/covd/key.go
  9. +1 −1 cmd/covd/main.go
  10. +3 −30 cmd/covd/start.go
  11. +9 −12 config/config.go
  12. +13 −5 covenant-signer/Dockerfile
  13. +1 −1 covenant-signer/Makefile
  14. +32 −0 covenant-signer/cmd/derivechildkeycmd.go
  15. +39 −0 covenant-signer/cmd/helper.go
  16. +9 −0 covenant-signer/cmd/keys.go
  17. +20 −8 covenant-signer/cmd/root.go
  18. +2 −2 covenant-signer/config/config.go
  19. +2 −3 covenant-signer/config/keystore.go
  20. +1 −1 covenant-signer/config/server.go
  21. +0 −2 covenant-signer/example/config.toml
  22. +0 −244 covenant-signer/go.mod
  23. +0 −1,838 covenant-signer/go.sum
  24. +70 −7 covenant-signer/itest/e2e_test.go
  25. +9 −0 covenant-signer/itest/testkeyring/README.md
  26. +1 −0 covenant-signer/itest/testkeyring/keyring-file/6d3b082697e1099a7677bec1205d1f6153dafe26.address
  27. +1 −0 covenant-signer/itest/testkeyring/keyring-file/keyhash
  28. +1 −0 covenant-signer/itest/testkeyring/keyring-file/test.info
  29. +51 −25 covenant-signer/itest/testmanager.go
  30. +46 −7 covenant-signer/keystore/cosmos/cosmoskeyretriever.go
  31. +7 −1 covenant-signer/keystore/cosmos/keyringcontroller.go
  32. +129 −0 covenant-signer/keyutils/bip32deriv.go
  33. +82 −0 covenant-signer/keyutils/bip32deriv_test.go
  34. +26 −4 covenant-signer/observability/metrics/signer.go
  35. +2 −0 covenant-signer/signerapp/expected_interfaces.go
  36. +10 −0 covenant-signer/signerapp/hardcodedprivkeyretriever.go
  37. +8 −5 covenant-signer/signerapp/signer.go
  38. +84 −0 covenant-signer/signerservice/client.go
  39. +29 −0 covenant-signer/signerservice/handlers/signtransactions.go
  40. +2 −0 covenant-signer/signerservice/server.go
  41. +1 −0 covenant-signer/signerservice/types/publickey.go
  42. +9 −0 covenant-signer/signerservice/types/unlock.go
  43. +76 −0 covenant/cache_params.go
  44. +80 −58 covenant/covenant.go
  45. +224 −19 covenant/covenant_test.go
  46. +191 −0 docs/covenant-emulator-setup.md
  47. +424 −0 docs/covenant-signer-setup.md
  48. +47 −36 go.mod
  49. +123 −1,747 go.sum
  50. +7 −5 itest/babylon_node_handler.go
  51. +12 −30 itest/e2e_test.go
  52. +77 −64 itest/test_manager.go
  53. +62 −1 itest/utils.go
  54. +0 −27 keyring/keyring.go
  55. +1 −18 keyring/keyringcontroller.go
  56. +0 −145 keyring/signer.go
  57. BIN static/covenant.png
  58. +1 −1 testutil/datagen.go
  59. +5 −4 testutil/mocks/babylon.go
  60. +14 −12 tools/go.mod
  61. +28 −30 tools/go.sum
  62. +20 −2 types/chainkey.go
  63. +2 −2 types/params.go
  64. +2 −4 types/txresponse.go
14 changes: 12 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ on:

jobs:
lint_test:
uses: babylonlabs-io/.github/.github/workflows/reusable_go_lint_test.yml@v0.7.0
uses: babylonlabs-io/.github/.github/workflows/reusable_go_lint_test.yml@v0.11.2
with:
go-version: '1.23'
go-lint-version: 'v1.60.2'
@@ -19,12 +19,13 @@ jobs:
gosec-args: "-exclude-generated -exclude-dir=itest -exclude-dir=testutil -exclude-dir=covenant-signer ./..."

docker_pipeline:
uses: babylonlabs-io/.github/.github/workflows/reusable_docker_pipeline.yml@v0.7.0
uses: babylonlabs-io/.github/.github/workflows/reusable_docker_pipeline.yml@v0.11.2
secrets: inherit
with:
publish: false
dockerfile: ./Dockerfile
repoName: covenant-emulator
docker_scan: true

go_sec_covenant_signer:
runs-on: ubuntu-24.04
@@ -45,3 +46,12 @@ jobs:
working-directory: ./covenant-signer
run: gosec ./...

docker_pipeline_covenant_signer:
uses: babylonlabs-io/.github/.github/workflows/reusable_docker_pipeline.yml@v0.11.2
secrets: inherit
with:
publish: false
dockerfile: ./covenant-signer/Dockerfile
dockerContext: ./
repoName: covenant-signer
docker_scan: true
20 changes: 18 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -9,7 +9,7 @@ on:

jobs:
lint_test:
uses: babylonlabs-io/.github/.github/workflows/reusable_go_lint_test.yml@v0.7.0
uses: babylonlabs-io/.github/.github/workflows/reusable_go_lint_test.yml@v0.11.2
with:
go-version: '1.23'
go-lint-version: 'v1.60.2'
@@ -22,7 +22,7 @@ jobs:

docker_pipeline:
needs: ["lint_test"]
uses: babylonlabs-io/.github/.github/workflows/reusable_docker_pipeline.yml@v0.10.2
uses: babylonlabs-io/.github/.github/workflows/reusable_docker_pipeline.yml@v0.11.2
secrets: inherit
with:
publish: true
@@ -53,3 +53,19 @@ jobs:
- name: Run Gosec (covenant-signer)
working-directory: ./covenant-signer
run: gosec ./...

docker_pipeline_covenant_signer:
needs: ["go_sec_covenant_signer"]
uses: babylonlabs-io/.github/.github/workflows/reusable_docker_pipeline.yml@v0.11.2
secrets: inherit
with:
publish: true
dockerfile: ./covenant-signer/Dockerfile
dockerContext: ./
repoName: covenant-signer
docker_scan: true
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
69 changes: 69 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -37,6 +37,75 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

## Unreleased

### Bug Fixes

- [#107](https://github.com/babylonlabs-io/covenant-emulator/pull/107) crypto: replace dcrd fork with btcd fork
with crypto fix
- [#106](https://github.com/babylonlabs-io/covenant-emulator/pull/106) crypto: use dcrd fork with crypto fix
- [#108](https://github.com/babylonlabs-io/covenant-emulator/pull/108) chore: increase max content length

## v0.12.0

### Improvements

* [#83](https://github.com/babylonlabs-io/covenant-emulator/pull/83) covenant-signer: remove go.mod
* [#95](https://github.com/babylonlabs-io/covenant-emulator/pull/95) removed local signer option
as the covenant emulator should only connect to a remote signer
* [#96](https://github.com/babylonlabs-io/covenant-emulator/pull/96) add pagination to `queryDelegationsWithStatus`
* [#99](https://github.com/babylonlabs-io/covenant-emulator/pull/99) add more metrics
covenant-signer
* [#100](https://github.com/babylonlabs-io/covenant-emulator/pull/100) bump babylon to v1.0.0-rc.4

## v0.11.3

### Bug fixes

* [#91](https://github.com/babylonlabs-io/covenant-emulator/pull/91) Add verification
if the covenant public key was present in the params of the versioned BTC delegation

## v0.11.2

### Bug fixes

* [#84](https://github.com/babylonlabs-io/covenant-emulator/pull/84) Fix bug with
deduplication of already signed delegations

## v0.11.1

### Bug fixes

* [#71](https://github.com/babylonlabs-io/covenant-emulator/pull/71) Fix delegation
response to delegation conversion

## v0.11.0

### Improvements

* [#68](https://github.com/babylonlabs-io/covenant-emulator/pull/68) Bump babylon to v1.0.0-rc.1
* [#63](https://github.com/babylonlabs-io/covenant-emulator/pull/63) Add babylon
address to keys command output and fix casing in dockerfile
* [#67](https://github.com/babylonlabs-io/covenant-emulator/pull/67) Add keys cmd to covenant-signer

## v0.10.0

### Improvements

* [#43](https://github.com/babylonlabs-io/covenant-emulator/pull/43) Test importing
private key to the cosmos keyring
* [#44](https://github.com/babylonlabs-io/covenant-emulator/pull/44) Command
to derive child private keys from the master key
* [#45](https://github.com/babylonlabs-io/covenant-emulator/pull/45) Add e2e test
with encrypted file keyring usage
* [#47](https://github.com/babylonlabs-io/covenant-emulator/pull/47) Add unlocking keyring
through API
* [#48](https://github.com/babylonlabs-io/covenant-emulator/pull/48) Add covenant
signer version that requires unlocking
* [#49](https://github.com/babylonlabs-io/covenant-emulator/pull/49) Add show-key command
* [#52](https://github.com/babylonlabs-io/covenant-emulator/pull/52) Fix CosmosKeyStoreConfig
* [#57](https://github.com/babylonlabs-io/covenant-emulator/pull/57) Bump babylon to v0.18.0

## v0.9.0

* [#33](https://github.com/babylonlabs-io/covenant-emulator/pull/33) Add remote
signer sub module
* [#31](https://github.com/babylonlabs-io/covenant-emulator/pull/31/) Bump docker workflow
Loading