All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sdk.models.identifier.proto Maven / Gradle / Ivy

There is a newer version: 0.1.5
Show newest version
syntax = "proto3";
import "scalapb/scalapb.proto";
import "scalapb/validate.proto";



package org.plasmalabs.sdk.models;

import 'validate/validate.proto';

// Represents the identifier of a Transaction.  It is constructed from the evidence of the signable bytes of the Transaction.
message TransactionId {
  // The evidence of the Transaction's signable bytes
  // length = 32
  bytes value = 1 [(validate.rules).bytes.len = 32];
}

// Represents the identifier of a Lock.  It is constructed from the evidence of the signable bytes of the Lock.
message LockId {
  // The evidence of the Lock's signable bytes
  // length = 32
  bytes value = 1 [(validate.rules).bytes.len = 32];
}

// Represents the identifier of an Accumulator Root.  It is constructed from the evidence of the signable bytes of the Lock.
message AccumulatorRootId {
  // The evidence of the Accumulator Root's signable bytes
  // length = 32
  bytes value = 1 [(validate.rules).bytes.len = 32];
}

// Represents the identifier of an TAM V2 group.
// It is constructed using SHA-256 digest from fields label+fixedSeries+seriesTokenSupply+transactionId+utxoIndex.
message GroupId {
  // The evidence of the Group signable bytes
  // length = 32
  bytes value = 1 [(validate.rules).bytes.len = 32];
}

// Represents the identifier of an TAM V2 series.
// It is constructed using SHA-256 digest from fields label+fixedSeries+seriesTokenSupply+transactionId+utxoIndex.
message SeriesId {
  // The evidence of the Group signable bytes
  // length = 32
  bytes value = 1 [(validate.rules).bytes.len = 32];
}
option (scalapb.options) = {
  [scalapb.validate.file] {
    validate_at_construction: true
  }
  field_transformations: [
    {
      when: {options: {[validate.rules] {message: {required: true}}}}
      set: {
        [scalapb.field] {
          required: true
        }
      }
    }
  ]
};




© 2015 - 2025 Weber Informatics LLC | Privacy Policy