mirror of
https://github.com/Qortal/pirate-librustzcash.git
synced 2025-01-31 15:52:14 +00:00
48 lines
1.6 KiB
Protocol Buffer
48 lines
1.6 KiB
Protocol Buffer
|
syntax = "proto3";
|
||
|
package cash.z.wallet.sdk.rpc;
|
||
|
option go_package = "walletrpc";
|
||
|
|
||
|
// Remember that proto3 fields are all optional. A field that is not present will be set to its zero value.
|
||
|
// bytes fields of hashes are in canonical little-endian format.
|
||
|
|
||
|
// CompactBlock is a packaging of ONLY the data from a block that's needed to:
|
||
|
// 1. Detect a payment to your shielded Sapling address
|
||
|
// 2. Detect a spend of your shielded Sapling notes
|
||
|
// 3. Update your witnesses to generate new Sapling spend proofs.
|
||
|
message CompactBlock {
|
||
|
uint32 protoVersion = 1; // the version of this wire format, for storage
|
||
|
uint64 height = 2; // the height of this block
|
||
|
bytes hash = 3;
|
||
|
uint32 time = 4;
|
||
|
bytes header = 5; // (hash and time) OR (full header)
|
||
|
repeated CompactTx vtx = 6; // compact transactions from this block
|
||
|
}
|
||
|
|
||
|
message CompactTx {
|
||
|
// Index and hash will allow the receiver to call out to chain
|
||
|
// explorers or other data structures to retrieve more information
|
||
|
// about this transaction.
|
||
|
uint64 index = 1;
|
||
|
bytes hash = 2;
|
||
|
|
||
|
// The transaction fee: present if server can provide. In the case of a
|
||
|
// stateless server and a transaction with transparent inputs, this will be
|
||
|
// unset because the calculation requires reference to prior transactions.
|
||
|
// in a pure-Sapling context, the fee will be calculable as:
|
||
|
// valueBalance + (sum(vPubNew) - sum(vPubOld) - sum(tOut))
|
||
|
uint32 fee = 3;
|
||
|
|
||
|
repeated CompactSpend spends = 4;
|
||
|
repeated CompactOutput outputs = 5;
|
||
|
}
|
||
|
|
||
|
message CompactSpend {
|
||
|
bytes nf = 1;
|
||
|
}
|
||
|
|
||
|
message CompactOutput {
|
||
|
bytes cmu = 1;
|
||
|
bytes epk = 2;
|
||
|
bytes ciphertext = 3;
|
||
|
}
|