laconicd/proto/cerc/onboarding/v1/onboarding.proto
Isha Venikar a21e9ea387 Implement onboarding module for testnet validator enrollment (#3)
* Add proto files for onboarding module

* Add generated proto bindings

* Define onboarding object

* Define the participants state in keeper

* Update genesis file to initialize and export module state to/from genesis

* Add msg to onboard participant

* Register command to enroll participant

* Add functionality to decode ethereum address from signature

* Add comments for messages and fields

* Fix lint errors in proto files

* Add message validation and events in msg_server

* Reuse crypto utils from go-nitro

* Sign entire eth_payload object

* Use google API for rpc method

* Regenerate proto bindings

---------

Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
2024-07-16 09:25:39 +05:30

32 lines
832 B
Protocol Buffer

syntax = "proto3";
package cerc.onboarding.v1;
import "gogoproto/gogo.proto";
option go_package = "git.vdb.to/cerc-io/laconicd/x/onboarding";
// Params defines the parameters of the onboarding module.
message Params {}
// Participant defines the data that will be stored for each enrolled participant
message Participant {
string cosmos_address = 1 [
(gogoproto.moretags) = "json:\"cosmos_address\" yaml:\"cosmos_address\""
];
string ethereum_address = 2 [
(gogoproto.moretags) = "json:\"ethereum_address\" yaml:\"ethereum_address\""
];
}
// EthPayload defines the payload that is signed by the ethereum private key
message EthPayload {
string address = 1 [
(gogoproto.moretags) = "json:\"address\" yaml:\"address\""
];
string msg = 2 [
(gogoproto.moretags) = "json:\"msg\" yaml:\"msg\""
];
}