github.com/Finschia/finschia-sdk@v0.49.1/proto/lbm/fbridge/v1/genesis.proto (about) 1 syntax = "proto3"; 2 package lbm.fbridge.v1; 3 4 option go_package = "github.com/Finschia/finschia-sdk/x/fbridge/types"; 5 6 import "gogoproto/gogo.proto"; 7 import "lbm/fbridge/v1/fbridge.proto"; 8 9 // GenesisState defines the fbridge module's genesis state. 10 message GenesisState { 11 // params defines all the parameters of the module. 12 Params params = 1 [(gogoproto.nullable) = false]; 13 // sending_state defines status saved when sending tokens to a counterpart chain 14 SendingState sending_state = 2 [(gogoproto.nullable) = false]; 15 // receiving_state defines status saved when receiving tokens from a counterpart chain 16 ReceivingState receiving_state = 3 [(gogoproto.nullable) = false]; 17 // next_role_proposal_id is the next role proposal ID to be used. 18 uint64 next_role_proposal_id = 4; 19 // role_proposals defines all the role proposals present at genesis. 20 repeated RoleProposal role_proposals = 5 [(gogoproto.nullable) = false]; 21 // votes defines all the votes present for role proposals at genesis. 22 repeated Vote votes = 6 [(gogoproto.nullable) = false]; 23 // roles defines all addresses assigned roles at genesis. 24 repeated RolePair roles = 7 [(gogoproto.nullable) = false]; 25 // bridge_switches defines the status of whether each guardian has allowed the bridge to operate. 26 repeated BridgeSwitch bridge_switches = 8 [(gogoproto.nullable) = false]; 27 } 28 29 message SendingState { 30 option (gogoproto.goproto_getters) = false; 31 32 // the next sequence number of the bridge request (greatest sequence number + 1) 33 uint64 next_seq = 1; 34 // sequence-per-block number mapping 35 repeated BlockSeqInfo seq_to_blocknum = 2 [(gogoproto.nullable) = false]; 36 } 37 38 message BlockSeqInfo { 39 uint64 seq = 1; 40 uint64 blocknum = 2; 41 } 42 43 message ReceivingState { 44 option (gogoproto.goproto_getters) = false; 45 46 // the greatest consecutive sequence number confirmed by each operator 47 repeated OperatorSeqInfo greatest_consecutive_seq_by_operator = 1; 48 // the greatest sequence number confirmed by each operator 49 repeated OperatorSeqInfo greatest_seq_by_operator = 2; 50 // the greatest consecutive sequence numbers confirmed by n-of-m operators 51 // consecutiveness is judged starting from the number closest to 0. 52 uint64 greatest_consecutive_seq = 3; 53 // the set of sequence numbers to be claimed 54 repeated uint64 pending_claim_seqs = 4; 55 // commitment is the hash value of a specific provision. 56 repeated Commitment commitments = 6; 57 // provision associated with a specific commitment. 58 repeated Provision provisions = 7; 59 // map the sequence number confirmed by n-of-m operators with commitment 60 repeated ConfirmedProvision confirmed_seq_to_commitment = 8; 61 } 62 63 message OperatorSeqInfo { 64 // the operator address 65 string operator = 1; 66 // the sequence number 67 uint64 seq = 2; 68 } 69 70 message Commitment { 71 // the operator address 72 string operator = 1; 73 // the sequence number of the bridge request 74 uint64 seq = 2; 75 // commitment is the hash value of a provision 76 string commitment = 3; 77 } 78 79 message Provision { 80 string commitment = 1; 81 ProvisionData data = 2; 82 ProvisionStatus status = 3; 83 } 84 85 message ConfirmedProvision { 86 // the sequence number of the bridge request 87 uint64 seq = 1; 88 89 // commitment is the hash value of a provision 90 string commitment = 2; 91 } 92 93 message BridgeSwitch { 94 // the guardian address 95 string guardian = 1; 96 BridgeStatus status = 2; 97 }