redgold-schema 0.1.48

Decentralized Portfolio Contracts & Data Lake
Documentation
syntax = "proto3";
package parties;

import "structs.proto";


// Representation of metadata for all existing parties.
message PartyMetadata {
    repeated PartyInstance instances = 1;
    repeated PartyMembership memberships = 2;
}

message PartyParticipation {
    structs.Address address = 1;
    structs.Weighting weight = 2;
}


message PartyMembership {
    structs.PublicKey public_key = 1;
    repeated PartyParticipation participate = 2;
}

message PartyInstance {
    structs.Address address = 1;
    structs.Weighting threshold = 2;
    structs.PublicKey proposer = 3;
    PartyState state = 4;
    optional int64 creation_time = 5;
    optional int64 last_update_time = 6;
    optional int64 expired_time = 7;
    structs.Address successor = 8;
    repeated structs.Address priors = 9;
    optional string non_address_party_identifier = 10;
    optional int64 non_address_party_identifier_index = 11;
}


enum PartyState {
    Debug = 0;
    Active = 1;
    PendingRemoval = 2;
    Inactive = 3;
    Starting = 4;
    NotCreatedYet = 5;
}

message PartyInfo {
    structs.InitiateMultipartyKeygenRequest initiate = 1;
    structs.LocalKeyShare local_key_share = 2;
    structs.PublicKey party_key = 3;
    optional bool self_initiated = 4;
    optional int64 expired_time = 5;
    structs.PublicKey successor_key = 6;
    PartyState state = 7;
}