| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 | 
							- syntax = "proto3";
 
- package signatory;
 
- service Signatory {
 
-   rpc BlindSign(BlindedMessages) returns (BlindSignResponse);
 
-   rpc VerifyProofs(Proofs) returns (BooleanResponse);
 
-   // returns all the keysets for the mint
 
-   rpc Keysets(EmptyRequest) returns (KeysResponse);
 
-   // rotates the keysets
 
-   rpc RotateKeyset(RotationRequest) returns (KeyRotationResponse);
 
- }
 
- enum Operation {
 
-   OPERATION_UNSPECIFIED = 0;
 
-   OPERATION_MINT = 1;
 
-   OPERATION_MELT = 2;
 
-   OPERATION_SWAP = 3;
 
- }
 
- message BlindSignResponse {
 
-   Error error = 1;
 
-   BlindSignatures sigs = 2;
 
- }
 
- message BlindedMessages {
 
-   repeated BlindedMessage blinded_messages = 1;
 
-   Operation operation = 2;
 
-   string correlation_id = 3;
 
- }
 
- // Represents a blinded message
 
- message BlindedMessage {
 
-   uint64 amount = 1;
 
-   string keyset_id = 2;
 
-   bytes blinded_secret = 3;
 
- }
 
- message BooleanResponse {
 
-   Error error = 1;
 
-   bool success = 2;
 
- }
 
- message KeyRotationResponse {
 
-   Error error = 1;
 
-   KeySet keyset = 2;
 
- }
 
- message KeysResponse {
 
-   Error error = 1;
 
-   SignatoryKeysets keysets = 2;
 
- }
 
- message SignatoryKeysets {
 
-   bytes pubkey = 1;
 
-   repeated KeySet keysets = 2;
 
- }
 
- message KeySet {
 
-   string id = 1;
 
-   CurrencyUnit unit = 2;
 
-   bool active = 3;
 
-   uint64 input_fee_ppk = 4;
 
-   Keys keys = 5;
 
- }
 
- message Keys {
 
-   map<uint64, bytes> keys = 1;
 
- }
 
- message RotationRequest {
 
-   CurrencyUnit unit = 1;
 
-   uint64 input_fee_ppk = 2;
 
-   uint32 max_order = 3;
 
- }
 
- enum CurrencyUnitType {
 
-   CURRENCY_UNIT_TYPE_UNSPECIFIED = 0;
 
-   CURRENCY_UNIT_TYPE_SAT = 1;
 
-   CURRENCY_UNIT_TYPE_MSAT = 2;
 
-   CURRENCY_UNIT_TYPE_USD = 3;
 
-   CURRENCY_UNIT_TYPE_EUR = 4;
 
-   CURRENCY_UNIT_TYPE_AUTH = 5;
 
- }
 
- message CurrencyUnit {
 
-   oneof currency_unit {
 
-     CurrencyUnitType unit = 1;
 
-     string custom_unit = 2;
 
-   }
 
- }
 
- message Proofs {
 
-   repeated Proof proof = 1;
 
-   Operation operation = 3;
 
-   string correlation_id = 4;
 
- }
 
- message Proof {
 
-   uint64 amount = 1;
 
-   string keyset_id = 2;
 
-   bytes secret = 3;
 
-   bytes c = 4;
 
- }
 
- message ProofDLEQ {
 
-   bytes e = 1;
 
-   bytes s = 2;
 
-   bytes r = 3;
 
- }
 
- message SigningResponse {
 
-   Error error = 1;
 
-   BlindSignatures blind_signatures = 2;
 
- }
 
- message BlindSignatures {
 
-   repeated BlindSignature blind_signatures = 1;
 
- }
 
- message BlindSignature {
 
-   uint64 amount = 1;
 
-   string keyset_id = 2;
 
-   bytes blinded_secret = 3;
 
-   optional BlindSignatureDLEQ dleq = 4;
 
- }
 
- message BlindSignatureDLEQ {
 
-   bytes e = 1;
 
-   bytes s = 2;
 
- }
 
- // Witness type
 
- message Witness {
 
-   oneof witness_type {
 
-     P2PKWitness p2pk_witness = 1;
 
-     HTLCWitness htlc_witness = 2;
 
-   }
 
- }
 
- // P2PKWitness type
 
- message P2PKWitness {
 
-   // List of signatures
 
-   repeated string signatures = 1;
 
- }
 
- // HTLCWitness type
 
- message HTLCWitness {
 
-   // Preimage
 
-   string preimage = 1;
 
-   // List of signatures
 
-   repeated string signatures = 2;
 
- }
 
- enum ErrorCode {
 
-   ERROR_CODE_UNSPECIFIED = 0;
 
-   ERROR_CODE_AMOUNT_OUTSIDE_LIMIT = 1;
 
-   ERROR_CODE_DUPLICATE_INPUTS_PROVIDED = 2;
 
-   ERROR_CODE_DUPLICATE_OUTPUTS_PROVIDED = 3;
 
-   ERROR_CODE_KEYSET_NOT_KNOWN = 4;
 
-   ERROR_CODE_KEYSET_INACTIVE = 5;
 
-   ERROR_CODE_MINTING_DISABLED = 6;
 
-   ERROR_CODE_COULD_NOT_ROTATE_KEYSET = 7;
 
-   ERROR_CODE_INVALID_PROOF = 8;
 
-   ERROR_CODE_INVALID_BLIND_MESSAGE = 9;
 
-   ERROR_CODE_UNIT_NOT_SUPPORTED = 10;
 
- }
 
- message Error {
 
-   ErrorCode code = 1;
 
-   string detail = 2;
 
- }
 
- message EmptyRequest {}
 
 
  |