syntax = "proto3"; package nockchain.public.v1; option go_package = "./;nockchain"; import "blockchain.proto"; message ScanData { string pubkey = 1; WalletBalanceData data = 2; } enum ImportType { UNDEFINED = 0; EXTENDED_KEY = 1; SEEDPHRASE = 2; MASTER_PRIVKEY = 3; WATCH_ONLY = 4; } message TimelockIntent { optional TimelockRange absolute = 1; optional TimelockRange relative = 2; } message TimelockRange { optional Timelock min = 1; optional Timelock max = 2; } message Timelock { uint64 value = 1; } message RawTx { string tx_id = 1; repeated NockchainInput inputs = 2; TimelockRange timelock_range = 3; uint64 total_fees = 4; } message NockchainSpend { repeated NockchainSignature signatures = 1; repeated NockchainSeed seeds = 2; uint64 fee = 3; } message NockchainNote { Version version = 1; uint64 block_height = 2; optional TimelockIntent timelock = 3; NockchainName name = 4; NockchainLock lock = 5; NockchainSource source = 6; uint64 asset =7; } message NockchainName { string first = 1; string last = 2; } message NockchainInput { NockchainName name = 1; NockchainNote note = 2; NockchainSpend spend = 3; } message NockchainSignature { string pubkey = 1; repeated uint64 chal = 2; repeated uint64 sig = 3; } message NockchainSeed { optional NockchainSource output_source = 1; NockchainLock recipient = 2; optional TimelockIntent timelock_intent = 3; uint64 gift = 4; string parent_hash = 5; } message NockchainLock { uint64 keys_required = 1; repeated string pubkeys = 2; } message NockchainSource { string source = 1; bool is_coinbase = 2; } enum Version { V0 = 0; V1 = 1; V2 = 2; }