syntax = "proto3"; package nockchain.public.v1; 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; string gifts = 3; uint64 fee = 4; bool is_master_key = 5; string key = 6; string chain_code = 7; uint64 index = 8; bool hardened = 9; uint64 version = 10; TimelockIntent timelock_intent = 11; } 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; } message GetBalanceRequest { string address = 1; } message GetBalanceResponse { WalletBalanceData data = 1; } message SendTransactionRequest { RawTx raw_tx = 1; } message SendTransactionResponse { WalletSendTransactionResponse response = 1; }