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

[DNM] merge base to main #387

Closed
wants to merge 84 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
2207f55
integration: set up `x/btcstkconsumer` module (#206)
SebastianElvis Mar 13, 2024
88f891c
F/consumer chain registry (#205)
maurolacy Mar 13, 2024
f4b88ab
F/consumer chain registry 2 (#209)
maurolacy Mar 13, 2024
873cfce
F/register codecs (#210)
maurolacy Mar 15, 2024
7928f66
F/consumer FP registry (#216)
maurolacy Mar 20, 2024
a4d244c
F/consumer fp registry 2 (#220)
maurolacy Mar 20, 2024
65657d1
handling restaked BTC delegations to consumer FPs (#222)
SebastianElvis Mar 22, 2024
0c5d6aa
F/consumer chain cli (#221)
maurolacy Mar 22, 2024
76efc0d
Update CHANGELOG
Mar 22, 2024
ce164ea
fix: only calculating Babylon FPs for FP set rotation (#223)
SebastianElvis Mar 25, 2024
5c15e74
Update CHANGELOG
Mar 25, 2024
b98b20e
fix
SebastianElvis Apr 2, 2024
0a6e9f8
R/consumer chain 2 (#224)
maurolacy Apr 3, 2024
c94b5f5
linting validateRestakedFPs
SebastianElvis Apr 16, 2024
4c1e0d5
proto: define IBC packet formats for PoS integration (#229)
SebastianElvis Apr 22, 2024
56b21f4
zoneconcierge: let zoneconcierge hold a pointer to btcstaking module …
SebastianElvis Apr 22, 2024
4601ff5
tests: Add pos-integration E2E Tests (#225)
gusin13 Apr 22, 2024
27f7072
chore: fix some proto formats for IBC packets (#234)
SebastianElvis Apr 25, 2024
78120b3
chore: rename chain to consumer for PoS integration (#233)
SebastianElvis Apr 25, 2024
038943a
btcstkconsumer: separate IBC packet for provider / consumer (#237)
SebastianElvis Apr 30, 2024
8f134e1
feat: Store btcstaking events in kv store and send IBC packet (#235)
gusin13 Apr 30, 2024
1ed7149
tests: btcstaking events e2e tests (#240)
gusin13 May 16, 2024
61ef003
release v0.2.0 rc0 (#245)
SebastianElvis May 17, 2024
49663ec
cd: Allows base/consumer-chain-support branch to run push_docker job …
hiepmai-babylonchain May 20, 2024
5f8413b
btcstkconsumer: RPC functions for BTC staking consumer module (#247)
SebastianElvis May 20, 2024
5701ec9
Fix/babylon update (#253)
maurolacy May 28, 2024
a0ec504
tests: Add undelegation and fp voting power test cases (#254)
gusin13 May 29, 2024
5d00627
feat: Add `cosmwasm_2_0` to `wasmCapabilities` (#255)
lesterli Jun 13, 2024
db66211
feat: Add Grpc querier (#257)
lesterli Jun 18, 2024
265678f
chore: remove aarch64 wasm (#261)
lesterli Jun 20, 2024
fdd9040
Fix rebase error
Jul 8, 2024
e57fefc
Fix rebase error / Simplify testutil btcstaking helpers
Jul 8, 2024
253dab4
fix: panic to merge proto files (#264)
lesterli Jul 5, 2024
e7658c2
U/contracts 0.7 (#270)
maurolacy Jul 10, 2024
0a646a3
Fix: Add stker_addr to active btc delegation
Jul 10, 2024
a6a6fc7
Update contracts from rebase branch
Jul 11, 2024
6f1b119
Fix: btc staking integration rebase errors
Jul 12, 2024
8531b8b
Fix: ExecCmd vs ExecTxCmd inconsistency
Jul 12, 2024
6c9ffa0
Fix in passing: docker warning
Jul 12, 2024
d1afabf
Fix syntax
Jul 12, 2024
d63dc74
proto-lint
Jul 12, 2024
33db0a6
proto-gen
Jul 12, 2024
b924ff0
Sanitize code path to avoid gosec warning
Jul 12, 2024
735e248
Increase Go min version to 1.22
Jul 12, 2024
fead9dc
Increase go version in CI
Jul 12, 2024
b83688b
Increase Go version in babylon container
Jul 12, 2024
30f2a15
Workaround consumer and babylon FP creation for staking integration t…
Jul 13, 2024
d1c5b08
Revert "Workaround consumer and babylon FP creation for staking integ…
Jul 15, 2024
a0e86bc
Comment pop.Verify out
Jul 15, 2024
dbf026c
fix fp gen
SebastianElvis Jul 15, 2024
5cdf5bb
fix gosec
SebastianElvis Jul 15, 2024
3d8f190
chore: rename del Babylon address in e2e (#273)
SebastianElvis Jul 17, 2024
6ecfdf4
Merge branch 'dev' into try-rebase-dev
SebastianElvis Jul 30, 2024
ce31233
fix compile
SebastianElvis Jul 30, 2024
d77e0cb
fix all tests
SebastianElvis Jul 30, 2024
74a24c9
Merge pull request #1 from babylonlabs-io/try-rebase-dev
SebastianElvis Aug 1, 2024
bd458da
feat: Automatic consumer registration (#11)
gusin13 Aug 14, 2024
20c5405
Merge branch 'dev' into merge-dev
SebastianElvis Aug 16, 2024
b03a1d8
fix e2e
SebastianElvis Aug 16, 2024
6bcadbc
Merge pull request #13 from babylonlabs-io/merge-dev-1
SebastianElvis Aug 17, 2024
81ee356
Add Consumer packet data defs / gens (#15)
maurolacy Aug 28, 2024
7942dae
tests: bcd setup in e2e (#57)
gusin13 Sep 11, 2024
35a5a1b
feat: Babylon FP cascaded slashing (#69)
gusin13 Sep 17, 2024
d6b39e8
Merge branch 'main' into try-rebase
SebastianElvis Sep 19, 2024
59a2486
fix compile
SebastianElvis Sep 19, 2024
747ca8e
feat(ADR-025): Enable jailing and unjailing (#80)
gitferry Sep 19, 2024
063241e
fix compile/tests
SebastianElvis Sep 20, 2024
bca42f1
accommodate timestamped pub rand for e2e
SebastianElvis Sep 20, 2024
0e661b3
Merge pull request #83 from babylonlabs-io/try-rebase
SebastianElvis Sep 23, 2024
a6f728b
Merge branch 'main' into base/consumer-chain-support
SebastianElvis Sep 23, 2024
a98269d
feat: Consumer FP cascaded slashing (#85)
gusin13 Sep 25, 2024
3520b05
f/Better IBC transfer tests (#128)
maurolacy Oct 4, 2024
8ee2c85
chore: gh sync workflow from main to base (#133)
gusin13 Oct 15, 2024
d10dd40
Merge branch 'main' into rebase-devnet-5
SebastianElvis Nov 14, 2024
540d59f
fix conflicts
SebastianElvis Nov 14, 2024
1be1c2b
fix compile
SebastianElvis Nov 15, 2024
098751b
Merge branch 'main' into rebase-devnet-5
SebastianElvis Nov 18, 2024
579d66c
fix tests and disable v1 upgrade e2e
SebastianElvis Nov 20, 2024
3aa1afc
Merge pull request #266 from babylonlabs-io/rebase-devnet-5
SebastianElvis Nov 20, 2024
ad3e100
F/consumer rewards e2e (#301)
maurolacy Nov 27, 2024
4898d8d
zoneconcierge: permissioned integration (#291)
SebastianElvis Dec 3, 2024
9300461
feat: add the slashing msg handler for op consumer fp (#327)
lesterli Dec 7, 2024
72654c8
e2e: remove e2e related to BTC staking integration (#339)
SebastianElvis Dec 13, 2024
e901f1c
fix: remove unused deps in `.proto` files (#355)
lesterli Dec 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
chore: rename chain to consumer for PoS integration (#233)
SebastianElvis authored and Mauro Lacy committed Jul 6, 2024
commit 78120b30a937e77791fad3598e32d243d0bc992b
4 changes: 2 additions & 2 deletions proto/babylon/btcstaking/v1/btcstaking.proto
Original file line number Diff line number Diff line change
@@ -33,9 +33,9 @@ message FinalityProvider {
// the finality provider is slashed.
// if it's 0 then the finality provider is not slashed
uint64 slashed_btc_height = 9;
// chain_id is the chain id of the chain the finality provider is operating on.
// consumer_id is the ID of the consumer the finality provider is operating on.
// If it's missing / empty, it's assumed the finality provider is operating in the Babylon chain.
string chain_id = 10;
string consumer_id = 10;
}

// FinalityProviderWithMeta wraps the FinalityProvider with metadata.
4 changes: 2 additions & 2 deletions proto/babylon/btcstaking/v1/packet.proto
Original file line number Diff line number Diff line change
@@ -48,9 +48,9 @@ message NewFinalityProvider {
// the finality provider is slashed.
// if it's 0 then the finality provider is not slashed
uint64 slashed_btc_height = 9;
// chain_id is the chain id of the chain the finality provider is operating on.
// consumer_id is the ID of the consumer the finality provider is operating on.
// If it's missing / empty, it's assumed the finality provider is operating in the Babylon chain.
string chain_id = 10;
string consumer_id = 10;
}

// SlashedFinalityProvider is an IBC packet sent from consumer chain to Babylon
4 changes: 2 additions & 2 deletions proto/babylon/btcstaking/v1/tx.proto
Original file line number Diff line number Diff line change
@@ -51,9 +51,9 @@ message MsgCreateFinalityProvider {
bytes btc_pk = 4 [ (gogoproto.customtype) = "github.com/babylonchain/babylon/types.BIP340PubKey" ];
// pop is the proof of possession of btc_pk over the FP signer address.
ProofOfPossessionBTC pop = 5;
// chain id is a registered CZ chain id, or Babylon's chain id.
// consumer_id is the ID of the consumer
// If it's empty, it's assumed to be Babylon's chain id
string chain_id = 7;
string consumer_id = 7;
}

// MsgCreateFinalityProviderResponse is the response for MsgCreateFinalityProvider
17 changes: 9 additions & 8 deletions proto/babylon/btcstkconsumer/v1/btcstkconsumer.proto
Original file line number Diff line number Diff line change
@@ -3,12 +3,13 @@ package babylon.btcstkconsumer.v1;

option go_package = "github.com/babylonchain/babylon/x/btcstkconsumer/types";

// ChainRegister is the registration information of a CZ
message ChainRegister {
// chain_id is the ID of the chain
string chain_id = 1;
// chain_name is the name of the chain
string chain_name = 2;
// chain_description is a description for the chain (can be empty)
string chain_description = 3;
// ConsumerRegister is the registration information of a consumer
message ConsumerRegister {
// consumer_id is the ID of the consumer
// - for Cosmos SDK chains, the consumer ID will be the IBC client ID
string consumer_id = 1;
// consumer_name is the name of the consumer
string consumer_name = 2;
// consumer_description is a description for the consumer (can be empty)
string consumer_description = 3;
}
66 changes: 33 additions & 33 deletions proto/babylon/btcstkconsumer/v1/query.proto
Original file line number Diff line number Diff line change
@@ -21,28 +21,28 @@ service Query {
rpc Params(QueryParamsRequest) returns (QueryParamsResponse) {
option (google.api.http).get = "/babylon/btcstkconsumer/v1/params";
}
// ChainRegistryList queries the list of chains that are registered to Babylon
rpc ChainRegistryList(QueryChainRegistryListRequest) returns (QueryChainRegistryListResponse) {
option (google.api.http).get = "/babylon/btcstkconsumer/v1/chain_registry_list";
// ConsumerRegistryList queries the list of consumers that are registered to Babylon
rpc ConsumerRegistryList(QueryConsumerRegistryListRequest) returns (QueryConsumerRegistryListResponse) {
option (google.api.http).get = "/babylon/btcstkconsumer/v1/consumer_registry_list";
}
// ChainsRegistry queries the latest info for a given list of chains in Babylon's view
rpc ChainsRegistry(QueryChainsRegistryRequest) returns (QueryChainsRegistryResponse) {
option (google.api.http).get = "/babylon/btcstkconsumer/v1/chains_registry/{chain_ids}";
// ConsumersRegistry queries the latest info for a given list of consumers in Babylon's view
rpc ConsumersRegistry(QueryConsumersRegistryRequest) returns (QueryConsumersRegistryResponse) {
option (google.api.http).get = "/babylon/btcstkconsumer/v1/consumers_registry/{consumer_ids}";
}

// FinalityProviderChain info about one finality provider's chain id
rpc FinalityProviderChain(QueryFinalityProviderChainRequest) returns (QueryFinalityProviderChainResponse) {
option (google.api.http).get = "/babylon/btcstkconsumer/v1/finality_provider_chain/{fp_btc_pk_hex}";
// FinalityProviderConsumer info about one finality provider's consumer id
rpc FinalityProviderConsumer(QueryFinalityProviderConsumerRequest) returns (QueryFinalityProviderConsumerResponse) {
option (google.api.http).get = "/babylon/btcstkconsumer/v1/finality_provider_consumer/{fp_btc_pk_hex}";
}

// FinalityProviders queries all finality providers for a given chain
// FinalityProviders queries all finality providers for a given consumer
rpc FinalityProviders(QueryFinalityProvidersRequest) returns (QueryFinalityProvidersResponse) {
option (google.api.http).get = "/babylon/btcstkconsumer/v1/finality_providers/{chain_id}";
option (google.api.http).get = "/babylon/btcstkconsumer/v1/finality_providers/{consumer_id}";
}

// FinalityProvider info about one finality provider
rpc FinalityProvider(QueryFinalityProviderRequest) returns (QueryFinalityProviderResponse) {
option (google.api.http).get = "/babylon/btcstkconsumer/v1/finality_provider/{chain_id}/{fp_btc_pk_hex}";
option (google.api.http).get = "/babylon/btcstkconsumer/v1/finality_provider/{consumer_id}/{fp_btc_pk_hex}";
}
}

@@ -58,32 +58,32 @@ message QueryParamsResponse {
];
}

// QueryChainRegistryListRequest is request type for the Query/ChainRegistryList RPC method
message QueryChainRegistryListRequest {
// QueryConsumerRegistryListRequest is request type for the Query/ConsumerRegistryList RPC method
message QueryConsumerRegistryListRequest {
// pagination defines whether to have the pagination in the request
cosmos.base.query.v1beta1.PageRequest pagination = 1;
}

// QueryChainRegistryListResponse is response type for the Query/ChainRegistryList RPC method
message QueryChainRegistryListResponse {
// chain_ids are IDs of the chains in ascending alphabetical order
repeated string chain_ids = 1;
// QueryConsumerRegistryListResponse is response type for the Query/ConsumerRegistryList RPC method
message QueryConsumerRegistryListResponse {
// consumer_ids are IDs of the consumers in ascending alphabetical order
repeated string consumer_ids = 1;
// pagination defines the pagination in the response
cosmos.base.query.v1beta1.PageResponse pagination = 2;
}

// QueryChainsRegistryRequest is request type for the Query/ChainsRegistry RPC method.
message QueryChainsRegistryRequest { repeated string chain_ids = 1; }
// QueryConsumersRegistryRequest is request type for the Query/ConsumersRegistry RPC method.
message QueryConsumersRegistryRequest { repeated string consumer_ids = 1; }

// QueryChainsRegistryResponse is response type for the Query/ChainsRegistry RPC method.
message QueryChainsRegistryResponse {
repeated babylon.btcstkconsumer.v1.ChainRegister chains_register = 1;
// QueryConsumersRegistryResponse is response type for the Query/ConsumersRegistry RPC method.
message QueryConsumersRegistryResponse {
repeated babylon.btcstkconsumer.v1.ConsumerRegister consumers_register = 1;
}

// QueryFinalityProvidersRequest is the request type for the
// Query/FinalityProviders RPC method.
message QueryFinalityProvidersRequest {
string chain_id = 1;
string consumer_id = 1;
// pagination defines an optional pagination for the request.
cosmos.base.query.v1beta1.PageRequest pagination = 2;
}
@@ -100,8 +100,8 @@ message QueryFinalityProvidersResponse {

// QueryFinalityProviderRequest requests information about a finality provider
message QueryFinalityProviderRequest {
// chain id is the chain id this finality provider is registered to
string chain_id = 1;
// consumer id is the consumer id this finality provider is registered to
string consumer_id = 1;
// fp_btc_pk_hex is the hex str of Bitcoin secp256k1 PK of the finality provider
string fp_btc_pk_hex = 2;
}
@@ -140,17 +140,17 @@ message FinalityProviderResponse {
uint64 height = 8;
// voting_power is the voting power of this finality provider at the given height
uint64 voting_power = 9;
// chain_id is the chain id this finality provider is registered to
string chain_id = 10;
// consumer_id is the consumer id this finality provider is registered to
string consumer_id = 10;
}

// QueryFinalityProviderChainRequest requests the chain a CZ finality provider belongs to
message QueryFinalityProviderChainRequest {
// QueryFinalityProviderConsumerRequest requests the consumer a CZ finality provider belongs to
message QueryFinalityProviderConsumerRequest {
// fp_btc_pk_hex is the hex str of Bitcoin secp256k1 PK of the finality provider
string fp_btc_pk_hex = 1;
}

// QueryFinalityProviderChainResponse returns the CZ finality provier chain id
message QueryFinalityProviderChainResponse {
string chain_id = 1;
// QueryFinalityProviderConsumerResponse returns the CZ finality provier consumer id
message QueryFinalityProviderConsumerResponse {
string consumer_id = 1;
}
24 changes: 12 additions & 12 deletions proto/babylon/btcstkconsumer/v1/tx.proto
Original file line number Diff line number Diff line change
@@ -16,8 +16,8 @@ service Msg {
// UpdateParams defines a (governance) operation for updating the module
// parameters. The authority defaults to the x/gov module account.
rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse);
// RegisterChain registers a CZ chain to the btcstkconsumer module.
rpc RegisterChain(MsgRegisterChain) returns (MsgRegisterChainResponse);
// RegisterConsumer registers a CZ consumer to the btcstkconsumer module.
rpc RegisterConsumer(MsgRegisterConsumer) returns (MsgRegisterConsumerResponse);
}

// MsgUpdateParams is the Msg/UpdateParams request type.
@@ -41,18 +41,18 @@ message MsgUpdateParams {
// MsgUpdateParams message.
message MsgUpdateParamsResponse {}

// MsgRegisterChain defines a message for registering CZ chains to the btcstkconsumer module.
message MsgRegisterChain {
// MsgRegisterConsumer defines a message for registering CZ consumers to the btcstkconsumer module.
message MsgRegisterConsumer {
option (cosmos.msg.v1.signer) = "signer";

string signer = 1;
// chain_id is the ID of the chain
string chain_id = 2;
// chain_name is the name of the chain
string chain_name = 3;
// chain_description is a description for the chain (can be empty)
string chain_description = 4;
// consumer_id is the ID of the consumer
string consumer_id = 2;
// consumer_name is the name of the consumer
string consumer_name = 3;
// consumer_description is a description for the consumer (can be empty)
string consumer_description = 4;
}

// MsgRegisterChainResponse is the response to the MsgRegisterChain message.
message MsgRegisterChainResponse {}
// MsgRegisterConsumerResponse is the response to the MsgRegisterConsumer message.
message MsgRegisterConsumerResponse {}
Loading