Skip to content
This repository has been archived by the owner on Aug 1, 2024. It is now read-only.

Commit

Permalink
cosmos e2e with multiple messages
Browse files Browse the repository at this point in the history
  • Loading branch information
Kyle committed Oct 18, 2023
1 parent db5f000 commit b61f8da
Show file tree
Hide file tree
Showing 16 changed files with 725 additions and 257 deletions.
221 changes: 84 additions & 137 deletions docs/proto/proto-docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,119 +4,95 @@

## Table of Contents

- [hyperlane/ism/v1/ism.proto](#hyperlane/ism/v1/ism.proto)
- [Ism](#hyperlane.ism.v1.Ism)
- [hyperlane/announce/v1/types.proto](#hyperlane/announce/v1/types.proto)
- [GenesisAnnouncement](#hyperlane.announce.v1.GenesisAnnouncement)
- [StorageMetadata](#hyperlane.announce.v1.StorageMetadata)
- [StoredAnnouncement](#hyperlane.announce.v1.StoredAnnouncement)
- [StoredAnnouncements](#hyperlane.announce.v1.StoredAnnouncements)

- [hyperlane/ism/v1/genesis.proto](#hyperlane/ism/v1/genesis.proto)
- [GenesisState](#hyperlane.ism.v1.GenesisState)
- [hyperlane/announce/v1/genesis.proto](#hyperlane/announce/v1/genesis.proto)
- [GenesisState](#hyperlane.announce.v1.GenesisState)

- [hyperlane/ism/v1/legacy_multisig.proto](#hyperlane/ism/v1/legacy_multisig.proto)
- [LegacyMultiSig](#hyperlane.ism.v1.LegacyMultiSig)
- [hyperlane/announce/v1/query.proto](#hyperlane/announce/v1/query.proto)
- [GetAnnouncedStorageLocationsRequest](#hyperlane.announce.v1.GetAnnouncedStorageLocationsRequest)
- [GetAnnouncedStorageLocationsResponse](#hyperlane.announce.v1.GetAnnouncedStorageLocationsResponse)
- [GetAnnouncedValidatorsRequest](#hyperlane.announce.v1.GetAnnouncedValidatorsRequest)
- [GetAnnouncedValidatorsResponse](#hyperlane.announce.v1.GetAnnouncedValidatorsResponse)

- [hyperlane/ism/v1/merkle_root_multisig.proto](#hyperlane/ism/v1/merkle_root_multisig.proto)
- [MerkleRootMultiSig](#hyperlane.ism.v1.MerkleRootMultiSig)
- [Query](#hyperlane.announce.v1.Query)

- [hyperlane/ism/v1/message_id_multisig.proto](#hyperlane/ism/v1/message_id_multisig.proto)
- [MessageIdMultiSig](#hyperlane.ism.v1.MessageIdMultiSig)
- [hyperlane/announce/v1/tx.proto](#hyperlane/announce/v1/tx.proto)
- [MsgAnnouncement](#hyperlane.announce.v1.MsgAnnouncement)
- [MsgAnnouncementResponse](#hyperlane.announce.v1.MsgAnnouncementResponse)

- [hyperlane/ism/v1/query.proto](#hyperlane/ism/v1/query.proto)
- [QueryAllDefaultIsmsRequest](#hyperlane.ism.v1.QueryAllDefaultIsmsRequest)
- [QueryAllDefaultIsmsResponse](#hyperlane.ism.v1.QueryAllDefaultIsmsResponse)
- [QueryOriginsDefaultIsmRequest](#hyperlane.ism.v1.QueryOriginsDefaultIsmRequest)
- [QueryOriginsDefaultIsmResponse](#hyperlane.ism.v1.QueryOriginsDefaultIsmResponse)

- [Query](#hyperlane.ism.v1.Query)

- [hyperlane/ism/v1/tx.proto](#hyperlane/ism/v1/tx.proto)
- [MsgSetDefaultIsm](#hyperlane.ism.v1.MsgSetDefaultIsm)
- [MsgSetDefaultIsmResponse](#hyperlane.ism.v1.MsgSetDefaultIsmResponse)

- [Msg](#hyperlane.ism.v1.Msg)
- [Msg](#hyperlane.announce.v1.Msg)

- [Scalar Value Types](#scalar-value-types)



<a name="hyperlane/ism/v1/ism.proto"></a>
<a name="hyperlane/announce/v1/types.proto"></a>
<p align="right"><a href="#top">Top</a></p>

## hyperlane/ism/v1/ism.proto
## hyperlane/announce/v1/types.proto



<a name="hyperlane.ism.v1.Ism"></a>
<a name="hyperlane.announce.v1.GenesisAnnouncement"></a>

### Ism
Hyperlane's default ISM
### GenesisAnnouncement
Genesis helper type for Hyperlane's Announcement.


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `origin` | [uint32](#uint32) | | |
| `abstract_ism` | [google.protobuf.Any](#google.protobuf.Any) | | |





<!-- end messages -->

<!-- end enums -->

<!-- end HasExtensions -->

<!-- end services -->
| `announcement` | [StoredAnnouncement](#hyperlane.announce.v1.StoredAnnouncement) | | |
| `validator` | [bytes](#bytes) | | The validator (in eth address format) that announced |



<a name="hyperlane/ism/v1/genesis.proto"></a>
<p align="right"><a href="#top">Top</a></p>

## hyperlane/ism/v1/genesis.proto


<a name="hyperlane.announce.v1.StorageMetadata"></a>

<a name="hyperlane.ism.v1.GenesisState"></a>

### GenesisState
Hyperlane ISM's keeper genesis state
### StorageMetadata
Helper type for Hyperlane's getAnnouncedStorageLocations.


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `default_ism` | [Ism](#hyperlane.ism.v1.Ism) | repeated | Genesis default ISM |
| `metadata` | [string](#string) | repeated | |





<!-- end messages -->

<!-- end enums -->
<a name="hyperlane.announce.v1.StoredAnnouncement"></a>

<!-- end HasExtensions -->
### StoredAnnouncement
Helper type for Hyperlane's Announcement.

<!-- end services -->

| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `storage_location` | [string](#string) | | location where signatures will be stored |


<a name="hyperlane/ism/v1/legacy_multisig.proto"></a>
<p align="right"><a href="#top">Top</a></p>

## hyperlane/ism/v1/legacy_multisig.proto



<a name="hyperlane.ism.v1.LegacyMultiSig"></a>
<a name="hyperlane.announce.v1.StoredAnnouncements"></a>

### LegacyMultiSig
LegacyMultiSig ISM for a specific origin
### StoredAnnouncements
Helper type for Hyperlane's Announcement.


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `validator_pub_keys` | [string](#string) | repeated | Validator pub keys |
| `threshold` | [uint32](#uint32) | | number of validators required |
| `announcement` | [StoredAnnouncement](#hyperlane.announce.v1.StoredAnnouncement) | repeated | |



Expand All @@ -132,23 +108,22 @@ LegacyMultiSig ISM for a specific origin



<a name="hyperlane/ism/v1/merkle_root_multisig.proto"></a>
<a name="hyperlane/announce/v1/genesis.proto"></a>
<p align="right"><a href="#top">Top</a></p>

## hyperlane/ism/v1/merkle_root_multisig.proto
## hyperlane/announce/v1/genesis.proto



<a name="hyperlane.ism.v1.MerkleRootMultiSig"></a>
<a name="hyperlane.announce.v1.GenesisState"></a>

### MerkleRootMultiSig
MerkleRootMultiSig ISM for a specific origin
### GenesisState
Hyperlane Announce's keeper genesis state


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `validator_pub_keys` | [string](#string) | repeated | Validator pub keys |
| `threshold` | [uint32](#uint32) | | number of validators required |
| `announcements` | [GenesisAnnouncement](#hyperlane.announce.v1.GenesisAnnouncement) | repeated | |



Expand All @@ -164,96 +139,66 @@ MerkleRootMultiSig ISM for a specific origin



<a name="hyperlane/ism/v1/message_id_multisig.proto"></a>
<a name="hyperlane/announce/v1/query.proto"></a>
<p align="right"><a href="#top">Top</a></p>

## hyperlane/ism/v1/message_id_multisig.proto
## hyperlane/announce/v1/query.proto



<a name="hyperlane.ism.v1.MessageIdMultiSig"></a>
<a name="hyperlane.announce.v1.GetAnnouncedStorageLocationsRequest"></a>

### MessageIdMultiSig
MessageIdMultiSig ISM for a specific origin
### GetAnnouncedStorageLocationsRequest
GetAnnouncedStorageLocationsRequest is the request type for the
GetAnnouncedStorageLocations RPC method.


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `validator_pub_keys` | [string](#string) | repeated | Validator pub keys |
| `threshold` | [uint32](#uint32) | | number of validators required |
| `validator` | [bytes](#bytes) | repeated | list of validators where each validator is in hex-encoded eth address format (20 bytes) |





<!-- end messages -->

<!-- end enums -->

<!-- end HasExtensions -->

<!-- end services -->



<a name="hyperlane/ism/v1/query.proto"></a>
<p align="right"><a href="#top">Top</a></p>

## hyperlane/ism/v1/query.proto


<a name="hyperlane.announce.v1.GetAnnouncedStorageLocationsResponse"></a>

<a name="hyperlane.ism.v1.QueryAllDefaultIsmsRequest"></a>

### QueryAllDefaultIsmsRequest
QueryAllDefaultIsmRequest is the request type for the AllDefaultIsms RPC
method.






<a name="hyperlane.ism.v1.QueryAllDefaultIsmsResponse"></a>

### QueryAllDefaultIsmsResponse
QueryAllDefaultIsmResponse is the response type for the AllDefaultIsms RPC
method.
### GetAnnouncedStorageLocationsResponse
GetAnnouncedStorageLocationsResponse is the response type for the
GetAnnouncedStorageLocations RPC method.


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `default_isms` | [Ism](#hyperlane.ism.v1.Ism) | repeated | |

| `metadata` | [StorageMetadata](#hyperlane.announce.v1.StorageMetadata) | repeated | |





<a name="hyperlane.ism.v1.QueryOriginsDefaultIsmRequest"></a>

### QueryOriginsDefaultIsmRequest
QueryDefaultIsmRequest is the request type for the DefaultIsm RPC method.
<a name="hyperlane.announce.v1.GetAnnouncedValidatorsRequest"></a>


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `origin` | [uint32](#uint32) | | |
### GetAnnouncedValidatorsRequest
GetAnnouncedValidatorsRequest is the request type for the
GetAnnouncedValidators RPC method.






<a name="hyperlane.ism.v1.QueryOriginsDefaultIsmResponse"></a>
<a name="hyperlane.announce.v1.GetAnnouncedValidatorsResponse"></a>

### QueryOriginsDefaultIsmResponse
QueryDefaultIsmResponse is the response type for the DefaultIsm RPC method.
### GetAnnouncedValidatorsResponse
GetAnnouncedValidatorsResponse is the response type for the
GetAnnouncedValidators RPC method.


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `default_ism` | [google.protobuf.Any](#google.protobuf.Any) | | |
| `validator` | [string](#string) | repeated | list of validators where each validator is in hex-encoded eth address format (20 bytes) |



Expand All @@ -266,47 +211,49 @@ QueryDefaultIsmResponse is the response type for the DefaultIsm RPC method.
<!-- end HasExtensions -->


<a name="hyperlane.ism.v1.Query"></a>
<a name="hyperlane.announce.v1.Query"></a>

### Query
Query service for hyperlane ISM module
Query service for hyperlane announce module

| Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint |
| ----------- | ------------ | ------------- | ------------| ------- | -------- |
| `OriginsDefaultIsm` | [QueryOriginsDefaultIsmRequest](#hyperlane.ism.v1.QueryOriginsDefaultIsmRequest) | [QueryOriginsDefaultIsmResponse](#hyperlane.ism.v1.QueryOriginsDefaultIsmResponse) | Get current default multisig ISM for an origin | GET|/hyperlane/ism/v1/origins_default_ism|
| `AllDefaultIsms` | [QueryAllDefaultIsmsRequest](#hyperlane.ism.v1.QueryAllDefaultIsmsRequest) | [QueryAllDefaultIsmsResponse](#hyperlane.ism.v1.QueryAllDefaultIsmsResponse) | Get all current default multisig ISMs | GET|/hyperlane/ism/v1/all_default_isms|
| `GetAnnouncedStorageLocations` | [GetAnnouncedStorageLocationsRequest](#hyperlane.announce.v1.GetAnnouncedStorageLocationsRequest) | [GetAnnouncedStorageLocationsResponse](#hyperlane.announce.v1.GetAnnouncedStorageLocationsResponse) | Gets the announced storage locations (where signatures are stored) for the requested validators | GET|/hyperlane/announce/v1/get_announced_storage_locations|
| `GetAnnouncedValidators` | [GetAnnouncedValidatorsRequest](#hyperlane.announce.v1.GetAnnouncedValidatorsRequest) | [GetAnnouncedValidatorsResponse](#hyperlane.announce.v1.GetAnnouncedValidatorsResponse) | Gets a list of validators that have made announcements | GET|/hyperlane/announce/v1/get_announced_validators|

<!-- end services -->



<a name="hyperlane/ism/v1/tx.proto"></a>
<a name="hyperlane/announce/v1/tx.proto"></a>
<p align="right"><a href="#top">Top</a></p>

## hyperlane/ism/v1/tx.proto
## hyperlane/announce/v1/tx.proto



<a name="hyperlane.ism.v1.MsgSetDefaultIsm"></a>
<a name="hyperlane.announce.v1.MsgAnnouncement"></a>

### MsgSetDefaultIsm
MsgSetDefaultIsm defines the request type for the SetDefaultIsm rpc.
### MsgAnnouncement
MsgAnnouncement Announces a validator signature storage location


| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| `signer` | [string](#string) | | |
| `isms` | [Ism](#hyperlane.ism.v1.Ism) | repeated | |
| `sender` | [string](#string) | | |
| `validator` | [bytes](#bytes) | | The validator (in eth address format) that is announcing its storage location |
| `storage_location` | [string](#string) | | location where signatures will be stored |
| `signature` | [bytes](#bytes) | | signed validator announcement |






<a name="hyperlane.ism.v1.MsgSetDefaultIsmResponse"></a>
<a name="hyperlane.announce.v1.MsgAnnouncementResponse"></a>

### MsgSetDefaultIsmResponse
MsgSetDefaultIsmResponse defines the Msg/SetDefaultIsm response type
### MsgAnnouncementResponse
MsgAnnouncementResponse defines the MsgAnnouncementResponse response type.



Expand All @@ -319,14 +266,14 @@ MsgSetDefaultIsmResponse defines the Msg/SetDefaultIsm response type
<!-- end HasExtensions -->


<a name="hyperlane.ism.v1.Msg"></a>
<a name="hyperlane.announce.v1.Msg"></a>

### Msg
Msg defines the hyperlane ISM Msg service.
Msg defines the hyperlane announce Msg service.

| Method Name | Request Type | Response Type | Description | HTTP Verb | Endpoint |
| ----------- | ------------ | ------------- | ------------| ------- | -------- |
| `SetDefaultIsm` | [MsgSetDefaultIsm](#hyperlane.ism.v1.MsgSetDefaultIsm) | [MsgSetDefaultIsmResponse](#hyperlane.ism.v1.MsgSetDefaultIsmResponse) | SetDefaultIsm defines a rpc handler method for MsgSetDefaultIsm. | |
| `Announcement` | [MsgAnnouncement](#hyperlane.announce.v1.MsgAnnouncement) | [MsgAnnouncementResponse](#hyperlane.announce.v1.MsgAnnouncementResponse) | Announces a validator signature storage location | |

<!-- end services -->

Expand Down
2 changes: 1 addition & 1 deletion interchaintest/helpers/announce.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ func VerifyAnnounceEvents(c *cosmos.CosmosChain, txHash string) (storageLocation
}

func ParseEnvVar(envVar, key string) (value string) {
//HYP_BASE_CHECKPOINTSYNCER_PATH=${val_dir}/signatures-simd1
// HYP_BASE_CHECKPOINTSYNCER_PATH=${val_dir}/signatures-simd1
pattern := fmt.Sprintf(`(?m)^%s=(?P<val>.*)$`, key)
r, _ := regexp.Compile(pattern)

Expand Down
Loading

0 comments on commit b61f8da

Please sign in to comment.