syntax = "proto3"; package nockchain.public.v2; option go_package = "./;nockchain"; import "types.proto"; import "blockchain.proto"; import "nockchain.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); rpc WalletGetBalance(GetBalanceRequest) returns (GetBalanceResponse); rpc WalletSendTransaction(SendTransactionRequest) returns (SendTransactionResponse); rpc TransactionAccepted(TransactionAcceptedRequest) returns (TransactionAcceptedResponse); } message KeygenRequest { uint64 version = 1; } message KeygenResponse { string address = 1; string private_key = 2; string seed = 3; string chain_code = 4; string import_private_key = 5; string import_public_key = 6; uint64 version = 7; } message ImportKeysRequest { string key = 1; uint64 version = 2; ImportType import_type = 3; } message ImportKeysResponse { string address = 1; string private_key = 2; string seed = 3; string chain_code = 4; string import_private_key = 5; string import_public_key = 6; uint64 version = 7; } message DeriveChildRequest { string imported_key = 1; uint64 index = 2; bool hardened = 3; uint64 version = 4; } message DeriveChildResponse { string address = 1; string private_key = 2; string chain_code = 3; uint64 version = 4; } message CreateTxRequest { string names = 1; string recipients = 2; uint64 fee = 3; bool is_master_key = 4; string seed = 5; uint64 index = 6; bool hardened = 7; uint64 version = 8; string refund_address = 9; } 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; uint64 version = 6; } message ScanResponse { repeated ScanData scan_data = 1; } message GetBalanceRequest { oneof selector { string address = 1; string first_name = 2; } } message GetBalanceResponse { Balance data = 1; } message SendTransactionRequest { RawTx raw_tx = 1; } message SendTransactionResponse { WalletSendTransactionResponse response = 1; }