nockchain-grpc/proto/service.proto

92 lines
1.8 KiB
Protocol Buffer
Raw Normal View History

2025-10-06 13:38:53 +07:00
syntax = "proto3";
package nockchain.public.v1;
option go_package = "./;nockchain";
import "types.proto";
service WalletService {
rpc Keygen(KeygenRequest) returns (KeygenResponse);
rpc ImportKeys(ImportKeysRequest) returns (ImportKeysResponse);
rpc DeriveChild(DeriveChildRequest) returns (DeriveChildResponse);
rpc CreateTx(CreateTxRequest) returns (CreateTxResponse);
rpc SignTx(SignTxRequest) returns (SignTxResponse);
rpc Scan(ScanRequest) returns (ScanResponse);
}
message KeygenRequest {}
message KeygenResponse {
string public_key = 1;
string private_key = 2;
string seed = 3;
string chain_code = 4;
string import_private_key = 5;
string import_public_key = 6;
}
message ImportKeysRequest {
string key = 1;
ImportType import_type = 2;
}
message ImportKeysResponse {
string public_key = 1;
string private_key = 2;
string seed = 3;
string chain_code = 4;
string import_private_key = 5;
string import_public_key = 6;
}
message DeriveChildRequest {
string imported_key = 1;
uint64 index = 2;
bool hardened = 3;
}
message DeriveChildResponse {
string public_key = 1;
string private_key = 2;
string chain_code = 3;
}
message CreateTxRequest {
string names = 1;
string recipients = 2;
string gifts = 3;
uint64 fee = 4;
bool is_master_key = 5;
string key = 6;
string chain_code = 7;
uint64 index = 8;
bool hardened = 9;
TimelockIntent timelock_intent = 10;
}
message CreateTxResponse {
RawTx rawTx = 1;
}
message SignTxRequest {
string unsigned_tx = 1;
uint64 index = 2;
bool hardened = 3;
}
message SignTxResponse {
string signed_tx = 1;
string error = 2;
}
message ScanRequest {
string master_pubkey = 1;
string chain_code = 2;
uint64 search_depth = 3;
bool include_timelocks = 4;
bool include_multisig = 5;
}
message ScanResponse {
repeated ScanData scan_data = 1;
}