65 lines
1.3 KiB
Protocol Buffer
65 lines
1.3 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package arbiter.client;
|
|
|
|
import "evm.proto";
|
|
import "google/protobuf/empty.proto";
|
|
|
|
message ClientInfo {
|
|
string name = 1;
|
|
string description = 2;
|
|
string version = 3;
|
|
}
|
|
|
|
message AuthChallengeRequest {
|
|
bytes pubkey = 1;
|
|
ClientInfo client_info = 2;
|
|
}
|
|
|
|
message AuthChallenge {
|
|
bytes pubkey = 1;
|
|
int32 nonce = 2;
|
|
}
|
|
|
|
message AuthChallengeSolution {
|
|
bytes signature = 1;
|
|
}
|
|
|
|
enum AuthResult {
|
|
AUTH_RESULT_UNSPECIFIED = 0;
|
|
AUTH_RESULT_SUCCESS = 1;
|
|
AUTH_RESULT_INVALID_KEY = 2;
|
|
AUTH_RESULT_INVALID_SIGNATURE = 3;
|
|
AUTH_RESULT_APPROVAL_DENIED = 4;
|
|
AUTH_RESULT_NO_USER_AGENTS_ONLINE = 5;
|
|
AUTH_RESULT_INTERNAL = 6;
|
|
}
|
|
|
|
enum VaultState {
|
|
VAULT_STATE_UNSPECIFIED = 0;
|
|
VAULT_STATE_UNBOOTSTRAPPED = 1;
|
|
VAULT_STATE_SEALED = 2;
|
|
VAULT_STATE_UNSEALED = 3;
|
|
VAULT_STATE_ERROR = 4;
|
|
}
|
|
|
|
message ClientRequest {
|
|
int32 request_id = 4;
|
|
oneof payload {
|
|
AuthChallengeRequest auth_challenge_request = 1;
|
|
AuthChallengeSolution auth_challenge_solution = 2;
|
|
google.protobuf.Empty query_vault_state = 3;
|
|
}
|
|
}
|
|
|
|
message ClientResponse {
|
|
optional int32 request_id = 7;
|
|
oneof payload {
|
|
AuthChallenge auth_challenge = 1;
|
|
AuthResult auth_result = 2;
|
|
arbiter.evm.EvmSignTransactionResponse evm_sign_transaction = 3;
|
|
arbiter.evm.EvmAnalyzeTransactionResponse evm_analyze_transaction = 4;
|
|
VaultState vault_state = 6;
|
|
}
|
|
}
|