mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-23 17:47:31 +00:00
Was installing electrum on my Kali Linux and when running this command: protoc --proto_path=lib/ --python_out=lib/ lib/paymentrequest.proto i got the following error: [libprotobuf WARNING google/protobuf/compiler/parser.cc:547] No syntax specified for the proto file: paymentrequest.proto. Please use 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. (Defaulted to proto2 syntax.) Fixed it myself and wanted to share it for people that might have the same issue.
47 lines
2.3 KiB
Protocol Buffer
47 lines
2.3 KiB
Protocol Buffer
//
|
|
// Simple Bitcoin Payment Protocol messages
|
|
//
|
|
// Use fields 1000+ for extensions;
|
|
// to avoid conflicts, register extensions via pull-req at
|
|
// https://github.com/bitcoin/bips/bip-0070/extensions.mediawiki
|
|
//
|
|
|
|
syntax = "proto2";
|
|
package payments;
|
|
option java_package = "org.bitcoin.protocols.payments";
|
|
option java_outer_classname = "Protos";
|
|
|
|
// Generalized form of "send payment to this/these bitcoin addresses"
|
|
message Output {
|
|
optional uint64 amount = 1 [default = 0]; // amount is integer-number-of-satoshis
|
|
required bytes script = 2; // usually one of the standard Script forms
|
|
}
|
|
message PaymentDetails {
|
|
optional string network = 1 [default = "main"]; // "main" or "test"
|
|
repeated Output outputs = 2; // Where payment should be sent
|
|
required uint64 time = 3; // Timestamp; when payment request created
|
|
optional uint64 expires = 4; // Timestamp; when this request should be considered invalid
|
|
optional string memo = 5; // Human-readable description of request for the customer
|
|
optional string payment_url = 6; // URL to send Payment and get PaymentACK
|
|
optional bytes merchant_data = 7; // Arbitrary data to include in the Payment message
|
|
}
|
|
message PaymentRequest {
|
|
optional uint32 payment_details_version = 1 [default = 1];
|
|
optional string pki_type = 2 [default = "none"]; // none / x509+sha256 / x509+sha1
|
|
optional bytes pki_data = 3; // depends on pki_type
|
|
required bytes serialized_payment_details = 4; // PaymentDetails
|
|
optional bytes signature = 5; // pki-dependent signature
|
|
}
|
|
message X509Certificates {
|
|
repeated bytes certificate = 1; // DER-encoded X.509 certificate chain
|
|
}
|
|
message Payment {
|
|
optional bytes merchant_data = 1; // From PaymentDetails.merchant_data
|
|
repeated bytes transactions = 2; // Signed transactions that satisfy PaymentDetails.outputs
|
|
repeated Output refund_to = 3; // Where to send refunds, if a refund is necessary
|
|
optional string memo = 4; // Human-readable message for the merchant
|
|
}
|
|
message PaymentACK {
|
|
required Payment payment = 1; // Payment message that triggered this ACK
|
|
optional string memo = 2; // human-readable message for customer
|
|
}
|