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
}
}
}
]
};