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

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

The newest version!
syntax = "proto3";
import "scalapb/scalapb.proto";
import "scalapb/validate.proto";



package org.plasmalabs.sdk.models;

import 'validate/validate.proto';
import 'sdk/models/identifier.proto';

// Used in UTXOs
message LockAddress {
    uint32 network = 1;
    uint32 ledger = 2;
    LockId id = 3 [(validate.rules).message.required = true];
}

// Used in STXOs
message TransactionOutputAddress {
    uint32 network = 1;
    uint32 ledger = 2;
    // index of the output (UTXO) within the transaction targeted by id.
    uint32 index = 3;
    TransactionId id = 4 [(validate.rules).message.required = true];
}

// Used in Challenge.PreviousProposition
message TransactionInputAddress {
    uint32 network = 1;
    uint32 ledger = 2;
    uint32 index = 3;
    TransactionId id = 4 [(validate.rules).message.required = true];
}

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 - 2024 Weber Informatics LLC | Privacy Policy