From 06ad834c2bd77407e433deb49d4e57dd667f7f6d Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Tue, 12 Dec 2023 16:29:15 +0200 Subject: [PATCH 001/626] Added subscribe_blocks rpc call --- .../flow/executiondata/executiondata.proto | 48 ++++ .../go/flow/executiondata/executiondata.pb.go | 213 ++++++++++++++---- .../executiondata/executiondata_grpc.pb.go | 123 +++++++++- 3 files changed, 325 insertions(+), 59 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 087ca2579..c115648ed 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -9,6 +9,8 @@ import "flow/entities/block_execution_data.proto"; import "flow/entities/event.proto"; import "flow/entities/register.proto"; import "google/protobuf/timestamp.proto"; +import "flow/access/access.proto"; +import "flow/entities/block.proto"; // Execution Data API provides access to execution data from the Flow network service ExecutionDataAPI { @@ -66,6 +68,24 @@ service ExecutionDataAPI { // GetRegisterValues gets the values for the given register IDs as of the given block height rpc GetRegisterValues(GetRegisterValuesRequest) returns (GetRegisterValuesResponse); + + // SubscribeBlocks streams finalized or sealed blocks starting at the requested + // start block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Each block are filtered by the provided block status, and only + // those blocks that match the status are returned. If no block status is provided, + // sealed blocks are returned. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // not been received. + rpc SubscribeBlocks(SubscribeBlocksRequest) + returns (stream SubscribeBlocksResponse); } // The request for GetExecutionDataByBlockID @@ -230,4 +250,32 @@ message GetRegisterValuesResponse { // raw register values at the given height. repeated bytes values = 1; +} + +// The request for SubscribeBlocks +message SubscribeBlocksRequest { + // Block ID of the first block to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + bytes start_block_id = 1; + + // Block height of the first block to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + uint64 start_block_height = 2; + + // Preferred block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 3; +} + +// The response for SubscribeBlocks +message SubscribeBlocksResponse { + // The sealed or finalized blocks according to the block status + // in the request. + repeated access.BlockResponse block_response = 1; } \ No newline at end of file diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index f68b32889..30942f68a 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -6,6 +6,7 @@ package executiondata import ( fmt "fmt" proto "github.com/golang/protobuf/proto" + access "github.com/onflow/flow/protobuf/go/flow/access" entities "github.com/onflow/flow/protobuf/go/flow/entities" timestamppb "google.golang.org/protobuf/types/known/timestamppb" math "math" @@ -589,6 +590,116 @@ func (m *GetRegisterValuesResponse) GetValues() [][]byte { return nil } +// The request for SubscribeBlocks +type SubscribeBlocksRequest struct { + // Block ID of the first block to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` + // Block height of the first block to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Preferred block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,3,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlocksRequest) Reset() { *m = SubscribeBlocksRequest{} } +func (m *SubscribeBlocksRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlocksRequest) ProtoMessage() {} +func (*SubscribeBlocksRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{9} +} + +func (m *SubscribeBlocksRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlocksRequest.Unmarshal(m, b) +} +func (m *SubscribeBlocksRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlocksRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeBlocksRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlocksRequest.Merge(m, src) +} +func (m *SubscribeBlocksRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlocksRequest.Size(m) +} +func (m *SubscribeBlocksRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlocksRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlocksRequest proto.InternalMessageInfo + +func (m *SubscribeBlocksRequest) GetStartBlockId() []byte { + if m != nil { + return m.StartBlockId + } + return nil +} + +func (m *SubscribeBlocksRequest) GetStartBlockHeight() uint64 { + if m != nil { + return m.StartBlockHeight + } + return 0 +} + +func (m *SubscribeBlocksRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN +} + +// The response for SubscribeBlocks +type SubscribeBlocksResponse struct { + // The sealed or finalized blocks according to the block status + // in the request. + BlockResponse []*access.BlockResponse `protobuf:"bytes,1,rep,name=block_response,json=blockResponse,proto3" json:"block_response,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlocksResponse) Reset() { *m = SubscribeBlocksResponse{} } +func (m *SubscribeBlocksResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlocksResponse) ProtoMessage() {} +func (*SubscribeBlocksResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{10} +} + +func (m *SubscribeBlocksResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlocksResponse.Unmarshal(m, b) +} +func (m *SubscribeBlocksResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlocksResponse.Marshal(b, m, deterministic) +} +func (m *SubscribeBlocksResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlocksResponse.Merge(m, src) +} +func (m *SubscribeBlocksResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlocksResponse.Size(m) +} +func (m *SubscribeBlocksResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlocksResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlocksResponse proto.InternalMessageInfo + +func (m *SubscribeBlocksResponse) GetBlockResponse() []*access.BlockResponse { + if m != nil { + return m.BlockResponse + } + return nil +} + func init() { proto.RegisterType((*GetExecutionDataByBlockIDRequest)(nil), "flow.executiondata.GetExecutionDataByBlockIDRequest") proto.RegisterType((*GetExecutionDataByBlockIDResponse)(nil), "flow.executiondata.GetExecutionDataByBlockIDResponse") @@ -599,6 +710,8 @@ func init() { proto.RegisterType((*EventFilter)(nil), "flow.executiondata.EventFilter") proto.RegisterType((*GetRegisterValuesRequest)(nil), "flow.executiondata.GetRegisterValuesRequest") proto.RegisterType((*GetRegisterValuesResponse)(nil), "flow.executiondata.GetRegisterValuesResponse") + proto.RegisterType((*SubscribeBlocksRequest)(nil), "flow.executiondata.SubscribeBlocksRequest") + proto.RegisterType((*SubscribeBlocksResponse)(nil), "flow.executiondata.SubscribeBlocksResponse") } func init() { @@ -606,51 +719,57 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 735 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcb, 0x6e, 0xd3, 0x4c, - 0x14, 0x96, 0x93, 0xfc, 0x69, 0x7b, 0x12, 0xf5, 0x32, 0xaa, 0xfa, 0x3b, 0x16, 0xa5, 0x49, 0x40, - 0x28, 0x82, 0xd6, 0x06, 0x97, 0x8a, 0x0d, 0x1b, 0x42, 0x4b, 0xc9, 0x0e, 0xb9, 0x55, 0x25, 0xba, - 0xb1, 0x7c, 0x99, 0x3a, 0x23, 0x5c, 0x4f, 0xf0, 0x4c, 0x42, 0x2b, 0x56, 0xdd, 0xf1, 0x08, 0xbc, - 0x05, 0xef, 0xc1, 0x82, 0x37, 0xe0, 0x5d, 0x50, 0xc6, 0x63, 0x37, 0x4e, 0xdc, 0xd0, 0xaa, 0x62, - 0x13, 0xe9, 0xcc, 0xf9, 0xce, 0x9c, 0x6f, 0xbe, 0x73, 0x89, 0xe1, 0xc9, 0x59, 0x48, 0xbf, 0x18, - 0xf8, 0x02, 0x7b, 0x43, 0x4e, 0x68, 0xe4, 0x3b, 0xdc, 0xc9, 0x5b, 0xfa, 0x20, 0xa6, 0x9c, 0x22, - 0x34, 0xc6, 0xe9, 0x39, 0x8f, 0xd6, 0x49, 0x62, 0x23, 0x4e, 0x38, 0xc1, 0xcc, 0x70, 0x43, 0xea, - 0x7d, 0xb2, 0x33, 0x88, 0x7d, 0x1d, 0xad, 0x35, 0xf2, 0x48, 0x3c, 0xc2, 0x11, 0x97, 0xae, 0x07, - 0x79, 0x57, 0x8c, 0x03, 0xc2, 0x38, 0x8e, 0xa5, 0x77, 0x2b, 0xa0, 0x34, 0x08, 0xb1, 0x21, 0x2c, - 0x77, 0x78, 0x66, 0x70, 0x72, 0x8e, 0x19, 0x77, 0xce, 0x07, 0x09, 0xa0, 0xfd, 0x5d, 0x81, 0xe6, - 0x21, 0xe6, 0x07, 0x69, 0xd6, 0x7d, 0x87, 0x3b, 0xdd, 0xcb, 0xee, 0x98, 0x4a, 0x6f, 0xdf, 0xc2, - 0x9f, 0x87, 0x98, 0x71, 0xd4, 0x80, 0xc5, 0x84, 0x1c, 0xf1, 0x55, 0xa5, 0xa9, 0x74, 0xea, 0xd6, - 0x82, 0xb0, 0x7b, 0x3e, 0xfa, 0x08, 0x1b, 0x82, 0x8d, 0x8d, 0x23, 0x8f, 0xfa, 0x24, 0x0a, 0xec, - 0x11, 0x8e, 0x19, 0xa1, 0x91, 0x5a, 0x6a, 0x2a, 0x9d, 0x65, 0xf3, 0x91, 0x9e, 0x3c, 0x5c, 0xf2, - 0xd3, 0x0f, 0xc6, 0xe0, 0x03, 0x89, 0x3d, 0x49, 0xa0, 0xd6, 0x3a, 0x2e, 0x38, 0x6d, 0x5f, 0x40, - 0x6b, 0x0e, 0x33, 0x36, 0xa0, 0x11, 0xc3, 0xe8, 0x08, 0xd6, 0x8b, 0x74, 0x13, 0x34, 0x6b, 0x66, - 0x6b, 0x2a, 0xbb, 0x88, 0xce, 0xdd, 0x68, 0x21, 0x77, 0xe6, 0xac, 0xfd, 0x4b, 0x81, 0xcd, 0xa3, - 0xa1, 0xcb, 0xbc, 0x98, 0xb8, 0x38, 0x0f, 0x97, 0x8a, 0x3c, 0x86, 0x65, 0xc6, 0x9d, 0x98, 0xdb, - 0x53, 0xba, 0xd4, 0xc5, 0x69, 0x57, 0x8a, 0xb3, 0x0d, 0x68, 0x12, 0xd5, 0xc7, 0x24, 0xe8, 0x73, - 0x21, 0x4c, 0xc5, 0x5a, 0xbd, 0x46, 0xbe, 0x17, 0xe7, 0x73, 0xa4, 0x2c, 0xdf, 0x57, 0xca, 0xdf, - 0x0a, 0x3c, 0xbc, 0xe9, 0x41, 0x52, 0xc8, 0x16, 0xd4, 0x73, 0x2c, 0x15, 0xc1, 0xb2, 0xe6, 0x4e, - 0x10, 0xbc, 0x49, 0xeb, 0xd2, 0x3d, 0xb4, 0x46, 0x6f, 0x61, 0x25, 0xb9, 0x34, 0xeb, 0x4c, 0xf1, - 0xdc, 0x9a, 0xa9, 0xe9, 0x49, 0xef, 0xea, 0x69, 0xef, 0xea, 0xc7, 0x29, 0xc2, 0x5a, 0x16, 0x21, - 0x99, 0xdd, 0xfe, 0x51, 0x82, 0x8d, 0xeb, 0xf7, 0x8d, 0x15, 0x60, 0xff, 0xb2, 0x52, 0xaf, 0xa0, - 0x7a, 0x46, 0x42, 0x8e, 0x63, 0x49, 0x75, 0x4b, 0x9f, 0x9d, 0xee, 0xa4, 0x3c, 0xef, 0x04, 0xcc, - 0x92, 0x70, 0xb4, 0x03, 0xa8, 0x8f, 0x9d, 0x98, 0xbb, 0xd8, 0xe1, 0x36, 0x89, 0x38, 0x8e, 0x47, - 0x4e, 0xa8, 0x56, 0x44, 0x9a, 0xb5, 0xcc, 0xd3, 0x93, 0x8e, 0x39, 0x1d, 0xf1, 0xdf, 0x7d, 0x3b, - 0xe2, 0xa7, 0x02, 0xff, 0xcf, 0x28, 0x26, 0x5b, 0x61, 0xce, 0xb8, 0x4f, 0x77, 0x49, 0x69, 0xb6, - 0x4b, 0xb6, 0xa1, 0x2a, 0x32, 0x32, 0xb5, 0xdc, 0x2c, 0x77, 0x6a, 0xe6, 0x7a, 0x11, 0x49, 0x4b, - 0x62, 0x8a, 0xca, 0x5f, 0xb9, 0x73, 0xf9, 0x5d, 0xa8, 0x4d, 0xa8, 0x8d, 0x36, 0x01, 0x12, 0xd9, - 0xf8, 0xe5, 0x00, 0xab, 0x4a, 0xb3, 0xdc, 0x59, 0xb2, 0x96, 0xc4, 0xc9, 0xf1, 0xe5, 0x00, 0x23, - 0x0d, 0x16, 0x3d, 0x1a, 0xf1, 0xd8, 0xf1, 0xc6, 0xfc, 0xc7, 0xce, 0xcc, 0x46, 0x2a, 0x2c, 0x38, - 0xbe, 0x1f, 0x63, 0x96, 0xb0, 0x5f, 0xb2, 0x52, 0xb3, 0xfd, 0x15, 0xd4, 0x43, 0xcc, 0x2d, 0xb9, - 0x5e, 0x4f, 0x9c, 0x70, 0x88, 0xb3, 0x1e, 0xbb, 0xc5, 0xec, 0xbc, 0x86, 0x7a, 0xba, 0x9a, 0x6d, - 0xe2, 0x33, 0x91, 0xb8, 0x66, 0x36, 0xa6, 0xb4, 0x49, 0xaf, 0xef, 0xed, 0x5b, 0xb5, 0x14, 0xde, - 0xf3, 0x59, 0x7b, 0x17, 0x1a, 0x05, 0xc9, 0x65, 0xb9, 0x36, 0xa0, 0x3a, 0x12, 0x27, 0xe2, 0xa9, - 0x75, 0x4b, 0x5a, 0xe6, 0x55, 0x05, 0x56, 0x73, 0xb3, 0xf6, 0xe6, 0x43, 0x0f, 0x7d, 0x53, 0xc4, - 0x55, 0xc5, 0x5b, 0x15, 0xbd, 0x2c, 0x6a, 0xe4, 0xbf, 0xfd, 0x3d, 0x68, 0x7b, 0x77, 0x8c, 0x92, - 0xbc, 0xaf, 0x94, 0xc9, 0xa1, 0xcd, 0x2d, 0x85, 0x17, 0x45, 0x37, 0xce, 0xdd, 0xc8, 0x9a, 0x79, - 0x97, 0x90, 0x84, 0xc1, 0x73, 0x05, 0x85, 0xb0, 0x32, 0x35, 0x05, 0xe8, 0xe9, 0xfc, 0x8b, 0x26, - 0x97, 0x8b, 0xf6, 0xec, 0x56, 0xd8, 0x2c, 0xdb, 0x00, 0xd6, 0x66, 0xca, 0x88, 0xb6, 0x6f, 0x50, - 0xaf, 0xb0, 0xd5, 0xb4, 0x9d, 0x5b, 0xa2, 0x93, 0x9c, 0xdd, 0x53, 0x68, 0xd1, 0x38, 0xd0, 0x69, - 0x24, 0xa2, 0xb2, 0x51, 0xca, 0x85, 0x9f, 0xee, 0x05, 0x84, 0xf7, 0x87, 0xae, 0xee, 0xd1, 0x73, - 0x23, 0x41, 0x1a, 0xe2, 0x27, 0xfb, 0x68, 0x08, 0xa8, 0x31, 0xfb, 0x99, 0xe3, 0x56, 0x85, 0x7f, - 0xf7, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x45, 0x79, 0x16, 0x03, 0x09, 0x00, 0x00, + // 829 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcf, 0x6e, 0xd3, 0x4e, + 0x10, 0x96, 0x93, 0xfc, 0xd2, 0x76, 0x9c, 0x5f, 0xff, 0xac, 0xaa, 0xe2, 0x58, 0x94, 0x26, 0x06, + 0xa1, 0x08, 0x5a, 0xa7, 0xa4, 0x54, 0x5c, 0xe0, 0xd0, 0xd0, 0x52, 0x72, 0x43, 0x6e, 0x55, 0x89, + 0x0a, 0xc9, 0xf2, 0x9f, 0xad, 0x63, 0x91, 0xda, 0xc1, 0xbb, 0x09, 0xad, 0x38, 0x71, 0xe3, 0x11, + 0x78, 0x07, 0x0e, 0xbc, 0x07, 0x07, 0xde, 0x80, 0x67, 0xe0, 0x15, 0x50, 0x76, 0xd7, 0xae, 0x9d, + 0xb8, 0x69, 0xab, 0xaa, 0x97, 0x44, 0xb3, 0xf3, 0xcd, 0xce, 0xcc, 0xb7, 0xdf, 0xce, 0x1a, 0x1e, + 0x9f, 0xf4, 0xc2, 0xcf, 0x4d, 0x7c, 0x86, 0x9d, 0x01, 0xf5, 0xc3, 0xc0, 0xb5, 0xa8, 0x95, 0xb5, + 0xf4, 0x7e, 0x14, 0xd2, 0x10, 0xa1, 0x11, 0x4e, 0xcf, 0x78, 0xd4, 0x06, 0x8f, 0x0d, 0xa8, 0x4f, + 0x7d, 0x4c, 0x9a, 0x76, 0x2f, 0x74, 0x3e, 0x9a, 0x09, 0xc4, 0xbc, 0x88, 0x56, 0xab, 0x59, 0x24, + 0x1e, 0xe2, 0x80, 0x0a, 0xd7, 0xfd, 0xac, 0x2b, 0xc2, 0x9e, 0x4f, 0x28, 0x8e, 0x84, 0x77, 0xcd, + 0x0b, 0x43, 0xaf, 0x87, 0x9b, 0xcc, 0xb2, 0x07, 0x27, 0x4d, 0xea, 0x9f, 0x62, 0x42, 0xad, 0xd3, + 0xbe, 0x00, 0x28, 0x2c, 0xdc, 0x72, 0x1c, 0x4c, 0x88, 0xf8, 0xcb, 0xcf, 0xc9, 0xaa, 0xe3, 0x2e, + 0xed, 0xbb, 0x04, 0xb5, 0x7d, 0x4c, 0xf7, 0xe2, 0x52, 0x77, 0x2d, 0x6a, 0xb5, 0xcf, 0xdb, 0x23, + 0x44, 0x67, 0xd7, 0xc0, 0x9f, 0x06, 0x98, 0x50, 0x54, 0x85, 0x59, 0xde, 0x91, 0xef, 0x2a, 0x52, + 0x4d, 0x6a, 0x54, 0x8c, 0x19, 0x66, 0x77, 0x5c, 0xf4, 0x1e, 0x56, 0x58, 0x0b, 0x26, 0x0e, 0x9c, + 0xd0, 0xf5, 0x03, 0xcf, 0x1c, 0xe2, 0x88, 0xf8, 0x61, 0xa0, 0x14, 0x6a, 0x52, 0x63, 0xbe, 0xf5, + 0x50, 0xe7, 0x6c, 0x89, 0xdc, 0xfa, 0xde, 0x08, 0xbc, 0x27, 0xb0, 0x47, 0x1c, 0x6a, 0x2c, 0xe3, + 0x9c, 0x55, 0xed, 0x0c, 0xea, 0x53, 0x2a, 0x23, 0xfd, 0x30, 0x20, 0x18, 0x1d, 0xc0, 0x72, 0x1e, + 0xd9, 0xac, 0x4c, 0xb9, 0x55, 0x1f, 0xcb, 0xce, 0xa2, 0x33, 0x3b, 0x1a, 0xc8, 0x9e, 0x58, 0xd3, + 0x7e, 0x4b, 0xb0, 0x7a, 0x30, 0xb0, 0x89, 0x13, 0xf9, 0x36, 0xce, 0xc2, 0x05, 0x23, 0x8f, 0x60, + 0x9e, 0x50, 0x2b, 0xa2, 0xe6, 0x18, 0x2f, 0x15, 0xb6, 0xda, 0x16, 0xe4, 0xac, 0x03, 0x4a, 0xa3, + 0xba, 0xd8, 0xf7, 0xba, 0x94, 0x11, 0x53, 0x32, 0x16, 0x2f, 0x90, 0x6f, 0xd9, 0xfa, 0x14, 0x2a, + 0x8b, 0xb7, 0xa5, 0xf2, 0x8f, 0x04, 0x0f, 0x2e, 0x6b, 0x48, 0x10, 0x59, 0x87, 0x4a, 0xa6, 0x4a, + 0x89, 0x55, 0x29, 0xdb, 0xa9, 0x02, 0x2f, 0xe3, 0xba, 0x70, 0x0b, 0xae, 0xd1, 0x6b, 0x58, 0xe0, + 0x9b, 0x26, 0x72, 0x66, 0xed, 0xca, 0x2d, 0x55, 0xe7, 0x82, 0xd7, 0x63, 0xc1, 0xeb, 0x87, 0x31, + 0xc2, 0x98, 0x67, 0x21, 0x89, 0xad, 0xfd, 0x2c, 0xc0, 0xca, 0x45, 0x7f, 0x23, 0x06, 0xc8, 0x5d, + 0x9e, 0xd4, 0x0b, 0x28, 0x9f, 0xf8, 0x3d, 0x8a, 0x23, 0x51, 0xea, 0x9a, 0x3e, 0x39, 0x12, 0xf8, + 0xf1, 0xbc, 0x61, 0x30, 0x43, 0xc0, 0xd1, 0x06, 0xa0, 0x2e, 0xb6, 0x22, 0x6a, 0x63, 0x8b, 0x9a, + 0x7e, 0x40, 0x71, 0x34, 0xb4, 0x7a, 0x4a, 0x89, 0xa5, 0x59, 0x4a, 0x3c, 0x1d, 0xe1, 0x98, 0xa2, + 0x88, 0xff, 0x6e, 0xab, 0x88, 0x5f, 0x12, 0xdc, 0x9b, 0x60, 0x4c, 0x48, 0x61, 0xca, 0x75, 0x1f, + 0x57, 0x49, 0x61, 0x52, 0x25, 0xeb, 0x50, 0x66, 0x19, 0x89, 0x52, 0xac, 0x15, 0x1b, 0x72, 0x6b, + 0x39, 0xaf, 0x48, 0x43, 0x60, 0xf2, 0x8e, 0xbf, 0x74, 0xe3, 0xe3, 0xb7, 0x41, 0x4e, 0xb1, 0x8d, + 0x56, 0x01, 0x38, 0x6d, 0xf4, 0xbc, 0x8f, 0x15, 0xa9, 0x56, 0x6c, 0xcc, 0x19, 0x73, 0x6c, 0xe5, + 0xf0, 0xbc, 0x8f, 0x91, 0x0a, 0xb3, 0x4e, 0x18, 0xd0, 0xc8, 0x72, 0x46, 0xf5, 0x8f, 0x9c, 0x89, + 0x8d, 0x14, 0x98, 0xb1, 0x5c, 0x37, 0xc2, 0x84, 0x57, 0x3f, 0x67, 0xc4, 0xa6, 0xf6, 0x05, 0x94, + 0x7d, 0x4c, 0x0d, 0x31, 0x93, 0x8f, 0xac, 0xde, 0x00, 0x27, 0x1a, 0xbb, 0xc6, 0xdd, 0x79, 0x09, + 0x95, 0x78, 0x9e, 0x9b, 0xbe, 0x4b, 0x58, 0x62, 0xb9, 0x55, 0x1d, 0xe3, 0x26, 0xde, 0xbe, 0xb3, + 0x6b, 0xc8, 0x31, 0xbc, 0xe3, 0x12, 0x6d, 0x0b, 0xaa, 0x39, 0xc9, 0xc5, 0x71, 0xad, 0x40, 0x79, + 0xc8, 0x56, 0x58, 0xab, 0x15, 0x43, 0x58, 0xda, 0x0f, 0x29, 0x75, 0x29, 0x98, 0x7c, 0xef, 0xf4, + 0x52, 0xbc, 0x8a, 0x49, 0x20, 0xd4, 0xa2, 0x03, 0x22, 0x86, 0x96, 0x9a, 0x37, 0x15, 0x0e, 0x18, + 0x42, 0x10, 0xc4, 0x0d, 0xed, 0x43, 0x4a, 0x8f, 0x71, 0xb1, 0xa2, 0xc1, 0x1d, 0xe0, 0x07, 0x6e, + 0x46, 0x62, 0x85, 0x35, 0x2a, 0xc7, 0x7b, 0x8b, 0xa7, 0x8e, 0x05, 0xc5, 0x31, 0xc6, 0xff, 0x76, + 0xda, 0x6c, 0xfd, 0x2d, 0xc1, 0x62, 0x66, 0xee, 0xec, 0xbc, 0xeb, 0xa0, 0x6f, 0x12, 0xa3, 0x35, + 0xff, 0x85, 0x41, 0xcf, 0xf3, 0x2e, 0xf5, 0x55, 0x4f, 0xa5, 0xba, 0x7d, 0xc3, 0x28, 0xd1, 0xe2, + 0xd7, 0xf4, 0x59, 0x65, 0x07, 0xe4, 0xb3, 0xbc, 0x1d, 0xa7, 0xbe, 0x4e, 0x6a, 0xeb, 0x26, 0x21, + 0xbc, 0x82, 0x4d, 0x09, 0xf5, 0x60, 0x61, 0x6c, 0x22, 0xa0, 0x27, 0xd3, 0x37, 0x4a, 0x0f, 0x5a, + 0xf5, 0xe9, 0xb5, 0xb0, 0x49, 0xb6, 0x3e, 0x2c, 0x4d, 0x48, 0x1a, 0xad, 0x5f, 0xc2, 0x5e, 0xee, + 0xb5, 0x53, 0x37, 0xae, 0x89, 0x16, 0x1c, 0xa7, 0xfb, 0xe3, 0x0a, 0xbb, 0xa2, 0xbf, 0xcc, 0x9d, + 0xb9, 0xa2, 0xbf, 0xac, 0x64, 0x37, 0xa5, 0xf6, 0x31, 0xd4, 0xc3, 0xc8, 0xd3, 0xc3, 0x80, 0x45, + 0x25, 0x43, 0x2c, 0x13, 0x7e, 0xbc, 0xed, 0xf9, 0xb4, 0x3b, 0xb0, 0x75, 0x27, 0x3c, 0x6d, 0x72, + 0x64, 0x93, 0xfd, 0x24, 0xdf, 0x78, 0x5e, 0xd8, 0x9c, 0xfc, 0x2a, 0xb5, 0xcb, 0xcc, 0xbf, 0xf5, + 0x2f, 0x00, 0x00, 0xff, 0xff, 0x6e, 0x75, 0x99, 0x7c, 0xb2, 0x0a, 0x00, 0x00, } diff --git a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go index 776b7bbdd..018d0bf4c 100644 --- a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go +++ b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go @@ -28,8 +28,9 @@ type ExecutionDataAPIClient interface { // - InvalidArgument is returned if the request contains an invalid block ID. // - NotFound is returned if the start block or execution data are not // currently available on the - // node. This may happen if the block was from a previous spork, or if the - // block has yet not been received. + // + // node. This may happen if the block was from a previous spork, or if the + // block has yet not been received. GetExecutionDataByBlockID(ctx context.Context, in *GetExecutionDataByBlockIDRequest, opts ...grpc.CallOption) (*GetExecutionDataByBlockIDResponse, error) // SubscribeExecutionData streams execution data for all blocks starting at // the requested start block, up until the latest available block. Once the @@ -41,8 +42,9 @@ type ExecutionDataAPIClient interface { // block. // - NotFound is returned if the start block is not currently available on the // node. This may - // happen if the block was from a previous spork, or if the block has yet - // not been received. + // + // happen if the block was from a previous spork, or if the block has yet + // not been received. SubscribeExecutionData(ctx context.Context, in *SubscribeExecutionDataRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataClient, error) // SubscribeEvents streams events for all blocks starting at the requested // start block, up until the latest available block. Once the latest is @@ -64,11 +66,28 @@ type ExecutionDataAPIClient interface { // EventFilter or start block. // - NotFound is returned if the start block is not currently available on the // node. This may - // happen if the block was from a previous spork, or if the block has yet - // not been received. + // + // happen if the block was from a previous spork, or if the block has yet + // not been received. SubscribeEvents(ctx context.Context, in *SubscribeEventsRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsClient, error) // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(ctx context.Context, in *GetRegisterValuesRequest, opts ...grpc.CallOption) (*GetRegisterValuesResponse, error) + // SubscribeBlocks streams finalized or sealed blocks starting at the requested + // start block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Each block are filtered by the provided block status, and only + // those blocks that match the status are returned. If no block status is provided, + // sealed blocks are returned. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // not been received. + SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeBlocksClient, error) } type executionDataAPIClient struct { @@ -161,6 +180,38 @@ func (c *executionDataAPIClient) GetRegisterValues(ctx context.Context, in *GetR return out, nil } +func (c *executionDataAPIClient) SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeBlocksClient, error) { + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[2], "/flow.executiondata.ExecutionDataAPI/SubscribeBlocks", opts...) + if err != nil { + return nil, err + } + x := &executionDataAPISubscribeBlocksClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ExecutionDataAPI_SubscribeBlocksClient interface { + Recv() (*SubscribeBlocksResponse, error) + grpc.ClientStream +} + +type executionDataAPISubscribeBlocksClient struct { + grpc.ClientStream +} + +func (x *executionDataAPISubscribeBlocksClient) Recv() (*SubscribeBlocksResponse, error) { + m := new(SubscribeBlocksResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + // ExecutionDataAPIServer is the server API for ExecutionDataAPI service. // All implementations should embed UnimplementedExecutionDataAPIServer // for forward compatibility @@ -171,8 +222,9 @@ type ExecutionDataAPIServer interface { // - InvalidArgument is returned if the request contains an invalid block ID. // - NotFound is returned if the start block or execution data are not // currently available on the - // node. This may happen if the block was from a previous spork, or if the - // block has yet not been received. + // + // node. This may happen if the block was from a previous spork, or if the + // block has yet not been received. GetExecutionDataByBlockID(context.Context, *GetExecutionDataByBlockIDRequest) (*GetExecutionDataByBlockIDResponse, error) // SubscribeExecutionData streams execution data for all blocks starting at // the requested start block, up until the latest available block. Once the @@ -184,8 +236,9 @@ type ExecutionDataAPIServer interface { // block. // - NotFound is returned if the start block is not currently available on the // node. This may - // happen if the block was from a previous spork, or if the block has yet - // not been received. + // + // happen if the block was from a previous spork, or if the block has yet + // not been received. SubscribeExecutionData(*SubscribeExecutionDataRequest, ExecutionDataAPI_SubscribeExecutionDataServer) error // SubscribeEvents streams events for all blocks starting at the requested // start block, up until the latest available block. Once the latest is @@ -207,11 +260,28 @@ type ExecutionDataAPIServer interface { // EventFilter or start block. // - NotFound is returned if the start block is not currently available on the // node. This may - // happen if the block was from a previous spork, or if the block has yet - // not been received. + // + // happen if the block was from a previous spork, or if the block has yet + // not been received. SubscribeEvents(*SubscribeEventsRequest, ExecutionDataAPI_SubscribeEventsServer) error // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) + // SubscribeBlocks streams finalized or sealed blocks starting at the requested + // start block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Each block are filtered by the provided block status, and only + // those blocks that match the status are returned. If no block status is provided, + // sealed blocks are returned. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // not been received. + SubscribeBlocks(*SubscribeBlocksRequest, ExecutionDataAPI_SubscribeBlocksServer) error } // UnimplementedExecutionDataAPIServer should be embedded to have forward compatible implementations. @@ -230,6 +300,9 @@ func (UnimplementedExecutionDataAPIServer) SubscribeEvents(*SubscribeEventsReque func (UnimplementedExecutionDataAPIServer) GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetRegisterValues not implemented") } +func (UnimplementedExecutionDataAPIServer) SubscribeBlocks(*SubscribeBlocksRequest, ExecutionDataAPI_SubscribeBlocksServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlocks not implemented") +} // UnsafeExecutionDataAPIServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ExecutionDataAPIServer will @@ -320,6 +393,27 @@ func _ExecutionDataAPI_GetRegisterValues_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } +func _ExecutionDataAPI_SubscribeBlocks_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlocksRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ExecutionDataAPIServer).SubscribeBlocks(m, &executionDataAPISubscribeBlocksServer{stream}) +} + +type ExecutionDataAPI_SubscribeBlocksServer interface { + Send(*SubscribeBlocksResponse) error + grpc.ServerStream +} + +type executionDataAPISubscribeBlocksServer struct { + grpc.ServerStream +} + +func (x *executionDataAPISubscribeBlocksServer) Send(m *SubscribeBlocksResponse) error { + return x.ServerStream.SendMsg(m) +} + // ExecutionDataAPI_ServiceDesc is the grpc.ServiceDesc for ExecutionDataAPI service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -347,6 +441,11 @@ var ExecutionDataAPI_ServiceDesc = grpc.ServiceDesc{ Handler: _ExecutionDataAPI_SubscribeEvents_Handler, ServerStreams: true, }, + { + StreamName: "SubscribeBlocks", + Handler: _ExecutionDataAPI_SubscribeBlocks_Handler, + ServerStreams: true, + }, }, Metadata: "flow/executiondata/executiondata.proto", } From 18ac589b1bdf037ab7da6fb50b3e12c487393fb4 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Thu, 14 Dec 2023 12:21:50 +0200 Subject: [PATCH 002/626] Updated SubscribeBlockResponse --- .../flow/executiondata/executiondata.proto | 2 +- .../go/flow/executiondata/executiondata.pb.go | 120 +++++++++--------- 2 files changed, 61 insertions(+), 61 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index c115648ed..818293dd8 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -277,5 +277,5 @@ message SubscribeBlocksRequest { message SubscribeBlocksResponse { // The sealed or finalized blocks according to the block status // in the request. - repeated access.BlockResponse block_response = 1; + entities.Block block = 1; } \ No newline at end of file diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index 30942f68a..fd7650fb7 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -6,7 +6,7 @@ package executiondata import ( fmt "fmt" proto "github.com/golang/protobuf/proto" - access "github.com/onflow/flow/protobuf/go/flow/access" + _ "github.com/onflow/flow/protobuf/go/flow/access" entities "github.com/onflow/flow/protobuf/go/flow/entities" timestamppb "google.golang.org/protobuf/types/known/timestamppb" math "math" @@ -662,10 +662,10 @@ func (m *SubscribeBlocksRequest) GetBlockStatus() entities.BlockStatus { type SubscribeBlocksResponse struct { // The sealed or finalized blocks according to the block status // in the request. - BlockResponse []*access.BlockResponse `protobuf:"bytes,1,rep,name=block_response,json=blockResponse,proto3" json:"block_response,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Block *entities.Block `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SubscribeBlocksResponse) Reset() { *m = SubscribeBlocksResponse{} } @@ -693,9 +693,9 @@ func (m *SubscribeBlocksResponse) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlocksResponse proto.InternalMessageInfo -func (m *SubscribeBlocksResponse) GetBlockResponse() []*access.BlockResponse { +func (m *SubscribeBlocksResponse) GetBlock() *entities.Block { if m != nil { - return m.BlockResponse + return m.Block } return nil } @@ -719,57 +719,57 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 829 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcf, 0x6e, 0xd3, 0x4e, - 0x10, 0x96, 0x93, 0xfc, 0xd2, 0x76, 0x9c, 0x5f, 0xff, 0xac, 0xaa, 0xe2, 0x58, 0x94, 0x26, 0x06, - 0xa1, 0x08, 0x5a, 0xa7, 0xa4, 0x54, 0x5c, 0xe0, 0xd0, 0xd0, 0x52, 0x72, 0x43, 0x6e, 0x55, 0x89, - 0x0a, 0xc9, 0xf2, 0x9f, 0xad, 0x63, 0x91, 0xda, 0xc1, 0xbb, 0x09, 0xad, 0x38, 0x71, 0xe3, 0x11, - 0x78, 0x07, 0x0e, 0xbc, 0x07, 0x07, 0xde, 0x80, 0x67, 0xe0, 0x15, 0x50, 0x76, 0xd7, 0xae, 0x9d, - 0xb8, 0x69, 0xab, 0xaa, 0x97, 0x44, 0xb3, 0xf3, 0xcd, 0xce, 0xcc, 0xb7, 0xdf, 0xce, 0x1a, 0x1e, - 0x9f, 0xf4, 0xc2, 0xcf, 0x4d, 0x7c, 0x86, 0x9d, 0x01, 0xf5, 0xc3, 0xc0, 0xb5, 0xa8, 0x95, 0xb5, - 0xf4, 0x7e, 0x14, 0xd2, 0x10, 0xa1, 0x11, 0x4e, 0xcf, 0x78, 0xd4, 0x06, 0x8f, 0x0d, 0xa8, 0x4f, - 0x7d, 0x4c, 0x9a, 0x76, 0x2f, 0x74, 0x3e, 0x9a, 0x09, 0xc4, 0xbc, 0x88, 0x56, 0xab, 0x59, 0x24, - 0x1e, 0xe2, 0x80, 0x0a, 0xd7, 0xfd, 0xac, 0x2b, 0xc2, 0x9e, 0x4f, 0x28, 0x8e, 0x84, 0x77, 0xcd, - 0x0b, 0x43, 0xaf, 0x87, 0x9b, 0xcc, 0xb2, 0x07, 0x27, 0x4d, 0xea, 0x9f, 0x62, 0x42, 0xad, 0xd3, - 0xbe, 0x00, 0x28, 0x2c, 0xdc, 0x72, 0x1c, 0x4c, 0x88, 0xf8, 0xcb, 0xcf, 0xc9, 0xaa, 0xe3, 0x2e, - 0xed, 0xbb, 0x04, 0xb5, 0x7d, 0x4c, 0xf7, 0xe2, 0x52, 0x77, 0x2d, 0x6a, 0xb5, 0xcf, 0xdb, 0x23, - 0x44, 0x67, 0xd7, 0xc0, 0x9f, 0x06, 0x98, 0x50, 0x54, 0x85, 0x59, 0xde, 0x91, 0xef, 0x2a, 0x52, - 0x4d, 0x6a, 0x54, 0x8c, 0x19, 0x66, 0x77, 0x5c, 0xf4, 0x1e, 0x56, 0x58, 0x0b, 0x26, 0x0e, 0x9c, - 0xd0, 0xf5, 0x03, 0xcf, 0x1c, 0xe2, 0x88, 0xf8, 0x61, 0xa0, 0x14, 0x6a, 0x52, 0x63, 0xbe, 0xf5, - 0x50, 0xe7, 0x6c, 0x89, 0xdc, 0xfa, 0xde, 0x08, 0xbc, 0x27, 0xb0, 0x47, 0x1c, 0x6a, 0x2c, 0xe3, - 0x9c, 0x55, 0xed, 0x0c, 0xea, 0x53, 0x2a, 0x23, 0xfd, 0x30, 0x20, 0x18, 0x1d, 0xc0, 0x72, 0x1e, - 0xd9, 0xac, 0x4c, 0xb9, 0x55, 0x1f, 0xcb, 0xce, 0xa2, 0x33, 0x3b, 0x1a, 0xc8, 0x9e, 0x58, 0xd3, - 0x7e, 0x4b, 0xb0, 0x7a, 0x30, 0xb0, 0x89, 0x13, 0xf9, 0x36, 0xce, 0xc2, 0x05, 0x23, 0x8f, 0x60, - 0x9e, 0x50, 0x2b, 0xa2, 0xe6, 0x18, 0x2f, 0x15, 0xb6, 0xda, 0x16, 0xe4, 0xac, 0x03, 0x4a, 0xa3, - 0xba, 0xd8, 0xf7, 0xba, 0x94, 0x11, 0x53, 0x32, 0x16, 0x2f, 0x90, 0x6f, 0xd9, 0xfa, 0x14, 0x2a, - 0x8b, 0xb7, 0xa5, 0xf2, 0x8f, 0x04, 0x0f, 0x2e, 0x6b, 0x48, 0x10, 0x59, 0x87, 0x4a, 0xa6, 0x4a, - 0x89, 0x55, 0x29, 0xdb, 0xa9, 0x02, 0x2f, 0xe3, 0xba, 0x70, 0x0b, 0xae, 0xd1, 0x6b, 0x58, 0xe0, - 0x9b, 0x26, 0x72, 0x66, 0xed, 0xca, 0x2d, 0x55, 0xe7, 0x82, 0xd7, 0x63, 0xc1, 0xeb, 0x87, 0x31, - 0xc2, 0x98, 0x67, 0x21, 0x89, 0xad, 0xfd, 0x2c, 0xc0, 0xca, 0x45, 0x7f, 0x23, 0x06, 0xc8, 0x5d, - 0x9e, 0xd4, 0x0b, 0x28, 0x9f, 0xf8, 0x3d, 0x8a, 0x23, 0x51, 0xea, 0x9a, 0x3e, 0x39, 0x12, 0xf8, - 0xf1, 0xbc, 0x61, 0x30, 0x43, 0xc0, 0xd1, 0x06, 0xa0, 0x2e, 0xb6, 0x22, 0x6a, 0x63, 0x8b, 0x9a, - 0x7e, 0x40, 0x71, 0x34, 0xb4, 0x7a, 0x4a, 0x89, 0xa5, 0x59, 0x4a, 0x3c, 0x1d, 0xe1, 0x98, 0xa2, - 0x88, 0xff, 0x6e, 0xab, 0x88, 0x5f, 0x12, 0xdc, 0x9b, 0x60, 0x4c, 0x48, 0x61, 0xca, 0x75, 0x1f, - 0x57, 0x49, 0x61, 0x52, 0x25, 0xeb, 0x50, 0x66, 0x19, 0x89, 0x52, 0xac, 0x15, 0x1b, 0x72, 0x6b, - 0x39, 0xaf, 0x48, 0x43, 0x60, 0xf2, 0x8e, 0xbf, 0x74, 0xe3, 0xe3, 0xb7, 0x41, 0x4e, 0xb1, 0x8d, - 0x56, 0x01, 0x38, 0x6d, 0xf4, 0xbc, 0x8f, 0x15, 0xa9, 0x56, 0x6c, 0xcc, 0x19, 0x73, 0x6c, 0xe5, - 0xf0, 0xbc, 0x8f, 0x91, 0x0a, 0xb3, 0x4e, 0x18, 0xd0, 0xc8, 0x72, 0x46, 0xf5, 0x8f, 0x9c, 0x89, - 0x8d, 0x14, 0x98, 0xb1, 0x5c, 0x37, 0xc2, 0x84, 0x57, 0x3f, 0x67, 0xc4, 0xa6, 0xf6, 0x05, 0x94, - 0x7d, 0x4c, 0x0d, 0x31, 0x93, 0x8f, 0xac, 0xde, 0x00, 0x27, 0x1a, 0xbb, 0xc6, 0xdd, 0x79, 0x09, - 0x95, 0x78, 0x9e, 0x9b, 0xbe, 0x4b, 0x58, 0x62, 0xb9, 0x55, 0x1d, 0xe3, 0x26, 0xde, 0xbe, 0xb3, - 0x6b, 0xc8, 0x31, 0xbc, 0xe3, 0x12, 0x6d, 0x0b, 0xaa, 0x39, 0xc9, 0xc5, 0x71, 0xad, 0x40, 0x79, - 0xc8, 0x56, 0x58, 0xab, 0x15, 0x43, 0x58, 0xda, 0x0f, 0x29, 0x75, 0x29, 0x98, 0x7c, 0xef, 0xf4, - 0x52, 0xbc, 0x8a, 0x49, 0x20, 0xd4, 0xa2, 0x03, 0x22, 0x86, 0x96, 0x9a, 0x37, 0x15, 0x0e, 0x18, - 0x42, 0x10, 0xc4, 0x0d, 0xed, 0x43, 0x4a, 0x8f, 0x71, 0xb1, 0xa2, 0xc1, 0x1d, 0xe0, 0x07, 0x6e, - 0x46, 0x62, 0x85, 0x35, 0x2a, 0xc7, 0x7b, 0x8b, 0xa7, 0x8e, 0x05, 0xc5, 0x31, 0xc6, 0xff, 0x76, - 0xda, 0x6c, 0xfd, 0x2d, 0xc1, 0x62, 0x66, 0xee, 0xec, 0xbc, 0xeb, 0xa0, 0x6f, 0x12, 0xa3, 0x35, - 0xff, 0x85, 0x41, 0xcf, 0xf3, 0x2e, 0xf5, 0x55, 0x4f, 0xa5, 0xba, 0x7d, 0xc3, 0x28, 0xd1, 0xe2, - 0xd7, 0xf4, 0x59, 0x65, 0x07, 0xe4, 0xb3, 0xbc, 0x1d, 0xa7, 0xbe, 0x4e, 0x6a, 0xeb, 0x26, 0x21, - 0xbc, 0x82, 0x4d, 0x09, 0xf5, 0x60, 0x61, 0x6c, 0x22, 0xa0, 0x27, 0xd3, 0x37, 0x4a, 0x0f, 0x5a, - 0xf5, 0xe9, 0xb5, 0xb0, 0x49, 0xb6, 0x3e, 0x2c, 0x4d, 0x48, 0x1a, 0xad, 0x5f, 0xc2, 0x5e, 0xee, - 0xb5, 0x53, 0x37, 0xae, 0x89, 0x16, 0x1c, 0xa7, 0xfb, 0xe3, 0x0a, 0xbb, 0xa2, 0xbf, 0xcc, 0x9d, - 0xb9, 0xa2, 0xbf, 0xac, 0x64, 0x37, 0xa5, 0xf6, 0x31, 0xd4, 0xc3, 0xc8, 0xd3, 0xc3, 0x80, 0x45, - 0x25, 0x43, 0x2c, 0x13, 0x7e, 0xbc, 0xed, 0xf9, 0xb4, 0x3b, 0xb0, 0x75, 0x27, 0x3c, 0x6d, 0x72, - 0x64, 0x93, 0xfd, 0x24, 0xdf, 0x78, 0x5e, 0xd8, 0x9c, 0xfc, 0x2a, 0xb5, 0xcb, 0xcc, 0xbf, 0xf5, - 0x2f, 0x00, 0x00, 0xff, 0xff, 0x6e, 0x75, 0x99, 0x7c, 0xb2, 0x0a, 0x00, 0x00, + // 820 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcd, 0x4e, 0xdb, 0x4a, + 0x14, 0x96, 0x93, 0x10, 0xe0, 0x24, 0xe2, 0x67, 0x14, 0x71, 0x1d, 0xeb, 0x72, 0x49, 0x7c, 0xaf, + 0xae, 0x22, 0x2e, 0x38, 0xdc, 0x50, 0xd4, 0x4d, 0xbb, 0x68, 0x4a, 0x4a, 0xb3, 0xab, 0x0c, 0x42, + 0x2a, 0x9b, 0xc8, 0x3f, 0x83, 0x63, 0x35, 0x78, 0x52, 0xcf, 0x24, 0x05, 0x75, 0xd5, 0x5d, 0x1f, + 0xa1, 0xef, 0xd0, 0x45, 0xdf, 0xa3, 0x8b, 0xbe, 0x41, 0x9f, 0xa1, 0xaf, 0x50, 0x65, 0x66, 0x6c, + 0xec, 0xc4, 0x04, 0x10, 0x62, 0x03, 0x3a, 0x73, 0xbe, 0x33, 0xe7, 0x9c, 0x6f, 0xbe, 0x73, 0x1c, + 0xf8, 0xf7, 0x7c, 0x40, 0x3e, 0x34, 0xf1, 0x25, 0x76, 0x46, 0xcc, 0x27, 0x81, 0x6b, 0x31, 0x2b, + 0x6d, 0x19, 0xc3, 0x90, 0x30, 0x82, 0xd0, 0x04, 0x67, 0xa4, 0x3c, 0x5a, 0x43, 0xc4, 0x06, 0xcc, + 0x67, 0x3e, 0xa6, 0x4d, 0x7b, 0x40, 0x9c, 0x77, 0xbd, 0x18, 0xd2, 0xbb, 0x8e, 0xd6, 0xaa, 0x69, + 0x24, 0x1e, 0xe3, 0x80, 0x49, 0xd7, 0x9f, 0x69, 0x57, 0x88, 0x3d, 0x9f, 0x32, 0x1c, 0x4a, 0xef, + 0x96, 0x47, 0x88, 0x37, 0xc0, 0x4d, 0x6e, 0xd9, 0xa3, 0xf3, 0x26, 0xf3, 0x2f, 0x30, 0x65, 0xd6, + 0xc5, 0x50, 0x02, 0x54, 0x1e, 0x6e, 0x39, 0x0e, 0xa6, 0x54, 0xfe, 0xcb, 0xce, 0xc9, 0xab, 0x13, + 0x2e, 0xfd, 0x8b, 0x02, 0xb5, 0x23, 0xcc, 0x3a, 0x51, 0xa9, 0x87, 0x16, 0xb3, 0xda, 0x57, 0xed, + 0x09, 0xa2, 0x7b, 0x68, 0xe2, 0xf7, 0x23, 0x4c, 0x19, 0xaa, 0xc2, 0x92, 0xe8, 0xc8, 0x77, 0x55, + 0xa5, 0xa6, 0x34, 0xca, 0xe6, 0x22, 0xb7, 0xbb, 0x2e, 0x7a, 0x0b, 0x1b, 0xbc, 0x85, 0x1e, 0x0e, + 0x1c, 0xe2, 0xfa, 0x81, 0xd7, 0x1b, 0xe3, 0x90, 0xfa, 0x24, 0x50, 0x73, 0x35, 0xa5, 0xb1, 0xd2, + 0xfa, 0xdb, 0x10, 0x6c, 0xc9, 0xdc, 0x46, 0x67, 0x02, 0xee, 0x48, 0xec, 0xa9, 0x80, 0x9a, 0x15, + 0x9c, 0x71, 0xaa, 0x5f, 0x42, 0x7d, 0x4e, 0x65, 0x74, 0x48, 0x02, 0x8a, 0xd1, 0x31, 0x54, 0xb2, + 0xc8, 0xe6, 0x65, 0x96, 0x5a, 0xf5, 0xa9, 0xec, 0x3c, 0x3a, 0x75, 0xa3, 0x89, 0xec, 0x99, 0x33, + 0xfd, 0x87, 0x02, 0x9b, 0xc7, 0x23, 0x9b, 0x3a, 0xa1, 0x6f, 0xe3, 0x34, 0x5c, 0x32, 0xf2, 0x0f, + 0xac, 0x50, 0x66, 0x85, 0xac, 0x37, 0xc5, 0x4b, 0x99, 0x9f, 0xb6, 0x25, 0x39, 0x3b, 0x80, 0x92, + 0xa8, 0x3e, 0xf6, 0xbd, 0x3e, 0xe3, 0xc4, 0x14, 0xcc, 0xb5, 0x6b, 0xe4, 0x6b, 0x7e, 0x3e, 0x87, + 0xca, 0xfc, 0x43, 0xa9, 0xfc, 0xa9, 0xc0, 0x5f, 0x37, 0x35, 0x24, 0x89, 0xac, 0x43, 0x39, 0x55, + 0xa5, 0xc2, 0xab, 0x2c, 0xd9, 0x89, 0x02, 0x6f, 0xe2, 0x3a, 0xf7, 0x00, 0xae, 0xd1, 0x4b, 0x58, + 0x15, 0x97, 0xc6, 0x72, 0xe6, 0xed, 0x96, 0x5a, 0x9a, 0x21, 0x04, 0x6f, 0x44, 0x82, 0x37, 0x4e, + 0x22, 0x84, 0xb9, 0xc2, 0x43, 0x62, 0x5b, 0xff, 0x96, 0x83, 0x8d, 0xeb, 0xfe, 0x26, 0x0c, 0xd0, + 0xc7, 0x7c, 0xa9, 0xa7, 0x50, 0x3c, 0xf7, 0x07, 0x0c, 0x87, 0xb2, 0xd4, 0x2d, 0x63, 0x76, 0x25, + 0x88, 0xe7, 0x79, 0xc5, 0x61, 0xa6, 0x84, 0xa3, 0x5d, 0x40, 0x7d, 0x6c, 0x85, 0xcc, 0xc6, 0x16, + 0xeb, 0xf9, 0x01, 0xc3, 0xe1, 0xd8, 0x1a, 0xa8, 0x05, 0x9e, 0x66, 0x3d, 0xf6, 0x74, 0xa5, 0x63, + 0x8e, 0x22, 0x16, 0x1e, 0xaa, 0x88, 0xef, 0x0a, 0xfc, 0x31, 0xc3, 0x98, 0x94, 0xc2, 0x9c, 0x71, + 0x9f, 0x56, 0x49, 0x6e, 0x56, 0x25, 0x3b, 0x50, 0xe4, 0x19, 0xa9, 0x9a, 0xaf, 0xe5, 0x1b, 0xa5, + 0x56, 0x25, 0xab, 0x48, 0x53, 0x62, 0xb2, 0x9e, 0xbf, 0x70, 0xef, 0xe7, 0xb7, 0xa1, 0x94, 0x60, + 0x1b, 0x6d, 0x02, 0x08, 0xda, 0xd8, 0xd5, 0x10, 0xab, 0x4a, 0x2d, 0xdf, 0x58, 0x36, 0x97, 0xf9, + 0xc9, 0xc9, 0xd5, 0x10, 0x23, 0x0d, 0x96, 0x1c, 0x12, 0xb0, 0xd0, 0x72, 0x26, 0xf5, 0x4f, 0x9c, + 0xb1, 0x8d, 0x54, 0x58, 0xb4, 0x5c, 0x37, 0xc4, 0x54, 0x54, 0xbf, 0x6c, 0x46, 0xa6, 0xfe, 0x11, + 0xd4, 0x23, 0xcc, 0x4c, 0xb9, 0x93, 0x4f, 0xad, 0xc1, 0x08, 0xc7, 0x1a, 0xbb, 0xc3, 0xec, 0x3c, + 0x83, 0x72, 0xb4, 0xcf, 0x7b, 0xbe, 0x4b, 0x79, 0xe2, 0x52, 0xab, 0x3a, 0xc5, 0x4d, 0x74, 0x7d, + 0xf7, 0xd0, 0x2c, 0x45, 0xf0, 0xae, 0x4b, 0xf5, 0x7d, 0xa8, 0x66, 0x24, 0x97, 0xcf, 0xb5, 0x01, + 0xc5, 0x31, 0x3f, 0xe1, 0xad, 0x96, 0x4d, 0x69, 0xe9, 0x5f, 0x95, 0xc4, 0x50, 0x70, 0xf9, 0x3e, + 0xea, 0x50, 0x3c, 0x8f, 0x48, 0xa0, 0xcc, 0x62, 0x23, 0x2a, 0x97, 0x96, 0x96, 0xb5, 0x15, 0x8e, + 0x39, 0x42, 0x12, 0x24, 0x0c, 0xbd, 0x93, 0xd0, 0x63, 0x54, 0xac, 0x6c, 0x70, 0x1b, 0x16, 0x38, + 0x52, 0x2e, 0xf5, 0x4a, 0xd6, 0x95, 0xa6, 0x80, 0xb4, 0x7e, 0x15, 0x60, 0x2d, 0xb5, 0x60, 0x5e, + 0xbc, 0xe9, 0xa2, 0xcf, 0x0a, 0xe7, 0x2f, 0xfb, 0x53, 0x82, 0x9e, 0x64, 0x4d, 0xef, 0x6d, 0xdf, + 0x44, 0xed, 0xe0, 0x9e, 0x51, 0xb2, 0x97, 0x4f, 0xc9, 0x47, 0x49, 0x6f, 0xc2, 0xff, 0xb3, 0x6e, + 0x9c, 0xfb, 0x19, 0xd2, 0x5a, 0xf7, 0x09, 0x11, 0x15, 0xec, 0x29, 0x68, 0x00, 0xab, 0x53, 0xa3, + 0x8f, 0xb6, 0xe7, 0x5f, 0x94, 0xdc, 0xa8, 0xda, 0x7f, 0x77, 0xc2, 0xc6, 0xd9, 0x86, 0xb0, 0x3e, + 0xa3, 0x5d, 0xb4, 0x73, 0x03, 0x7b, 0x99, 0xf3, 0xa5, 0xed, 0xde, 0x11, 0x2d, 0x39, 0x4e, 0xf6, + 0x27, 0xa4, 0x74, 0x4b, 0x7f, 0xa9, 0xe1, 0xb8, 0xa5, 0xbf, 0xb4, 0x36, 0xf7, 0x94, 0xf6, 0x19, + 0xd4, 0x49, 0xe8, 0x19, 0x24, 0xe0, 0x51, 0xf1, 0xb6, 0x4a, 0x85, 0x9f, 0x1d, 0x78, 0x3e, 0xeb, + 0x8f, 0x6c, 0xc3, 0x21, 0x17, 0x4d, 0x81, 0x6c, 0xf2, 0x3f, 0xf1, 0x8f, 0x39, 0x8f, 0x34, 0x67, + 0x7f, 0x7e, 0xda, 0x45, 0xee, 0xdf, 0xff, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xeb, 0x2a, 0xe2, 0xe6, + 0x9b, 0x0a, 0x00, 0x00, } From 9c8ffa28d6a7b3c7a8654c5e7aef89a0ef58b02b Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Mon, 18 Dec 2023 15:57:54 +0200 Subject: [PATCH 003/626] Moved SubscribeBlocks to access --- protobuf/flow/access/access.proto | 46 +++ .../flow/executiondata/executiondata.proto | 46 --- protobuf/go/flow/access/access.pb.go | 364 ++++++++++++------ protobuf/go/flow/access/access_grpc.pb.go | 96 ++++- .../go/flow/executiondata/executiondata.pb.go | 213 +++------- .../executiondata/executiondata_grpc.pb.go | 93 ----- 6 files changed, 429 insertions(+), 429 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 50231215a..7fb061e15 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -157,6 +157,24 @@ service AccessAPI { // GetExecutionResultByID returns Execution Result by its ID. rpc GetExecutionResultByID(GetExecutionResultByIDRequest) returns (ExecutionResultByIDResponse); + + // SubscribeBlocks streams finalized or sealed blocks starting at the requested + // start block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Each block are filtered by the provided block status, and only + // those blocks that match the status are returned. If no block status is provided, + // sealed blocks are returned. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // not been received. + rpc SubscribeBlocks(SubscribeBlocksRequest) + returns (stream SubscribeBlocksResponse); } message PingRequest {} @@ -407,3 +425,31 @@ message ExecutionResultByIDResponse { entities.ExecutionResult execution_result = 1; entities.Metadata metadata = 2; } + +// The request for SubscribeBlocks +message SubscribeBlocksRequest { + // Block ID of the first block to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + bytes start_block_id = 1; + + // Block height of the first block to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + uint64 start_block_height = 2; + + // Preferred block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 3; +} + +// The response for SubscribeBlocks +message SubscribeBlocksResponse { + // The sealed or finalized blocks according to the block status + // in the request. + entities.Block block = 1; +} diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 818293dd8..56c11b794 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -68,24 +68,6 @@ service ExecutionDataAPI { // GetRegisterValues gets the values for the given register IDs as of the given block height rpc GetRegisterValues(GetRegisterValuesRequest) returns (GetRegisterValuesResponse); - - // SubscribeBlocks streams finalized or sealed blocks starting at the requested - // start block, up until the latest available block. Once the latest is - // reached, the stream will remain open and responses are sent for each new - // block as it becomes available. - // - // Each block are filtered by the provided block status, and only - // those blocks that match the status are returned. If no block status is provided, - // sealed blocks are returned. - // - // Errors: - // - InvalidArgument is returned if the request contains an invalid - // start block. - // - NotFound is returned if the start block is not currently available on the - // node. This may happen if the block was from a previous spork, or if the block has yet - // not been received. - rpc SubscribeBlocks(SubscribeBlocksRequest) - returns (stream SubscribeBlocksResponse); } // The request for GetExecutionDataByBlockID @@ -250,32 +232,4 @@ message GetRegisterValuesResponse { // raw register values at the given height. repeated bytes values = 1; -} - -// The request for SubscribeBlocks -message SubscribeBlocksRequest { - // Block ID of the first block to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block is used. - bytes start_block_id = 1; - - // Block height of the first block to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block is used. - uint64 start_block_height = 2; - - // Preferred block status of the block payload. - // Possible variants: - // 1. BLOCK_FINALIZED - // 2. BLOCK_SEALED - entities.BlockStatus block_status = 3; -} - -// The response for SubscribeBlocks -message SubscribeBlocksResponse { - // The sealed or finalized blocks according to the block status - // in the request. - entities.Block block = 1; } \ No newline at end of file diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index fdd4a8db6..9d4f5502b 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2242,6 +2242,116 @@ func (m *ExecutionResultByIDResponse) GetMetadata() *entities.Metadata { return nil } +// The request for SubscribeBlocks +type SubscribeBlocksRequest struct { + // Block ID of the first block to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` + // Block height of the first block to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Preferred block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,3,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlocksRequest) Reset() { *m = SubscribeBlocksRequest{} } +func (m *SubscribeBlocksRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlocksRequest) ProtoMessage() {} +func (*SubscribeBlocksRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{47} +} + +func (m *SubscribeBlocksRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlocksRequest.Unmarshal(m, b) +} +func (m *SubscribeBlocksRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlocksRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeBlocksRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlocksRequest.Merge(m, src) +} +func (m *SubscribeBlocksRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlocksRequest.Size(m) +} +func (m *SubscribeBlocksRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlocksRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlocksRequest proto.InternalMessageInfo + +func (m *SubscribeBlocksRequest) GetStartBlockId() []byte { + if m != nil { + return m.StartBlockId + } + return nil +} + +func (m *SubscribeBlocksRequest) GetStartBlockHeight() uint64 { + if m != nil { + return m.StartBlockHeight + } + return 0 +} + +func (m *SubscribeBlocksRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN +} + +// The response for SubscribeBlocks +type SubscribeBlocksResponse struct { + // The sealed or finalized blocks according to the block status + // in the request. + Block *entities.Block `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlocksResponse) Reset() { *m = SubscribeBlocksResponse{} } +func (m *SubscribeBlocksResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlocksResponse) ProtoMessage() {} +func (*SubscribeBlocksResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{48} +} + +func (m *SubscribeBlocksResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlocksResponse.Unmarshal(m, b) +} +func (m *SubscribeBlocksResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlocksResponse.Marshal(b, m, deterministic) +} +func (m *SubscribeBlocksResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlocksResponse.Merge(m, src) +} +func (m *SubscribeBlocksResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlocksResponse.Size(m) +} +func (m *SubscribeBlocksResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlocksResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlocksResponse proto.InternalMessageInfo + +func (m *SubscribeBlocksResponse) GetBlock() *entities.Block { + if m != nil { + return m.Block + } + return nil +} + func init() { proto.RegisterType((*PingRequest)(nil), "flow.access.PingRequest") proto.RegisterType((*PingResponse)(nil), "flow.access.PingResponse") @@ -2291,133 +2401,139 @@ func init() { proto.RegisterType((*ExecutionResultForBlockIDResponse)(nil), "flow.access.ExecutionResultForBlockIDResponse") proto.RegisterType((*GetExecutionResultByIDRequest)(nil), "flow.access.GetExecutionResultByIDRequest") proto.RegisterType((*ExecutionResultByIDResponse)(nil), "flow.access.ExecutionResultByIDResponse") + proto.RegisterType((*SubscribeBlocksRequest)(nil), "flow.access.SubscribeBlocksRequest") + proto.RegisterType((*SubscribeBlocksResponse)(nil), "flow.access.SubscribeBlocksResponse") } func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 1955 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x5b, 0x6f, 0xdb, 0xc8, - 0x15, 0x06, 0x25, 0x5f, 0xa4, 0x63, 0xd9, 0x4e, 0xc6, 0x8e, 0x23, 0xd1, 0x37, 0x99, 0x8e, 0x1b, - 0xe7, 0x52, 0x3a, 0x70, 0x5a, 0x34, 0x49, 0x2f, 0xa8, 0x9d, 0xba, 0x8e, 0x00, 0x27, 0x30, 0xe8, - 0x34, 0x45, 0xda, 0x26, 0x02, 0x2d, 0x8e, 0x65, 0xc2, 0x12, 0xa9, 0x72, 0xa8, 0x24, 0x6e, 0xfb, - 0x90, 0x87, 0xa0, 0x58, 0x60, 0x7f, 0xc0, 0x62, 0x17, 0xd8, 0xa7, 0x7d, 0xda, 0x7d, 0xd9, 0xe7, - 0xc5, 0x3e, 0x2c, 0xb0, 0xff, 0x60, 0xff, 0xd1, 0x82, 0xc3, 0x21, 0xc5, 0x21, 0x87, 0x14, 0xad, - 0x20, 0xc8, 0xbe, 0xec, 0x86, 0x33, 0xdf, 0xb9, 0xcd, 0xb9, 0xcc, 0x9c, 0x23, 0x43, 0xf5, 0xa4, - 0x63, 0xbf, 0xde, 0xd2, 0x5b, 0x2d, 0x4c, 0x08, 0xfb, 0x9f, 0xda, 0x73, 0x6c, 0xd7, 0x46, 0x53, - 0xde, 0x8e, 0xea, 0x2f, 0xc9, 0x8b, 0x14, 0x86, 0x2d, 0xd7, 0x74, 0x4d, 0x4c, 0x81, 0x76, 0xdf, - 0x72, 0x7d, 0xa4, 0x5c, 0xe7, 0x37, 0x8f, 0x3b, 0x76, 0xeb, 0xac, 0x79, 0x8a, 0x75, 0x03, 0x3b, - 0x0c, 0x51, 0x13, 0x20, 0xd8, 0xd6, 0x0a, 0xbf, 0xd5, 0xb2, 0x3b, 0x1d, 0xdc, 0x72, 0x4d, 0xdb, - 0x12, 0x93, 0xe2, 0x57, 0x38, 0x94, 0x7b, 0x2d, 0xb6, 0xf5, 0x06, 0xb7, 0xfa, 0x1e, 0x65, 0xd3, - 0xc1, 0xa4, 0xdf, 0x09, 0x50, 0x4b, 0x3c, 0xaa, 0x8b, 0x5d, 0xdd, 0xd0, 0x5d, 0x9d, 0xed, 0x6e, - 0xf0, 0xbb, 0x96, 0x6d, 0xe0, 0xe6, 0x2b, 0xec, 0x10, 0x8f, 0x8d, 0x69, 0x9d, 0xd8, 0x0c, 0xb6, - 0xca, 0xc3, 0x5c, 0x47, 0xb7, 0x88, 0x1e, 0x55, 0x73, 0xb5, 0x6d, 0xdb, 0xed, 0x0e, 0xde, 0xa2, - 0x5f, 0xc7, 0xfd, 0x93, 0x2d, 0xd7, 0xec, 0x62, 0xe2, 0xea, 0xdd, 0x9e, 0x0f, 0x50, 0xa6, 0x61, - 0xea, 0xd0, 0xb4, 0xda, 0x1a, 0xfe, 0x77, 0x1f, 0x13, 0x57, 0x99, 0x81, 0x8a, 0xff, 0x49, 0x7a, - 0xb6, 0x45, 0xb0, 0xb2, 0x08, 0xb5, 0x7d, 0xec, 0x3e, 0xb1, 0x0d, 0xfc, 0xcc, 0x97, 0xde, 0xb0, - 0x4e, 0xec, 0x00, 0x7c, 0x08, 0xb2, 0x68, 0xd3, 0x27, 0x45, 0xdb, 0x30, 0xe6, 0x69, 0x5a, 0x95, - 0xea, 0xd2, 0xe6, 0xd4, 0xf6, 0x8a, 0x4a, 0xfd, 0x16, 0xa8, 0xaa, 0xc6, 0xa9, 0x28, 0x56, 0x79, - 0x00, 0x8b, 0xfb, 0xd8, 0x3d, 0xd0, 0x5d, 0x4c, 0xdc, 0x5d, 0xcf, 0x1b, 0x8f, 0xa8, 0xbb, 0x98, - 0x40, 0xb4, 0x08, 0x65, 0x93, 0x34, 0x09, 0xd6, 0x3b, 0xd8, 0xa0, 0x7c, 0x4b, 0x5a, 0xc9, 0x24, - 0x47, 0xf4, 0x5b, 0xb9, 0x45, 0x55, 0x8d, 0x50, 0xed, 0x9e, 0x37, 0xfe, 0x12, 0x50, 0xce, 0x40, - 0xc1, 0xf4, 0x49, 0x2a, 0x5a, 0xc1, 0x34, 0x94, 0xdf, 0xc1, 0x72, 0x1c, 0xfc, 0x08, 0x9b, 0xed, - 0x53, 0x37, 0x20, 0x58, 0x80, 0x89, 0x53, 0xba, 0x40, 0x89, 0xc6, 0x34, 0xf6, 0xa5, 0x7c, 0x2f, - 0xc1, 0x1c, 0xa7, 0x19, 0xb3, 0xf6, 0x0e, 0x8c, 0xd3, 0xf0, 0x61, 0xe6, 0xca, 0x31, 0x73, 0xa3, - 0x24, 0x3e, 0x10, 0xfd, 0x11, 0x2a, 0x7e, 0x48, 0x12, 0x57, 0x77, 0xfb, 0xa4, 0x5a, 0xa8, 0x4b, - 0x9b, 0x33, 0x62, 0xc2, 0x23, 0x8a, 0xd0, 0xa6, 0x8e, 0x07, 0x1f, 0xe8, 0x2e, 0x94, 0x82, 0x98, - 0xa9, 0x16, 0xa9, 0xcc, 0xab, 0x31, 0xd2, 0xc7, 0x6c, 0x5b, 0x0b, 0x81, 0x8a, 0x01, 0x57, 0xf8, - 0xf3, 0xcd, 0x73, 0xb2, 0x48, 0x85, 0xb9, 0x93, 0x7e, 0xa7, 0xd3, 0xf4, 0xd5, 0x75, 0x98, 0xc9, - 0x54, 0xe1, 0x92, 0x76, 0xd9, 0xdb, 0x62, 0xbc, 0x58, 0xd0, 0xfc, 0x0d, 0xe6, 0x82, 0xc3, 0xcd, - 0xf0, 0xc1, 0x85, 0xd9, 0xea, 0x70, 0x75, 0xc0, 0x36, 0x97, 0xb7, 0x2e, 0x2c, 0xe2, 0x5b, 0x09, - 0xa6, 0xb9, 0x15, 0x74, 0x93, 0xf7, 0xeb, 0xbc, 0xc8, 0x3d, 0x1f, 0xd3, 0xa3, 0x37, 0xa1, 0xba, - 0x8f, 0xdd, 0x87, 0x61, 0x79, 0xca, 0x0a, 0xfa, 0x77, 0x12, 0xa0, 0x01, 0x32, 0x34, 0xf1, 0x3e, - 0xc0, 0xa0, 0xbc, 0x31, 0x3b, 0x6b, 0x31, 0xc9, 0x11, 0xb2, 0x08, 0x98, 0x53, 0xb9, 0x90, 0x57, - 0xe5, 0x67, 0xb0, 0x70, 0x84, 0x2d, 0xe3, 0xe9, 0xa0, 0x58, 0x05, 0x0a, 0xff, 0x01, 0xa6, 0x22, - 0x25, 0x2c, 0x25, 0x95, 0xa2, 0x74, 0x51, 0xb8, 0xf2, 0x12, 0xae, 0x26, 0xf8, 0x32, 0x13, 0xe3, - 0xa1, 0x37, 0x92, 0xde, 0x3f, 0x4a, 0x34, 0x7b, 0x04, 0x7a, 0xc7, 0xd9, 0xd7, 0xa0, 0xe4, 0x07, - 0x82, 0x69, 0x50, 0xf6, 0x15, 0x6d, 0x92, 0x7e, 0x37, 0x0c, 0xb4, 0x0e, 0xd3, 0x83, 0xf3, 0xf3, - 0xf6, 0x8b, 0x74, 0xbf, 0x32, 0x58, 0x6c, 0x18, 0xe8, 0x39, 0x2c, 0xd0, 0x0b, 0xa5, 0x89, 0xad, - 0x96, 0x6d, 0x98, 0x56, 0x3b, 0xa8, 0xfd, 0xd5, 0x31, 0x1a, 0x52, 0xeb, 0x31, 0x65, 0xf7, 0x3c, - 0xf0, 0x1e, 0xc3, 0xb2, 0xaa, 0xaa, 0xcd, 0x63, 0xc1, 0xaa, 0x72, 0x8f, 0x56, 0xd8, 0xa3, 0x73, - 0xe2, 0xe2, 0xae, 0xc0, 0x92, 0xa8, 0xe6, 0x12, 0xa7, 0xb9, 0xf2, 0xb9, 0x04, 0x6b, 0x62, 0x52, - 0xef, 0x56, 0x1b, 0xce, 0x20, 0xc3, 0xaa, 0xc2, 0xfb, 0x5a, 0xf5, 0x8d, 0x04, 0x4b, 0xbc, 0x6b, - 0x76, 0xcf, 0x1b, 0x96, 0x81, 0xdf, 0xe4, 0x50, 0x6b, 0x1e, 0xc6, 0x4d, 0x0f, 0x4a, 0xb5, 0x98, - 0xd6, 0xfc, 0x8f, 0x0c, 0x65, 0x8b, 0xef, 0xab, 0xec, 0x67, 0x12, 0xac, 0xf2, 0xca, 0x92, 0xdd, - 0x73, 0x5a, 0x15, 0x06, 0xa9, 0xfb, 0xd1, 0x8e, 0x51, 0x4e, 0x78, 0x96, 0x84, 0x59, 0xf4, 0x77, - 0x98, 0x8b, 0xe4, 0x1b, 0x7b, 0xce, 0x90, 0xaa, 0x54, 0x2f, 0x6e, 0x4e, 0x6d, 0xff, 0x4a, 0x8d, - 0x3c, 0xcc, 0x54, 0x41, 0x7c, 0xf8, 0x4c, 0x34, 0xe4, 0x26, 0x04, 0x8c, 0x96, 0x8e, 0x9f, 0x4a, - 0x30, 0x1f, 0x3d, 0xc3, 0x50, 0xcd, 0x3f, 0x41, 0x25, 0x22, 0x23, 0xd0, 0x2f, 0xab, 0x8c, 0x70, - 0xf8, 0xd1, 0xb4, 0xf9, 0x44, 0x82, 0x39, 0x51, 0xe5, 0x79, 0xaf, 0x92, 0x36, 0xa2, 0x2a, 0x45, - 0xa8, 0xa5, 0x9e, 0x3f, 0xba, 0x07, 0x13, 0xec, 0x7a, 0x92, 0x68, 0xb8, 0xd4, 0xd3, 0x75, 0x61, - 0x97, 0x14, 0xc3, 0xa3, 0x55, 0x98, 0xf2, 0xff, 0xd5, 0x6c, 0xd9, 0x06, 0x66, 0xe9, 0x02, 0xfe, - 0xd2, 0x43, 0xdb, 0xc0, 0x5e, 0x6d, 0xc3, 0x8e, 0x63, 0x3b, 0xcd, 0x2e, 0x26, 0x44, 0x6f, 0x63, - 0x9a, 0x2a, 0x65, 0xad, 0x42, 0x17, 0x1f, 0xfb, 0x6b, 0xe8, 0x36, 0x4c, 0xd0, 0xd8, 0x23, 0xd5, - 0x31, 0xea, 0x97, 0x79, 0x51, 0xb8, 0x6a, 0x0c, 0xc3, 0xe5, 0xc1, 0x38, 0x9f, 0x07, 0x1b, 0x30, - 0x13, 0x8d, 0x46, 0xd3, 0xa8, 0x4e, 0x50, 0xc0, 0x74, 0x64, 0x55, 0x54, 0x70, 0x27, 0x05, 0x05, - 0x77, 0x2d, 0xb8, 0xb9, 0xd9, 0x2b, 0xa2, 0x44, 0x5f, 0x11, 0xfe, 0xed, 0xec, 0xbf, 0x34, 0x38, - 0x57, 0x94, 0xf3, 0xba, 0xe2, 0xd7, 0x70, 0x79, 0x1f, 0xbb, 0x3b, 0x7e, 0x5b, 0x12, 0xe4, 0x76, - 0x15, 0x26, 0x75, 0xc3, 0x70, 0x30, 0x21, 0x41, 0x6a, 0xb3, 0x4f, 0xe5, 0xbf, 0x80, 0xa2, 0xf0, - 0xf0, 0x69, 0x39, 0xc9, 0x1a, 0x1b, 0x16, 0x3e, 0x0b, 0x31, 0xc1, 0x01, 0x41, 0x00, 0x1b, 0x2d, - 0x6c, 0x1e, 0xc0, 0xca, 0x40, 0xf8, 0x8e, 0xe8, 0x91, 0x98, 0xae, 0xf8, 0x1b, 0x98, 0xfd, 0x48, - 0x5a, 0xbf, 0xe0, 0xb5, 0xde, 0x1d, 0x78, 0x6c, 0xa8, 0xd6, 0x09, 0xaf, 0x17, 0x12, 0x5e, 0x57, - 0x9e, 0xc3, 0xda, 0x1e, 0xed, 0xdf, 0xf0, 0x51, 0xcb, 0x31, 0x7b, 0xe2, 0x73, 0x59, 0x80, 0x09, - 0x42, 0x77, 0x99, 0x00, 0xf6, 0x85, 0x96, 0xa0, 0xac, 0x3b, 0xed, 0x7e, 0x97, 0x46, 0x7b, 0xa1, - 0x5e, 0xdc, 0xac, 0x68, 0x83, 0x05, 0xa5, 0x07, 0xcb, 0x31, 0xd6, 0xf9, 0xef, 0x80, 0x81, 0xc4, - 0x42, 0xba, 0xc4, 0x62, 0x5c, 0xe2, 0xff, 0x12, 0xc6, 0x08, 0x8e, 0x2b, 0x7e, 0x28, 0x52, 0x32, - 0x15, 0x46, 0x93, 0x7e, 0x0c, 0x57, 0x38, 0xe9, 0x61, 0xa4, 0xcc, 0xc3, 0xf8, 0x2b, 0xbd, 0xd3, - 0xc7, 0xcc, 0x48, 0xff, 0x63, 0xb4, 0x68, 0xf8, 0x49, 0xa2, 0xe1, 0x40, 0x6b, 0x08, 0xf9, 0xab, - 0xed, 0x30, 0xd3, 0x74, 0xab, 0x8d, 0x03, 0xfb, 0x10, 0x8c, 0xb9, 0xe7, 0x3d, 0x5f, 0x58, 0x59, - 0xa3, 0xff, 0xf6, 0x6c, 0x26, 0xae, 0xee, 0xb8, 0xb1, 0x40, 0xa0, 0x6b, 0xcc, 0xe6, 0x65, 0x00, - 0x6c, 0x19, 0x01, 0xa0, 0x48, 0x01, 0x65, 0x6c, 0x19, 0x6c, 0xfb, 0x03, 0xbe, 0xd8, 0xbe, 0x96, - 0xe8, 0x93, 0x2d, 0xb4, 0x89, 0x45, 0x09, 0xc9, 0x32, 0x68, 0x11, 0xca, 0x41, 0xe8, 0x04, 0x91, - 0x57, 0x62, 0xb1, 0x43, 0x3e, 0xe4, 0xd3, 0xe6, 0x87, 0x02, 0xcc, 0xf8, 0x8a, 0x46, 0x2e, 0xc0, - 0x49, 0xfe, 0xa1, 0xa0, 0x70, 0x0f, 0x05, 0x1e, 0xad, 0xb2, 0xcb, 0x2a, 0x20, 0x19, 0x29, 0x0a, - 0xe4, 0xef, 0x24, 0x98, 0xf0, 0x19, 0x65, 0xe5, 0xd0, 0xf0, 0xec, 0x8f, 0xdc, 0x55, 0xc5, 0x1c, - 0x77, 0xd5, 0x43, 0x98, 0xf5, 0x19, 0x86, 0x33, 0x16, 0xea, 0x7c, 0xef, 0xba, 0xf7, 0xa7, 0x30, - 0x6a, 0x30, 0x85, 0x51, 0x9f, 0x06, 0x08, 0x6d, 0x86, 0x92, 0x84, 0xdf, 0xca, 0x32, 0x75, 0xf6, - 0x13, 0xec, 0xbe, 0xb6, 0x9d, 0xb3, 0x43, 0xdd, 0xd1, 0xbb, 0xd8, 0xc5, 0x4e, 0xe0, 0x6c, 0xe5, - 0x3e, 0x7d, 0xe7, 0x0a, 0xb6, 0xd9, 0x69, 0xd7, 0xa0, 0xd4, 0x3a, 0xd5, 0x4d, 0x2b, 0xb0, 0xb7, - 0xac, 0x4d, 0xd2, 0xef, 0x86, 0xa1, 0x5c, 0x87, 0x8d, 0xb0, 0xf7, 0x3f, 0xf4, 0x14, 0x69, 0xd9, - 0x1d, 0xef, 0x86, 0xc7, 0x47, 0x96, 0xde, 0x23, 0xa7, 0x76, 0x50, 0x01, 0x94, 0x3d, 0xd8, 0xdc, - 0xc7, 0x62, 0xc8, 0x05, 0xde, 0xa9, 0xca, 0x01, 0x5c, 0x4f, 0x67, 0x73, 0xd1, 0x9a, 0xe3, 0xf5, - 0xae, 0xcb, 0x29, 0x5a, 0x33, 0xd3, 0x55, 0x40, 0x04, 0x3b, 0xa6, 0xde, 0x31, 0xff, 0x83, 0x8d, - 0x60, 0x97, 0x29, 0x25, 0xd8, 0x19, 0xad, 0xc0, 0xfc, 0x19, 0xd6, 0xbd, 0x5c, 0x0c, 0x46, 0x7a, - 0x7e, 0x94, 0x0d, 0x92, 0x32, 0xc7, 0xb1, 0x7c, 0x25, 0x05, 0x55, 0x58, 0x48, 0xcf, 0x8c, 0x69, - 0xc0, 0xa5, 0xf8, 0xdc, 0x30, 0x65, 0x90, 0x16, 0xe3, 0xa5, 0xcd, 0x62, 0x7e, 0x61, 0x34, 0x3b, - 0xb7, 0xe8, 0x7c, 0x2c, 0xc6, 0x3b, 0x6b, 0xb6, 0xf0, 0xa5, 0x04, 0x8b, 0x42, 0xf8, 0x2f, 0xc3, - 0xa0, 0xed, 0x2f, 0x6a, 0x50, 0xde, 0xa1, 0x25, 0x67, 0xe7, 0xb0, 0x81, 0x7e, 0x0f, 0x63, 0x87, - 0xa6, 0xd5, 0x46, 0x55, 0xae, 0x16, 0x45, 0x06, 0xa1, 0x72, 0x4d, 0xb0, 0xc3, 0x4c, 0xc1, 0xf4, - 0x95, 0x16, 0x1b, 0x60, 0x22, 0xbe, 0xff, 0x49, 0x1d, 0x9a, 0xca, 0xd7, 0x87, 0xe2, 0x98, 0x98, - 0x63, 0x98, 0x17, 0xcd, 0x42, 0xd1, 0x66, 0x9c, 0x41, 0xda, 0xb8, 0x54, 0xae, 0x73, 0x48, 0xd1, - 0xd4, 0xf2, 0x25, 0x35, 0x25, 0x36, 0x33, 0x4d, 0x9a, 0x22, 0x1e, 0xaa, 0xe6, 0xe0, 0x7f, 0x02, - 0x0b, 0xe2, 0x31, 0x2b, 0xba, 0x99, 0x29, 0x83, 0x2b, 0x0f, 0x39, 0xe4, 0x1c, 0xc2, 0x0c, 0x7f, - 0x10, 0x48, 0xc9, 0x38, 0xa5, 0x80, 0xaf, 0x9c, 0xe4, 0x1b, 0x72, 0x3c, 0x80, 0x4a, 0x74, 0x86, - 0x89, 0xea, 0x42, 0x7d, 0xa3, 0xa7, 0x91, 0xc5, 0xed, 0x29, 0x5c, 0x8a, 0x8f, 0x2e, 0xd1, 0xb5, - 0x14, 0x8e, 0xbc, 0xed, 0x59, 0x5c, 0xff, 0x49, 0xbb, 0x0b, 0x7e, 0xf6, 0x87, 0x36, 0xe2, 0x6c, - 0x85, 0xb3, 0x41, 0x79, 0x95, 0x83, 0x09, 0xa6, 0x82, 0xff, 0x82, 0xd9, 0xd8, 0x34, 0x0d, 0xad, - 0x73, 0x34, 0xe2, 0x19, 0x9e, 0x7c, 0x2d, 0x1b, 0xc4, 0xb8, 0x3f, 0xa3, 0x0e, 0x8b, 0x32, 0x4f, - 0x38, 0x4c, 0xc0, 0xbb, 0x9e, 0x31, 0x63, 0x88, 0x26, 0x4d, 0xa2, 0xfb, 0xcd, 0xc5, 0x3d, 0xe7, - 0x04, 0x03, 0xf5, 0xe8, 0x15, 0x9d, 0xd8, 0x67, 0x13, 0x27, 0x74, 0x23, 0x43, 0x14, 0x3f, 0x95, - 0xca, 0x2d, 0xf1, 0x35, 0x7d, 0xd5, 0x26, 0x27, 0x33, 0xe1, 0x75, 0x8c, 0x6e, 0x67, 0x08, 0x4d, - 0x4c, 0x97, 0x62, 0x35, 0x28, 0x63, 0xe2, 0x73, 0x46, 0xa7, 0xcb, 0x42, 0x5e, 0x17, 0x14, 0xb9, - 0x96, 0x26, 0x92, 0xc4, 0x7c, 0x97, 0x98, 0x2f, 0x26, 0x0b, 0x5e, 0xda, 0xf4, 0x32, 0x47, 0x7c, - 0xb8, 0xf4, 0x27, 0xab, 0x94, 0x19, 0x26, 0x52, 0x73, 0x48, 0x8a, 0x0c, 0x3b, 0x73, 0xfb, 0xef, - 0x31, 0xc0, 0xa0, 0x49, 0x45, 0x2b, 0x71, 0x29, 0xfc, 0x7c, 0x20, 0x96, 0x9a, 0x82, 0x81, 0x80, - 0x41, 0x7f, 0x08, 0x11, 0x75, 0xea, 0xe8, 0x56, 0x0a, 0xad, 0xa8, 0x6f, 0x95, 0x97, 0x38, 0xf0, - 0x10, 0x29, 0x91, 0x56, 0x31, 0x43, 0x4a, 0xb2, 0xa1, 0x1c, 0x22, 0xa5, 0x07, 0x72, 0x7a, 0x83, - 0x1d, 0x73, 0xc8, 0xd0, 0x4e, 0x5c, 0x56, 0xd2, 0xf1, 0xa1, 0xc4, 0x53, 0x58, 0x10, 0xf7, 0xdd, - 0xb1, 0x3b, 0x29, 0xb3, 0x39, 0xcf, 0x25, 0x29, 0x69, 0x5b, 0xf4, 0x10, 0xd5, 0xa1, 0xd2, 0xf8, - 0x73, 0xcc, 0x23, 0xb1, 0x45, 0x7d, 0x26, 0x6a, 0x7f, 0x93, 0x3e, 0xcb, 0x68, 0x92, 0xe5, 0xc5, - 0x8c, 0x1e, 0x0d, 0xbd, 0xa0, 0x79, 0x9a, 0xe8, 0x47, 0x93, 0x79, 0x9a, 0xd6, 0xb2, 0x66, 0xb3, - 0x3f, 0xa3, 0xec, 0x13, 0x2d, 0x4e, 0x92, 0x7d, 0x5a, 0x93, 0x24, 0xdf, 0xc8, 0x81, 0x64, 0xc2, - 0xde, 0xfa, 0x03, 0x83, 0x8c, 0xae, 0x08, 0x6d, 0x8b, 0x5f, 0x12, 0x59, 0x2d, 0x94, 0xcc, 0x47, - 0x52, 0x76, 0xdf, 0xf2, 0x7f, 0xff, 0x77, 0x95, 0xec, 0x7e, 0x0b, 0xfd, 0x36, 0xae, 0x45, 0xae, - 0xfe, 0xec, 0x42, 0x8a, 0xbc, 0x93, 0xa0, 0x3e, 0xac, 0x63, 0x43, 0xbf, 0xc9, 0xa9, 0x07, 0x1f, - 0xbb, 0x17, 0x51, 0xe3, 0xad, 0xff, 0x5b, 0x4e, 0x6a, 0x8f, 0x84, 0xee, 0x24, 0xe2, 0x6c, 0x48, - 0x3b, 0x26, 0x8b, 0x52, 0x2d, 0xab, 0xfb, 0xb2, 0xe8, 0xb3, 0x55, 0xd0, 0xce, 0x24, 0x9f, 0xad, - 0xe9, 0x2d, 0x92, 0xbc, 0x99, 0x25, 0x35, 0xda, 0x1c, 0xed, 0x1e, 0x80, 0x6c, 0x3b, 0x6d, 0xd5, - 0xb6, 0x28, 0x41, 0x38, 0x25, 0xf0, 0x29, 0xff, 0xa1, 0xb6, 0x4d, 0xf7, 0xb4, 0x7f, 0xac, 0xb6, - 0xec, 0xee, 0x96, 0x0f, 0xd9, 0xa2, 0xff, 0x09, 0xff, 0xa6, 0xa3, 0x6d, 0x6f, 0x45, 0xfe, 0x5c, - 0xe6, 0x78, 0x82, 0x6e, 0xdc, 0xfd, 0x39, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x6d, 0x4d, 0xfb, 0x44, - 0x23, 0x00, 0x00, + // 2032 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8, + 0x15, 0x07, 0x25, 0xc7, 0xb6, 0x9e, 0x65, 0x3b, 0x3b, 0xf6, 0x3a, 0x32, 0x1d, 0xc7, 0x0a, 0x93, + 0x34, 0xde, 0x6c, 0x4a, 0x07, 0xde, 0x16, 0xdd, 0xdd, 0xfe, 0x41, 0xe3, 0xd4, 0xf5, 0x1a, 0x48, + 0x16, 0x06, 0x9d, 0xa6, 0xd8, 0xb6, 0x1b, 0x83, 0x12, 0xc7, 0x32, 0x11, 0x89, 0x54, 0x49, 0x2a, + 0x89, 0xdb, 0x1e, 0xf6, 0xb0, 0x28, 0x0a, 0xf4, 0x03, 0x14, 0x3d, 0xf4, 0xd4, 0x53, 0xdb, 0x43, + 0xcf, 0x45, 0x0f, 0x05, 0xfa, 0x0d, 0xfa, 0x75, 0x7a, 0x2a, 0xf8, 0x66, 0x48, 0x71, 0x86, 0x43, + 0x8a, 0x52, 0x10, 0xa4, 0x97, 0xdd, 0x70, 0xe6, 0x37, 0xef, 0xcf, 0xbc, 0x37, 0x6f, 0xe6, 0xfd, + 0x64, 0x68, 0x9d, 0xf7, 0xfd, 0x57, 0x7b, 0x76, 0xb7, 0x4b, 0xc3, 0x90, 0xff, 0xcf, 0x1c, 0x06, + 0x7e, 0xe4, 0x93, 0xa5, 0x78, 0xc6, 0x64, 0x43, 0xfa, 0x16, 0xc2, 0xa8, 0x17, 0xb9, 0x91, 0x4b, + 0x11, 0xe8, 0x8f, 0xbc, 0x88, 0x21, 0xf5, 0xb6, 0x38, 0xd9, 0xe9, 0xfb, 0xdd, 0x17, 0x67, 0x17, + 0xd4, 0x76, 0x68, 0xc0, 0x11, 0x9b, 0x0a, 0x04, 0x9f, 0xba, 0x21, 0x4e, 0x75, 0xfd, 0x7e, 0x9f, + 0x76, 0x23, 0xd7, 0xf7, 0xd4, 0x4b, 0xe9, 0x4b, 0x9a, 0xea, 0xbd, 0x2d, 0x4d, 0xbd, 0xa6, 0xdd, + 0x51, 0xbc, 0xf2, 0x2c, 0xa0, 0xe1, 0xa8, 0x9f, 0xa0, 0xae, 0x8b, 0xa8, 0x01, 0x8d, 0x6c, 0xc7, + 0x8e, 0x6c, 0x3e, 0x7b, 0x47, 0x9c, 0xf5, 0x7c, 0x87, 0x9e, 0xbd, 0xa4, 0x41, 0x18, 0x8b, 0x71, + 0xbd, 0x73, 0x9f, 0xc3, 0x76, 0x44, 0x58, 0x14, 0xd8, 0x5e, 0x68, 0x67, 0xcd, 0xdc, 0xe9, 0xf9, + 0x7e, 0xaf, 0x4f, 0xf7, 0xf0, 0xab, 0x33, 0x3a, 0xdf, 0x8b, 0xdc, 0x01, 0x0d, 0x23, 0x7b, 0x30, + 0x64, 0x00, 0x63, 0x19, 0x96, 0x4e, 0x5c, 0xaf, 0x67, 0xd1, 0x5f, 0x8e, 0x68, 0x18, 0x19, 0x2b, + 0xd0, 0x64, 0x9f, 0xe1, 0xd0, 0xf7, 0x42, 0x6a, 0x6c, 0xc1, 0xe6, 0x11, 0x8d, 0x3e, 0xf7, 0x1d, + 0xfa, 0x8c, 0x69, 0x3f, 0xf6, 0xce, 0xfd, 0x04, 0x7c, 0x02, 0xba, 0x6a, 0x92, 0x2d, 0x25, 0xfb, + 0x30, 0x17, 0x5b, 0xda, 0xd2, 0xda, 0xda, 0xee, 0xd2, 0xfe, 0x0d, 0x13, 0xe3, 0x96, 0x98, 0x6a, + 0xca, 0xab, 0x10, 0x6b, 0x7c, 0x0a, 0x5b, 0x47, 0x34, 0x7a, 0x6c, 0x47, 0x34, 0x8c, 0x0e, 0xe2, + 0x68, 0x7c, 0x86, 0xe1, 0xe2, 0x0a, 0xc9, 0x16, 0x34, 0xdc, 0xf0, 0x2c, 0xa4, 0x76, 0x9f, 0x3a, + 0x28, 0x77, 0xd1, 0x5a, 0x74, 0xc3, 0x53, 0xfc, 0x36, 0x3e, 0x44, 0x53, 0x33, 0xab, 0x0e, 0x2e, + 0x8f, 0x7f, 0x94, 0xac, 0x5c, 0x81, 0x9a, 0xcb, 0x96, 0x34, 0xad, 0x9a, 0xeb, 0x18, 0xdf, 0x81, + 0x6d, 0x19, 0xfc, 0x19, 0x75, 0x7b, 0x17, 0x51, 0xb2, 0x60, 0x03, 0xe6, 0x2f, 0x70, 0x00, 0x17, + 0xcd, 0x59, 0xfc, 0xcb, 0xf8, 0xa7, 0x06, 0x6b, 0x82, 0x65, 0xdc, 0xdb, 0x07, 0x70, 0x05, 0xd3, + 0x87, 0xbb, 0xab, 0x4b, 0xee, 0x66, 0x97, 0x30, 0x20, 0xf9, 0x3e, 0x34, 0x59, 0x4a, 0x86, 0x91, + 0x1d, 0x8d, 0xc2, 0x56, 0xad, 0xad, 0xed, 0xae, 0xa8, 0x17, 0x9e, 0x22, 0xc2, 0x5a, 0xea, 0x8c, + 0x3f, 0xc8, 0x47, 0xb0, 0x98, 0xe4, 0x4c, 0xab, 0x8e, 0x3a, 0xaf, 0x49, 0x4b, 0x9f, 0xf0, 0x69, + 0x2b, 0x05, 0x1a, 0x0e, 0xbc, 0x2f, 0xee, 0x6f, 0x95, 0x9d, 0x25, 0x26, 0xac, 0x9d, 0x8f, 0xfa, + 0xfd, 0x33, 0x66, 0x6e, 0xc0, 0x5d, 0x46, 0x83, 0x17, 0xad, 0xf7, 0xe2, 0x29, 0x2e, 0x8b, 0x27, + 0xcd, 0x4f, 0x60, 0x2d, 0xd9, 0xdc, 0x92, 0x18, 0x4c, 0x2d, 0xd6, 0x86, 0x6b, 0x63, 0xb1, 0x95, + 0xa2, 0x35, 0xb5, 0x8a, 0xbf, 0x6b, 0xb0, 0x2c, 0x8c, 0x90, 0x7b, 0x62, 0x5c, 0xd7, 0x55, 0xe1, + 0x79, 0x97, 0x11, 0xbd, 0x07, 0xad, 0x23, 0x1a, 0x3d, 0x4a, 0xcb, 0x53, 0x59, 0xd2, 0x7f, 0xad, + 0x01, 0x19, 0x23, 0x53, 0x17, 0x3f, 0x01, 0x18, 0x97, 0x37, 0xee, 0xe7, 0xa6, 0xa4, 0x39, 0xb3, + 0x2c, 0x03, 0x16, 0x4c, 0xae, 0x55, 0x35, 0xf9, 0x19, 0x6c, 0x9c, 0x52, 0xcf, 0x79, 0x3a, 0x2e, + 0x56, 0x89, 0xc1, 0xdf, 0x83, 0xa5, 0x4c, 0x09, 0x2b, 0x38, 0x4a, 0xd9, 0x75, 0x59, 0xb8, 0xf1, + 0x1c, 0xae, 0xe5, 0xe4, 0x72, 0x17, 0xe5, 0xd4, 0x9b, 0xc9, 0xee, 0x7f, 0x6b, 0x78, 0x7a, 0x14, + 0x76, 0xcb, 0xe2, 0x37, 0x61, 0x91, 0x25, 0x82, 0xeb, 0xa0, 0xf8, 0xa6, 0xb5, 0x80, 0xdf, 0xc7, + 0x0e, 0xb9, 0x05, 0xcb, 0xe3, 0xfd, 0x8b, 0xe7, 0xeb, 0x38, 0xdf, 0x1c, 0x0f, 0x1e, 0x3b, 0xe4, + 0x0b, 0xd8, 0xc0, 0x0b, 0xe5, 0x8c, 0x7a, 0x5d, 0xdf, 0x71, 0xbd, 0x5e, 0x52, 0xfb, 0x5b, 0x73, + 0x98, 0x52, 0xb7, 0x24, 0x63, 0x0f, 0x63, 0xf0, 0x21, 0xc7, 0xf2, 0xaa, 0x6a, 0xad, 0x53, 0xc5, + 0xa8, 0xf1, 0x31, 0x56, 0xd8, 0xd3, 0xcb, 0x30, 0xa2, 0x03, 0x85, 0x27, 0x59, 0xcb, 0x35, 0xc1, + 0x72, 0xe3, 0x8f, 0x1a, 0xdc, 0x54, 0x2f, 0x8d, 0x6f, 0xb5, 0xc9, 0x02, 0x4a, 0xbc, 0xaa, 0xbd, + 0xa9, 0x57, 0x7f, 0xd5, 0xe0, 0xba, 0x18, 0x9a, 0x83, 0xcb, 0x63, 0xcf, 0xa1, 0xaf, 0x2b, 0x98, + 0xb5, 0x0e, 0x57, 0xdc, 0x18, 0x8a, 0x56, 0x2c, 0x5b, 0xec, 0xa3, 0xc4, 0xd8, 0xfa, 0x9b, 0x1a, + 0xfb, 0x07, 0x0d, 0x76, 0x44, 0x63, 0xc3, 0x83, 0x4b, 0xac, 0x0a, 0xe3, 0xa3, 0xfb, 0xce, 0xb6, + 0x51, 0xcf, 0x45, 0x36, 0x4c, 0x4f, 0xd1, 0x4f, 0x61, 0x2d, 0x73, 0xde, 0xf8, 0x73, 0x26, 0x6c, + 0x69, 0xed, 0xfa, 0xee, 0xd2, 0xfe, 0x37, 0xcc, 0xcc, 0xc3, 0xcc, 0x54, 0xe4, 0x07, 0x13, 0x62, + 0x91, 0x28, 0xa7, 0x60, 0xb6, 0xe3, 0xf8, 0x7b, 0x0d, 0xd6, 0xb3, 0x7b, 0x98, 0x9a, 0xf9, 0x03, + 0x68, 0x66, 0x74, 0x24, 0xf6, 0x95, 0x95, 0x11, 0x01, 0x3f, 0x9b, 0x35, 0xbf, 0xd3, 0x60, 0x4d, + 0x55, 0x79, 0xde, 0xa8, 0xa4, 0xcd, 0x68, 0x4a, 0x1d, 0x36, 0x0b, 0xf7, 0x9f, 0x7c, 0x0c, 0xf3, + 0xfc, 0x7a, 0xd2, 0x30, 0x5d, 0xda, 0xc5, 0xb6, 0xf0, 0x4b, 0x8a, 0xe3, 0xc9, 0x0e, 0x2c, 0xb1, + 0x7f, 0x9d, 0x75, 0x7d, 0x87, 0xf2, 0xe3, 0x02, 0x6c, 0xe8, 0x91, 0xef, 0xd0, 0xb8, 0xb6, 0xd1, + 0x20, 0xf0, 0x83, 0xb3, 0x01, 0x0d, 0x43, 0xbb, 0x47, 0xf1, 0xa8, 0x34, 0xac, 0x26, 0x0e, 0x3e, + 0x61, 0x63, 0xe4, 0x3e, 0xcc, 0x63, 0xee, 0x85, 0xad, 0x39, 0x8c, 0xcb, 0xba, 0x2a, 0x5d, 0x2d, + 0x8e, 0x11, 0xce, 0xc1, 0x15, 0xf1, 0x1c, 0xdc, 0x81, 0x95, 0x6c, 0x36, 0xba, 0x4e, 0x6b, 0x1e, + 0x01, 0xcb, 0x99, 0x51, 0x55, 0xc1, 0x5d, 0x50, 0x14, 0xdc, 0x9b, 0xc9, 0xcd, 0xcd, 0x5f, 0x11, + 0x8b, 0xf8, 0x8a, 0x60, 0xb7, 0x33, 0x7b, 0x69, 0x08, 0xa1, 0x68, 0x54, 0x0d, 0xc5, 0x37, 0xe1, + 0xbd, 0x23, 0x1a, 0x3d, 0x64, 0x6d, 0x49, 0x72, 0xb6, 0x5b, 0xb0, 0x60, 0x3b, 0x4e, 0x40, 0xc3, + 0x30, 0x39, 0xda, 0xfc, 0xd3, 0xf8, 0x35, 0x90, 0x2c, 0x3c, 0x7d, 0x5a, 0x2e, 0xf0, 0xc6, 0x86, + 0xa7, 0xcf, 0x86, 0xa4, 0x38, 0x59, 0x90, 0xc0, 0x66, 0x4b, 0x9b, 0x4f, 0xe1, 0xc6, 0x58, 0xf9, + 0x43, 0xd5, 0x23, 0xb1, 0xd8, 0xf0, 0xd7, 0xb0, 0xfa, 0x8e, 0xac, 0xfe, 0x52, 0xb4, 0xfa, 0x60, + 0x1c, 0xb1, 0x89, 0x56, 0xe7, 0xa2, 0x5e, 0xcb, 0x45, 0xdd, 0xf8, 0x02, 0x6e, 0x1e, 0x62, 0xff, + 0x46, 0x4f, 0xbb, 0x81, 0x3b, 0x54, 0xef, 0xcb, 0x06, 0xcc, 0x87, 0x38, 0xcb, 0x15, 0xf0, 0x2f, + 0x72, 0x1d, 0x1a, 0x76, 0xd0, 0x1b, 0x0d, 0x30, 0xdb, 0x6b, 0xed, 0xfa, 0x6e, 0xd3, 0x1a, 0x0f, + 0x18, 0x43, 0xd8, 0x96, 0x44, 0x57, 0xbf, 0x03, 0xc6, 0x1a, 0x6b, 0xc5, 0x1a, 0xeb, 0xb2, 0xc6, + 0xdf, 0xe4, 0x9c, 0x51, 0x6c, 0x97, 0xbc, 0x29, 0x5a, 0xfe, 0x28, 0xcc, 0xa6, 0xbd, 0x03, 0xef, + 0x0b, 0xda, 0xd3, 0x4c, 0x59, 0x87, 0x2b, 0x2f, 0xed, 0xfe, 0x88, 0x72, 0x27, 0xd9, 0xc7, 0x6c, + 0xd9, 0xf0, 0x1f, 0x0d, 0xd3, 0x01, 0x6b, 0x48, 0xf8, 0x63, 0x3f, 0xe0, 0xae, 0xd9, 0x5e, 0x8f, + 0x26, 0xfe, 0x11, 0x98, 0x8b, 0x2e, 0x87, 0x4c, 0x59, 0xc3, 0xc2, 0x7f, 0xc7, 0x3e, 0x87, 0x91, + 0x1d, 0x44, 0x52, 0x22, 0xe0, 0x18, 0xf7, 0x79, 0x1b, 0x80, 0x7a, 0x4e, 0x02, 0xa8, 0x23, 0xa0, + 0x41, 0x3d, 0x87, 0x4f, 0xbf, 0xc5, 0x17, 0xdb, 0x5f, 0x34, 0x7c, 0xb2, 0xa5, 0x3e, 0xf1, 0x2c, + 0x09, 0xcb, 0x1c, 0xda, 0x82, 0x46, 0x92, 0x3a, 0x49, 0xe6, 0x2d, 0xf2, 0xdc, 0x09, 0xdf, 0xe6, + 0xd3, 0xe6, 0x5f, 0x35, 0x58, 0x61, 0x86, 0x66, 0x2e, 0xc0, 0x05, 0xf1, 0xa1, 0x60, 0x08, 0x0f, + 0x05, 0x11, 0x6d, 0xf2, 0xcb, 0x2a, 0x59, 0x32, 0x53, 0x16, 0xe8, 0xff, 0xd0, 0x60, 0x9e, 0x09, + 0x2a, 0x3b, 0x43, 0x93, 0x4f, 0x7f, 0xe6, 0xae, 0xaa, 0x57, 0xb8, 0xab, 0x1e, 0xc1, 0x2a, 0x13, + 0x98, 0x72, 0x2c, 0x18, 0xfc, 0xf8, 0xba, 0x67, 0x2c, 0x8c, 0x99, 0xb0, 0x30, 0xe6, 0xd3, 0x04, + 0x61, 0xad, 0xe0, 0x92, 0xf4, 0xdb, 0xd8, 0xc6, 0x60, 0x7f, 0x4e, 0xa3, 0x57, 0x7e, 0xf0, 0xe2, + 0xc4, 0x0e, 0xec, 0x01, 0x8d, 0x68, 0x90, 0x04, 0xdb, 0xf8, 0x04, 0xdf, 0xb9, 0x8a, 0x69, 0xbe, + 0xdb, 0x9b, 0xb0, 0xd8, 0xbd, 0xb0, 0x5d, 0x2f, 0xf1, 0xb7, 0x61, 0x2d, 0xe0, 0xf7, 0xb1, 0x63, + 0xdc, 0x85, 0x3b, 0x69, 0xef, 0x7f, 0x12, 0x1b, 0xd2, 0xf5, 0xfb, 0xf1, 0x0d, 0x4f, 0x4f, 0x3d, + 0x7b, 0x18, 0x5e, 0xf8, 0x49, 0x05, 0x30, 0x0e, 0x61, 0xf7, 0x88, 0xaa, 0x21, 0x53, 0xbc, 0x53, + 0x8d, 0xc7, 0x70, 0xb7, 0x58, 0xcc, 0xb4, 0x35, 0x27, 0xee, 0x5d, 0xb7, 0x0b, 0xac, 0xe6, 0xae, + 0x9b, 0x40, 0x42, 0x1a, 0xb8, 0x76, 0xdf, 0xfd, 0x15, 0x75, 0x92, 0x59, 0x6e, 0x94, 0x62, 0x66, + 0xb6, 0x02, 0xf3, 0x43, 0xb8, 0x15, 0x9f, 0xc5, 0x84, 0xd2, 0x63, 0x59, 0x36, 0x3e, 0x94, 0x15, + 0xb6, 0xe5, 0xcf, 0x5a, 0x52, 0x85, 0x95, 0xeb, 0xb9, 0x33, 0xc7, 0x70, 0x55, 0xe6, 0x0d, 0x0b, + 0x88, 0x34, 0x49, 0x96, 0xb5, 0x4a, 0xc5, 0x81, 0xd9, 0xfc, 0xdc, 0x43, 0x7e, 0x4c, 0x92, 0x5d, + 0xc6, 0x2d, 0xfc, 0x49, 0x83, 0x2d, 0x25, 0xfc, 0xff, 0xc4, 0xa1, 0xbf, 0x69, 0xb0, 0x71, 0x3a, + 0xea, 0xc4, 0x37, 0x55, 0x87, 0xe2, 0x6e, 0xa7, 0x05, 0xf4, 0x36, 0xac, 0xb0, 0xea, 0x2f, 0x85, + 0x8c, 0xdd, 0x09, 0x07, 0xbc, 0x5c, 0xdc, 0x07, 0x92, 0x45, 0x09, 0x45, 0xe3, 0xea, 0x18, 0xc9, + 0x2b, 0x87, 0x4c, 0x05, 0xd5, 0xa7, 0xa2, 0x82, 0x8c, 0x43, 0xb8, 0x96, 0x33, 0x76, 0x7a, 0x42, + 0x6a, 0xff, 0xbf, 0x9b, 0xd0, 0x78, 0x88, 0x75, 0xf6, 0xe1, 0xc9, 0x31, 0xf9, 0x2e, 0xcc, 0x9d, + 0xb8, 0x5e, 0x8f, 0xb4, 0x84, 0x02, 0x9c, 0x61, 0x7f, 0xf5, 0x4d, 0xc5, 0x0c, 0x57, 0x4b, 0xf1, + 0x69, 0x2a, 0xb1, 0xb6, 0x44, 0x6c, 0xfa, 0x0a, 0x99, 0x62, 0xfd, 0xee, 0x44, 0x1c, 0x57, 0xd3, + 0x81, 0x75, 0x15, 0x01, 0x4c, 0x76, 0x65, 0x01, 0x45, 0x1c, 0xb1, 0xde, 0x16, 0x90, 0x2a, 0xaa, + 0xf6, 0x39, 0xba, 0x22, 0x11, 0xc5, 0x79, 0x57, 0xd4, 0x4c, 0x72, 0x05, 0xf9, 0xe7, 0xb0, 0xa1, + 0xe6, 0x96, 0xc9, 0xbd, 0x52, 0x1d, 0x42, 0x4d, 0xac, 0xa0, 0xe7, 0x04, 0x56, 0xc4, 0x8d, 0x20, + 0x46, 0xc9, 0x2e, 0x25, 0x72, 0xf5, 0xbc, 0xdc, 0x54, 0xe2, 0x63, 0x68, 0x66, 0x89, 0x5b, 0xd2, + 0x56, 0xda, 0x9b, 0xdd, 0x8d, 0x32, 0x69, 0x4f, 0xe1, 0xaa, 0xcc, 0xd7, 0x92, 0xdb, 0x05, 0x12, + 0x45, 0xdf, 0xcb, 0xa4, 0xfe, 0x1c, 0x5b, 0x2a, 0x91, 0xf0, 0x24, 0x77, 0x64, 0xb1, 0x4a, 0x42, + 0x54, 0xdf, 0x11, 0x60, 0x0a, 0x2a, 0xf4, 0x17, 0xb0, 0x2a, 0x51, 0x88, 0xe4, 0x96, 0xb0, 0x46, + 0x4d, 0x5c, 0xea, 0xb7, 0xcb, 0x41, 0x5c, 0xfa, 0x33, 0x0c, 0x58, 0x56, 0x78, 0x2e, 0x60, 0x0a, + 0xd9, 0xed, 0x12, 0x62, 0x25, 0x7b, 0x68, 0x72, 0x2d, 0x7f, 0x25, 0xe9, 0x15, 0x69, 0x1b, 0x32, + 0xc4, 0x77, 0x49, 0x6e, 0x9e, 0xd3, 0x6c, 0xe4, 0x83, 0x12, 0x55, 0x22, 0x15, 0x57, 0x59, 0xe3, + 0x2b, 0x7c, 0xca, 0xe7, 0xe9, 0xa8, 0xf4, 0x0d, 0x42, 0xee, 0x97, 0x28, 0xcd, 0x51, 0x6a, 0x52, + 0x0d, 0x2a, 0xa1, 0xb9, 0x5e, 0x20, 0xa5, 0xae, 0x94, 0x35, 0xa5, 0xca, 0x9b, 0x45, 0x2a, 0x43, + 0x29, 0x76, 0x39, 0x52, 0x35, 0x5f, 0xf0, 0x8a, 0x28, 0xdb, 0x0a, 0xf9, 0x11, 0xe1, 0xef, 0x74, + 0x05, 0xc4, 0x2d, 0x31, 0x2b, 0x68, 0xca, 0x30, 0xbc, 0x95, 0xe3, 0xf7, 0x04, 0x60, 0xdc, 0x99, + 0x93, 0x1b, 0xb2, 0x16, 0x91, 0x14, 0x91, 0x8e, 0xa6, 0x82, 0x05, 0x71, 0xf0, 0xd7, 0x1f, 0x15, + 0x3d, 0x41, 0x3e, 0x2c, 0x58, 0xab, 0x6a, 0xd6, 0xf5, 0xeb, 0x02, 0x78, 0x82, 0x96, 0xec, 0x95, + 0x5e, 0xac, 0x25, 0xdf, 0x45, 0x4f, 0xd0, 0x32, 0x04, 0xbd, 0x98, 0x55, 0x90, 0x02, 0x32, 0x91, + 0x7e, 0xd0, 0x8d, 0x62, 0x7c, 0xaa, 0xf1, 0x02, 0x36, 0xd4, 0x64, 0x83, 0x74, 0x27, 0x95, 0x32, + 0x12, 0x95, 0x34, 0xe5, 0x7d, 0xcb, 0x6e, 0xa2, 0x39, 0x51, 0x9b, 0xb8, 0x8f, 0x55, 0x34, 0x76, + 0x31, 0x66, 0xaa, 0x9e, 0x3f, 0x1f, 0xb3, 0x12, 0x66, 0x40, 0xdf, 0x2a, 0x69, 0x4c, 0xc9, 0x97, + 0x78, 0x4e, 0x73, 0x4d, 0x78, 0xfe, 0x9c, 0x16, 0xf5, 0xe9, 0xe5, 0xe2, 0x5f, 0xa0, 0xf8, 0x5c, + 0x5f, 0x97, 0x17, 0x5f, 0xd4, 0x19, 0xea, 0x1f, 0x54, 0x40, 0x72, 0x65, 0x5f, 0x31, 0x96, 0xa4, + 0xa4, 0x15, 0x24, 0xfb, 0xea, 0x97, 0x44, 0x59, 0xdf, 0xa8, 0x8b, 0x99, 0x54, 0xde, 0xac, 0xfd, + 0x96, 0xfd, 0x98, 0x54, 0xde, 0x64, 0x92, 0x6f, 0xcb, 0x56, 0x54, 0x6a, 0x4a, 0xa7, 0x32, 0xe4, + 0x6b, 0x0d, 0xda, 0x93, 0xda, 0x54, 0xf2, 0xad, 0x8a, 0x76, 0x88, 0xb9, 0x3b, 0x8d, 0x19, 0x5f, + 0xb1, 0x1f, 0xb0, 0x0a, 0x1b, 0x43, 0xf2, 0x20, 0x97, 0x67, 0x13, 0x7a, 0x50, 0x5d, 0x75, 0xd4, + 0xca, 0x5a, 0x4e, 0x0f, 0x9f, 0xad, 0x8a, 0x1e, 0x2e, 0xff, 0x6c, 0x2d, 0xee, 0x0b, 0xf5, 0xdd, + 0x32, 0xad, 0x42, 0x47, 0xf8, 0x1c, 0x56, 0xa5, 0x1e, 0x47, 0x7e, 0x6b, 0x29, 0xdb, 0x35, 0xf9, + 0xad, 0xa5, 0x6e, 0x93, 0x1e, 0x68, 0x07, 0x8f, 0x41, 0xf7, 0x83, 0x9e, 0xe9, 0x7b, 0x08, 0x4f, + 0xa9, 0x17, 0xb6, 0xee, 0x67, 0x66, 0xcf, 0x8d, 0x2e, 0x46, 0x1d, 0xb3, 0xeb, 0x0f, 0xf6, 0x18, + 0x64, 0x0f, 0xff, 0x93, 0xfe, 0xa1, 0x4c, 0xcf, 0xdf, 0xcb, 0xfc, 0x0d, 0x52, 0x67, 0x1e, 0x27, + 0x3e, 0xfa, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6f, 0x09, 0xff, 0x0e, 0x99, 0x24, 0x00, 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index 3ead2dad0..bd9dfe855 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -107,6 +107,22 @@ type AccessAPIClient interface { GetExecutionResultForBlockID(ctx context.Context, in *GetExecutionResultForBlockIDRequest, opts ...grpc.CallOption) (*ExecutionResultForBlockIDResponse, error) // GetExecutionResultByID returns Execution Result by its ID. GetExecutionResultByID(ctx context.Context, in *GetExecutionResultByIDRequest, opts ...grpc.CallOption) (*ExecutionResultByIDResponse, error) + // SubscribeBlocks streams finalized or sealed blocks starting at the requested + // start block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Each block are filtered by the provided block status, and only + // those blocks that match the status are returned. If no block status is provided, + // sealed blocks are returned. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // not been received. + SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksClient, error) } type accessAPIClient struct { @@ -396,6 +412,38 @@ func (c *accessAPIClient) GetExecutionResultByID(ctx context.Context, in *GetExe return out, nil } +func (c *accessAPIClient) SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[0], "/flow.access.AccessAPI/SubscribeBlocks", opts...) + if err != nil { + return nil, err + } + x := &accessAPISubscribeBlocksClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type AccessAPI_SubscribeBlocksClient interface { + Recv() (*SubscribeBlocksResponse, error) + grpc.ClientStream +} + +type accessAPISubscribeBlocksClient struct { + grpc.ClientStream +} + +func (x *accessAPISubscribeBlocksClient) Recv() (*SubscribeBlocksResponse, error) { + m := new(SubscribeBlocksResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + // AccessAPIServer is the server API for AccessAPI service. // All implementations should embed UnimplementedAccessAPIServer // for forward compatibility @@ -485,6 +533,22 @@ type AccessAPIServer interface { GetExecutionResultForBlockID(context.Context, *GetExecutionResultForBlockIDRequest) (*ExecutionResultForBlockIDResponse, error) // GetExecutionResultByID returns Execution Result by its ID. GetExecutionResultByID(context.Context, *GetExecutionResultByIDRequest) (*ExecutionResultByIDResponse, error) + // SubscribeBlocks streams finalized or sealed blocks starting at the requested + // start block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Each block are filtered by the provided block status, and only + // those blocks that match the status are returned. If no block status is provided, + // sealed blocks are returned. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // not been received. + SubscribeBlocks(*SubscribeBlocksRequest, AccessAPI_SubscribeBlocksServer) error } // UnimplementedAccessAPIServer should be embedded to have forward compatible implementations. @@ -584,6 +648,9 @@ func (UnimplementedAccessAPIServer) GetExecutionResultForBlockID(context.Context func (UnimplementedAccessAPIServer) GetExecutionResultByID(context.Context, *GetExecutionResultByIDRequest) (*ExecutionResultByIDResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetExecutionResultByID not implemented") } +func (UnimplementedAccessAPIServer) SubscribeBlocks(*SubscribeBlocksRequest, AccessAPI_SubscribeBlocksServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlocks not implemented") +} // UnsafeAccessAPIServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to AccessAPIServer will @@ -1154,6 +1221,27 @@ func _AccessAPI_GetExecutionResultByID_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } +func _AccessAPI_SubscribeBlocks_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlocksRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(AccessAPIServer).SubscribeBlocks(m, &accessAPISubscribeBlocksServer{stream}) +} + +type AccessAPI_SubscribeBlocksServer interface { + Send(*SubscribeBlocksResponse) error + grpc.ServerStream +} + +type accessAPISubscribeBlocksServer struct { + grpc.ServerStream +} + +func (x *accessAPISubscribeBlocksServer) Send(m *SubscribeBlocksResponse) error { + return x.ServerStream.SendMsg(m) +} + // AccessAPI_ServiceDesc is the grpc.ServiceDesc for AccessAPI service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1286,6 +1374,12 @@ var AccessAPI_ServiceDesc = grpc.ServiceDesc{ Handler: _AccessAPI_GetExecutionResultByID_Handler, }, }, - Streams: []grpc.StreamDesc{}, + Streams: []grpc.StreamDesc{ + { + StreamName: "SubscribeBlocks", + Handler: _AccessAPI_SubscribeBlocks_Handler, + ServerStreams: true, + }, + }, Metadata: "flow/access/access.proto", } diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index fd7650fb7..2bc399cd7 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -590,116 +590,6 @@ func (m *GetRegisterValuesResponse) GetValues() [][]byte { return nil } -// The request for SubscribeBlocks -type SubscribeBlocksRequest struct { - // Block ID of the first block to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block is used. - StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` - // Block height of the first block to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block is used. - StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` - // Preferred block status of the block payload. - // Possible variants: - // 1. BLOCK_FINALIZED - // 2. BLOCK_SEALED - BlockStatus entities.BlockStatus `protobuf:"varint,3,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SubscribeBlocksRequest) Reset() { *m = SubscribeBlocksRequest{} } -func (m *SubscribeBlocksRequest) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlocksRequest) ProtoMessage() {} -func (*SubscribeBlocksRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{9} -} - -func (m *SubscribeBlocksRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlocksRequest.Unmarshal(m, b) -} -func (m *SubscribeBlocksRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlocksRequest.Marshal(b, m, deterministic) -} -func (m *SubscribeBlocksRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlocksRequest.Merge(m, src) -} -func (m *SubscribeBlocksRequest) XXX_Size() int { - return xxx_messageInfo_SubscribeBlocksRequest.Size(m) -} -func (m *SubscribeBlocksRequest) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlocksRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_SubscribeBlocksRequest proto.InternalMessageInfo - -func (m *SubscribeBlocksRequest) GetStartBlockId() []byte { - if m != nil { - return m.StartBlockId - } - return nil -} - -func (m *SubscribeBlocksRequest) GetStartBlockHeight() uint64 { - if m != nil { - return m.StartBlockHeight - } - return 0 -} - -func (m *SubscribeBlocksRequest) GetBlockStatus() entities.BlockStatus { - if m != nil { - return m.BlockStatus - } - return entities.BlockStatus_BLOCK_UNKNOWN -} - -// The response for SubscribeBlocks -type SubscribeBlocksResponse struct { - // The sealed or finalized blocks according to the block status - // in the request. - Block *entities.Block `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SubscribeBlocksResponse) Reset() { *m = SubscribeBlocksResponse{} } -func (m *SubscribeBlocksResponse) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlocksResponse) ProtoMessage() {} -func (*SubscribeBlocksResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{10} -} - -func (m *SubscribeBlocksResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlocksResponse.Unmarshal(m, b) -} -func (m *SubscribeBlocksResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlocksResponse.Marshal(b, m, deterministic) -} -func (m *SubscribeBlocksResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlocksResponse.Merge(m, src) -} -func (m *SubscribeBlocksResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlocksResponse.Size(m) -} -func (m *SubscribeBlocksResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlocksResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_SubscribeBlocksResponse proto.InternalMessageInfo - -func (m *SubscribeBlocksResponse) GetBlock() *entities.Block { - if m != nil { - return m.Block - } - return nil -} - func init() { proto.RegisterType((*GetExecutionDataByBlockIDRequest)(nil), "flow.executiondata.GetExecutionDataByBlockIDRequest") proto.RegisterType((*GetExecutionDataByBlockIDResponse)(nil), "flow.executiondata.GetExecutionDataByBlockIDResponse") @@ -710,8 +600,6 @@ func init() { proto.RegisterType((*EventFilter)(nil), "flow.executiondata.EventFilter") proto.RegisterType((*GetRegisterValuesRequest)(nil), "flow.executiondata.GetRegisterValuesRequest") proto.RegisterType((*GetRegisterValuesResponse)(nil), "flow.executiondata.GetRegisterValuesResponse") - proto.RegisterType((*SubscribeBlocksRequest)(nil), "flow.executiondata.SubscribeBlocksRequest") - proto.RegisterType((*SubscribeBlocksResponse)(nil), "flow.executiondata.SubscribeBlocksResponse") } func init() { @@ -719,57 +607,52 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 820 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcd, 0x4e, 0xdb, 0x4a, - 0x14, 0x96, 0x93, 0x10, 0xe0, 0x24, 0xe2, 0x67, 0x14, 0x71, 0x1d, 0xeb, 0x72, 0x49, 0x7c, 0xaf, - 0xae, 0x22, 0x2e, 0x38, 0xdc, 0x50, 0xd4, 0x4d, 0xbb, 0x68, 0x4a, 0x4a, 0xb3, 0xab, 0x0c, 0x42, - 0x2a, 0x9b, 0xc8, 0x3f, 0x83, 0x63, 0x35, 0x78, 0x52, 0xcf, 0x24, 0x05, 0x75, 0xd5, 0x5d, 0x1f, - 0xa1, 0xef, 0xd0, 0x45, 0xdf, 0xa3, 0x8b, 0xbe, 0x41, 0x9f, 0xa1, 0xaf, 0x50, 0x65, 0x66, 0x6c, - 0xec, 0xc4, 0x04, 0x10, 0x62, 0x03, 0x3a, 0x73, 0xbe, 0x33, 0xe7, 0x9c, 0x6f, 0xbe, 0x73, 0x1c, - 0xf8, 0xf7, 0x7c, 0x40, 0x3e, 0x34, 0xf1, 0x25, 0x76, 0x46, 0xcc, 0x27, 0x81, 0x6b, 0x31, 0x2b, - 0x6d, 0x19, 0xc3, 0x90, 0x30, 0x82, 0xd0, 0x04, 0x67, 0xa4, 0x3c, 0x5a, 0x43, 0xc4, 0x06, 0xcc, - 0x67, 0x3e, 0xa6, 0x4d, 0x7b, 0x40, 0x9c, 0x77, 0xbd, 0x18, 0xd2, 0xbb, 0x8e, 0xd6, 0xaa, 0x69, - 0x24, 0x1e, 0xe3, 0x80, 0x49, 0xd7, 0x9f, 0x69, 0x57, 0x88, 0x3d, 0x9f, 0x32, 0x1c, 0x4a, 0xef, - 0x96, 0x47, 0x88, 0x37, 0xc0, 0x4d, 0x6e, 0xd9, 0xa3, 0xf3, 0x26, 0xf3, 0x2f, 0x30, 0x65, 0xd6, - 0xc5, 0x50, 0x02, 0x54, 0x1e, 0x6e, 0x39, 0x0e, 0xa6, 0x54, 0xfe, 0xcb, 0xce, 0xc9, 0xab, 0x13, - 0x2e, 0xfd, 0x8b, 0x02, 0xb5, 0x23, 0xcc, 0x3a, 0x51, 0xa9, 0x87, 0x16, 0xb3, 0xda, 0x57, 0xed, - 0x09, 0xa2, 0x7b, 0x68, 0xe2, 0xf7, 0x23, 0x4c, 0x19, 0xaa, 0xc2, 0x92, 0xe8, 0xc8, 0x77, 0x55, - 0xa5, 0xa6, 0x34, 0xca, 0xe6, 0x22, 0xb7, 0xbb, 0x2e, 0x7a, 0x0b, 0x1b, 0xbc, 0x85, 0x1e, 0x0e, - 0x1c, 0xe2, 0xfa, 0x81, 0xd7, 0x1b, 0xe3, 0x90, 0xfa, 0x24, 0x50, 0x73, 0x35, 0xa5, 0xb1, 0xd2, - 0xfa, 0xdb, 0x10, 0x6c, 0xc9, 0xdc, 0x46, 0x67, 0x02, 0xee, 0x48, 0xec, 0xa9, 0x80, 0x9a, 0x15, - 0x9c, 0x71, 0xaa, 0x5f, 0x42, 0x7d, 0x4e, 0x65, 0x74, 0x48, 0x02, 0x8a, 0xd1, 0x31, 0x54, 0xb2, - 0xc8, 0xe6, 0x65, 0x96, 0x5a, 0xf5, 0xa9, 0xec, 0x3c, 0x3a, 0x75, 0xa3, 0x89, 0xec, 0x99, 0x33, - 0xfd, 0x87, 0x02, 0x9b, 0xc7, 0x23, 0x9b, 0x3a, 0xa1, 0x6f, 0xe3, 0x34, 0x5c, 0x32, 0xf2, 0x0f, - 0xac, 0x50, 0x66, 0x85, 0xac, 0x37, 0xc5, 0x4b, 0x99, 0x9f, 0xb6, 0x25, 0x39, 0x3b, 0x80, 0x92, - 0xa8, 0x3e, 0xf6, 0xbd, 0x3e, 0xe3, 0xc4, 0x14, 0xcc, 0xb5, 0x6b, 0xe4, 0x6b, 0x7e, 0x3e, 0x87, - 0xca, 0xfc, 0x43, 0xa9, 0xfc, 0xa9, 0xc0, 0x5f, 0x37, 0x35, 0x24, 0x89, 0xac, 0x43, 0x39, 0x55, - 0xa5, 0xc2, 0xab, 0x2c, 0xd9, 0x89, 0x02, 0x6f, 0xe2, 0x3a, 0xf7, 0x00, 0xae, 0xd1, 0x4b, 0x58, - 0x15, 0x97, 0xc6, 0x72, 0xe6, 0xed, 0x96, 0x5a, 0x9a, 0x21, 0x04, 0x6f, 0x44, 0x82, 0x37, 0x4e, - 0x22, 0x84, 0xb9, 0xc2, 0x43, 0x62, 0x5b, 0xff, 0x96, 0x83, 0x8d, 0xeb, 0xfe, 0x26, 0x0c, 0xd0, - 0xc7, 0x7c, 0xa9, 0xa7, 0x50, 0x3c, 0xf7, 0x07, 0x0c, 0x87, 0xb2, 0xd4, 0x2d, 0x63, 0x76, 0x25, - 0x88, 0xe7, 0x79, 0xc5, 0x61, 0xa6, 0x84, 0xa3, 0x5d, 0x40, 0x7d, 0x6c, 0x85, 0xcc, 0xc6, 0x16, - 0xeb, 0xf9, 0x01, 0xc3, 0xe1, 0xd8, 0x1a, 0xa8, 0x05, 0x9e, 0x66, 0x3d, 0xf6, 0x74, 0xa5, 0x63, - 0x8e, 0x22, 0x16, 0x1e, 0xaa, 0x88, 0xef, 0x0a, 0xfc, 0x31, 0xc3, 0x98, 0x94, 0xc2, 0x9c, 0x71, - 0x9f, 0x56, 0x49, 0x6e, 0x56, 0x25, 0x3b, 0x50, 0xe4, 0x19, 0xa9, 0x9a, 0xaf, 0xe5, 0x1b, 0xa5, - 0x56, 0x25, 0xab, 0x48, 0x53, 0x62, 0xb2, 0x9e, 0xbf, 0x70, 0xef, 0xe7, 0xb7, 0xa1, 0x94, 0x60, - 0x1b, 0x6d, 0x02, 0x08, 0xda, 0xd8, 0xd5, 0x10, 0xab, 0x4a, 0x2d, 0xdf, 0x58, 0x36, 0x97, 0xf9, - 0xc9, 0xc9, 0xd5, 0x10, 0x23, 0x0d, 0x96, 0x1c, 0x12, 0xb0, 0xd0, 0x72, 0x26, 0xf5, 0x4f, 0x9c, - 0xb1, 0x8d, 0x54, 0x58, 0xb4, 0x5c, 0x37, 0xc4, 0x54, 0x54, 0xbf, 0x6c, 0x46, 0xa6, 0xfe, 0x11, - 0xd4, 0x23, 0xcc, 0x4c, 0xb9, 0x93, 0x4f, 0xad, 0xc1, 0x08, 0xc7, 0x1a, 0xbb, 0xc3, 0xec, 0x3c, - 0x83, 0x72, 0xb4, 0xcf, 0x7b, 0xbe, 0x4b, 0x79, 0xe2, 0x52, 0xab, 0x3a, 0xc5, 0x4d, 0x74, 0x7d, - 0xf7, 0xd0, 0x2c, 0x45, 0xf0, 0xae, 0x4b, 0xf5, 0x7d, 0xa8, 0x66, 0x24, 0x97, 0xcf, 0xb5, 0x01, - 0xc5, 0x31, 0x3f, 0xe1, 0xad, 0x96, 0x4d, 0x69, 0xe9, 0x5f, 0x95, 0xc4, 0x50, 0x70, 0xf9, 0x3e, - 0xea, 0x50, 0x3c, 0x8f, 0x48, 0xa0, 0xcc, 0x62, 0x23, 0x2a, 0x97, 0x96, 0x96, 0xb5, 0x15, 0x8e, - 0x39, 0x42, 0x12, 0x24, 0x0c, 0xbd, 0x93, 0xd0, 0x63, 0x54, 0xac, 0x6c, 0x70, 0x1b, 0x16, 0x38, - 0x52, 0x2e, 0xf5, 0x4a, 0xd6, 0x95, 0xa6, 0x80, 0xb4, 0x7e, 0x15, 0x60, 0x2d, 0xb5, 0x60, 0x5e, - 0xbc, 0xe9, 0xa2, 0xcf, 0x0a, 0xe7, 0x2f, 0xfb, 0x53, 0x82, 0x9e, 0x64, 0x4d, 0xef, 0x6d, 0xdf, - 0x44, 0xed, 0xe0, 0x9e, 0x51, 0xb2, 0x97, 0x4f, 0xc9, 0x47, 0x49, 0x6f, 0xc2, 0xff, 0xb3, 0x6e, - 0x9c, 0xfb, 0x19, 0xd2, 0x5a, 0xf7, 0x09, 0x11, 0x15, 0xec, 0x29, 0x68, 0x00, 0xab, 0x53, 0xa3, - 0x8f, 0xb6, 0xe7, 0x5f, 0x94, 0xdc, 0xa8, 0xda, 0x7f, 0x77, 0xc2, 0xc6, 0xd9, 0x86, 0xb0, 0x3e, - 0xa3, 0x5d, 0xb4, 0x73, 0x03, 0x7b, 0x99, 0xf3, 0xa5, 0xed, 0xde, 0x11, 0x2d, 0x39, 0x4e, 0xf6, - 0x27, 0xa4, 0x74, 0x4b, 0x7f, 0xa9, 0xe1, 0xb8, 0xa5, 0xbf, 0xb4, 0x36, 0xf7, 0x94, 0xf6, 0x19, - 0xd4, 0x49, 0xe8, 0x19, 0x24, 0xe0, 0x51, 0xf1, 0xb6, 0x4a, 0x85, 0x9f, 0x1d, 0x78, 0x3e, 0xeb, - 0x8f, 0x6c, 0xc3, 0x21, 0x17, 0x4d, 0x81, 0x6c, 0xf2, 0x3f, 0xf1, 0x8f, 0x39, 0x8f, 0x34, 0x67, - 0x7f, 0x7e, 0xda, 0x45, 0xee, 0xdf, 0xff, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xeb, 0x2a, 0xe2, 0xe6, - 0x9b, 0x0a, 0x00, 0x00, + // 749 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdd, 0x4e, 0x13, 0x4f, + 0x14, 0xcf, 0xb6, 0xfd, 0x17, 0x38, 0x6d, 0xf8, 0x98, 0x10, 0xfe, 0xdb, 0x8d, 0x48, 0x5b, 0x8d, + 0x69, 0x14, 0xb6, 0x5a, 0x24, 0xde, 0x78, 0x63, 0x05, 0xb1, 0x77, 0x66, 0x21, 0x24, 0x72, 0xd3, + 0xec, 0xc7, 0x61, 0x3b, 0xb1, 0xec, 0xd4, 0x9d, 0x69, 0x85, 0x78, 0xc5, 0x9d, 0x8f, 0xe0, 0x5b, + 0xf8, 0x1e, 0x5e, 0xf8, 0x06, 0xbe, 0x8b, 0xe9, 0xec, 0xec, 0xd2, 0x6d, 0x97, 0x0a, 0x21, 0xde, + 0x40, 0xce, 0x9c, 0xdf, 0x99, 0xf3, 0x9b, 0xdf, 0xf9, 0xe8, 0xc2, 0x93, 0xb3, 0x3e, 0xfb, 0xd2, + 0xc4, 0x0b, 0x74, 0x87, 0x82, 0xb2, 0xc0, 0xb3, 0x85, 0x9d, 0xb6, 0xcc, 0x41, 0xc8, 0x04, 0x23, + 0x64, 0x8c, 0x33, 0x53, 0x1e, 0xa3, 0x11, 0xc5, 0x06, 0x82, 0x0a, 0x8a, 0xbc, 0xe9, 0xf4, 0x99, + 0xfb, 0xa9, 0x9b, 0x40, 0xba, 0xd7, 0xd1, 0x46, 0x25, 0x8d, 0xc4, 0x11, 0x06, 0x42, 0xb9, 0x1e, + 0xa4, 0x5d, 0x21, 0xfa, 0x94, 0x0b, 0x0c, 0x95, 0x77, 0xcb, 0x67, 0xcc, 0xef, 0x63, 0x53, 0x5a, + 0xce, 0xf0, 0xac, 0x29, 0xe8, 0x39, 0x72, 0x61, 0x9f, 0x0f, 0x14, 0x40, 0x97, 0xe1, 0xb6, 0xeb, + 0x22, 0xe7, 0xea, 0x5f, 0x76, 0x4e, 0xc9, 0x2e, 0x72, 0xd5, 0xbf, 0x6b, 0x50, 0x3d, 0x44, 0x71, + 0x10, 0x53, 0xdd, 0xb7, 0x85, 0xdd, 0xbe, 0x6c, 0x8f, 0x11, 0x9d, 0x7d, 0x0b, 0x3f, 0x0f, 0x91, + 0x0b, 0x52, 0x81, 0xc5, 0xe8, 0x45, 0xd4, 0xd3, 0xb5, 0xaa, 0xd6, 0x28, 0x5b, 0x0b, 0xd2, 0xee, + 0x78, 0xe4, 0x23, 0x6c, 0xc8, 0x27, 0x74, 0x31, 0x70, 0x99, 0x47, 0x03, 0xbf, 0x3b, 0xc2, 0x90, + 0x53, 0x16, 0xe8, 0xb9, 0xaa, 0xd6, 0x58, 0x6e, 0x3d, 0x32, 0x23, 0xb5, 0x54, 0x6e, 0xf3, 0x60, + 0x0c, 0x3e, 0x50, 0xd8, 0x93, 0x08, 0x6a, 0xad, 0x63, 0xc6, 0x69, 0xfd, 0x02, 0x6a, 0x73, 0x98, + 0xf1, 0x01, 0x0b, 0x38, 0x92, 0x23, 0x58, 0xcf, 0x12, 0x5b, 0xd2, 0x2c, 0xb5, 0x6a, 0x53, 0xd9, + 0x65, 0x74, 0xea, 0x46, 0x8b, 0x38, 0x33, 0x67, 0xf5, 0x5f, 0x1a, 0x6c, 0x1e, 0x0d, 0x1d, 0xee, + 0x86, 0xd4, 0xc1, 0x34, 0x5c, 0x29, 0xf2, 0x18, 0x96, 0xb9, 0xb0, 0x43, 0xd1, 0x9d, 0xd2, 0xa5, + 0x2c, 0x4f, 0xdb, 0x4a, 0x9c, 0x6d, 0x20, 0x93, 0xa8, 0x1e, 0x52, 0xbf, 0x27, 0xa4, 0x30, 0x05, + 0x6b, 0xf5, 0x1a, 0xf9, 0x5e, 0x9e, 0xcf, 0x91, 0x32, 0x7f, 0x5f, 0x29, 0x7f, 0x6b, 0xf0, 0xf0, + 0xa6, 0x07, 0x29, 0x21, 0x6b, 0x50, 0x4e, 0xb1, 0xd4, 0x24, 0xcb, 0x92, 0x33, 0x41, 0xf0, 0x26, + 0xad, 0x73, 0xf7, 0xd0, 0x9a, 0xbc, 0x85, 0x95, 0xe8, 0xd2, 0xa4, 0x9d, 0xe5, 0x73, 0x4b, 0x2d, + 0xc3, 0x8c, 0x1a, 0xde, 0x8c, 0x1b, 0xde, 0x3c, 0x8e, 0x11, 0xd6, 0xb2, 0x0c, 0x49, 0xec, 0xfa, + 0x8f, 0x1c, 0x6c, 0x5c, 0xbf, 0x6f, 0xac, 0x00, 0xff, 0x97, 0x95, 0x7a, 0x05, 0xc5, 0x33, 0xda, + 0x17, 0x18, 0x2a, 0xaa, 0x5b, 0xe6, 0xec, 0x4a, 0x88, 0xca, 0xf3, 0x4e, 0xc2, 0x2c, 0x05, 0x27, + 0x3b, 0x40, 0x7a, 0x68, 0x87, 0xc2, 0x41, 0x5b, 0x74, 0x69, 0x20, 0x30, 0x1c, 0xd9, 0x7d, 0xbd, + 0x20, 0xd3, 0xac, 0x25, 0x9e, 0x8e, 0x72, 0xcc, 0xe9, 0x88, 0xff, 0xee, 0xdb, 0x11, 0x3f, 0x35, + 0xf8, 0x7f, 0x46, 0x31, 0xd5, 0x0a, 0x73, 0xc6, 0x7d, 0xba, 0x4b, 0x72, 0xb3, 0x5d, 0xb2, 0x0d, + 0x45, 0x99, 0x91, 0xeb, 0xf9, 0x6a, 0xbe, 0x51, 0x6a, 0xad, 0x67, 0x91, 0xb4, 0x14, 0x26, 0xab, + 0xfc, 0x85, 0x3b, 0x97, 0xdf, 0x81, 0xd2, 0x84, 0xda, 0x64, 0x13, 0x20, 0x92, 0x4d, 0x5c, 0x0e, + 0x50, 0xd7, 0xaa, 0xf9, 0xc6, 0x92, 0xb5, 0x24, 0x4f, 0x8e, 0x2f, 0x07, 0x48, 0x0c, 0x58, 0x74, + 0x59, 0x20, 0x42, 0xdb, 0x1d, 0xf3, 0x1f, 0x3b, 0x13, 0x9b, 0xe8, 0xb0, 0x60, 0x7b, 0x5e, 0x88, + 0x3c, 0x62, 0xbf, 0x64, 0xc5, 0x66, 0xfd, 0x2b, 0xe8, 0x87, 0x28, 0x2c, 0xb5, 0x93, 0x4f, 0xec, + 0xfe, 0x10, 0x93, 0x1e, 0xbb, 0xc5, 0xec, 0xbc, 0x86, 0x72, 0xbc, 0xcf, 0xbb, 0xd4, 0xe3, 0x32, + 0x71, 0xa9, 0x55, 0x99, 0xd2, 0x26, 0xbe, 0xbe, 0xb3, 0x6f, 0x95, 0x62, 0x78, 0xc7, 0xe3, 0xf5, + 0x5d, 0xa8, 0x64, 0x24, 0x57, 0xe5, 0xda, 0x80, 0xe2, 0x48, 0x9e, 0xc8, 0xa7, 0x96, 0x2d, 0x65, + 0xb5, 0xae, 0x0a, 0xb0, 0x9a, 0x9a, 0xb5, 0x37, 0x1f, 0x3a, 0xe4, 0x9b, 0x26, 0xaf, 0xca, 0xde, + 0xaa, 0xe4, 0x65, 0x56, 0x23, 0xff, 0xed, 0xe7, 0xc1, 0xd8, 0xbb, 0x63, 0x94, 0xe2, 0x7d, 0xa5, + 0x4d, 0x0e, 0x6d, 0x6a, 0x29, 0xbc, 0xc8, 0xba, 0x71, 0xee, 0x46, 0x36, 0x5a, 0x77, 0x09, 0x89, + 0x18, 0x3c, 0xd7, 0x48, 0x1f, 0x56, 0xa6, 0xa6, 0x80, 0x3c, 0x9d, 0x7f, 0xd1, 0xe4, 0x72, 0x31, + 0x9e, 0xdd, 0x0a, 0x9b, 0x64, 0x1b, 0xc0, 0xda, 0x4c, 0x19, 0xc9, 0xf6, 0x0d, 0xea, 0x65, 0xb6, + 0x9a, 0xb1, 0x73, 0x4b, 0x74, 0x94, 0xb3, 0x7d, 0x0a, 0x35, 0x16, 0xfa, 0x26, 0x0b, 0x64, 0x54, + 0x32, 0x4a, 0xa9, 0xf0, 0xd3, 0x3d, 0x9f, 0x8a, 0xde, 0xd0, 0x31, 0x5d, 0x76, 0xde, 0x8c, 0x90, + 0x4d, 0xf9, 0x27, 0xf9, 0xd2, 0xf0, 0x59, 0x73, 0xf6, 0xdb, 0xc8, 0x29, 0x4a, 0xff, 0xee, 0x9f, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xc7, 0x5c, 0xf7, 0xa9, 0x38, 0x09, 0x00, 0x00, } diff --git a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go index 018d0bf4c..7ebf00d07 100644 --- a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go +++ b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go @@ -72,22 +72,6 @@ type ExecutionDataAPIClient interface { SubscribeEvents(ctx context.Context, in *SubscribeEventsRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsClient, error) // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(ctx context.Context, in *GetRegisterValuesRequest, opts ...grpc.CallOption) (*GetRegisterValuesResponse, error) - // SubscribeBlocks streams finalized or sealed blocks starting at the requested - // start block, up until the latest available block. Once the latest is - // reached, the stream will remain open and responses are sent for each new - // block as it becomes available. - // - // Each block are filtered by the provided block status, and only - // those blocks that match the status are returned. If no block status is provided, - // sealed blocks are returned. - // - // Errors: - // - InvalidArgument is returned if the request contains an invalid - // start block. - // - NotFound is returned if the start block is not currently available on the - // node. This may happen if the block was from a previous spork, or if the block has yet - // not been received. - SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeBlocksClient, error) } type executionDataAPIClient struct { @@ -180,38 +164,6 @@ func (c *executionDataAPIClient) GetRegisterValues(ctx context.Context, in *GetR return out, nil } -func (c *executionDataAPIClient) SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeBlocksClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[2], "/flow.executiondata.ExecutionDataAPI/SubscribeBlocks", opts...) - if err != nil { - return nil, err - } - x := &executionDataAPISubscribeBlocksClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type ExecutionDataAPI_SubscribeBlocksClient interface { - Recv() (*SubscribeBlocksResponse, error) - grpc.ClientStream -} - -type executionDataAPISubscribeBlocksClient struct { - grpc.ClientStream -} - -func (x *executionDataAPISubscribeBlocksClient) Recv() (*SubscribeBlocksResponse, error) { - m := new(SubscribeBlocksResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - // ExecutionDataAPIServer is the server API for ExecutionDataAPI service. // All implementations should embed UnimplementedExecutionDataAPIServer // for forward compatibility @@ -266,22 +218,6 @@ type ExecutionDataAPIServer interface { SubscribeEvents(*SubscribeEventsRequest, ExecutionDataAPI_SubscribeEventsServer) error // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) - // SubscribeBlocks streams finalized or sealed blocks starting at the requested - // start block, up until the latest available block. Once the latest is - // reached, the stream will remain open and responses are sent for each new - // block as it becomes available. - // - // Each block are filtered by the provided block status, and only - // those blocks that match the status are returned. If no block status is provided, - // sealed blocks are returned. - // - // Errors: - // - InvalidArgument is returned if the request contains an invalid - // start block. - // - NotFound is returned if the start block is not currently available on the - // node. This may happen if the block was from a previous spork, or if the block has yet - // not been received. - SubscribeBlocks(*SubscribeBlocksRequest, ExecutionDataAPI_SubscribeBlocksServer) error } // UnimplementedExecutionDataAPIServer should be embedded to have forward compatible implementations. @@ -300,9 +236,6 @@ func (UnimplementedExecutionDataAPIServer) SubscribeEvents(*SubscribeEventsReque func (UnimplementedExecutionDataAPIServer) GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetRegisterValues not implemented") } -func (UnimplementedExecutionDataAPIServer) SubscribeBlocks(*SubscribeBlocksRequest, ExecutionDataAPI_SubscribeBlocksServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeBlocks not implemented") -} // UnsafeExecutionDataAPIServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ExecutionDataAPIServer will @@ -393,27 +326,6 @@ func _ExecutionDataAPI_GetRegisterValues_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _ExecutionDataAPI_SubscribeBlocks_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SubscribeBlocksRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(ExecutionDataAPIServer).SubscribeBlocks(m, &executionDataAPISubscribeBlocksServer{stream}) -} - -type ExecutionDataAPI_SubscribeBlocksServer interface { - Send(*SubscribeBlocksResponse) error - grpc.ServerStream -} - -type executionDataAPISubscribeBlocksServer struct { - grpc.ServerStream -} - -func (x *executionDataAPISubscribeBlocksServer) Send(m *SubscribeBlocksResponse) error { - return x.ServerStream.SendMsg(m) -} - // ExecutionDataAPI_ServiceDesc is the grpc.ServiceDesc for ExecutionDataAPI service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -441,11 +353,6 @@ var ExecutionDataAPI_ServiceDesc = grpc.ServiceDesc{ Handler: _ExecutionDataAPI_SubscribeEvents_Handler, ServerStreams: true, }, - { - StreamName: "SubscribeBlocks", - Handler: _ExecutionDataAPI_SubscribeBlocks_Handler, - ServerStreams: true, - }, }, Metadata: "flow/executiondata/executiondata.proto", } From 55aa67a1c8bf90b51a69b99d969f107c6c30c6b0 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Thu, 21 Dec 2023 11:50:06 +0200 Subject: [PATCH 004/626] Added SendAndSubscribeTransactionStatuses rpc call --- protobuf/flow/access/access.proto | 20 +- protobuf/go/flow/access/access.pb.go | 364 ++++++++++++++-------- protobuf/go/flow/access/access_grpc.pb.go | 65 ++++ 3 files changed, 320 insertions(+), 129 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 7fb061e15..60d6c9738 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -158,6 +158,8 @@ service AccessAPI { rpc GetExecutionResultByID(GetExecutionResultByIDRequest) returns (ExecutionResultByIDResponse); + // Subscriptions + // SubscribeBlocks streams finalized or sealed blocks starting at the requested // start block, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new @@ -174,7 +176,11 @@ service AccessAPI { // node. This may happen if the block was from a previous spork, or if the block has yet // not been received. rpc SubscribeBlocks(SubscribeBlocksRequest) - returns (stream SubscribeBlocksResponse); + returns (stream SubscribeBlocksResponse); + + // SendAndSubscribeTransactionStatuses TBD + rpc SendAndSubscribeTransactionStatuses(SendAndSubscribeTransactionStatusesRequest) + returns (stream SendAndSubscribeTransactionStatusesResponse); } message PingRequest {} @@ -426,6 +432,8 @@ message ExecutionResultByIDResponse { entities.Metadata metadata = 2; } +// Subscriptions + // The request for SubscribeBlocks message SubscribeBlocksRequest { // Block ID of the first block to subscribe. @@ -453,3 +461,13 @@ message SubscribeBlocksResponse { // in the request. entities.Block block = 1; } + +message SendAndSubscribeTransactionStatusesRequest { + entities.Transaction transaction = 1; +} + +message SendAndSubscribeTransactionStatusesResponse { + bytes id = 1; + entities.TransactionStatus status = 2; + string error_message = 3; +} \ No newline at end of file diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 9d4f5502b..6b07e6a29 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2352,6 +2352,108 @@ func (m *SubscribeBlocksResponse) GetBlock() *entities.Block { return nil } +type SendAndSubscribeTransactionStatusesRequest struct { + Transaction *entities.Transaction `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SendAndSubscribeTransactionStatusesRequest) Reset() { + *m = SendAndSubscribeTransactionStatusesRequest{} +} +func (m *SendAndSubscribeTransactionStatusesRequest) String() string { + return proto.CompactTextString(m) +} +func (*SendAndSubscribeTransactionStatusesRequest) ProtoMessage() {} +func (*SendAndSubscribeTransactionStatusesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{49} +} + +func (m *SendAndSubscribeTransactionStatusesRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SendAndSubscribeTransactionStatusesRequest.Unmarshal(m, b) +} +func (m *SendAndSubscribeTransactionStatusesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SendAndSubscribeTransactionStatusesRequest.Marshal(b, m, deterministic) +} +func (m *SendAndSubscribeTransactionStatusesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SendAndSubscribeTransactionStatusesRequest.Merge(m, src) +} +func (m *SendAndSubscribeTransactionStatusesRequest) XXX_Size() int { + return xxx_messageInfo_SendAndSubscribeTransactionStatusesRequest.Size(m) +} +func (m *SendAndSubscribeTransactionStatusesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SendAndSubscribeTransactionStatusesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SendAndSubscribeTransactionStatusesRequest proto.InternalMessageInfo + +func (m *SendAndSubscribeTransactionStatusesRequest) GetTransaction() *entities.Transaction { + if m != nil { + return m.Transaction + } + return nil +} + +type SendAndSubscribeTransactionStatusesResponse struct { + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Status entities.TransactionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=flow.entities.TransactionStatus" json:"status,omitempty"` + ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SendAndSubscribeTransactionStatusesResponse) Reset() { + *m = SendAndSubscribeTransactionStatusesResponse{} +} +func (m *SendAndSubscribeTransactionStatusesResponse) String() string { + return proto.CompactTextString(m) +} +func (*SendAndSubscribeTransactionStatusesResponse) ProtoMessage() {} +func (*SendAndSubscribeTransactionStatusesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{50} +} + +func (m *SendAndSubscribeTransactionStatusesResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SendAndSubscribeTransactionStatusesResponse.Unmarshal(m, b) +} +func (m *SendAndSubscribeTransactionStatusesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SendAndSubscribeTransactionStatusesResponse.Marshal(b, m, deterministic) +} +func (m *SendAndSubscribeTransactionStatusesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SendAndSubscribeTransactionStatusesResponse.Merge(m, src) +} +func (m *SendAndSubscribeTransactionStatusesResponse) XXX_Size() int { + return xxx_messageInfo_SendAndSubscribeTransactionStatusesResponse.Size(m) +} +func (m *SendAndSubscribeTransactionStatusesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SendAndSubscribeTransactionStatusesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SendAndSubscribeTransactionStatusesResponse proto.InternalMessageInfo + +func (m *SendAndSubscribeTransactionStatusesResponse) GetId() []byte { + if m != nil { + return m.Id + } + return nil +} + +func (m *SendAndSubscribeTransactionStatusesResponse) GetStatus() entities.TransactionStatus { + if m != nil { + return m.Status + } + return entities.TransactionStatus_UNKNOWN +} + +func (m *SendAndSubscribeTransactionStatusesResponse) GetErrorMessage() string { + if m != nil { + return m.ErrorMessage + } + return "" +} + func init() { proto.RegisterType((*PingRequest)(nil), "flow.access.PingRequest") proto.RegisterType((*PingResponse)(nil), "flow.access.PingResponse") @@ -2403,137 +2505,143 @@ func init() { proto.RegisterType((*ExecutionResultByIDResponse)(nil), "flow.access.ExecutionResultByIDResponse") proto.RegisterType((*SubscribeBlocksRequest)(nil), "flow.access.SubscribeBlocksRequest") proto.RegisterType((*SubscribeBlocksResponse)(nil), "flow.access.SubscribeBlocksResponse") + proto.RegisterType((*SendAndSubscribeTransactionStatusesRequest)(nil), "flow.access.SendAndSubscribeTransactionStatusesRequest") + proto.RegisterType((*SendAndSubscribeTransactionStatusesResponse)(nil), "flow.access.SendAndSubscribeTransactionStatusesResponse") } func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2032 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8, - 0x15, 0x07, 0x25, 0xc7, 0xb6, 0x9e, 0x65, 0x3b, 0x3b, 0xf6, 0x3a, 0x32, 0x1d, 0xc7, 0x0a, 0x93, - 0x34, 0xde, 0x6c, 0x4a, 0x07, 0xde, 0x16, 0xdd, 0xdd, 0xfe, 0x41, 0xe3, 0xd4, 0xf5, 0x1a, 0x48, - 0x16, 0x06, 0x9d, 0xa6, 0xd8, 0xb6, 0x1b, 0x83, 0x12, 0xc7, 0x32, 0x11, 0x89, 0x54, 0x49, 0x2a, - 0x89, 0xdb, 0x1e, 0xf6, 0xb0, 0x28, 0x0a, 0xf4, 0x03, 0x14, 0x3d, 0xf4, 0xd4, 0x53, 0xdb, 0x43, - 0xcf, 0x45, 0x0f, 0x05, 0xfa, 0x0d, 0xfa, 0x75, 0x7a, 0x2a, 0xf8, 0x66, 0x48, 0x71, 0x86, 0x43, - 0x8a, 0x52, 0x10, 0xa4, 0x97, 0xdd, 0x70, 0xe6, 0x37, 0xef, 0xcf, 0xbc, 0x37, 0x6f, 0xe6, 0xfd, - 0x64, 0x68, 0x9d, 0xf7, 0xfd, 0x57, 0x7b, 0x76, 0xb7, 0x4b, 0xc3, 0x90, 0xff, 0xcf, 0x1c, 0x06, - 0x7e, 0xe4, 0x93, 0xa5, 0x78, 0xc6, 0x64, 0x43, 0xfa, 0x16, 0xc2, 0xa8, 0x17, 0xb9, 0x91, 0x4b, - 0x11, 0xe8, 0x8f, 0xbc, 0x88, 0x21, 0xf5, 0xb6, 0x38, 0xd9, 0xe9, 0xfb, 0xdd, 0x17, 0x67, 0x17, - 0xd4, 0x76, 0x68, 0xc0, 0x11, 0x9b, 0x0a, 0x04, 0x9f, 0xba, 0x21, 0x4e, 0x75, 0xfd, 0x7e, 0x9f, - 0x76, 0x23, 0xd7, 0xf7, 0xd4, 0x4b, 0xe9, 0x4b, 0x9a, 0xea, 0xbd, 0x2d, 0x4d, 0xbd, 0xa6, 0xdd, - 0x51, 0xbc, 0xf2, 0x2c, 0xa0, 0xe1, 0xa8, 0x9f, 0xa0, 0xae, 0x8b, 0xa8, 0x01, 0x8d, 0x6c, 0xc7, - 0x8e, 0x6c, 0x3e, 0x7b, 0x47, 0x9c, 0xf5, 0x7c, 0x87, 0x9e, 0xbd, 0xa4, 0x41, 0x18, 0x8b, 0x71, - 0xbd, 0x73, 0x9f, 0xc3, 0x76, 0x44, 0x58, 0x14, 0xd8, 0x5e, 0x68, 0x67, 0xcd, 0xdc, 0xe9, 0xf9, - 0x7e, 0xaf, 0x4f, 0xf7, 0xf0, 0xab, 0x33, 0x3a, 0xdf, 0x8b, 0xdc, 0x01, 0x0d, 0x23, 0x7b, 0x30, - 0x64, 0x00, 0x63, 0x19, 0x96, 0x4e, 0x5c, 0xaf, 0x67, 0xd1, 0x5f, 0x8e, 0x68, 0x18, 0x19, 0x2b, - 0xd0, 0x64, 0x9f, 0xe1, 0xd0, 0xf7, 0x42, 0x6a, 0x6c, 0xc1, 0xe6, 0x11, 0x8d, 0x3e, 0xf7, 0x1d, - 0xfa, 0x8c, 0x69, 0x3f, 0xf6, 0xce, 0xfd, 0x04, 0x7c, 0x02, 0xba, 0x6a, 0x92, 0x2d, 0x25, 0xfb, - 0x30, 0x17, 0x5b, 0xda, 0xd2, 0xda, 0xda, 0xee, 0xd2, 0xfe, 0x0d, 0x13, 0xe3, 0x96, 0x98, 0x6a, - 0xca, 0xab, 0x10, 0x6b, 0x7c, 0x0a, 0x5b, 0x47, 0x34, 0x7a, 0x6c, 0x47, 0x34, 0x8c, 0x0e, 0xe2, - 0x68, 0x7c, 0x86, 0xe1, 0xe2, 0x0a, 0xc9, 0x16, 0x34, 0xdc, 0xf0, 0x2c, 0xa4, 0x76, 0x9f, 0x3a, - 0x28, 0x77, 0xd1, 0x5a, 0x74, 0xc3, 0x53, 0xfc, 0x36, 0x3e, 0x44, 0x53, 0x33, 0xab, 0x0e, 0x2e, - 0x8f, 0x7f, 0x94, 0xac, 0x5c, 0x81, 0x9a, 0xcb, 0x96, 0x34, 0xad, 0x9a, 0xeb, 0x18, 0xdf, 0x81, - 0x6d, 0x19, 0xfc, 0x19, 0x75, 0x7b, 0x17, 0x51, 0xb2, 0x60, 0x03, 0xe6, 0x2f, 0x70, 0x00, 0x17, - 0xcd, 0x59, 0xfc, 0xcb, 0xf8, 0xa7, 0x06, 0x6b, 0x82, 0x65, 0xdc, 0xdb, 0x07, 0x70, 0x05, 0xd3, - 0x87, 0xbb, 0xab, 0x4b, 0xee, 0x66, 0x97, 0x30, 0x20, 0xf9, 0x3e, 0x34, 0x59, 0x4a, 0x86, 0x91, - 0x1d, 0x8d, 0xc2, 0x56, 0xad, 0xad, 0xed, 0xae, 0xa8, 0x17, 0x9e, 0x22, 0xc2, 0x5a, 0xea, 0x8c, - 0x3f, 0xc8, 0x47, 0xb0, 0x98, 0xe4, 0x4c, 0xab, 0x8e, 0x3a, 0xaf, 0x49, 0x4b, 0x9f, 0xf0, 0x69, - 0x2b, 0x05, 0x1a, 0x0e, 0xbc, 0x2f, 0xee, 0x6f, 0x95, 0x9d, 0x25, 0x26, 0xac, 0x9d, 0x8f, 0xfa, - 0xfd, 0x33, 0x66, 0x6e, 0xc0, 0x5d, 0x46, 0x83, 0x17, 0xad, 0xf7, 0xe2, 0x29, 0x2e, 0x8b, 0x27, - 0xcd, 0x4f, 0x60, 0x2d, 0xd9, 0xdc, 0x92, 0x18, 0x4c, 0x2d, 0xd6, 0x86, 0x6b, 0x63, 0xb1, 0x95, - 0xa2, 0x35, 0xb5, 0x8a, 0xbf, 0x6b, 0xb0, 0x2c, 0x8c, 0x90, 0x7b, 0x62, 0x5c, 0xd7, 0x55, 0xe1, - 0x79, 0x97, 0x11, 0xbd, 0x07, 0xad, 0x23, 0x1a, 0x3d, 0x4a, 0xcb, 0x53, 0x59, 0xd2, 0x7f, 0xad, - 0x01, 0x19, 0x23, 0x53, 0x17, 0x3f, 0x01, 0x18, 0x97, 0x37, 0xee, 0xe7, 0xa6, 0xa4, 0x39, 0xb3, - 0x2c, 0x03, 0x16, 0x4c, 0xae, 0x55, 0x35, 0xf9, 0x19, 0x6c, 0x9c, 0x52, 0xcf, 0x79, 0x3a, 0x2e, - 0x56, 0x89, 0xc1, 0xdf, 0x83, 0xa5, 0x4c, 0x09, 0x2b, 0x38, 0x4a, 0xd9, 0x75, 0x59, 0xb8, 0xf1, - 0x1c, 0xae, 0xe5, 0xe4, 0x72, 0x17, 0xe5, 0xd4, 0x9b, 0xc9, 0xee, 0x7f, 0x6b, 0x78, 0x7a, 0x14, - 0x76, 0xcb, 0xe2, 0x37, 0x61, 0x91, 0x25, 0x82, 0xeb, 0xa0, 0xf8, 0xa6, 0xb5, 0x80, 0xdf, 0xc7, - 0x0e, 0xb9, 0x05, 0xcb, 0xe3, 0xfd, 0x8b, 0xe7, 0xeb, 0x38, 0xdf, 0x1c, 0x0f, 0x1e, 0x3b, 0xe4, - 0x0b, 0xd8, 0xc0, 0x0b, 0xe5, 0x8c, 0x7a, 0x5d, 0xdf, 0x71, 0xbd, 0x5e, 0x52, 0xfb, 0x5b, 0x73, - 0x98, 0x52, 0xb7, 0x24, 0x63, 0x0f, 0x63, 0xf0, 0x21, 0xc7, 0xf2, 0xaa, 0x6a, 0xad, 0x53, 0xc5, - 0xa8, 0xf1, 0x31, 0x56, 0xd8, 0xd3, 0xcb, 0x30, 0xa2, 0x03, 0x85, 0x27, 0x59, 0xcb, 0x35, 0xc1, - 0x72, 0xe3, 0x8f, 0x1a, 0xdc, 0x54, 0x2f, 0x8d, 0x6f, 0xb5, 0xc9, 0x02, 0x4a, 0xbc, 0xaa, 0xbd, - 0xa9, 0x57, 0x7f, 0xd5, 0xe0, 0xba, 0x18, 0x9a, 0x83, 0xcb, 0x63, 0xcf, 0xa1, 0xaf, 0x2b, 0x98, - 0xb5, 0x0e, 0x57, 0xdc, 0x18, 0x8a, 0x56, 0x2c, 0x5b, 0xec, 0xa3, 0xc4, 0xd8, 0xfa, 0x9b, 0x1a, - 0xfb, 0x07, 0x0d, 0x76, 0x44, 0x63, 0xc3, 0x83, 0x4b, 0xac, 0x0a, 0xe3, 0xa3, 0xfb, 0xce, 0xb6, - 0x51, 0xcf, 0x45, 0x36, 0x4c, 0x4f, 0xd1, 0x4f, 0x61, 0x2d, 0x73, 0xde, 0xf8, 0x73, 0x26, 0x6c, - 0x69, 0xed, 0xfa, 0xee, 0xd2, 0xfe, 0x37, 0xcc, 0xcc, 0xc3, 0xcc, 0x54, 0xe4, 0x07, 0x13, 0x62, - 0x91, 0x28, 0xa7, 0x60, 0xb6, 0xe3, 0xf8, 0x7b, 0x0d, 0xd6, 0xb3, 0x7b, 0x98, 0x9a, 0xf9, 0x03, - 0x68, 0x66, 0x74, 0x24, 0xf6, 0x95, 0x95, 0x11, 0x01, 0x3f, 0x9b, 0x35, 0xbf, 0xd3, 0x60, 0x4d, - 0x55, 0x79, 0xde, 0xa8, 0xa4, 0xcd, 0x68, 0x4a, 0x1d, 0x36, 0x0b, 0xf7, 0x9f, 0x7c, 0x0c, 0xf3, - 0xfc, 0x7a, 0xd2, 0x30, 0x5d, 0xda, 0xc5, 0xb6, 0xf0, 0x4b, 0x8a, 0xe3, 0xc9, 0x0e, 0x2c, 0xb1, - 0x7f, 0x9d, 0x75, 0x7d, 0x87, 0xf2, 0xe3, 0x02, 0x6c, 0xe8, 0x91, 0xef, 0xd0, 0xb8, 0xb6, 0xd1, - 0x20, 0xf0, 0x83, 0xb3, 0x01, 0x0d, 0x43, 0xbb, 0x47, 0xf1, 0xa8, 0x34, 0xac, 0x26, 0x0e, 0x3e, - 0x61, 0x63, 0xe4, 0x3e, 0xcc, 0x63, 0xee, 0x85, 0xad, 0x39, 0x8c, 0xcb, 0xba, 0x2a, 0x5d, 0x2d, - 0x8e, 0x11, 0xce, 0xc1, 0x15, 0xf1, 0x1c, 0xdc, 0x81, 0x95, 0x6c, 0x36, 0xba, 0x4e, 0x6b, 0x1e, - 0x01, 0xcb, 0x99, 0x51, 0x55, 0xc1, 0x5d, 0x50, 0x14, 0xdc, 0x9b, 0xc9, 0xcd, 0xcd, 0x5f, 0x11, - 0x8b, 0xf8, 0x8a, 0x60, 0xb7, 0x33, 0x7b, 0x69, 0x08, 0xa1, 0x68, 0x54, 0x0d, 0xc5, 0x37, 0xe1, - 0xbd, 0x23, 0x1a, 0x3d, 0x64, 0x6d, 0x49, 0x72, 0xb6, 0x5b, 0xb0, 0x60, 0x3b, 0x4e, 0x40, 0xc3, - 0x30, 0x39, 0xda, 0xfc, 0xd3, 0xf8, 0x35, 0x90, 0x2c, 0x3c, 0x7d, 0x5a, 0x2e, 0xf0, 0xc6, 0x86, - 0xa7, 0xcf, 0x86, 0xa4, 0x38, 0x59, 0x90, 0xc0, 0x66, 0x4b, 0x9b, 0x4f, 0xe1, 0xc6, 0x58, 0xf9, - 0x43, 0xd5, 0x23, 0xb1, 0xd8, 0xf0, 0xd7, 0xb0, 0xfa, 0x8e, 0xac, 0xfe, 0x52, 0xb4, 0xfa, 0x60, - 0x1c, 0xb1, 0x89, 0x56, 0xe7, 0xa2, 0x5e, 0xcb, 0x45, 0xdd, 0xf8, 0x02, 0x6e, 0x1e, 0x62, 0xff, - 0x46, 0x4f, 0xbb, 0x81, 0x3b, 0x54, 0xef, 0xcb, 0x06, 0xcc, 0x87, 0x38, 0xcb, 0x15, 0xf0, 0x2f, - 0x72, 0x1d, 0x1a, 0x76, 0xd0, 0x1b, 0x0d, 0x30, 0xdb, 0x6b, 0xed, 0xfa, 0x6e, 0xd3, 0x1a, 0x0f, - 0x18, 0x43, 0xd8, 0x96, 0x44, 0x57, 0xbf, 0x03, 0xc6, 0x1a, 0x6b, 0xc5, 0x1a, 0xeb, 0xb2, 0xc6, - 0xdf, 0xe4, 0x9c, 0x51, 0x6c, 0x97, 0xbc, 0x29, 0x5a, 0xfe, 0x28, 0xcc, 0xa6, 0xbd, 0x03, 0xef, - 0x0b, 0xda, 0xd3, 0x4c, 0x59, 0x87, 0x2b, 0x2f, 0xed, 0xfe, 0x88, 0x72, 0x27, 0xd9, 0xc7, 0x6c, - 0xd9, 0xf0, 0x1f, 0x0d, 0xd3, 0x01, 0x6b, 0x48, 0xf8, 0x63, 0x3f, 0xe0, 0xae, 0xd9, 0x5e, 0x8f, - 0x26, 0xfe, 0x11, 0x98, 0x8b, 0x2e, 0x87, 0x4c, 0x59, 0xc3, 0xc2, 0x7f, 0xc7, 0x3e, 0x87, 0x91, - 0x1d, 0x44, 0x52, 0x22, 0xe0, 0x18, 0xf7, 0x79, 0x1b, 0x80, 0x7a, 0x4e, 0x02, 0xa8, 0x23, 0xa0, - 0x41, 0x3d, 0x87, 0x4f, 0xbf, 0xc5, 0x17, 0xdb, 0x5f, 0x34, 0x7c, 0xb2, 0xa5, 0x3e, 0xf1, 0x2c, - 0x09, 0xcb, 0x1c, 0xda, 0x82, 0x46, 0x92, 0x3a, 0x49, 0xe6, 0x2d, 0xf2, 0xdc, 0x09, 0xdf, 0xe6, - 0xd3, 0xe6, 0x5f, 0x35, 0x58, 0x61, 0x86, 0x66, 0x2e, 0xc0, 0x05, 0xf1, 0xa1, 0x60, 0x08, 0x0f, - 0x05, 0x11, 0x6d, 0xf2, 0xcb, 0x2a, 0x59, 0x32, 0x53, 0x16, 0xe8, 0xff, 0xd0, 0x60, 0x9e, 0x09, - 0x2a, 0x3b, 0x43, 0x93, 0x4f, 0x7f, 0xe6, 0xae, 0xaa, 0x57, 0xb8, 0xab, 0x1e, 0xc1, 0x2a, 0x13, - 0x98, 0x72, 0x2c, 0x18, 0xfc, 0xf8, 0xba, 0x67, 0x2c, 0x8c, 0x99, 0xb0, 0x30, 0xe6, 0xd3, 0x04, - 0x61, 0xad, 0xe0, 0x92, 0xf4, 0xdb, 0xd8, 0xc6, 0x60, 0x7f, 0x4e, 0xa3, 0x57, 0x7e, 0xf0, 0xe2, - 0xc4, 0x0e, 0xec, 0x01, 0x8d, 0x68, 0x90, 0x04, 0xdb, 0xf8, 0x04, 0xdf, 0xb9, 0x8a, 0x69, 0xbe, - 0xdb, 0x9b, 0xb0, 0xd8, 0xbd, 0xb0, 0x5d, 0x2f, 0xf1, 0xb7, 0x61, 0x2d, 0xe0, 0xf7, 0xb1, 0x63, - 0xdc, 0x85, 0x3b, 0x69, 0xef, 0x7f, 0x12, 0x1b, 0xd2, 0xf5, 0xfb, 0xf1, 0x0d, 0x4f, 0x4f, 0x3d, - 0x7b, 0x18, 0x5e, 0xf8, 0x49, 0x05, 0x30, 0x0e, 0x61, 0xf7, 0x88, 0xaa, 0x21, 0x53, 0xbc, 0x53, - 0x8d, 0xc7, 0x70, 0xb7, 0x58, 0xcc, 0xb4, 0x35, 0x27, 0xee, 0x5d, 0xb7, 0x0b, 0xac, 0xe6, 0xae, - 0x9b, 0x40, 0x42, 0x1a, 0xb8, 0x76, 0xdf, 0xfd, 0x15, 0x75, 0x92, 0x59, 0x6e, 0x94, 0x62, 0x66, - 0xb6, 0x02, 0xf3, 0x43, 0xb8, 0x15, 0x9f, 0xc5, 0x84, 0xd2, 0x63, 0x59, 0x36, 0x3e, 0x94, 0x15, - 0xb6, 0xe5, 0xcf, 0x5a, 0x52, 0x85, 0x95, 0xeb, 0xb9, 0x33, 0xc7, 0x70, 0x55, 0xe6, 0x0d, 0x0b, - 0x88, 0x34, 0x49, 0x96, 0xb5, 0x4a, 0xc5, 0x81, 0xd9, 0xfc, 0xdc, 0x43, 0x7e, 0x4c, 0x92, 0x5d, - 0xc6, 0x2d, 0xfc, 0x49, 0x83, 0x2d, 0x25, 0xfc, 0xff, 0xc4, 0xa1, 0xbf, 0x69, 0xb0, 0x71, 0x3a, - 0xea, 0xc4, 0x37, 0x55, 0x87, 0xe2, 0x6e, 0xa7, 0x05, 0xf4, 0x36, 0xac, 0xb0, 0xea, 0x2f, 0x85, - 0x8c, 0xdd, 0x09, 0x07, 0xbc, 0x5c, 0xdc, 0x07, 0x92, 0x45, 0x09, 0x45, 0xe3, 0xea, 0x18, 0xc9, - 0x2b, 0x87, 0x4c, 0x05, 0xd5, 0xa7, 0xa2, 0x82, 0x8c, 0x43, 0xb8, 0x96, 0x33, 0x76, 0x7a, 0x42, - 0x6a, 0xff, 0xbf, 0x9b, 0xd0, 0x78, 0x88, 0x75, 0xf6, 0xe1, 0xc9, 0x31, 0xf9, 0x2e, 0xcc, 0x9d, - 0xb8, 0x5e, 0x8f, 0xb4, 0x84, 0x02, 0x9c, 0x61, 0x7f, 0xf5, 0x4d, 0xc5, 0x0c, 0x57, 0x4b, 0xf1, - 0x69, 0x2a, 0xb1, 0xb6, 0x44, 0x6c, 0xfa, 0x0a, 0x99, 0x62, 0xfd, 0xee, 0x44, 0x1c, 0x57, 0xd3, - 0x81, 0x75, 0x15, 0x01, 0x4c, 0x76, 0x65, 0x01, 0x45, 0x1c, 0xb1, 0xde, 0x16, 0x90, 0x2a, 0xaa, - 0xf6, 0x39, 0xba, 0x22, 0x11, 0xc5, 0x79, 0x57, 0xd4, 0x4c, 0x72, 0x05, 0xf9, 0xe7, 0xb0, 0xa1, - 0xe6, 0x96, 0xc9, 0xbd, 0x52, 0x1d, 0x42, 0x4d, 0xac, 0xa0, 0xe7, 0x04, 0x56, 0xc4, 0x8d, 0x20, - 0x46, 0xc9, 0x2e, 0x25, 0x72, 0xf5, 0xbc, 0xdc, 0x54, 0xe2, 0x63, 0x68, 0x66, 0x89, 0x5b, 0xd2, - 0x56, 0xda, 0x9b, 0xdd, 0x8d, 0x32, 0x69, 0x4f, 0xe1, 0xaa, 0xcc, 0xd7, 0x92, 0xdb, 0x05, 0x12, - 0x45, 0xdf, 0xcb, 0xa4, 0xfe, 0x1c, 0x5b, 0x2a, 0x91, 0xf0, 0x24, 0x77, 0x64, 0xb1, 0x4a, 0x42, - 0x54, 0xdf, 0x11, 0x60, 0x0a, 0x2a, 0xf4, 0x17, 0xb0, 0x2a, 0x51, 0x88, 0xe4, 0x96, 0xb0, 0x46, - 0x4d, 0x5c, 0xea, 0xb7, 0xcb, 0x41, 0x5c, 0xfa, 0x33, 0x0c, 0x58, 0x56, 0x78, 0x2e, 0x60, 0x0a, - 0xd9, 0xed, 0x12, 0x62, 0x25, 0x7b, 0x68, 0x72, 0x2d, 0x7f, 0x25, 0xe9, 0x15, 0x69, 0x1b, 0x32, - 0xc4, 0x77, 0x49, 0x6e, 0x9e, 0xd3, 0x6c, 0xe4, 0x83, 0x12, 0x55, 0x22, 0x15, 0x57, 0x59, 0xe3, - 0x2b, 0x7c, 0xca, 0xe7, 0xe9, 0xa8, 0xf4, 0x0d, 0x42, 0xee, 0x97, 0x28, 0xcd, 0x51, 0x6a, 0x52, - 0x0d, 0x2a, 0xa1, 0xb9, 0x5e, 0x20, 0xa5, 0xae, 0x94, 0x35, 0xa5, 0xca, 0x9b, 0x45, 0x2a, 0x43, - 0x29, 0x76, 0x39, 0x52, 0x35, 0x5f, 0xf0, 0x8a, 0x28, 0xdb, 0x0a, 0xf9, 0x11, 0xe1, 0xef, 0x74, - 0x05, 0xc4, 0x2d, 0x31, 0x2b, 0x68, 0xca, 0x30, 0xbc, 0x95, 0xe3, 0xf7, 0x04, 0x60, 0xdc, 0x99, - 0x93, 0x1b, 0xb2, 0x16, 0x91, 0x14, 0x91, 0x8e, 0xa6, 0x82, 0x05, 0x71, 0xf0, 0xd7, 0x1f, 0x15, - 0x3d, 0x41, 0x3e, 0x2c, 0x58, 0xab, 0x6a, 0xd6, 0xf5, 0xeb, 0x02, 0x78, 0x82, 0x96, 0xec, 0x95, - 0x5e, 0xac, 0x25, 0xdf, 0x45, 0x4f, 0xd0, 0x32, 0x04, 0xbd, 0x98, 0x55, 0x90, 0x02, 0x32, 0x91, - 0x7e, 0xd0, 0x8d, 0x62, 0x7c, 0xaa, 0xf1, 0x02, 0x36, 0xd4, 0x64, 0x83, 0x74, 0x27, 0x95, 0x32, - 0x12, 0x95, 0x34, 0xe5, 0x7d, 0xcb, 0x6e, 0xa2, 0x39, 0x51, 0x9b, 0xb8, 0x8f, 0x55, 0x34, 0x76, - 0x31, 0x66, 0xaa, 0x9e, 0x3f, 0x1f, 0xb3, 0x12, 0x66, 0x40, 0xdf, 0x2a, 0x69, 0x4c, 0xc9, 0x97, - 0x78, 0x4e, 0x73, 0x4d, 0x78, 0xfe, 0x9c, 0x16, 0xf5, 0xe9, 0xe5, 0xe2, 0x5f, 0xa0, 0xf8, 0x5c, - 0x5f, 0x97, 0x17, 0x5f, 0xd4, 0x19, 0xea, 0x1f, 0x54, 0x40, 0x72, 0x65, 0x5f, 0x31, 0x96, 0xa4, - 0xa4, 0x15, 0x24, 0xfb, 0xea, 0x97, 0x44, 0x59, 0xdf, 0xa8, 0x8b, 0x99, 0x54, 0xde, 0xac, 0xfd, - 0x96, 0xfd, 0x98, 0x54, 0xde, 0x64, 0x92, 0x6f, 0xcb, 0x56, 0x54, 0x6a, 0x4a, 0xa7, 0x32, 0xe4, - 0x6b, 0x0d, 0xda, 0x93, 0xda, 0x54, 0xf2, 0xad, 0x8a, 0x76, 0x88, 0xb9, 0x3b, 0x8d, 0x19, 0x5f, - 0xb1, 0x1f, 0xb0, 0x0a, 0x1b, 0x43, 0xf2, 0x20, 0x97, 0x67, 0x13, 0x7a, 0x50, 0x5d, 0x75, 0xd4, - 0xca, 0x5a, 0x4e, 0x0f, 0x9f, 0xad, 0x8a, 0x1e, 0x2e, 0xff, 0x6c, 0x2d, 0xee, 0x0b, 0xf5, 0xdd, - 0x32, 0xad, 0x42, 0x47, 0xf8, 0x1c, 0x56, 0xa5, 0x1e, 0x47, 0x7e, 0x6b, 0x29, 0xdb, 0x35, 0xf9, - 0xad, 0xa5, 0x6e, 0x93, 0x1e, 0x68, 0x07, 0x8f, 0x41, 0xf7, 0x83, 0x9e, 0xe9, 0x7b, 0x08, 0x4f, - 0xa9, 0x17, 0xb6, 0xee, 0x67, 0x66, 0xcf, 0x8d, 0x2e, 0x46, 0x1d, 0xb3, 0xeb, 0x0f, 0xf6, 0x18, - 0x64, 0x0f, 0xff, 0x93, 0xfe, 0xa1, 0x4c, 0xcf, 0xdf, 0xcb, 0xfc, 0x0d, 0x52, 0x67, 0x1e, 0x27, - 0x3e, 0xfa, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6f, 0x09, 0xff, 0x0e, 0x99, 0x24, 0x00, 0x00, + // 2089 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6f, 0x1c, 0x49, + 0x15, 0x57, 0xcf, 0x38, 0xb6, 0xe7, 0x79, 0x6c, 0x67, 0xcb, 0x5e, 0x67, 0xdc, 0x8e, 0xe3, 0x49, + 0x3b, 0x21, 0xde, 0x24, 0xb4, 0x23, 0x2f, 0x68, 0xb3, 0xcb, 0x1f, 0x61, 0x07, 0xe3, 0xb5, 0x94, + 0xac, 0xac, 0x76, 0x08, 0x5a, 0x60, 0x63, 0xf5, 0x4c, 0x97, 0xc7, 0x4d, 0x66, 0xba, 0x87, 0xae, + 0x9e, 0x24, 0x06, 0x0e, 0x7b, 0x58, 0x21, 0x24, 0x3e, 0xc0, 0x0a, 0x04, 0x27, 0x4e, 0xc0, 0x81, + 0x33, 0xe2, 0x80, 0xc4, 0x37, 0xe0, 0x1b, 0xa1, 0xae, 0xaa, 0xfe, 0x53, 0xd5, 0xd5, 0x3d, 0x3d, + 0x13, 0x56, 0xd9, 0x4b, 0xe2, 0xaa, 0x7a, 0xf5, 0xfe, 0xd4, 0x7b, 0xf5, 0xea, 0xbd, 0x5f, 0x0f, + 0xb4, 0xce, 0xfb, 0xfe, 0xab, 0x5d, 0xbb, 0xdb, 0xc5, 0x84, 0xf0, 0xff, 0xcc, 0x61, 0xe0, 0x87, + 0x3e, 0x5a, 0x88, 0x56, 0x4c, 0x36, 0xa5, 0x6f, 0x50, 0x32, 0xec, 0x85, 0x6e, 0xe8, 0x62, 0x4a, + 0xe8, 0x8f, 0xbc, 0x90, 0x51, 0xea, 0x6d, 0x71, 0xb1, 0xd3, 0xf7, 0xbb, 0x2f, 0xce, 0x2e, 0xb0, + 0xed, 0xe0, 0x80, 0x53, 0xac, 0x2b, 0x28, 0xf8, 0xd2, 0x0d, 0x71, 0xa9, 0xeb, 0xf7, 0xfb, 0xb8, + 0x1b, 0xba, 0xbe, 0xa7, 0xde, 0x8a, 0x5f, 0xe2, 0x44, 0xee, 0x2d, 0x69, 0xe9, 0x35, 0xee, 0x8e, + 0xa2, 0x9d, 0x67, 0x01, 0x26, 0xa3, 0x7e, 0x4c, 0x75, 0x5d, 0xa4, 0x1a, 0xe0, 0xd0, 0x76, 0xec, + 0xd0, 0xe6, 0xab, 0xb7, 0xc5, 0x55, 0xcf, 0x77, 0xf0, 0xd9, 0x4b, 0x1c, 0x90, 0x88, 0x8d, 0xeb, + 0x9d, 0xfb, 0x9c, 0x6c, 0x4b, 0x24, 0x0b, 0x03, 0xdb, 0x23, 0x76, 0x56, 0xcd, 0xad, 0x9e, 0xef, + 0xf7, 0xfa, 0x78, 0x97, 0x8e, 0x3a, 0xa3, 0xf3, 0xdd, 0xd0, 0x1d, 0x60, 0x12, 0xda, 0x83, 0x21, + 0x23, 0x30, 0x16, 0x61, 0xe1, 0xc4, 0xf5, 0x7a, 0x16, 0xfe, 0xe5, 0x08, 0x93, 0xd0, 0x58, 0x82, + 0x26, 0x1b, 0x92, 0xa1, 0xef, 0x11, 0x6c, 0x6c, 0xc0, 0xfa, 0x11, 0x0e, 0x3f, 0xf1, 0x1d, 0xfc, + 0x8c, 0x49, 0x3f, 0xf6, 0xce, 0xfd, 0x98, 0xf8, 0x04, 0x74, 0xd5, 0x22, 0xdb, 0x8a, 0xf6, 0x60, + 0x26, 0xd2, 0xb4, 0xa5, 0xb5, 0xb5, 0x9d, 0x85, 0xbd, 0x1b, 0x26, 0xf5, 0x5b, 0xac, 0xaa, 0x29, + 0xef, 0xa2, 0xb4, 0xc6, 0x47, 0xb0, 0x71, 0x84, 0xc3, 0xc7, 0x76, 0x88, 0x49, 0x78, 0x10, 0x79, + 0xe3, 0x63, 0xea, 0x2e, 0x2e, 0x10, 0x6d, 0x40, 0xc3, 0x25, 0x67, 0x04, 0xdb, 0x7d, 0xec, 0x50, + 0xbe, 0xf3, 0xd6, 0xbc, 0x4b, 0x4e, 0xe9, 0xd8, 0xb8, 0x47, 0x55, 0xcd, 0xec, 0x3a, 0xb8, 0x3c, + 0xfe, 0x61, 0xbc, 0x73, 0x09, 0x6a, 0x2e, 0xdb, 0xd2, 0xb4, 0x6a, 0xae, 0x63, 0x7c, 0x00, 0x9b, + 0x32, 0xf1, 0xc7, 0xd8, 0xed, 0x5d, 0x84, 0xf1, 0x86, 0x35, 0x98, 0xbd, 0xa0, 0x13, 0x74, 0xd3, + 0x8c, 0xc5, 0x47, 0xc6, 0xbf, 0x34, 0x58, 0x11, 0x34, 0xe3, 0xd6, 0x3e, 0x80, 0x2b, 0x34, 0x7c, + 0xb8, 0xb9, 0xba, 0x64, 0x6e, 0x76, 0x0b, 0x23, 0x44, 0xdf, 0x83, 0x26, 0x0b, 0x49, 0x12, 0xda, + 0xe1, 0x88, 0xb4, 0x6a, 0x6d, 0x6d, 0x67, 0x49, 0xbd, 0xf1, 0x94, 0x52, 0x58, 0x0b, 0x9d, 0x74, + 0x80, 0xde, 0x87, 0xf9, 0x38, 0x66, 0x5a, 0x75, 0x2a, 0xf3, 0x9a, 0xb4, 0xf5, 0x09, 0x5f, 0xb6, + 0x12, 0x42, 0xc3, 0x81, 0x77, 0xc5, 0xf3, 0xad, 0x72, 0xb2, 0xc8, 0x84, 0x95, 0xf3, 0x51, 0xbf, + 0x7f, 0xc6, 0xd4, 0x0d, 0xb8, 0xc9, 0x54, 0xe1, 0x79, 0xeb, 0x9d, 0x68, 0x89, 0xf3, 0xe2, 0x41, + 0xf3, 0x63, 0x58, 0x89, 0x0f, 0xb7, 0xc4, 0x07, 0x13, 0xb3, 0xb5, 0xe1, 0x5a, 0xca, 0xb6, 0x92, + 0xb7, 0x26, 0x16, 0xf1, 0x0f, 0x0d, 0x16, 0x85, 0x19, 0x74, 0x57, 0xf4, 0xeb, 0xaa, 0xca, 0x3d, + 0x6f, 0xd3, 0xa3, 0x77, 0xa1, 0x75, 0x84, 0xc3, 0x47, 0x49, 0x7a, 0x2a, 0x0b, 0xfa, 0x2f, 0x34, + 0x40, 0x29, 0x65, 0x62, 0xe2, 0x87, 0x00, 0x69, 0x7a, 0xe3, 0x76, 0xae, 0x4b, 0x92, 0x33, 0xdb, + 0x32, 0xc4, 0x82, 0xca, 0xb5, 0xaa, 0x2a, 0x3f, 0x83, 0xb5, 0x53, 0xec, 0x39, 0x4f, 0xd3, 0x64, + 0x15, 0x2b, 0xfc, 0x5d, 0x58, 0xc8, 0xa4, 0xb0, 0x82, 0xab, 0x94, 0xdd, 0x97, 0x25, 0x37, 0x9e, + 0xc3, 0xb5, 0x1c, 0x5f, 0x6e, 0xa2, 0x1c, 0x7a, 0x53, 0xe9, 0xfd, 0x1f, 0x8d, 0xde, 0x1e, 0x85, + 0xde, 0x32, 0xfb, 0x75, 0x98, 0x67, 0x81, 0xe0, 0x3a, 0x94, 0x7d, 0xd3, 0x9a, 0xa3, 0xe3, 0x63, + 0x07, 0x6d, 0xc3, 0x62, 0x7a, 0x7e, 0xd1, 0x7a, 0x9d, 0xae, 0x37, 0xd3, 0xc9, 0x63, 0x07, 0x7d, + 0x0a, 0x6b, 0xf4, 0x41, 0x39, 0xc3, 0x5e, 0xd7, 0x77, 0x5c, 0xaf, 0x17, 0xe7, 0xfe, 0xd6, 0x0c, + 0x0d, 0xa9, 0x6d, 0x49, 0xd9, 0xc3, 0x88, 0xf8, 0x90, 0xd3, 0xf2, 0xac, 0x6a, 0xad, 0x62, 0xc5, + 0xac, 0xf1, 0x90, 0x66, 0xd8, 0xd3, 0x4b, 0x12, 0xe2, 0x81, 0xc2, 0x92, 0xac, 0xe6, 0x9a, 0xa0, + 0xb9, 0xf1, 0x07, 0x0d, 0x6e, 0xaa, 0xb7, 0x46, 0xaf, 0xda, 0x78, 0x06, 0x25, 0x56, 0xd5, 0xde, + 0xd4, 0xaa, 0xbf, 0x69, 0x70, 0x5d, 0x74, 0xcd, 0xc1, 0xe5, 0xb1, 0xe7, 0xe0, 0xd7, 0x15, 0xd4, + 0x5a, 0x85, 0x2b, 0x6e, 0x44, 0x4a, 0xb5, 0x58, 0xb4, 0xd8, 0xa0, 0x44, 0xd9, 0xfa, 0x9b, 0x2a, + 0xfb, 0xa5, 0x06, 0x5b, 0xa2, 0xb2, 0xe4, 0xe0, 0x92, 0x66, 0x85, 0xf4, 0xea, 0xbe, 0xb5, 0x63, + 0xd4, 0x73, 0x9e, 0x25, 0xc9, 0x2d, 0xfa, 0x09, 0xac, 0x64, 0xee, 0x1b, 0x2f, 0x67, 0x48, 0x4b, + 0x6b, 0xd7, 0x77, 0x16, 0xf6, 0xbe, 0x61, 0x66, 0x0a, 0x33, 0x53, 0x11, 0x1f, 0x8c, 0x89, 0x85, + 0xc2, 0x9c, 0x80, 0xe9, 0xae, 0xe3, 0xef, 0x35, 0x58, 0xcd, 0x9e, 0x61, 0xa2, 0xe6, 0xf7, 0xa1, + 0x99, 0x91, 0x11, 0xeb, 0x57, 0x96, 0x46, 0x04, 0xfa, 0xe9, 0xb4, 0xf9, 0x9d, 0x06, 0x2b, 0xaa, + 0xcc, 0xf3, 0x46, 0x29, 0x6d, 0x4a, 0x55, 0xea, 0xb0, 0x5e, 0x78, 0xfe, 0xe8, 0x21, 0xcc, 0xf2, + 0xe7, 0x49, 0xa3, 0xe1, 0xd2, 0x2e, 0xd6, 0x85, 0x3f, 0x52, 0x9c, 0x1e, 0x6d, 0xc1, 0x02, 0xfb, + 0xeb, 0xac, 0xeb, 0x3b, 0x98, 0x5f, 0x17, 0x60, 0x53, 0x8f, 0x7c, 0x07, 0x47, 0xb9, 0x0d, 0x07, + 0x81, 0x1f, 0x9c, 0x0d, 0x30, 0x21, 0x76, 0x0f, 0xd3, 0xab, 0xd2, 0xb0, 0x9a, 0x74, 0xf2, 0x09, + 0x9b, 0x43, 0xf7, 0x61, 0x96, 0xc6, 0x1e, 0x69, 0xcd, 0x50, 0xbf, 0xac, 0xaa, 0xc2, 0xd5, 0xe2, + 0x34, 0xc2, 0x3d, 0xb8, 0x22, 0xde, 0x83, 0xdb, 0xb0, 0x94, 0x8d, 0x46, 0xd7, 0x69, 0xcd, 0x52, + 0x82, 0xc5, 0xcc, 0xac, 0x2a, 0xe1, 0xce, 0x29, 0x12, 0xee, 0xcd, 0xf8, 0xe5, 0xe6, 0x55, 0xc4, + 0x3c, 0xad, 0x22, 0xd8, 0xeb, 0xcc, 0x2a, 0x0d, 0xc1, 0x15, 0x8d, 0xaa, 0xae, 0xf8, 0x26, 0xbc, + 0x73, 0x84, 0xc3, 0x7d, 0xd6, 0x96, 0xc4, 0x77, 0xbb, 0x05, 0x73, 0xb6, 0xe3, 0x04, 0x98, 0x90, + 0xf8, 0x6a, 0xf3, 0xa1, 0xf1, 0x6b, 0x40, 0x59, 0xf2, 0xa4, 0xb4, 0x9c, 0xe3, 0x8d, 0x0d, 0x0f, + 0x9f, 0x35, 0x49, 0x70, 0xbc, 0x21, 0x26, 0x9b, 0x2e, 0x6c, 0x3e, 0x82, 0x1b, 0xa9, 0xf0, 0x7d, + 0x55, 0x91, 0x58, 0xac, 0xf8, 0x6b, 0x58, 0x7e, 0x4b, 0x5a, 0x7f, 0x26, 0x6a, 0x7d, 0x90, 0x7a, + 0x6c, 0xac, 0xd6, 0x39, 0xaf, 0xd7, 0x72, 0x5e, 0x37, 0x3e, 0x85, 0x9b, 0x87, 0xb4, 0x7f, 0xc3, + 0xa7, 0xdd, 0xc0, 0x1d, 0xaa, 0xcf, 0x65, 0x0d, 0x66, 0x09, 0x5d, 0xe5, 0x02, 0xf8, 0x08, 0x5d, + 0x87, 0x86, 0x1d, 0xf4, 0x46, 0x03, 0x1a, 0xed, 0xb5, 0x76, 0x7d, 0xa7, 0x69, 0xa5, 0x13, 0xc6, + 0x10, 0x36, 0x25, 0xd6, 0xd5, 0xdf, 0x80, 0x54, 0x62, 0xad, 0x58, 0x62, 0x5d, 0x96, 0xf8, 0x9b, + 0x9c, 0x31, 0x8a, 0xe3, 0x92, 0x0f, 0x45, 0xcb, 0x5f, 0x85, 0xe9, 0xa4, 0x77, 0xe0, 0x5d, 0x41, + 0x7a, 0x12, 0x29, 0xab, 0x70, 0xe5, 0xa5, 0xdd, 0x1f, 0x61, 0x6e, 0x24, 0x1b, 0x4c, 0x17, 0x0d, + 0xff, 0xd5, 0x68, 0x38, 0xd0, 0x1c, 0x42, 0x7e, 0xe4, 0x07, 0xdc, 0x34, 0xdb, 0xeb, 0xe1, 0xd8, + 0x3e, 0x04, 0x33, 0xe1, 0xe5, 0x90, 0x09, 0x6b, 0x58, 0xf4, 0xef, 0xc8, 0x66, 0x12, 0xda, 0x41, + 0x28, 0x05, 0x02, 0x9d, 0xe3, 0x36, 0x6f, 0x02, 0x60, 0xcf, 0x89, 0x09, 0xea, 0x94, 0xa0, 0x81, + 0x3d, 0x87, 0x2f, 0x7f, 0x85, 0x15, 0xdb, 0x5f, 0x35, 0x5a, 0xb2, 0x25, 0x36, 0xf1, 0x28, 0x21, + 0x65, 0x06, 0x6d, 0x40, 0x23, 0x0e, 0x9d, 0x38, 0xf2, 0xe6, 0x79, 0xec, 0x90, 0xaf, 0xb2, 0xb4, + 0xf9, 0x77, 0x0d, 0x96, 0x98, 0xa2, 0x99, 0x07, 0x70, 0x4e, 0x2c, 0x14, 0x0c, 0xa1, 0x50, 0x10, + 0xa9, 0x4d, 0xfe, 0x58, 0xc5, 0x5b, 0xa6, 0x8a, 0x02, 0xfd, 0x9f, 0x1a, 0xcc, 0x32, 0x46, 0x65, + 0x77, 0x68, 0xfc, 0xed, 0xcf, 0xbc, 0x55, 0xf5, 0x0a, 0x6f, 0xd5, 0x23, 0x58, 0x66, 0x0c, 0x13, + 0x8c, 0x85, 0x3a, 0x3f, 0x7a, 0xee, 0x19, 0x0a, 0x63, 0xc6, 0x28, 0x8c, 0xf9, 0x34, 0xa6, 0xb0, + 0x96, 0xe8, 0x96, 0x64, 0x6c, 0x6c, 0x52, 0x67, 0x7f, 0x82, 0xc3, 0x57, 0x7e, 0xf0, 0xe2, 0xc4, + 0x0e, 0xec, 0x01, 0x0e, 0x71, 0x10, 0x3b, 0xdb, 0xf8, 0x90, 0xd6, 0xb9, 0x8a, 0x65, 0x7e, 0xda, + 0xeb, 0x30, 0xdf, 0xbd, 0xb0, 0x5d, 0x2f, 0xb6, 0xb7, 0x61, 0xcd, 0xd1, 0xf1, 0xb1, 0x63, 0xdc, + 0x81, 0xdb, 0x49, 0xef, 0x7f, 0x12, 0x29, 0xd2, 0xf5, 0xfb, 0xd1, 0x0b, 0x8f, 0x4f, 0x3d, 0x7b, + 0x48, 0x2e, 0xfc, 0x38, 0x03, 0x18, 0x87, 0xb0, 0x73, 0x84, 0xd5, 0x24, 0x13, 0xd4, 0xa9, 0xc6, + 0x63, 0xb8, 0x53, 0xcc, 0x66, 0xd2, 0x9c, 0x13, 0xf5, 0xae, 0x9b, 0x05, 0x5a, 0x73, 0xd3, 0x4d, + 0x40, 0x04, 0x07, 0xae, 0xdd, 0x77, 0x7f, 0x85, 0x9d, 0x78, 0x95, 0x2b, 0xa5, 0x58, 0x99, 0x2e, + 0xc1, 0xfc, 0x00, 0xb6, 0xa3, 0xbb, 0x18, 0x43, 0x7a, 0x2c, 0xca, 0xd2, 0x4b, 0x59, 0xe1, 0x58, + 0xfe, 0xa2, 0xc5, 0x59, 0x58, 0xb9, 0x9f, 0x1b, 0x73, 0x0c, 0x57, 0x65, 0xdc, 0xb0, 0x00, 0x48, + 0x93, 0x78, 0x59, 0xcb, 0x58, 0x9c, 0x98, 0xce, 0xce, 0x5d, 0x8a, 0x8f, 0x49, 0xbc, 0xcb, 0xb0, + 0x85, 0x3f, 0x6b, 0xb0, 0xa1, 0x24, 0xff, 0x9a, 0x18, 0xf4, 0x77, 0x0d, 0xd6, 0x4e, 0x47, 0x9d, + 0xe8, 0xa5, 0xea, 0x60, 0x7a, 0xda, 0x49, 0x02, 0xbd, 0x05, 0x4b, 0x2c, 0xfb, 0x4b, 0x2e, 0x63, + 0x6f, 0xc2, 0x01, 0x4f, 0x17, 0xf7, 0x01, 0x65, 0xa9, 0x84, 0xa4, 0x71, 0x35, 0xa5, 0xe4, 0x99, + 0x43, 0x86, 0x82, 0xea, 0x13, 0x41, 0x41, 0xc6, 0x21, 0x5c, 0xcb, 0x29, 0x3b, 0x39, 0x20, 0x65, + 0xfc, 0x02, 0xee, 0x9e, 0x62, 0xcf, 0xd9, 0xf7, 0x9c, 0x84, 0x5b, 0xae, 0xbc, 0xc7, 0xe4, 0xff, + 0x83, 0xbe, 0xfc, 0x49, 0x83, 0x7b, 0x95, 0x84, 0x15, 0x40, 0x32, 0x69, 0x5f, 0x52, 0x9b, 0xb0, + 0x2f, 0xa9, 0xd2, 0x76, 0xec, 0x7d, 0xb9, 0x01, 0x8d, 0x7d, 0xfa, 0xe4, 0xec, 0x9f, 0x1c, 0xa3, + 0xef, 0xc0, 0xcc, 0x89, 0xeb, 0xf5, 0x50, 0x4b, 0x78, 0x8b, 0x32, 0x40, 0xb8, 0xbe, 0xae, 0x58, + 0xe1, 0x9a, 0x63, 0x5a, 0xa5, 0x4b, 0x00, 0x36, 0x12, 0xfb, 0xdf, 0x42, 0xd0, 0x5c, 0xbf, 0x33, + 0x96, 0x8e, 0x8b, 0xe9, 0xc0, 0xaa, 0x0a, 0x0b, 0x47, 0x3b, 0x32, 0x83, 0x22, 0xb8, 0x5c, 0x6f, + 0x0b, 0x94, 0x2a, 0xd4, 0xfa, 0x39, 0x35, 0x45, 0xc2, 0xcc, 0xf3, 0xa6, 0xa8, 0x41, 0xf5, 0x0a, + 0xfc, 0xcf, 0x61, 0x4d, 0x0d, 0xb3, 0xa3, 0xbb, 0xa5, 0x32, 0x84, 0xe7, 0xa1, 0x82, 0x9c, 0x13, + 0x58, 0x12, 0x0f, 0x02, 0x19, 0x25, 0xa7, 0x14, 0xf3, 0xd5, 0xf3, 0x7c, 0x13, 0x8e, 0x8f, 0xa1, + 0x99, 0xc5, 0xb0, 0x51, 0x5b, 0xa9, 0x6f, 0xf6, 0x34, 0xca, 0xb8, 0x3d, 0x85, 0xab, 0x32, 0x74, + 0x8d, 0x6e, 0x15, 0x70, 0x14, 0x6d, 0x2f, 0xe3, 0xfa, 0x33, 0xda, 0x5d, 0x8a, 0xd8, 0x2f, 0xba, + 0x2d, 0xb3, 0x55, 0x62, 0xc3, 0xfa, 0x96, 0x40, 0xa6, 0x40, 0x85, 0x7f, 0x0e, 0xcb, 0x12, 0x9a, + 0x8a, 0xb6, 0x85, 0x3d, 0x6a, 0x0c, 0x57, 0xbf, 0x55, 0x4e, 0xc4, 0xb9, 0x3f, 0xa3, 0x0e, 0xcb, + 0x32, 0xcf, 0x39, 0x4c, 0xc1, 0xbb, 0x5d, 0x82, 0x31, 0x65, 0x2f, 0x4d, 0x0e, 0xfd, 0xa8, 0xc4, + 0xbd, 0x22, 0x82, 0x85, 0x86, 0xb4, 0x44, 0xcb, 0xad, 0x73, 0xc4, 0x11, 0xbd, 0x57, 0x22, 0x4a, + 0x44, 0x25, 0x2b, 0x4b, 0x7c, 0x45, 0xbb, 0x9a, 0x3c, 0x32, 0x97, 0x94, 0x63, 0xe8, 0x7e, 0x89, + 0xd0, 0x1c, 0xba, 0x28, 0xe5, 0xa0, 0x12, 0xc4, 0xef, 0x05, 0xfd, 0xba, 0xa0, 0xe4, 0x35, 0xa1, + 0xc8, 0x9b, 0x45, 0x22, 0x89, 0xe4, 0xbb, 0x1c, 0xbe, 0x9c, 0x4f, 0x78, 0x45, 0xe8, 0x75, 0x85, + 0xf8, 0x08, 0xe9, 0x27, 0xcb, 0x02, 0x0c, 0x1b, 0x99, 0x15, 0x24, 0x65, 0xc0, 0xee, 0xca, 0xfe, + 0x7b, 0x02, 0x90, 0x82, 0x14, 0xe8, 0x86, 0x2c, 0x45, 0xc4, 0x87, 0xa4, 0xab, 0xa9, 0x00, 0x84, + 0x1c, 0xfa, 0x21, 0x4c, 0x85, 0xd4, 0xa0, 0x7b, 0x05, 0x7b, 0x55, 0xb8, 0x85, 0x7e, 0x5d, 0x20, + 0x1e, 0x23, 0x25, 0x5b, 0xdd, 0x14, 0x4b, 0xc9, 0x03, 0x0a, 0x63, 0xa4, 0x0c, 0x41, 0x2f, 0x06, + 0x58, 0x24, 0x87, 0x8c, 0x45, 0x62, 0x74, 0xa3, 0x98, 0x3e, 0x91, 0x78, 0x01, 0x6b, 0x6a, 0xdc, + 0x45, 0x7a, 0x93, 0x4a, 0xc1, 0x99, 0x4a, 0x92, 0xf2, 0xb6, 0x65, 0x0f, 0xd1, 0x1c, 0x2b, 0x4d, + 0x3c, 0xc7, 0x2a, 0x12, 0xbb, 0xd4, 0x67, 0x2a, 0xf8, 0x23, 0xef, 0xb3, 0x12, 0x90, 0x44, 0xdf, + 0x28, 0xe9, 0xd1, 0xd1, 0x67, 0xf4, 0x9e, 0xe6, 0xf0, 0x88, 0xfc, 0x3d, 0x2d, 0x82, 0x2c, 0xca, + 0xd9, 0xbf, 0xa0, 0xec, 0x73, 0x2d, 0x6e, 0x9e, 0x7d, 0x51, 0x93, 0xac, 0xbf, 0x57, 0x81, 0x92, + 0x0b, 0xfb, 0x9c, 0x01, 0x46, 0x25, 0x5d, 0x31, 0xda, 0x53, 0x57, 0x12, 0x65, 0x2d, 0xb4, 0x2e, + 0x46, 0x52, 0x79, 0xdf, 0xfa, 0x5b, 0xf6, 0x5d, 0xad, 0xbc, 0xdf, 0x46, 0xdf, 0x96, 0xb5, 0xa8, + 0xd4, 0x9f, 0x4f, 0xa4, 0xc8, 0x17, 0x1a, 0xb4, 0xc7, 0x75, 0xec, 0xe8, 0x5b, 0x15, 0xf5, 0x10, + 0x63, 0x77, 0x12, 0x35, 0x3e, 0x67, 0xdf, 0xf2, 0x0a, 0x7b, 0x64, 0xf4, 0x20, 0x17, 0x67, 0x63, + 0xda, 0x71, 0x5d, 0x75, 0xd5, 0xca, 0xba, 0x6f, 0x8f, 0x96, 0xad, 0x8a, 0x76, 0x36, 0x5f, 0xb6, + 0x16, 0xb7, 0xc8, 0xfa, 0x4e, 0x99, 0x54, 0xa1, 0x39, 0x7e, 0x0e, 0xcb, 0x52, 0xbb, 0x27, 0xd7, + 0x5a, 0xca, 0xce, 0x55, 0xae, 0xb5, 0xd4, 0x1d, 0xe3, 0x03, 0x0d, 0xfd, 0x51, 0x83, 0xed, 0x0a, + 0xbd, 0x19, 0xfa, 0x20, 0x57, 0xbb, 0x55, 0x6b, 0x1d, 0xf5, 0x87, 0x93, 0x6f, 0x8c, 0x95, 0x3b, + 0x78, 0x0c, 0xba, 0x1f, 0xf4, 0x4c, 0xdf, 0xa3, 0x2c, 0x12, 0x88, 0x8c, 0xf1, 0xfa, 0xa9, 0xd9, + 0x73, 0xc3, 0x8b, 0x51, 0xc7, 0xec, 0xfa, 0x83, 0x5d, 0x46, 0xb2, 0x4b, 0xff, 0x49, 0x7e, 0xd0, + 0xd4, 0xf3, 0x77, 0x33, 0xbf, 0x15, 0xeb, 0xcc, 0xd2, 0x85, 0xf7, 0xff, 0x17, 0x00, 0x00, 0xff, + 0xff, 0x09, 0xf9, 0xfa, 0x9a, 0x41, 0x26, 0x00, 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index bd9dfe855..607597da3 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -123,6 +123,8 @@ type AccessAPIClient interface { // node. This may happen if the block was from a previous spork, or if the block has yet // not been received. SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksClient, error) + // SendAndSubscribeTransactionStatuses TBD + SendAndSubscribeTransactionStatuses(ctx context.Context, in *SendAndSubscribeTransactionStatusesRequest, opts ...grpc.CallOption) (AccessAPI_SendAndSubscribeTransactionStatusesClient, error) } type accessAPIClient struct { @@ -444,6 +446,38 @@ func (x *accessAPISubscribeBlocksClient) Recv() (*SubscribeBlocksResponse, error return m, nil } +func (c *accessAPIClient) SendAndSubscribeTransactionStatuses(ctx context.Context, in *SendAndSubscribeTransactionStatusesRequest, opts ...grpc.CallOption) (AccessAPI_SendAndSubscribeTransactionStatusesClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[1], "/flow.access.AccessAPI/SendAndSubscribeTransactionStatuses", opts...) + if err != nil { + return nil, err + } + x := &accessAPISendAndSubscribeTransactionStatusesClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type AccessAPI_SendAndSubscribeTransactionStatusesClient interface { + Recv() (*SendAndSubscribeTransactionStatusesResponse, error) + grpc.ClientStream +} + +type accessAPISendAndSubscribeTransactionStatusesClient struct { + grpc.ClientStream +} + +func (x *accessAPISendAndSubscribeTransactionStatusesClient) Recv() (*SendAndSubscribeTransactionStatusesResponse, error) { + m := new(SendAndSubscribeTransactionStatusesResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + // AccessAPIServer is the server API for AccessAPI service. // All implementations should embed UnimplementedAccessAPIServer // for forward compatibility @@ -549,6 +583,8 @@ type AccessAPIServer interface { // node. This may happen if the block was from a previous spork, or if the block has yet // not been received. SubscribeBlocks(*SubscribeBlocksRequest, AccessAPI_SubscribeBlocksServer) error + // SendAndSubscribeTransactionStatuses TBD + SendAndSubscribeTransactionStatuses(*SendAndSubscribeTransactionStatusesRequest, AccessAPI_SendAndSubscribeTransactionStatusesServer) error } // UnimplementedAccessAPIServer should be embedded to have forward compatible implementations. @@ -651,6 +687,9 @@ func (UnimplementedAccessAPIServer) GetExecutionResultByID(context.Context, *Get func (UnimplementedAccessAPIServer) SubscribeBlocks(*SubscribeBlocksRequest, AccessAPI_SubscribeBlocksServer) error { return status.Errorf(codes.Unimplemented, "method SubscribeBlocks not implemented") } +func (UnimplementedAccessAPIServer) SendAndSubscribeTransactionStatuses(*SendAndSubscribeTransactionStatusesRequest, AccessAPI_SendAndSubscribeTransactionStatusesServer) error { + return status.Errorf(codes.Unimplemented, "method SendAndSubscribeTransactionStatuses not implemented") +} // UnsafeAccessAPIServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to AccessAPIServer will @@ -1242,6 +1281,27 @@ func (x *accessAPISubscribeBlocksServer) Send(m *SubscribeBlocksResponse) error return x.ServerStream.SendMsg(m) } +func _AccessAPI_SendAndSubscribeTransactionStatuses_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SendAndSubscribeTransactionStatusesRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(AccessAPIServer).SendAndSubscribeTransactionStatuses(m, &accessAPISendAndSubscribeTransactionStatusesServer{stream}) +} + +type AccessAPI_SendAndSubscribeTransactionStatusesServer interface { + Send(*SendAndSubscribeTransactionStatusesResponse) error + grpc.ServerStream +} + +type accessAPISendAndSubscribeTransactionStatusesServer struct { + grpc.ServerStream +} + +func (x *accessAPISendAndSubscribeTransactionStatusesServer) Send(m *SendAndSubscribeTransactionStatusesResponse) error { + return x.ServerStream.SendMsg(m) +} + // AccessAPI_ServiceDesc is the grpc.ServiceDesc for AccessAPI service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1380,6 +1440,11 @@ var AccessAPI_ServiceDesc = grpc.ServiceDesc{ Handler: _AccessAPI_SubscribeBlocks_Handler, ServerStreams: true, }, + { + StreamName: "SendAndSubscribeTransactionStatuses", + Handler: _AccessAPI_SendAndSubscribeTransactionStatuses_Handler, + ServerStreams: true, + }, }, Metadata: "flow/access/access.proto", } From 1a86ee3c7953d94c30d4be1f5914e6ce24a7588c Mon Sep 17 00:00:00 2001 From: Andrii Date: Thu, 21 Dec 2023 16:47:55 +0200 Subject: [PATCH 005/626] Added request and response data for new API call --- .../flow/executiondata/executiondata.proto | 66 +++- .../go/flow/executiondata/executiondata.pb.go | 304 +++++++++++++++--- 2 files changed, 322 insertions(+), 48 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 087ca2579..a6c7e1170 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -230,4 +230,68 @@ message GetRegisterValuesResponse { // raw register values at the given height. repeated bytes values = 1; -} \ No newline at end of file +} + +// The request for SubscribeAccountStatuses +message SubscribeAccountStatusesRequest { + // Block ID of the first block to search for events. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + bytes start_block_id = 1; + + // Block height of the first block to search for events. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + uint64 start_block_height = 2; + + // Filter to apply to events for each block searched. + // If no filter is provided, all statuses are returned. + StatusFilter filter = 3; + + // Interval in block heights at which the server should return a heartbeat + // message to the client. The heartbeat is a normal SubscribeAccountStatusesResponse + // with no events, and allows clients to track which blocks were searched. + // Clients can use this information to determine which block to start from + // when reconnecting. + // + // The interval is calculated from the last response returned, which could be + // either another heartbeat or a response containing events. + uint64 heartbeat_interval = 4; + + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + entities.EventEncodingVersion event_encoding_version = 5; +} + +// The response for SubscribeAccountStatuses +message SubscribeAccountStatusesResponse { + // Block ID of the block containing the events. + bytes block_id = 1; + + // + bytes address = 2; + + // + string status = 3; +} + +// StatusesFilter defines the filter to apply to block events. +// Filters are applied as an OR operation, i.e. any event matching any of the +// filters is returned. If no filters are provided, all events are returned. If +// there are any invalid filters, the API will return an InvalidArgument error. +message StatusFilter { + // A list of full event types to include. + // + // All events exactly matching any of the provided event types will be + // returned. + // + // Event types have 2 formats: + // - Protocol events: + // flow.[event name] + repeated string event_type = 1; +} + diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index f68b32889..1bb7b5937 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -589,6 +589,208 @@ func (m *GetRegisterValuesResponse) GetValues() [][]byte { return nil } +// The request for SubscribeAccountStatuses +type SubscribeAccountStatusesRequest struct { + // Block ID of the first block to search for events. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` + // Block height of the first block to search for events. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Filter to apply to events for each block searched. + // If no filter is provided, all statuses are returned. + Filter *StatusFilter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` + // Interval in block heights at which the server should return a heartbeat + // message to the client. The heartbeat is a normal SubscribeAccountStatusesResponse + // with no events, and allows clients to track which blocks were searched. + // Clients can use this information to determine which block to start from + // when reconnecting. + // + // The interval is calculated from the last response returned, which could be + // either another heartbeat or a response containing events. + HeartbeatInterval uint64 `protobuf:"varint,4,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"` + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,5,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeAccountStatusesRequest) Reset() { *m = SubscribeAccountStatusesRequest{} } +func (m *SubscribeAccountStatusesRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeAccountStatusesRequest) ProtoMessage() {} +func (*SubscribeAccountStatusesRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{9} +} + +func (m *SubscribeAccountStatusesRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeAccountStatusesRequest.Unmarshal(m, b) +} +func (m *SubscribeAccountStatusesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeAccountStatusesRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeAccountStatusesRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeAccountStatusesRequest.Merge(m, src) +} +func (m *SubscribeAccountStatusesRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeAccountStatusesRequest.Size(m) +} +func (m *SubscribeAccountStatusesRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeAccountStatusesRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeAccountStatusesRequest proto.InternalMessageInfo + +func (m *SubscribeAccountStatusesRequest) GetStartBlockId() []byte { + if m != nil { + return m.StartBlockId + } + return nil +} + +func (m *SubscribeAccountStatusesRequest) GetStartBlockHeight() uint64 { + if m != nil { + return m.StartBlockHeight + } + return 0 +} + +func (m *SubscribeAccountStatusesRequest) GetFilter() *StatusFilter { + if m != nil { + return m.Filter + } + return nil +} + +func (m *SubscribeAccountStatusesRequest) GetHeartbeatInterval() uint64 { + if m != nil { + return m.HeartbeatInterval + } + return 0 +} + +func (m *SubscribeAccountStatusesRequest) GetEventEncodingVersion() entities.EventEncodingVersion { + if m != nil { + return m.EventEncodingVersion + } + return entities.EventEncodingVersion_JSON_CDC_V0 +} + +// The response for SubscribeAccountStatuses +type SubscribeAccountStatusesResponse struct { + // Block ID of the block containing the events. + BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` + Address []byte `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeAccountStatusesResponse) Reset() { *m = SubscribeAccountStatusesResponse{} } +func (m *SubscribeAccountStatusesResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeAccountStatusesResponse) ProtoMessage() {} +func (*SubscribeAccountStatusesResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{10} +} + +func (m *SubscribeAccountStatusesResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeAccountStatusesResponse.Unmarshal(m, b) +} +func (m *SubscribeAccountStatusesResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeAccountStatusesResponse.Marshal(b, m, deterministic) +} +func (m *SubscribeAccountStatusesResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeAccountStatusesResponse.Merge(m, src) +} +func (m *SubscribeAccountStatusesResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeAccountStatusesResponse.Size(m) +} +func (m *SubscribeAccountStatusesResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeAccountStatusesResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeAccountStatusesResponse proto.InternalMessageInfo + +func (m *SubscribeAccountStatusesResponse) GetBlockId() []byte { + if m != nil { + return m.BlockId + } + return nil +} + +func (m *SubscribeAccountStatusesResponse) GetAddress() []byte { + if m != nil { + return m.Address + } + return nil +} + +func (m *SubscribeAccountStatusesResponse) GetStatus() string { + if m != nil { + return m.Status + } + return "" +} + +// StatusesFilter defines the filter to apply to block events. +// Filters are applied as an OR operation, i.e. any event matching any of the +// filters is returned. If no filters are provided, all events are returned. If +// there are any invalid filters, the API will return an InvalidArgument error. +type StatusFilter struct { + // A list of full event types to include. + // + // All events exactly matching any of the provided event types will be + // returned. + // + // Event types have 2 formats: + // - Protocol events: + // flow.[event name] + EventType []string `protobuf:"bytes,1,rep,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StatusFilter) Reset() { *m = StatusFilter{} } +func (m *StatusFilter) String() string { return proto.CompactTextString(m) } +func (*StatusFilter) ProtoMessage() {} +func (*StatusFilter) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{11} +} + +func (m *StatusFilter) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StatusFilter.Unmarshal(m, b) +} +func (m *StatusFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StatusFilter.Marshal(b, m, deterministic) +} +func (m *StatusFilter) XXX_Merge(src proto.Message) { + xxx_messageInfo_StatusFilter.Merge(m, src) +} +func (m *StatusFilter) XXX_Size() int { + return xxx_messageInfo_StatusFilter.Size(m) +} +func (m *StatusFilter) XXX_DiscardUnknown() { + xxx_messageInfo_StatusFilter.DiscardUnknown(m) +} + +var xxx_messageInfo_StatusFilter proto.InternalMessageInfo + +func (m *StatusFilter) GetEventType() []string { + if m != nil { + return m.EventType + } + return nil +} + func init() { proto.RegisterType((*GetExecutionDataByBlockIDRequest)(nil), "flow.executiondata.GetExecutionDataByBlockIDRequest") proto.RegisterType((*GetExecutionDataByBlockIDResponse)(nil), "flow.executiondata.GetExecutionDataByBlockIDResponse") @@ -599,6 +801,9 @@ func init() { proto.RegisterType((*EventFilter)(nil), "flow.executiondata.EventFilter") proto.RegisterType((*GetRegisterValuesRequest)(nil), "flow.executiondata.GetRegisterValuesRequest") proto.RegisterType((*GetRegisterValuesResponse)(nil), "flow.executiondata.GetRegisterValuesResponse") + proto.RegisterType((*SubscribeAccountStatusesRequest)(nil), "flow.executiondata.SubscribeAccountStatusesRequest") + proto.RegisterType((*SubscribeAccountStatusesResponse)(nil), "flow.executiondata.SubscribeAccountStatusesResponse") + proto.RegisterType((*StatusFilter)(nil), "flow.executiondata.StatusFilter") } func init() { @@ -606,51 +811,56 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 735 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcb, 0x6e, 0xd3, 0x4c, - 0x14, 0x96, 0x93, 0xfc, 0x69, 0x7b, 0x12, 0xf5, 0x32, 0xaa, 0xfa, 0x3b, 0x16, 0xa5, 0x49, 0x40, - 0x28, 0x82, 0xd6, 0x06, 0x97, 0x8a, 0x0d, 0x1b, 0x42, 0x4b, 0xc9, 0x0e, 0xb9, 0x55, 0x25, 0xba, - 0xb1, 0x7c, 0x99, 0x3a, 0x23, 0x5c, 0x4f, 0xf0, 0x4c, 0x42, 0x2b, 0x56, 0xdd, 0xf1, 0x08, 0xbc, - 0x05, 0xef, 0xc1, 0x82, 0x37, 0xe0, 0x5d, 0x50, 0xc6, 0x63, 0x37, 0x4e, 0xdc, 0xd0, 0xaa, 0x62, - 0x13, 0xe9, 0xcc, 0xf9, 0xce, 0x9c, 0x6f, 0xbe, 0x73, 0x89, 0xe1, 0xc9, 0x59, 0x48, 0xbf, 0x18, - 0xf8, 0x02, 0x7b, 0x43, 0x4e, 0x68, 0xe4, 0x3b, 0xdc, 0xc9, 0x5b, 0xfa, 0x20, 0xa6, 0x9c, 0x22, - 0x34, 0xc6, 0xe9, 0x39, 0x8f, 0xd6, 0x49, 0x62, 0x23, 0x4e, 0x38, 0xc1, 0xcc, 0x70, 0x43, 0xea, - 0x7d, 0xb2, 0x33, 0x88, 0x7d, 0x1d, 0xad, 0x35, 0xf2, 0x48, 0x3c, 0xc2, 0x11, 0x97, 0xae, 0x07, - 0x79, 0x57, 0x8c, 0x03, 0xc2, 0x38, 0x8e, 0xa5, 0x77, 0x2b, 0xa0, 0x34, 0x08, 0xb1, 0x21, 0x2c, - 0x77, 0x78, 0x66, 0x70, 0x72, 0x8e, 0x19, 0x77, 0xce, 0x07, 0x09, 0xa0, 0xfd, 0x5d, 0x81, 0xe6, - 0x21, 0xe6, 0x07, 0x69, 0xd6, 0x7d, 0x87, 0x3b, 0xdd, 0xcb, 0xee, 0x98, 0x4a, 0x6f, 0xdf, 0xc2, - 0x9f, 0x87, 0x98, 0x71, 0xd4, 0x80, 0xc5, 0x84, 0x1c, 0xf1, 0x55, 0xa5, 0xa9, 0x74, 0xea, 0xd6, - 0x82, 0xb0, 0x7b, 0x3e, 0xfa, 0x08, 0x1b, 0x82, 0x8d, 0x8d, 0x23, 0x8f, 0xfa, 0x24, 0x0a, 0xec, - 0x11, 0x8e, 0x19, 0xa1, 0x91, 0x5a, 0x6a, 0x2a, 0x9d, 0x65, 0xf3, 0x91, 0x9e, 0x3c, 0x5c, 0xf2, - 0xd3, 0x0f, 0xc6, 0xe0, 0x03, 0x89, 0x3d, 0x49, 0xa0, 0xd6, 0x3a, 0x2e, 0x38, 0x6d, 0x5f, 0x40, - 0x6b, 0x0e, 0x33, 0x36, 0xa0, 0x11, 0xc3, 0xe8, 0x08, 0xd6, 0x8b, 0x74, 0x13, 0x34, 0x6b, 0x66, - 0x6b, 0x2a, 0xbb, 0x88, 0xce, 0xdd, 0x68, 0x21, 0x77, 0xe6, 0xac, 0xfd, 0x4b, 0x81, 0xcd, 0xa3, - 0xa1, 0xcb, 0xbc, 0x98, 0xb8, 0x38, 0x0f, 0x97, 0x8a, 0x3c, 0x86, 0x65, 0xc6, 0x9d, 0x98, 0xdb, - 0x53, 0xba, 0xd4, 0xc5, 0x69, 0x57, 0x8a, 0xb3, 0x0d, 0x68, 0x12, 0xd5, 0xc7, 0x24, 0xe8, 0x73, - 0x21, 0x4c, 0xc5, 0x5a, 0xbd, 0x46, 0xbe, 0x17, 0xe7, 0x73, 0xa4, 0x2c, 0xdf, 0x57, 0xca, 0xdf, - 0x0a, 0x3c, 0xbc, 0xe9, 0x41, 0x52, 0xc8, 0x16, 0xd4, 0x73, 0x2c, 0x15, 0xc1, 0xb2, 0xe6, 0x4e, - 0x10, 0xbc, 0x49, 0xeb, 0xd2, 0x3d, 0xb4, 0x46, 0x6f, 0x61, 0x25, 0xb9, 0x34, 0xeb, 0x4c, 0xf1, - 0xdc, 0x9a, 0xa9, 0xe9, 0x49, 0xef, 0xea, 0x69, 0xef, 0xea, 0xc7, 0x29, 0xc2, 0x5a, 0x16, 0x21, - 0x99, 0xdd, 0xfe, 0x51, 0x82, 0x8d, 0xeb, 0xf7, 0x8d, 0x15, 0x60, 0xff, 0xb2, 0x52, 0xaf, 0xa0, - 0x7a, 0x46, 0x42, 0x8e, 0x63, 0x49, 0x75, 0x4b, 0x9f, 0x9d, 0xee, 0xa4, 0x3c, 0xef, 0x04, 0xcc, - 0x92, 0x70, 0xb4, 0x03, 0xa8, 0x8f, 0x9d, 0x98, 0xbb, 0xd8, 0xe1, 0x36, 0x89, 0x38, 0x8e, 0x47, - 0x4e, 0xa8, 0x56, 0x44, 0x9a, 0xb5, 0xcc, 0xd3, 0x93, 0x8e, 0x39, 0x1d, 0xf1, 0xdf, 0x7d, 0x3b, - 0xe2, 0xa7, 0x02, 0xff, 0xcf, 0x28, 0x26, 0x5b, 0x61, 0xce, 0xb8, 0x4f, 0x77, 0x49, 0x69, 0xb6, - 0x4b, 0xb6, 0xa1, 0x2a, 0x32, 0x32, 0xb5, 0xdc, 0x2c, 0x77, 0x6a, 0xe6, 0x7a, 0x11, 0x49, 0x4b, - 0x62, 0x8a, 0xca, 0x5f, 0xb9, 0x73, 0xf9, 0x5d, 0xa8, 0x4d, 0xa8, 0x8d, 0x36, 0x01, 0x12, 0xd9, - 0xf8, 0xe5, 0x00, 0xab, 0x4a, 0xb3, 0xdc, 0x59, 0xb2, 0x96, 0xc4, 0xc9, 0xf1, 0xe5, 0x00, 0x23, - 0x0d, 0x16, 0x3d, 0x1a, 0xf1, 0xd8, 0xf1, 0xc6, 0xfc, 0xc7, 0xce, 0xcc, 0x46, 0x2a, 0x2c, 0x38, - 0xbe, 0x1f, 0x63, 0x96, 0xb0, 0x5f, 0xb2, 0x52, 0xb3, 0xfd, 0x15, 0xd4, 0x43, 0xcc, 0x2d, 0xb9, - 0x5e, 0x4f, 0x9c, 0x70, 0x88, 0xb3, 0x1e, 0xbb, 0xc5, 0xec, 0xbc, 0x86, 0x7a, 0xba, 0x9a, 0x6d, - 0xe2, 0x33, 0x91, 0xb8, 0x66, 0x36, 0xa6, 0xb4, 0x49, 0xaf, 0xef, 0xed, 0x5b, 0xb5, 0x14, 0xde, - 0xf3, 0x59, 0x7b, 0x17, 0x1a, 0x05, 0xc9, 0x65, 0xb9, 0x36, 0xa0, 0x3a, 0x12, 0x27, 0xe2, 0xa9, - 0x75, 0x4b, 0x5a, 0xe6, 0x55, 0x05, 0x56, 0x73, 0xb3, 0xf6, 0xe6, 0x43, 0x0f, 0x7d, 0x53, 0xc4, - 0x55, 0xc5, 0x5b, 0x15, 0xbd, 0x2c, 0x6a, 0xe4, 0xbf, 0xfd, 0x3d, 0x68, 0x7b, 0x77, 0x8c, 0x92, - 0xbc, 0xaf, 0x94, 0xc9, 0xa1, 0xcd, 0x2d, 0x85, 0x17, 0x45, 0x37, 0xce, 0xdd, 0xc8, 0x9a, 0x79, - 0x97, 0x90, 0x84, 0xc1, 0x73, 0x05, 0x85, 0xb0, 0x32, 0x35, 0x05, 0xe8, 0xe9, 0xfc, 0x8b, 0x26, - 0x97, 0x8b, 0xf6, 0xec, 0x56, 0xd8, 0x2c, 0xdb, 0x00, 0xd6, 0x66, 0xca, 0x88, 0xb6, 0x6f, 0x50, - 0xaf, 0xb0, 0xd5, 0xb4, 0x9d, 0x5b, 0xa2, 0x93, 0x9c, 0xdd, 0x53, 0x68, 0xd1, 0x38, 0xd0, 0x69, - 0x24, 0xa2, 0xb2, 0x51, 0xca, 0x85, 0x9f, 0xee, 0x05, 0x84, 0xf7, 0x87, 0xae, 0xee, 0xd1, 0x73, - 0x23, 0x41, 0x1a, 0xe2, 0x27, 0xfb, 0x68, 0x08, 0xa8, 0x31, 0xfb, 0x99, 0xe3, 0x56, 0x85, 0x7f, - 0xf7, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x45, 0x79, 0x16, 0x03, 0x09, 0x00, 0x00, + // 805 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcd, 0x4e, 0xdb, 0x4a, + 0x14, 0x96, 0x93, 0xdc, 0x40, 0x4e, 0x22, 0x7e, 0x46, 0x88, 0x9b, 0x58, 0x97, 0x4b, 0xe2, 0x7b, + 0x55, 0x45, 0x2d, 0x38, 0x6d, 0x28, 0x6a, 0x17, 0xdd, 0x90, 0x42, 0x69, 0x76, 0x95, 0x41, 0x48, + 0x65, 0x13, 0xf9, 0x67, 0x70, 0x46, 0x0d, 0x9e, 0xd4, 0x33, 0x4e, 0x41, 0x5d, 0xb1, 0xeb, 0x23, + 0xf4, 0x2d, 0xba, 0xee, 0x2b, 0x74, 0xd1, 0x37, 0xe8, 0xbb, 0x54, 0x99, 0x99, 0x98, 0x38, 0x71, + 0x02, 0x08, 0x21, 0x75, 0x13, 0xe9, 0xcc, 0xf9, 0xce, 0x9c, 0x6f, 0xbe, 0xf3, 0xe3, 0xc0, 0xa3, + 0xb3, 0x1e, 0xfd, 0xd4, 0xc0, 0x17, 0xd8, 0x8d, 0x38, 0xa1, 0x81, 0x67, 0x73, 0x3b, 0x69, 0x99, + 0xfd, 0x90, 0x72, 0x8a, 0xd0, 0x10, 0x67, 0x26, 0x3c, 0x7a, 0x5d, 0xc6, 0x06, 0x9c, 0x70, 0x82, + 0x59, 0xc3, 0xe9, 0x51, 0xf7, 0x43, 0x27, 0x86, 0x74, 0xae, 0xa3, 0xf5, 0x4a, 0x12, 0x89, 0x07, + 0x38, 0xe0, 0xca, 0xf5, 0x4f, 0xd2, 0x15, 0x62, 0x9f, 0x30, 0x8e, 0x43, 0xe5, 0xdd, 0xf4, 0x29, + 0xf5, 0x7b, 0xb8, 0x21, 0x2c, 0x27, 0x3a, 0x6b, 0x70, 0x72, 0x8e, 0x19, 0xb7, 0xcf, 0xfb, 0x12, + 0x60, 0x7c, 0xd5, 0xa0, 0x7a, 0x88, 0xf9, 0xc1, 0x28, 0xeb, 0xbe, 0xcd, 0xed, 0xd6, 0x65, 0x6b, + 0x48, 0xa5, 0xbd, 0x6f, 0xe1, 0x8f, 0x11, 0x66, 0x1c, 0x55, 0x60, 0x51, 0x92, 0x23, 0x5e, 0x59, + 0xab, 0x6a, 0xf5, 0x92, 0xb5, 0x20, 0xec, 0xb6, 0x87, 0xde, 0xc3, 0xba, 0x60, 0xd3, 0xc1, 0x81, + 0x4b, 0x3d, 0x12, 0xf8, 0x9d, 0x01, 0x0e, 0x19, 0xa1, 0x41, 0x39, 0x53, 0xd5, 0xea, 0x4b, 0xcd, + 0xff, 0x4c, 0xf9, 0x70, 0xc5, 0xcf, 0x3c, 0x18, 0x82, 0x0f, 0x14, 0xf6, 0x44, 0x42, 0xad, 0x35, + 0x9c, 0x72, 0x6a, 0x5c, 0x40, 0x6d, 0x0e, 0x33, 0xd6, 0xa7, 0x01, 0xc3, 0xe8, 0x08, 0xd6, 0xd2, + 0x74, 0x13, 0x34, 0x8b, 0xcd, 0xda, 0x44, 0x76, 0x11, 0x9d, 0xb8, 0xd1, 0x42, 0xce, 0xd4, 0x99, + 0xf1, 0x53, 0x83, 0x8d, 0xa3, 0xc8, 0x61, 0x6e, 0x48, 0x1c, 0x9c, 0x84, 0x2b, 0x45, 0xfe, 0x87, + 0x25, 0xc6, 0xed, 0x90, 0x77, 0x26, 0x74, 0x29, 0x89, 0xd3, 0x96, 0x12, 0x67, 0x0b, 0xd0, 0x38, + 0xaa, 0x8b, 0x89, 0xdf, 0xe5, 0x42, 0x98, 0x9c, 0xb5, 0x72, 0x8d, 0x7c, 0x2b, 0xce, 0xe7, 0x48, + 0x99, 0xbd, 0xaf, 0x94, 0xbf, 0x34, 0xf8, 0x77, 0xd6, 0x83, 0x94, 0x90, 0x35, 0x28, 0x25, 0x58, + 0x6a, 0x82, 0x65, 0xd1, 0x19, 0x23, 0x38, 0x4b, 0xeb, 0xcc, 0x3d, 0xb4, 0x46, 0xaf, 0x61, 0x59, + 0x5e, 0x1a, 0x77, 0xa6, 0x78, 0x6e, 0xb1, 0xa9, 0x9b, 0xb2, 0x77, 0xcd, 0x51, 0xef, 0x9a, 0xc7, + 0x23, 0x84, 0xb5, 0x24, 0x42, 0x62, 0xdb, 0xf8, 0x96, 0x81, 0xf5, 0xeb, 0xf7, 0x0d, 0x15, 0x60, + 0x0f, 0x59, 0xa9, 0x17, 0x90, 0x3f, 0x23, 0x3d, 0x8e, 0x43, 0x45, 0x75, 0xd3, 0x9c, 0x9e, 0x6e, + 0x59, 0x9e, 0x37, 0x02, 0x66, 0x29, 0x38, 0xda, 0x06, 0xd4, 0xc5, 0x76, 0xc8, 0x1d, 0x6c, 0xf3, + 0x0e, 0x09, 0x38, 0x0e, 0x07, 0x76, 0xaf, 0x9c, 0x13, 0x69, 0x56, 0x63, 0x4f, 0x5b, 0x39, 0xe6, + 0x74, 0xc4, 0x5f, 0xf7, 0xed, 0x88, 0x1f, 0x1a, 0xfc, 0x3d, 0xa5, 0x98, 0x6a, 0x85, 0x39, 0xe3, + 0x3e, 0xd9, 0x25, 0x99, 0xe9, 0x2e, 0xd9, 0x82, 0xbc, 0xc8, 0xc8, 0xca, 0xd9, 0x6a, 0xb6, 0x5e, + 0x6c, 0xae, 0xa5, 0x91, 0xb4, 0x14, 0x26, 0xad, 0xfc, 0xb9, 0x3b, 0x97, 0xdf, 0x81, 0xe2, 0x98, + 0xda, 0x68, 0x03, 0x40, 0xca, 0xc6, 0x2f, 0xfb, 0xb8, 0xac, 0x55, 0xb3, 0xf5, 0x82, 0x55, 0x10, + 0x27, 0xc7, 0x97, 0x7d, 0x8c, 0x74, 0x58, 0x74, 0x69, 0xc0, 0x43, 0xdb, 0x1d, 0xf2, 0x1f, 0x3a, + 0x63, 0x1b, 0x95, 0x61, 0xc1, 0xf6, 0xbc, 0x10, 0x33, 0xc9, 0xbe, 0x60, 0x8d, 0x4c, 0xe3, 0x33, + 0x94, 0x0f, 0x31, 0xb7, 0xd4, 0x7a, 0x3d, 0xb1, 0x7b, 0x11, 0x8e, 0x7b, 0xec, 0x16, 0xb3, 0xf3, + 0x0a, 0x4a, 0xa3, 0xd5, 0xdc, 0x21, 0x1e, 0x13, 0x89, 0x8b, 0xcd, 0xca, 0x84, 0x36, 0xa3, 0xeb, + 0xdb, 0xfb, 0x56, 0x71, 0x04, 0x6f, 0x7b, 0xcc, 0xd8, 0x81, 0x4a, 0x4a, 0x72, 0x55, 0xae, 0x75, + 0xc8, 0x0f, 0xc4, 0x89, 0x78, 0x6a, 0xc9, 0x52, 0x96, 0xf1, 0x3d, 0x03, 0x9b, 0x71, 0x89, 0xf7, + 0x5c, 0x97, 0x46, 0x01, 0x3f, 0xe2, 0x36, 0x8f, 0x18, 0x7e, 0xd0, 0xe9, 0x78, 0x39, 0x31, 0x1d, + 0xd5, 0xb4, 0xe9, 0x90, 0x44, 0xfe, 0xd8, 0xf1, 0xa0, 0x50, 0x9d, 0x2d, 0xdd, 0xcd, 0x63, 0x32, + 0xd6, 0x46, 0x19, 0xe9, 0x51, 0xe6, 0xb0, 0x58, 0x4c, 0x5c, 0x24, 0xc4, 0x29, 0x58, 0xca, 0x32, + 0xb6, 0xa1, 0x34, 0x2e, 0xc9, 0x0d, 0x3d, 0xdc, 0xbc, 0xca, 0xc1, 0x4a, 0x62, 0x8f, 0xee, 0xbd, + 0x6b, 0xa3, 0x2f, 0x9a, 0x68, 0x93, 0xf4, 0x2f, 0x26, 0x7a, 0x9e, 0x56, 0x86, 0x9b, 0x3e, 0xfd, + 0xfa, 0xee, 0x1d, 0xa3, 0x94, 0x36, 0x57, 0xda, 0xf8, 0x42, 0x4e, 0x2c, 0xfc, 0x67, 0xa9, 0xed, + 0x30, 0xef, 0x6b, 0xab, 0x37, 0xef, 0x12, 0x22, 0x19, 0x3c, 0xd5, 0x50, 0x0f, 0x96, 0x27, 0x36, + 0x1c, 0x7a, 0x3c, 0xff, 0xa2, 0xf1, 0x0f, 0x87, 0xfe, 0xe4, 0x56, 0xd8, 0x38, 0x5b, 0x1f, 0x56, + 0xa7, 0x46, 0x14, 0x6d, 0xcd, 0x50, 0x2f, 0x75, 0x8d, 0xe8, 0xdb, 0xb7, 0x44, 0xcb, 0x9c, 0xad, + 0x53, 0xa8, 0xd1, 0xd0, 0x37, 0x69, 0x20, 0xa2, 0xe2, 0x35, 0x99, 0x08, 0x3f, 0xdd, 0xf5, 0x09, + 0xef, 0x46, 0x8e, 0xe9, 0xd2, 0xf3, 0x86, 0x44, 0x36, 0xc4, 0x4f, 0xfc, 0x87, 0xd0, 0xa7, 0x8d, + 0xe9, 0xbf, 0xb0, 0x4e, 0x5e, 0xf8, 0x77, 0x7e, 0x07, 0x00, 0x00, 0xff, 0xff, 0x82, 0x7b, 0xad, + 0xa5, 0xdf, 0x0a, 0x00, 0x00, } From 77c732f3e23b7c26be77786f66d6f02f18a98208 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Wed, 27 Dec 2023 11:12:45 +0200 Subject: [PATCH 006/626] Added full_block_response for subscribe blocks request --- protobuf/flow/access/access.proto | 3 + protobuf/go/flow/access/access.pb.go | 273 ++++++++++++++------------- 2 files changed, 144 insertions(+), 132 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 60d6c9738..29a670ea9 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -453,6 +453,9 @@ message SubscribeBlocksRequest { // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED entities.BlockStatus block_status = 3; + + // Boolean value determining the response: 'full' if `true`, 'light' otherwise. + bool full_block_response = 4; } // The response for SubscribeBlocks diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 6b07e6a29..6762a4b9c 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2258,10 +2258,12 @@ type SubscribeBlocksRequest struct { // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED - BlockStatus entities.BlockStatus `protobuf:"varint,3,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + BlockStatus entities.BlockStatus `protobuf:"varint,3,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + // Boolean value determining the response: 'full' if `true`, 'light' otherwise. + FullBlockResponse bool `protobuf:"varint,4,opt,name=full_block_response,json=fullBlockResponse,proto3" json:"full_block_response,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SubscribeBlocksRequest) Reset() { *m = SubscribeBlocksRequest{} } @@ -2310,6 +2312,13 @@ func (m *SubscribeBlocksRequest) GetBlockStatus() entities.BlockStatus { return entities.BlockStatus_BLOCK_UNKNOWN } +func (m *SubscribeBlocksRequest) GetFullBlockResponse() bool { + if m != nil { + return m.FullBlockResponse + } + return false +} + // The response for SubscribeBlocks type SubscribeBlocksResponse struct { // The sealed or finalized blocks according to the block status @@ -2512,136 +2521,136 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2089 bytes of a gzipped FileDescriptorProto + // 2096 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6f, 0x1c, 0x49, 0x15, 0x57, 0xcf, 0x38, 0xb6, 0xe7, 0x79, 0x6c, 0x67, 0xcb, 0x5e, 0x67, 0xdc, 0x8e, 0xe3, 0x49, 0x3b, 0x21, 0xde, 0x24, 0xb4, 0x23, 0x2f, 0x68, 0xb3, 0xcb, 0x1f, 0x61, 0x07, 0xe3, 0xb5, 0x94, 0xac, 0xac, 0x76, 0x08, 0x5a, 0x60, 0x63, 0xf5, 0x4c, 0x97, 0xc7, 0x4d, 0x66, 0xba, 0x87, 0xae, - 0x9e, 0x24, 0x06, 0x0e, 0x7b, 0x58, 0x21, 0x24, 0x3e, 0xc0, 0x0a, 0x04, 0x27, 0x4e, 0xc0, 0x81, - 0x33, 0xe2, 0x80, 0xc4, 0x37, 0xe0, 0x1b, 0xa1, 0xae, 0xaa, 0xfe, 0x53, 0xd5, 0xd5, 0x3d, 0x3d, - 0x13, 0x56, 0xd9, 0x4b, 0xe2, 0xaa, 0x7a, 0xf5, 0xfe, 0xd4, 0x7b, 0xf5, 0xea, 0xbd, 0x5f, 0x0f, - 0xb4, 0xce, 0xfb, 0xfe, 0xab, 0x5d, 0xbb, 0xdb, 0xc5, 0x84, 0xf0, 0xff, 0xcc, 0x61, 0xe0, 0x87, - 0x3e, 0x5a, 0x88, 0x56, 0x4c, 0x36, 0xa5, 0x6f, 0x50, 0x32, 0xec, 0x85, 0x6e, 0xe8, 0x62, 0x4a, - 0xe8, 0x8f, 0xbc, 0x90, 0x51, 0xea, 0x6d, 0x71, 0xb1, 0xd3, 0xf7, 0xbb, 0x2f, 0xce, 0x2e, 0xb0, - 0xed, 0xe0, 0x80, 0x53, 0xac, 0x2b, 0x28, 0xf8, 0xd2, 0x0d, 0x71, 0xa9, 0xeb, 0xf7, 0xfb, 0xb8, - 0x1b, 0xba, 0xbe, 0xa7, 0xde, 0x8a, 0x5f, 0xe2, 0x44, 0xee, 0x2d, 0x69, 0xe9, 0x35, 0xee, 0x8e, - 0xa2, 0x9d, 0x67, 0x01, 0x26, 0xa3, 0x7e, 0x4c, 0x75, 0x5d, 0xa4, 0x1a, 0xe0, 0xd0, 0x76, 0xec, - 0xd0, 0xe6, 0xab, 0xb7, 0xc5, 0x55, 0xcf, 0x77, 0xf0, 0xd9, 0x4b, 0x1c, 0x90, 0x88, 0x8d, 0xeb, - 0x9d, 0xfb, 0x9c, 0x6c, 0x4b, 0x24, 0x0b, 0x03, 0xdb, 0x23, 0x76, 0x56, 0xcd, 0xad, 0x9e, 0xef, - 0xf7, 0xfa, 0x78, 0x97, 0x8e, 0x3a, 0xa3, 0xf3, 0xdd, 0xd0, 0x1d, 0x60, 0x12, 0xda, 0x83, 0x21, - 0x23, 0x30, 0x16, 0x61, 0xe1, 0xc4, 0xf5, 0x7a, 0x16, 0xfe, 0xe5, 0x08, 0x93, 0xd0, 0x58, 0x82, - 0x26, 0x1b, 0x92, 0xa1, 0xef, 0x11, 0x6c, 0x6c, 0xc0, 0xfa, 0x11, 0x0e, 0x3f, 0xf1, 0x1d, 0xfc, - 0x8c, 0x49, 0x3f, 0xf6, 0xce, 0xfd, 0x98, 0xf8, 0x04, 0x74, 0xd5, 0x22, 0xdb, 0x8a, 0xf6, 0x60, - 0x26, 0xd2, 0xb4, 0xa5, 0xb5, 0xb5, 0x9d, 0x85, 0xbd, 0x1b, 0x26, 0xf5, 0x5b, 0xac, 0xaa, 0x29, - 0xef, 0xa2, 0xb4, 0xc6, 0x47, 0xb0, 0x71, 0x84, 0xc3, 0xc7, 0x76, 0x88, 0x49, 0x78, 0x10, 0x79, - 0xe3, 0x63, 0xea, 0x2e, 0x2e, 0x10, 0x6d, 0x40, 0xc3, 0x25, 0x67, 0x04, 0xdb, 0x7d, 0xec, 0x50, - 0xbe, 0xf3, 0xd6, 0xbc, 0x4b, 0x4e, 0xe9, 0xd8, 0xb8, 0x47, 0x55, 0xcd, 0xec, 0x3a, 0xb8, 0x3c, - 0xfe, 0x61, 0xbc, 0x73, 0x09, 0x6a, 0x2e, 0xdb, 0xd2, 0xb4, 0x6a, 0xae, 0x63, 0x7c, 0x00, 0x9b, - 0x32, 0xf1, 0xc7, 0xd8, 0xed, 0x5d, 0x84, 0xf1, 0x86, 0x35, 0x98, 0xbd, 0xa0, 0x13, 0x74, 0xd3, - 0x8c, 0xc5, 0x47, 0xc6, 0xbf, 0x34, 0x58, 0x11, 0x34, 0xe3, 0xd6, 0x3e, 0x80, 0x2b, 0x34, 0x7c, - 0xb8, 0xb9, 0xba, 0x64, 0x6e, 0x76, 0x0b, 0x23, 0x44, 0xdf, 0x83, 0x26, 0x0b, 0x49, 0x12, 0xda, - 0xe1, 0x88, 0xb4, 0x6a, 0x6d, 0x6d, 0x67, 0x49, 0xbd, 0xf1, 0x94, 0x52, 0x58, 0x0b, 0x9d, 0x74, - 0x80, 0xde, 0x87, 0xf9, 0x38, 0x66, 0x5a, 0x75, 0x2a, 0xf3, 0x9a, 0xb4, 0xf5, 0x09, 0x5f, 0xb6, - 0x12, 0x42, 0xc3, 0x81, 0x77, 0xc5, 0xf3, 0xad, 0x72, 0xb2, 0xc8, 0x84, 0x95, 0xf3, 0x51, 0xbf, - 0x7f, 0xc6, 0xd4, 0x0d, 0xb8, 0xc9, 0x54, 0xe1, 0x79, 0xeb, 0x9d, 0x68, 0x89, 0xf3, 0xe2, 0x41, - 0xf3, 0x63, 0x58, 0x89, 0x0f, 0xb7, 0xc4, 0x07, 0x13, 0xb3, 0xb5, 0xe1, 0x5a, 0xca, 0xb6, 0x92, - 0xb7, 0x26, 0x16, 0xf1, 0x0f, 0x0d, 0x16, 0x85, 0x19, 0x74, 0x57, 0xf4, 0xeb, 0xaa, 0xca, 0x3d, - 0x6f, 0xd3, 0xa3, 0x77, 0xa1, 0x75, 0x84, 0xc3, 0x47, 0x49, 0x7a, 0x2a, 0x0b, 0xfa, 0x2f, 0x34, - 0x40, 0x29, 0x65, 0x62, 0xe2, 0x87, 0x00, 0x69, 0x7a, 0xe3, 0x76, 0xae, 0x4b, 0x92, 0x33, 0xdb, - 0x32, 0xc4, 0x82, 0xca, 0xb5, 0xaa, 0x2a, 0x3f, 0x83, 0xb5, 0x53, 0xec, 0x39, 0x4f, 0xd3, 0x64, - 0x15, 0x2b, 0xfc, 0x5d, 0x58, 0xc8, 0xa4, 0xb0, 0x82, 0xab, 0x94, 0xdd, 0x97, 0x25, 0x37, 0x9e, - 0xc3, 0xb5, 0x1c, 0x5f, 0x6e, 0xa2, 0x1c, 0x7a, 0x53, 0xe9, 0xfd, 0x1f, 0x8d, 0xde, 0x1e, 0x85, - 0xde, 0x32, 0xfb, 0x75, 0x98, 0x67, 0x81, 0xe0, 0x3a, 0x94, 0x7d, 0xd3, 0x9a, 0xa3, 0xe3, 0x63, - 0x07, 0x6d, 0xc3, 0x62, 0x7a, 0x7e, 0xd1, 0x7a, 0x9d, 0xae, 0x37, 0xd3, 0xc9, 0x63, 0x07, 0x7d, - 0x0a, 0x6b, 0xf4, 0x41, 0x39, 0xc3, 0x5e, 0xd7, 0x77, 0x5c, 0xaf, 0x17, 0xe7, 0xfe, 0xd6, 0x0c, - 0x0d, 0xa9, 0x6d, 0x49, 0xd9, 0xc3, 0x88, 0xf8, 0x90, 0xd3, 0xf2, 0xac, 0x6a, 0xad, 0x62, 0xc5, - 0xac, 0xf1, 0x90, 0x66, 0xd8, 0xd3, 0x4b, 0x12, 0xe2, 0x81, 0xc2, 0x92, 0xac, 0xe6, 0x9a, 0xa0, - 0xb9, 0xf1, 0x07, 0x0d, 0x6e, 0xaa, 0xb7, 0x46, 0xaf, 0xda, 0x78, 0x06, 0x25, 0x56, 0xd5, 0xde, - 0xd4, 0xaa, 0xbf, 0x69, 0x70, 0x5d, 0x74, 0xcd, 0xc1, 0xe5, 0xb1, 0xe7, 0xe0, 0xd7, 0x15, 0xd4, - 0x5a, 0x85, 0x2b, 0x6e, 0x44, 0x4a, 0xb5, 0x58, 0xb4, 0xd8, 0xa0, 0x44, 0xd9, 0xfa, 0x9b, 0x2a, - 0xfb, 0xa5, 0x06, 0x5b, 0xa2, 0xb2, 0xe4, 0xe0, 0x92, 0x66, 0x85, 0xf4, 0xea, 0xbe, 0xb5, 0x63, - 0xd4, 0x73, 0x9e, 0x25, 0xc9, 0x2d, 0xfa, 0x09, 0xac, 0x64, 0xee, 0x1b, 0x2f, 0x67, 0x48, 0x4b, - 0x6b, 0xd7, 0x77, 0x16, 0xf6, 0xbe, 0x61, 0x66, 0x0a, 0x33, 0x53, 0x11, 0x1f, 0x8c, 0x89, 0x85, - 0xc2, 0x9c, 0x80, 0xe9, 0xae, 0xe3, 0xef, 0x35, 0x58, 0xcd, 0x9e, 0x61, 0xa2, 0xe6, 0xf7, 0xa1, - 0x99, 0x91, 0x11, 0xeb, 0x57, 0x96, 0x46, 0x04, 0xfa, 0xe9, 0xb4, 0xf9, 0x9d, 0x06, 0x2b, 0xaa, - 0xcc, 0xf3, 0x46, 0x29, 0x6d, 0x4a, 0x55, 0xea, 0xb0, 0x5e, 0x78, 0xfe, 0xe8, 0x21, 0xcc, 0xf2, - 0xe7, 0x49, 0xa3, 0xe1, 0xd2, 0x2e, 0xd6, 0x85, 0x3f, 0x52, 0x9c, 0x1e, 0x6d, 0xc1, 0x02, 0xfb, - 0xeb, 0xac, 0xeb, 0x3b, 0x98, 0x5f, 0x17, 0x60, 0x53, 0x8f, 0x7c, 0x07, 0x47, 0xb9, 0x0d, 0x07, - 0x81, 0x1f, 0x9c, 0x0d, 0x30, 0x21, 0x76, 0x0f, 0xd3, 0xab, 0xd2, 0xb0, 0x9a, 0x74, 0xf2, 0x09, - 0x9b, 0x43, 0xf7, 0x61, 0x96, 0xc6, 0x1e, 0x69, 0xcd, 0x50, 0xbf, 0xac, 0xaa, 0xc2, 0xd5, 0xe2, - 0x34, 0xc2, 0x3d, 0xb8, 0x22, 0xde, 0x83, 0xdb, 0xb0, 0x94, 0x8d, 0x46, 0xd7, 0x69, 0xcd, 0x52, - 0x82, 0xc5, 0xcc, 0xac, 0x2a, 0xe1, 0xce, 0x29, 0x12, 0xee, 0xcd, 0xf8, 0xe5, 0xe6, 0x55, 0xc4, - 0x3c, 0xad, 0x22, 0xd8, 0xeb, 0xcc, 0x2a, 0x0d, 0xc1, 0x15, 0x8d, 0xaa, 0xae, 0xf8, 0x26, 0xbc, - 0x73, 0x84, 0xc3, 0x7d, 0xd6, 0x96, 0xc4, 0x77, 0xbb, 0x05, 0x73, 0xb6, 0xe3, 0x04, 0x98, 0x90, - 0xf8, 0x6a, 0xf3, 0xa1, 0xf1, 0x6b, 0x40, 0x59, 0xf2, 0xa4, 0xb4, 0x9c, 0xe3, 0x8d, 0x0d, 0x0f, - 0x9f, 0x35, 0x49, 0x70, 0xbc, 0x21, 0x26, 0x9b, 0x2e, 0x6c, 0x3e, 0x82, 0x1b, 0xa9, 0xf0, 0x7d, - 0x55, 0x91, 0x58, 0xac, 0xf8, 0x6b, 0x58, 0x7e, 0x4b, 0x5a, 0x7f, 0x26, 0x6a, 0x7d, 0x90, 0x7a, - 0x6c, 0xac, 0xd6, 0x39, 0xaf, 0xd7, 0x72, 0x5e, 0x37, 0x3e, 0x85, 0x9b, 0x87, 0xb4, 0x7f, 0xc3, - 0xa7, 0xdd, 0xc0, 0x1d, 0xaa, 0xcf, 0x65, 0x0d, 0x66, 0x09, 0x5d, 0xe5, 0x02, 0xf8, 0x08, 0x5d, - 0x87, 0x86, 0x1d, 0xf4, 0x46, 0x03, 0x1a, 0xed, 0xb5, 0x76, 0x7d, 0xa7, 0x69, 0xa5, 0x13, 0xc6, - 0x10, 0x36, 0x25, 0xd6, 0xd5, 0xdf, 0x80, 0x54, 0x62, 0xad, 0x58, 0x62, 0x5d, 0x96, 0xf8, 0x9b, - 0x9c, 0x31, 0x8a, 0xe3, 0x92, 0x0f, 0x45, 0xcb, 0x5f, 0x85, 0xe9, 0xa4, 0x77, 0xe0, 0x5d, 0x41, - 0x7a, 0x12, 0x29, 0xab, 0x70, 0xe5, 0xa5, 0xdd, 0x1f, 0x61, 0x6e, 0x24, 0x1b, 0x4c, 0x17, 0x0d, - 0xff, 0xd5, 0x68, 0x38, 0xd0, 0x1c, 0x42, 0x7e, 0xe4, 0x07, 0xdc, 0x34, 0xdb, 0xeb, 0xe1, 0xd8, - 0x3e, 0x04, 0x33, 0xe1, 0xe5, 0x90, 0x09, 0x6b, 0x58, 0xf4, 0xef, 0xc8, 0x66, 0x12, 0xda, 0x41, - 0x28, 0x05, 0x02, 0x9d, 0xe3, 0x36, 0x6f, 0x02, 0x60, 0xcf, 0x89, 0x09, 0xea, 0x94, 0xa0, 0x81, - 0x3d, 0x87, 0x2f, 0x7f, 0x85, 0x15, 0xdb, 0x5f, 0x35, 0x5a, 0xb2, 0x25, 0x36, 0xf1, 0x28, 0x21, - 0x65, 0x06, 0x6d, 0x40, 0x23, 0x0e, 0x9d, 0x38, 0xf2, 0xe6, 0x79, 0xec, 0x90, 0xaf, 0xb2, 0xb4, - 0xf9, 0x77, 0x0d, 0x96, 0x98, 0xa2, 0x99, 0x07, 0x70, 0x4e, 0x2c, 0x14, 0x0c, 0xa1, 0x50, 0x10, - 0xa9, 0x4d, 0xfe, 0x58, 0xc5, 0x5b, 0xa6, 0x8a, 0x02, 0xfd, 0x9f, 0x1a, 0xcc, 0x32, 0x46, 0x65, - 0x77, 0x68, 0xfc, 0xed, 0xcf, 0xbc, 0x55, 0xf5, 0x0a, 0x6f, 0xd5, 0x23, 0x58, 0x66, 0x0c, 0x13, - 0x8c, 0x85, 0x3a, 0x3f, 0x7a, 0xee, 0x19, 0x0a, 0x63, 0xc6, 0x28, 0x8c, 0xf9, 0x34, 0xa6, 0xb0, - 0x96, 0xe8, 0x96, 0x64, 0x6c, 0x6c, 0x52, 0x67, 0x7f, 0x82, 0xc3, 0x57, 0x7e, 0xf0, 0xe2, 0xc4, - 0x0e, 0xec, 0x01, 0x0e, 0x71, 0x10, 0x3b, 0xdb, 0xf8, 0x90, 0xd6, 0xb9, 0x8a, 0x65, 0x7e, 0xda, - 0xeb, 0x30, 0xdf, 0xbd, 0xb0, 0x5d, 0x2f, 0xb6, 0xb7, 0x61, 0xcd, 0xd1, 0xf1, 0xb1, 0x63, 0xdc, - 0x81, 0xdb, 0x49, 0xef, 0x7f, 0x12, 0x29, 0xd2, 0xf5, 0xfb, 0xd1, 0x0b, 0x8f, 0x4f, 0x3d, 0x7b, - 0x48, 0x2e, 0xfc, 0x38, 0x03, 0x18, 0x87, 0xb0, 0x73, 0x84, 0xd5, 0x24, 0x13, 0xd4, 0xa9, 0xc6, - 0x63, 0xb8, 0x53, 0xcc, 0x66, 0xd2, 0x9c, 0x13, 0xf5, 0xae, 0x9b, 0x05, 0x5a, 0x73, 0xd3, 0x4d, - 0x40, 0x04, 0x07, 0xae, 0xdd, 0x77, 0x7f, 0x85, 0x9d, 0x78, 0x95, 0x2b, 0xa5, 0x58, 0x99, 0x2e, - 0xc1, 0xfc, 0x00, 0xb6, 0xa3, 0xbb, 0x18, 0x43, 0x7a, 0x2c, 0xca, 0xd2, 0x4b, 0x59, 0xe1, 0x58, - 0xfe, 0xa2, 0xc5, 0x59, 0x58, 0xb9, 0x9f, 0x1b, 0x73, 0x0c, 0x57, 0x65, 0xdc, 0xb0, 0x00, 0x48, - 0x93, 0x78, 0x59, 0xcb, 0x58, 0x9c, 0x98, 0xce, 0xce, 0x5d, 0x8a, 0x8f, 0x49, 0xbc, 0xcb, 0xb0, - 0x85, 0x3f, 0x6b, 0xb0, 0xa1, 0x24, 0xff, 0x9a, 0x18, 0xf4, 0x77, 0x0d, 0xd6, 0x4e, 0x47, 0x9d, - 0xe8, 0xa5, 0xea, 0x60, 0x7a, 0xda, 0x49, 0x02, 0xbd, 0x05, 0x4b, 0x2c, 0xfb, 0x4b, 0x2e, 0x63, - 0x6f, 0xc2, 0x01, 0x4f, 0x17, 0xf7, 0x01, 0x65, 0xa9, 0x84, 0xa4, 0x71, 0x35, 0xa5, 0xe4, 0x99, - 0x43, 0x86, 0x82, 0xea, 0x13, 0x41, 0x41, 0xc6, 0x21, 0x5c, 0xcb, 0x29, 0x3b, 0x39, 0x20, 0x65, - 0xfc, 0x02, 0xee, 0x9e, 0x62, 0xcf, 0xd9, 0xf7, 0x9c, 0x84, 0x5b, 0xae, 0xbc, 0xc7, 0xe4, 0xff, - 0x83, 0xbe, 0xfc, 0x49, 0x83, 0x7b, 0x95, 0x84, 0x15, 0x40, 0x32, 0x69, 0x5f, 0x52, 0x9b, 0xb0, - 0x2f, 0xa9, 0xd2, 0x76, 0xec, 0x7d, 0xb9, 0x01, 0x8d, 0x7d, 0xfa, 0xe4, 0xec, 0x9f, 0x1c, 0xa3, - 0xef, 0xc0, 0xcc, 0x89, 0xeb, 0xf5, 0x50, 0x4b, 0x78, 0x8b, 0x32, 0x40, 0xb8, 0xbe, 0xae, 0x58, - 0xe1, 0x9a, 0x63, 0x5a, 0xa5, 0x4b, 0x00, 0x36, 0x12, 0xfb, 0xdf, 0x42, 0xd0, 0x5c, 0xbf, 0x33, - 0x96, 0x8e, 0x8b, 0xe9, 0xc0, 0xaa, 0x0a, 0x0b, 0x47, 0x3b, 0x32, 0x83, 0x22, 0xb8, 0x5c, 0x6f, - 0x0b, 0x94, 0x2a, 0xd4, 0xfa, 0x39, 0x35, 0x45, 0xc2, 0xcc, 0xf3, 0xa6, 0xa8, 0x41, 0xf5, 0x0a, - 0xfc, 0xcf, 0x61, 0x4d, 0x0d, 0xb3, 0xa3, 0xbb, 0xa5, 0x32, 0x84, 0xe7, 0xa1, 0x82, 0x9c, 0x13, - 0x58, 0x12, 0x0f, 0x02, 0x19, 0x25, 0xa7, 0x14, 0xf3, 0xd5, 0xf3, 0x7c, 0x13, 0x8e, 0x8f, 0xa1, - 0x99, 0xc5, 0xb0, 0x51, 0x5b, 0xa9, 0x6f, 0xf6, 0x34, 0xca, 0xb8, 0x3d, 0x85, 0xab, 0x32, 0x74, - 0x8d, 0x6e, 0x15, 0x70, 0x14, 0x6d, 0x2f, 0xe3, 0xfa, 0x33, 0xda, 0x5d, 0x8a, 0xd8, 0x2f, 0xba, - 0x2d, 0xb3, 0x55, 0x62, 0xc3, 0xfa, 0x96, 0x40, 0xa6, 0x40, 0x85, 0x7f, 0x0e, 0xcb, 0x12, 0x9a, - 0x8a, 0xb6, 0x85, 0x3d, 0x6a, 0x0c, 0x57, 0xbf, 0x55, 0x4e, 0xc4, 0xb9, 0x3f, 0xa3, 0x0e, 0xcb, - 0x32, 0xcf, 0x39, 0x4c, 0xc1, 0xbb, 0x5d, 0x82, 0x31, 0x65, 0x2f, 0x4d, 0x0e, 0xfd, 0xa8, 0xc4, - 0xbd, 0x22, 0x82, 0x85, 0x86, 0xb4, 0x44, 0xcb, 0xad, 0x73, 0xc4, 0x11, 0xbd, 0x57, 0x22, 0x4a, - 0x44, 0x25, 0x2b, 0x4b, 0x7c, 0x45, 0xbb, 0x9a, 0x3c, 0x32, 0x97, 0x94, 0x63, 0xe8, 0x7e, 0x89, - 0xd0, 0x1c, 0xba, 0x28, 0xe5, 0xa0, 0x12, 0xc4, 0xef, 0x05, 0xfd, 0xba, 0xa0, 0xe4, 0x35, 0xa1, - 0xc8, 0x9b, 0x45, 0x22, 0x89, 0xe4, 0xbb, 0x1c, 0xbe, 0x9c, 0x4f, 0x78, 0x45, 0xe8, 0x75, 0x85, - 0xf8, 0x08, 0xe9, 0x27, 0xcb, 0x02, 0x0c, 0x1b, 0x99, 0x15, 0x24, 0x65, 0xc0, 0xee, 0xca, 0xfe, - 0x7b, 0x02, 0x90, 0x82, 0x14, 0xe8, 0x86, 0x2c, 0x45, 0xc4, 0x87, 0xa4, 0xab, 0xa9, 0x00, 0x84, - 0x1c, 0xfa, 0x21, 0x4c, 0x85, 0xd4, 0xa0, 0x7b, 0x05, 0x7b, 0x55, 0xb8, 0x85, 0x7e, 0x5d, 0x20, - 0x1e, 0x23, 0x25, 0x5b, 0xdd, 0x14, 0x4b, 0xc9, 0x03, 0x0a, 0x63, 0xa4, 0x0c, 0x41, 0x2f, 0x06, - 0x58, 0x24, 0x87, 0x8c, 0x45, 0x62, 0x74, 0xa3, 0x98, 0x3e, 0x91, 0x78, 0x01, 0x6b, 0x6a, 0xdc, - 0x45, 0x7a, 0x93, 0x4a, 0xc1, 0x99, 0x4a, 0x92, 0xf2, 0xb6, 0x65, 0x0f, 0xd1, 0x1c, 0x2b, 0x4d, - 0x3c, 0xc7, 0x2a, 0x12, 0xbb, 0xd4, 0x67, 0x2a, 0xf8, 0x23, 0xef, 0xb3, 0x12, 0x90, 0x44, 0xdf, - 0x28, 0xe9, 0xd1, 0xd1, 0x67, 0xf4, 0x9e, 0xe6, 0xf0, 0x88, 0xfc, 0x3d, 0x2d, 0x82, 0x2c, 0xca, - 0xd9, 0xbf, 0xa0, 0xec, 0x73, 0x2d, 0x6e, 0x9e, 0x7d, 0x51, 0x93, 0xac, 0xbf, 0x57, 0x81, 0x92, - 0x0b, 0xfb, 0x9c, 0x01, 0x46, 0x25, 0x5d, 0x31, 0xda, 0x53, 0x57, 0x12, 0x65, 0x2d, 0xb4, 0x2e, - 0x46, 0x52, 0x79, 0xdf, 0xfa, 0x5b, 0xf6, 0x5d, 0xad, 0xbc, 0xdf, 0x46, 0xdf, 0x96, 0xb5, 0xa8, - 0xd4, 0x9f, 0x4f, 0xa4, 0xc8, 0x17, 0x1a, 0xb4, 0xc7, 0x75, 0xec, 0xe8, 0x5b, 0x15, 0xf5, 0x10, - 0x63, 0x77, 0x12, 0x35, 0x3e, 0x67, 0xdf, 0xf2, 0x0a, 0x7b, 0x64, 0xf4, 0x20, 0x17, 0x67, 0x63, - 0xda, 0x71, 0x5d, 0x75, 0xd5, 0xca, 0xba, 0x6f, 0x8f, 0x96, 0xad, 0x8a, 0x76, 0x36, 0x5f, 0xb6, - 0x16, 0xb7, 0xc8, 0xfa, 0x4e, 0x99, 0x54, 0xa1, 0x39, 0x7e, 0x0e, 0xcb, 0x52, 0xbb, 0x27, 0xd7, - 0x5a, 0xca, 0xce, 0x55, 0xae, 0xb5, 0xd4, 0x1d, 0xe3, 0x03, 0x0d, 0xfd, 0x51, 0x83, 0xed, 0x0a, - 0xbd, 0x19, 0xfa, 0x20, 0x57, 0xbb, 0x55, 0x6b, 0x1d, 0xf5, 0x87, 0x93, 0x6f, 0x8c, 0x95, 0x3b, - 0x78, 0x0c, 0xba, 0x1f, 0xf4, 0x4c, 0xdf, 0xa3, 0x2c, 0x12, 0x88, 0x8c, 0xf1, 0xfa, 0xa9, 0xd9, - 0x73, 0xc3, 0x8b, 0x51, 0xc7, 0xec, 0xfa, 0x83, 0x5d, 0x46, 0xb2, 0x4b, 0xff, 0x49, 0x7e, 0xd0, - 0xd4, 0xf3, 0x77, 0x33, 0xbf, 0x15, 0xeb, 0xcc, 0xd2, 0x85, 0xf7, 0xff, 0x17, 0x00, 0x00, 0xff, - 0xff, 0x09, 0xf9, 0xfa, 0x9a, 0x41, 0x26, 0x00, 0x00, + 0x9e, 0x24, 0x06, 0x0e, 0x7b, 0x58, 0x21, 0x24, 0x3e, 0xc0, 0x0a, 0x04, 0x27, 0x4e, 0x70, 0xe1, + 0x8c, 0x38, 0x20, 0xf1, 0x0d, 0x38, 0xf3, 0x65, 0x50, 0x57, 0x55, 0xff, 0xa9, 0xea, 0xea, 0x9e, + 0x9e, 0x09, 0xab, 0xec, 0x25, 0x71, 0x55, 0xbd, 0x7a, 0x7f, 0xea, 0xbd, 0x7a, 0xf5, 0xde, 0xaf, + 0x07, 0x5a, 0xe7, 0x7d, 0xff, 0xd5, 0xae, 0xdd, 0xed, 0x62, 0x42, 0xf8, 0x7f, 0xe6, 0x30, 0xf0, + 0x43, 0x1f, 0x2d, 0x44, 0x2b, 0x26, 0x9b, 0xd2, 0x37, 0x28, 0x19, 0xf6, 0x42, 0x37, 0x74, 0x31, + 0x25, 0xf4, 0x47, 0x5e, 0xc8, 0x28, 0xf5, 0xb6, 0xb8, 0xd8, 0xe9, 0xfb, 0xdd, 0x17, 0x67, 0x17, + 0xd8, 0x76, 0x70, 0xc0, 0x29, 0xd6, 0x15, 0x14, 0x7c, 0xe9, 0x86, 0xb8, 0xd4, 0xf5, 0xfb, 0x7d, + 0xdc, 0x0d, 0x5d, 0xdf, 0x53, 0x6f, 0xc5, 0x2f, 0x71, 0x22, 0xf7, 0x96, 0xb4, 0xf4, 0x1a, 0x77, + 0x47, 0xd1, 0xce, 0xb3, 0x00, 0x93, 0x51, 0x3f, 0xa6, 0xba, 0x2e, 0x52, 0x0d, 0x70, 0x68, 0x3b, + 0x76, 0x68, 0xf3, 0xd5, 0xdb, 0xe2, 0xaa, 0xe7, 0x3b, 0xf8, 0xec, 0x25, 0x0e, 0x48, 0xc4, 0xc6, + 0xf5, 0xce, 0x7d, 0x4e, 0xb6, 0x25, 0x92, 0x85, 0x81, 0xed, 0x11, 0x3b, 0xab, 0xe6, 0x56, 0xcf, + 0xf7, 0x7b, 0x7d, 0xbc, 0x4b, 0x47, 0x9d, 0xd1, 0xf9, 0x6e, 0xe8, 0x0e, 0x30, 0x09, 0xed, 0xc1, + 0x90, 0x11, 0x18, 0x8b, 0xb0, 0x70, 0xe2, 0x7a, 0x3d, 0x0b, 0xff, 0x72, 0x84, 0x49, 0x68, 0x2c, + 0x41, 0x93, 0x0d, 0xc9, 0xd0, 0xf7, 0x08, 0x36, 0x36, 0x60, 0xfd, 0x08, 0x87, 0x9f, 0xf8, 0x0e, + 0x7e, 0xc6, 0xa4, 0x1f, 0x7b, 0xe7, 0x7e, 0x4c, 0x7c, 0x02, 0xba, 0x6a, 0x91, 0x6d, 0x45, 0x7b, + 0x30, 0x13, 0x69, 0xda, 0xd2, 0xda, 0xda, 0xce, 0xc2, 0xde, 0x0d, 0x93, 0xfa, 0x2d, 0x56, 0xd5, + 0x94, 0x77, 0x51, 0x5a, 0xe3, 0x23, 0xd8, 0x38, 0xc2, 0xe1, 0x63, 0x3b, 0xc4, 0x24, 0x3c, 0x88, + 0xbc, 0xf1, 0x31, 0x75, 0x17, 0x17, 0x88, 0x36, 0xa0, 0xe1, 0x92, 0x33, 0x82, 0xed, 0x3e, 0x76, + 0x28, 0xdf, 0x79, 0x6b, 0xde, 0x25, 0xa7, 0x74, 0x6c, 0xdc, 0xa3, 0xaa, 0x66, 0x76, 0x1d, 0x5c, + 0x1e, 0xff, 0x30, 0xde, 0xb9, 0x04, 0x35, 0x97, 0x6d, 0x69, 0x5a, 0x35, 0xd7, 0x31, 0x3e, 0x80, + 0x4d, 0x99, 0xf8, 0x63, 0xec, 0xf6, 0x2e, 0xc2, 0x78, 0xc3, 0x1a, 0xcc, 0x5e, 0xd0, 0x09, 0xba, + 0x69, 0xc6, 0xe2, 0x23, 0xe3, 0x9f, 0x1a, 0xac, 0x08, 0x9a, 0x71, 0x6b, 0x1f, 0xc0, 0x15, 0x1a, + 0x3e, 0xdc, 0x5c, 0x5d, 0x32, 0x37, 0xbb, 0x85, 0x11, 0xa2, 0xef, 0x41, 0x93, 0x85, 0x24, 0x09, + 0xed, 0x70, 0x44, 0x5a, 0xb5, 0xb6, 0xb6, 0xb3, 0xa4, 0xde, 0x78, 0x4a, 0x29, 0xac, 0x85, 0x4e, + 0x3a, 0x40, 0xef, 0xc3, 0x7c, 0x1c, 0x33, 0xad, 0x3a, 0x95, 0x79, 0x4d, 0xda, 0xfa, 0x84, 0x2f, + 0x5b, 0x09, 0xa1, 0xe1, 0xc0, 0xbb, 0xe2, 0xf9, 0x56, 0x39, 0x59, 0x64, 0xc2, 0xca, 0xf9, 0xa8, + 0xdf, 0x3f, 0x63, 0xea, 0x06, 0xdc, 0x64, 0xaa, 0xf0, 0xbc, 0xf5, 0x4e, 0xb4, 0xc4, 0x79, 0xf1, + 0xa0, 0xf9, 0x31, 0xac, 0xc4, 0x87, 0x5b, 0xe2, 0x83, 0x89, 0xd9, 0xda, 0x70, 0x2d, 0x65, 0x5b, + 0xc9, 0x5b, 0x13, 0x8b, 0xf8, 0xbb, 0x06, 0x8b, 0xc2, 0x0c, 0xba, 0x2b, 0xfa, 0x75, 0x55, 0xe5, + 0x9e, 0xb7, 0xe9, 0xd1, 0xbb, 0xd0, 0x3a, 0xc2, 0xe1, 0xa3, 0x24, 0x3d, 0x95, 0x05, 0xfd, 0x17, + 0x1a, 0xa0, 0x94, 0x32, 0x31, 0xf1, 0x43, 0x80, 0x34, 0xbd, 0x71, 0x3b, 0xd7, 0x25, 0xc9, 0x99, + 0x6d, 0x19, 0x62, 0x41, 0xe5, 0x5a, 0x55, 0x95, 0x9f, 0xc1, 0xda, 0x29, 0xf6, 0x9c, 0xa7, 0x69, + 0xb2, 0x8a, 0x15, 0xfe, 0x2e, 0x2c, 0x64, 0x52, 0x58, 0xc1, 0x55, 0xca, 0xee, 0xcb, 0x92, 0x1b, + 0xcf, 0xe1, 0x5a, 0x8e, 0x2f, 0x37, 0x51, 0x0e, 0xbd, 0xa9, 0xf4, 0xfe, 0xb7, 0x46, 0x6f, 0x8f, + 0x42, 0x6f, 0x99, 0xfd, 0x3a, 0xcc, 0xb3, 0x40, 0x70, 0x1d, 0xca, 0xbe, 0x69, 0xcd, 0xd1, 0xf1, + 0xb1, 0x83, 0xb6, 0x61, 0x31, 0x3d, 0xbf, 0x68, 0xbd, 0x4e, 0xd7, 0x9b, 0xe9, 0xe4, 0xb1, 0x83, + 0x3e, 0x85, 0x35, 0xfa, 0xa0, 0x9c, 0x61, 0xaf, 0xeb, 0x3b, 0xae, 0xd7, 0x8b, 0x73, 0x7f, 0x6b, + 0x86, 0x86, 0xd4, 0xb6, 0xa4, 0xec, 0x61, 0x44, 0x7c, 0xc8, 0x69, 0x79, 0x56, 0xb5, 0x56, 0xb1, + 0x62, 0xd6, 0x78, 0x48, 0x33, 0xec, 0xe9, 0x25, 0x09, 0xf1, 0x40, 0x61, 0x49, 0x56, 0x73, 0x4d, + 0xd0, 0xdc, 0xf8, 0x83, 0x06, 0x37, 0xd5, 0x5b, 0xa3, 0x57, 0x6d, 0x3c, 0x83, 0x12, 0xab, 0x6a, + 0x6f, 0x6a, 0xd5, 0xdf, 0x34, 0xb8, 0x2e, 0xba, 0xe6, 0xe0, 0xf2, 0xd8, 0x73, 0xf0, 0xeb, 0x0a, + 0x6a, 0xad, 0xc2, 0x15, 0x37, 0x22, 0xa5, 0x5a, 0x2c, 0x5a, 0x6c, 0x50, 0xa2, 0x6c, 0xfd, 0x4d, + 0x95, 0xfd, 0x52, 0x83, 0x2d, 0x51, 0x59, 0x72, 0x70, 0x49, 0xb3, 0x42, 0x7a, 0x75, 0xdf, 0xda, + 0x31, 0xea, 0x39, 0xcf, 0x92, 0xe4, 0x16, 0xfd, 0x04, 0x56, 0x32, 0xf7, 0x8d, 0x97, 0x33, 0xa4, + 0xa5, 0xb5, 0xeb, 0x3b, 0x0b, 0x7b, 0xdf, 0x30, 0x33, 0x85, 0x99, 0xa9, 0x88, 0x0f, 0xc6, 0xc4, + 0x42, 0x61, 0x4e, 0xc0, 0x74, 0xd7, 0xf1, 0xf7, 0x1a, 0xac, 0x66, 0xcf, 0x30, 0x51, 0xf3, 0xfb, + 0xd0, 0xcc, 0xc8, 0x88, 0xf5, 0x2b, 0x4b, 0x23, 0x02, 0xfd, 0x74, 0xda, 0xfc, 0x4e, 0x83, 0x15, + 0x55, 0xe6, 0x79, 0xa3, 0x94, 0x36, 0xa5, 0x2a, 0x75, 0x58, 0x2f, 0x3c, 0x7f, 0xf4, 0x10, 0x66, + 0xf9, 0xf3, 0xa4, 0xd1, 0x70, 0x69, 0x17, 0xeb, 0xc2, 0x1f, 0x29, 0x4e, 0x8f, 0xb6, 0x60, 0x81, + 0xfd, 0x75, 0xd6, 0xf5, 0x1d, 0xcc, 0xaf, 0x0b, 0xb0, 0xa9, 0x47, 0xbe, 0x83, 0xa3, 0xdc, 0x86, + 0x83, 0xc0, 0x0f, 0xce, 0x06, 0x98, 0x10, 0xbb, 0x87, 0xe9, 0x55, 0x69, 0x58, 0x4d, 0x3a, 0xf9, + 0x84, 0xcd, 0xa1, 0xfb, 0x30, 0x4b, 0x63, 0x8f, 0xb4, 0x66, 0xa8, 0x5f, 0x56, 0x55, 0xe1, 0x6a, + 0x71, 0x1a, 0xe1, 0x1e, 0x5c, 0x11, 0xef, 0xc1, 0x6d, 0x58, 0xca, 0x46, 0xa3, 0xeb, 0xb4, 0x66, + 0x29, 0xc1, 0x62, 0x66, 0x56, 0x95, 0x70, 0xe7, 0x14, 0x09, 0xf7, 0x66, 0xfc, 0x72, 0xf3, 0x2a, + 0x62, 0x9e, 0x56, 0x11, 0xec, 0x75, 0x66, 0x95, 0x86, 0xe0, 0x8a, 0x46, 0x55, 0x57, 0x7c, 0x13, + 0xde, 0x39, 0xc2, 0xe1, 0x3e, 0x6b, 0x4b, 0xe2, 0xbb, 0xdd, 0x82, 0x39, 0xdb, 0x71, 0x02, 0x4c, + 0x48, 0x7c, 0xb5, 0xf9, 0xd0, 0xf8, 0x35, 0xa0, 0x2c, 0x79, 0x52, 0x5a, 0xce, 0xf1, 0xc6, 0x86, + 0x87, 0xcf, 0x9a, 0x24, 0x38, 0xde, 0x10, 0x93, 0x4d, 0x17, 0x36, 0x1f, 0xc1, 0x8d, 0x54, 0xf8, + 0xbe, 0xaa, 0x48, 0x2c, 0x56, 0xfc, 0x35, 0x2c, 0xbf, 0x25, 0xad, 0x3f, 0x13, 0xb5, 0x3e, 0x48, + 0x3d, 0x36, 0x56, 0xeb, 0x9c, 0xd7, 0x6b, 0x39, 0xaf, 0x1b, 0x9f, 0xc2, 0xcd, 0x43, 0xda, 0xbf, + 0xe1, 0xd3, 0x6e, 0xe0, 0x0e, 0xd5, 0xe7, 0xb2, 0x06, 0xb3, 0x84, 0xae, 0x72, 0x01, 0x7c, 0x84, + 0xae, 0x43, 0xc3, 0x0e, 0x7a, 0xa3, 0x01, 0x8d, 0xf6, 0x5a, 0xbb, 0xbe, 0xd3, 0xb4, 0xd2, 0x09, + 0x63, 0x08, 0x9b, 0x12, 0xeb, 0xea, 0x6f, 0x40, 0x2a, 0xb1, 0x56, 0x2c, 0xb1, 0x2e, 0x4b, 0xfc, + 0x4d, 0xce, 0x18, 0xc5, 0x71, 0xc9, 0x87, 0xa2, 0xe5, 0xaf, 0xc2, 0x74, 0xd2, 0x3b, 0xf0, 0xae, + 0x20, 0x3d, 0x89, 0x94, 0x55, 0xb8, 0xf2, 0xd2, 0xee, 0x8f, 0x30, 0x37, 0x92, 0x0d, 0xa6, 0x8b, + 0x86, 0xff, 0x68, 0x34, 0x1c, 0x68, 0x0e, 0x21, 0x3f, 0xf2, 0x03, 0x6e, 0x9a, 0xed, 0xf5, 0x70, + 0x6c, 0x1f, 0x82, 0x99, 0xf0, 0x72, 0xc8, 0x84, 0x35, 0x2c, 0xfa, 0x77, 0x64, 0x33, 0x09, 0xed, + 0x20, 0x94, 0x02, 0x81, 0xce, 0x71, 0x9b, 0x37, 0x01, 0xb0, 0xe7, 0xc4, 0x04, 0x75, 0x4a, 0xd0, + 0xc0, 0x9e, 0xc3, 0x97, 0xbf, 0xc2, 0x8a, 0xed, 0xaf, 0x1a, 0x2d, 0xd9, 0x12, 0x9b, 0x78, 0x94, + 0x90, 0x32, 0x83, 0x36, 0xa0, 0x11, 0x87, 0x4e, 0x1c, 0x79, 0xf3, 0x3c, 0x76, 0xc8, 0x57, 0x59, + 0xda, 0xfc, 0xab, 0x06, 0x4b, 0x4c, 0xd1, 0xcc, 0x03, 0x38, 0x27, 0x16, 0x0a, 0x86, 0x50, 0x28, + 0x88, 0xd4, 0x26, 0x7f, 0xac, 0xe2, 0x2d, 0x53, 0x45, 0x81, 0xfe, 0x0f, 0x0d, 0x66, 0x19, 0xa3, + 0xb2, 0x3b, 0x34, 0xfe, 0xf6, 0x67, 0xde, 0xaa, 0x7a, 0x85, 0xb7, 0xea, 0x11, 0x2c, 0x33, 0x86, + 0x09, 0xc6, 0x42, 0x9d, 0x1f, 0x3d, 0xf7, 0x0c, 0x85, 0x31, 0x63, 0x14, 0xc6, 0x7c, 0x1a, 0x53, + 0x58, 0x4b, 0x74, 0x4b, 0x32, 0x36, 0x36, 0xa9, 0xb3, 0x3f, 0xc1, 0xe1, 0x2b, 0x3f, 0x78, 0x71, + 0x62, 0x07, 0xf6, 0x00, 0x87, 0x38, 0x88, 0x9d, 0x6d, 0x7c, 0x48, 0xeb, 0x5c, 0xc5, 0x32, 0x3f, + 0xed, 0x75, 0x98, 0xef, 0x5e, 0xd8, 0xae, 0x17, 0xdb, 0xdb, 0xb0, 0xe6, 0xe8, 0xf8, 0xd8, 0x31, + 0xee, 0xc0, 0xed, 0xa4, 0xf7, 0x3f, 0x89, 0x14, 0xe9, 0xfa, 0xfd, 0xe8, 0x85, 0xc7, 0xa7, 0x9e, + 0x3d, 0x24, 0x17, 0x7e, 0x9c, 0x01, 0x8c, 0x43, 0xd8, 0x39, 0xc2, 0x6a, 0x92, 0x09, 0xea, 0x54, + 0xe3, 0x31, 0xdc, 0x29, 0x66, 0x33, 0x69, 0xce, 0x89, 0x7a, 0xd7, 0xcd, 0x02, 0xad, 0xb9, 0xe9, + 0x26, 0x20, 0x82, 0x03, 0xd7, 0xee, 0xbb, 0xbf, 0xc2, 0x4e, 0xbc, 0xca, 0x95, 0x52, 0xac, 0x4c, + 0x97, 0x60, 0x7e, 0x00, 0xdb, 0xd1, 0x5d, 0x8c, 0x21, 0x3d, 0x16, 0x65, 0xe9, 0xa5, 0xac, 0x70, + 0x2c, 0x7f, 0xd1, 0xe2, 0x2c, 0xac, 0xdc, 0xcf, 0x8d, 0x39, 0x86, 0xab, 0x32, 0x6e, 0x58, 0x00, + 0xa4, 0x49, 0xbc, 0xac, 0x65, 0x2c, 0x4e, 0x4c, 0x67, 0xe7, 0x2e, 0xc5, 0xc7, 0x24, 0xde, 0x65, + 0xd8, 0xc2, 0x9f, 0x35, 0xd8, 0x50, 0x92, 0x7f, 0x4d, 0x0c, 0xfa, 0xaf, 0x06, 0x6b, 0xa7, 0xa3, + 0x4e, 0xf4, 0x52, 0x75, 0x30, 0x3d, 0xed, 0x24, 0x81, 0xde, 0x82, 0x25, 0x96, 0xfd, 0x25, 0x97, + 0xb1, 0x37, 0xe1, 0x80, 0xa7, 0x8b, 0xfb, 0x80, 0xb2, 0x54, 0x42, 0xd2, 0xb8, 0x9a, 0x52, 0xf2, + 0xcc, 0x21, 0x43, 0x41, 0xf5, 0xc9, 0xa0, 0xa0, 0x02, 0xdc, 0x6a, 0xa6, 0x08, 0xb7, 0x3a, 0x84, + 0x6b, 0x39, 0xe3, 0x26, 0x07, 0xb0, 0x8c, 0x5f, 0xc0, 0xdd, 0x53, 0xec, 0x39, 0xfb, 0x9e, 0x93, + 0x70, 0xcb, 0xb5, 0x03, 0x98, 0xfc, 0x7f, 0xd0, 0x9a, 0x3f, 0x69, 0x70, 0xaf, 0x92, 0xb0, 0x02, + 0x08, 0x27, 0xed, 0x63, 0x6a, 0x13, 0xf6, 0x31, 0x55, 0xda, 0x94, 0xbd, 0x2f, 0x37, 0xa0, 0xb1, + 0x4f, 0x9f, 0xa8, 0xfd, 0x93, 0x63, 0xf4, 0x1d, 0x98, 0x39, 0x71, 0xbd, 0x1e, 0x6a, 0x09, 0x6f, + 0x57, 0x06, 0x38, 0xd7, 0xd7, 0x15, 0x2b, 0x5c, 0x73, 0x4c, 0xab, 0x7a, 0x09, 0xf0, 0x46, 0x62, + 0xbf, 0x5c, 0x08, 0xb2, 0xeb, 0x77, 0xc6, 0xd2, 0x71, 0x31, 0x1d, 0x58, 0x55, 0x61, 0xe7, 0x68, + 0x47, 0x66, 0x50, 0x04, 0xaf, 0xeb, 0x6d, 0x81, 0x52, 0x85, 0x72, 0x3f, 0xa7, 0xa6, 0x48, 0x18, + 0x7b, 0xde, 0x14, 0x35, 0x08, 0x5f, 0x81, 0xff, 0x39, 0xac, 0xa9, 0x61, 0x79, 0x74, 0xb7, 0x54, + 0x86, 0xf0, 0x9c, 0x54, 0x90, 0x73, 0x02, 0x4b, 0xe2, 0x41, 0x20, 0xa3, 0xe4, 0x94, 0x62, 0xbe, + 0x7a, 0x9e, 0x6f, 0xc2, 0xf1, 0x31, 0x34, 0xb3, 0x98, 0x37, 0x6a, 0x2b, 0xf5, 0xcd, 0x9e, 0x46, + 0x19, 0xb7, 0xa7, 0x70, 0x55, 0x86, 0xba, 0xd1, 0xad, 0x02, 0x8e, 0xa2, 0xed, 0x65, 0x5c, 0x7f, + 0x46, 0xbb, 0x51, 0x11, 0x2b, 0x46, 0xb7, 0x65, 0xb6, 0x4a, 0x2c, 0x59, 0xdf, 0x12, 0xc8, 0x14, + 0x28, 0xf2, 0xcf, 0x61, 0x59, 0x42, 0x5f, 0xd1, 0xb6, 0xb0, 0x47, 0x8d, 0xf9, 0xea, 0xb7, 0xca, + 0x89, 0x38, 0xf7, 0x67, 0xd4, 0x61, 0x59, 0xe6, 0x39, 0x87, 0x29, 0x78, 0xb7, 0x4b, 0x30, 0xa9, + 0xec, 0xa5, 0xc9, 0xa1, 0x25, 0x95, 0xb8, 0x57, 0x44, 0xbc, 0xd0, 0x90, 0x96, 0x74, 0xb9, 0x75, + 0x8e, 0x50, 0xa2, 0xf7, 0x4a, 0x44, 0x89, 0x28, 0x66, 0x65, 0x89, 0xaf, 0x68, 0x17, 0x94, 0x47, + 0xf2, 0x92, 0xf2, 0x0d, 0xdd, 0x2f, 0x11, 0x9a, 0x43, 0x23, 0xa5, 0x1c, 0x54, 0x82, 0x10, 0xbe, + 0xa0, 0x5f, 0x23, 0x94, 0xbc, 0x26, 0x14, 0x79, 0xb3, 0x48, 0x24, 0x91, 0x7c, 0x97, 0xc3, 0xa3, + 0xf3, 0x09, 0xaf, 0x08, 0xed, 0xae, 0x10, 0x1f, 0x21, 0xfd, 0xc4, 0x59, 0x80, 0x79, 0x23, 0xb3, + 0x82, 0xa4, 0x0c, 0x38, 0x5e, 0xd9, 0x7f, 0x4f, 0x00, 0x52, 0x50, 0x03, 0xdd, 0x90, 0xa5, 0x88, + 0x78, 0x92, 0x74, 0x35, 0x15, 0x00, 0x92, 0x43, 0x3f, 0x9c, 0xa9, 0x90, 0x1d, 0x74, 0xaf, 0x60, + 0xaf, 0x0a, 0xe7, 0xd0, 0xaf, 0x0b, 0xc4, 0x63, 0xa4, 0x64, 0xab, 0xa1, 0x62, 0x29, 0x79, 0x00, + 0x62, 0x8c, 0x94, 0x21, 0xe8, 0xc5, 0x80, 0x8c, 0xe4, 0x90, 0xb1, 0xc8, 0x8d, 0x6e, 0x14, 0xd3, + 0x27, 0x12, 0x2f, 0x60, 0x4d, 0x8d, 0xd3, 0x48, 0x6f, 0x52, 0x29, 0x98, 0x53, 0x49, 0x52, 0xde, + 0xb6, 0xec, 0x21, 0x9a, 0x63, 0xa5, 0x89, 0xe7, 0x58, 0x45, 0x62, 0x97, 0xfa, 0x4c, 0x05, 0x97, + 0xe4, 0x7d, 0x56, 0x02, 0xaa, 0xe8, 0x1b, 0x25, 0x3d, 0x3d, 0xfa, 0x8c, 0xde, 0xd3, 0x1c, 0x7e, + 0x91, 0xbf, 0xa7, 0x45, 0x10, 0x47, 0x39, 0xfb, 0x17, 0x94, 0x7d, 0xae, 0x25, 0xce, 0xb3, 0x2f, + 0x6a, 0xaa, 0xf5, 0xf7, 0x2a, 0x50, 0x72, 0x61, 0x9f, 0x33, 0x80, 0xa9, 0xa4, 0x8b, 0x46, 0x7b, + 0xea, 0x4a, 0xa2, 0xac, 0xe5, 0xd6, 0xc5, 0x48, 0x2a, 0xef, 0x73, 0x7f, 0xcb, 0xbe, 0xc3, 0x95, + 0xf7, 0xe7, 0xe8, 0xdb, 0xb2, 0x16, 0x95, 0xfa, 0xf9, 0x89, 0x14, 0xf9, 0x42, 0x83, 0xf6, 0xb8, + 0x0e, 0x1f, 0x7d, 0xab, 0xa2, 0x1e, 0x62, 0xec, 0x4e, 0xa2, 0xc6, 0xe7, 0xec, 0xdb, 0x5f, 0x61, + 0x4f, 0x8d, 0x1e, 0xe4, 0xe2, 0x6c, 0x4c, 0xfb, 0xae, 0xab, 0xae, 0x5a, 0x59, 0xb7, 0xee, 0xd1, + 0xb2, 0x55, 0xd1, 0xfe, 0xe6, 0xcb, 0xd6, 0xe2, 0x96, 0x5a, 0xdf, 0x29, 0x93, 0x2a, 0x34, 0xd3, + 0xcf, 0x61, 0x59, 0x6a, 0xf7, 0xe4, 0x5a, 0x4b, 0xd9, 0xe9, 0xca, 0xb5, 0x96, 0xba, 0x63, 0x7c, + 0xa0, 0xa1, 0x3f, 0x6a, 0xb0, 0x5d, 0xa1, 0x37, 0x43, 0x1f, 0xe4, 0x6a, 0xb7, 0x6a, 0xad, 0xa3, + 0xfe, 0x70, 0xf2, 0x8d, 0xb1, 0x72, 0x07, 0x8f, 0x41, 0xf7, 0x83, 0x9e, 0xe9, 0x7b, 0x94, 0x45, + 0x02, 0xa9, 0x31, 0x5e, 0x3f, 0x35, 0x7b, 0x6e, 0x78, 0x31, 0xea, 0x98, 0x5d, 0x7f, 0xb0, 0xcb, + 0x48, 0x76, 0xe9, 0x3f, 0xc9, 0x0f, 0xa0, 0x7a, 0xfe, 0x6e, 0xe6, 0xb7, 0x65, 0x9d, 0x59, 0xba, + 0xf0, 0xfe, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x54, 0x36, 0xe3, 0x2a, 0x71, 0x26, 0x00, 0x00, } From 7dec94d882781405a1f6ad10dfe431b1129b196b Mon Sep 17 00:00:00 2001 From: Andrii Date: Thu, 28 Dec 2023 16:21:07 +0200 Subject: [PATCH 007/626] Added rpc call and documentation for it --- .../flow/executiondata/executiondata.proto | 26 +++- .../go/flow/executiondata/executiondata.pb.go | 103 ++++++++-------- .../executiondata/executiondata_grpc.pb.go | 111 +++++++++++++++++- 3 files changed, 186 insertions(+), 54 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index a6c7e1170..4c5670134 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -48,7 +48,7 @@ service ExecutionDataAPI { // all events are returned. // // Responses are returned for each block containing at least one event that - // matches the filter. Additionally, heatbeat responses + // matches the filter. Additionally, heartbeat responses // (SubscribeEventsResponse with no events) are returned periodically to allow // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. @@ -66,6 +66,30 @@ service ExecutionDataAPI { // GetRegisterValues gets the values for the given register IDs as of the given block height rpc GetRegisterValues(GetRegisterValuesRequest) returns (GetRegisterValuesResponse); + + // SubscribeAccountStatuses streams account statuses for all blocks starting at the requested + // start block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided StatusFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heartbeat responses + // (SubscribeAccountStatusesResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // StatusFilter or start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // not been received. + rpc SubscribeAccountStatuses(SubscribeAccountStatusesRequest) + returns (stream SubscribeAccountStatusesResponse); } // The request for GetExecutionDataByBlockID diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index 1bb7b5937..4ccd9a228 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -811,56 +811,57 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 805 bytes of a gzipped FileDescriptorProto + // 825 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcd, 0x4e, 0xdb, 0x4a, - 0x14, 0x96, 0x93, 0xdc, 0x40, 0x4e, 0x22, 0x7e, 0x46, 0x88, 0x9b, 0x58, 0x97, 0x4b, 0xe2, 0x7b, - 0x55, 0x45, 0x2d, 0x38, 0x6d, 0x28, 0x6a, 0x17, 0xdd, 0x90, 0x42, 0x69, 0x76, 0x95, 0x41, 0x48, - 0x65, 0x13, 0xf9, 0x67, 0x70, 0x46, 0x0d, 0x9e, 0xd4, 0x33, 0x4e, 0x41, 0x5d, 0xb1, 0xeb, 0x23, - 0xf4, 0x2d, 0xba, 0xee, 0x2b, 0x74, 0xd1, 0x37, 0xe8, 0xbb, 0x54, 0x99, 0x99, 0x98, 0x38, 0x71, - 0x02, 0x08, 0x21, 0x75, 0x13, 0xe9, 0xcc, 0xf9, 0xce, 0x9c, 0x6f, 0xbe, 0xf3, 0xe3, 0xc0, 0xa3, - 0xb3, 0x1e, 0xfd, 0xd4, 0xc0, 0x17, 0xd8, 0x8d, 0x38, 0xa1, 0x81, 0x67, 0x73, 0x3b, 0x69, 0x99, - 0xfd, 0x90, 0x72, 0x8a, 0xd0, 0x10, 0x67, 0x26, 0x3c, 0x7a, 0x5d, 0xc6, 0x06, 0x9c, 0x70, 0x82, - 0x59, 0xc3, 0xe9, 0x51, 0xf7, 0x43, 0x27, 0x86, 0x74, 0xae, 0xa3, 0xf5, 0x4a, 0x12, 0x89, 0x07, - 0x38, 0xe0, 0xca, 0xf5, 0x4f, 0xd2, 0x15, 0x62, 0x9f, 0x30, 0x8e, 0x43, 0xe5, 0xdd, 0xf4, 0x29, - 0xf5, 0x7b, 0xb8, 0x21, 0x2c, 0x27, 0x3a, 0x6b, 0x70, 0x72, 0x8e, 0x19, 0xb7, 0xcf, 0xfb, 0x12, - 0x60, 0x7c, 0xd5, 0xa0, 0x7a, 0x88, 0xf9, 0xc1, 0x28, 0xeb, 0xbe, 0xcd, 0xed, 0xd6, 0x65, 0x6b, - 0x48, 0xa5, 0xbd, 0x6f, 0xe1, 0x8f, 0x11, 0x66, 0x1c, 0x55, 0x60, 0x51, 0x92, 0x23, 0x5e, 0x59, - 0xab, 0x6a, 0xf5, 0x92, 0xb5, 0x20, 0xec, 0xb6, 0x87, 0xde, 0xc3, 0xba, 0x60, 0xd3, 0xc1, 0x81, - 0x4b, 0x3d, 0x12, 0xf8, 0x9d, 0x01, 0x0e, 0x19, 0xa1, 0x41, 0x39, 0x53, 0xd5, 0xea, 0x4b, 0xcd, - 0xff, 0x4c, 0xf9, 0x70, 0xc5, 0xcf, 0x3c, 0x18, 0x82, 0x0f, 0x14, 0xf6, 0x44, 0x42, 0xad, 0x35, - 0x9c, 0x72, 0x6a, 0x5c, 0x40, 0x6d, 0x0e, 0x33, 0xd6, 0xa7, 0x01, 0xc3, 0xe8, 0x08, 0xd6, 0xd2, - 0x74, 0x13, 0x34, 0x8b, 0xcd, 0xda, 0x44, 0x76, 0x11, 0x9d, 0xb8, 0xd1, 0x42, 0xce, 0xd4, 0x99, - 0xf1, 0x53, 0x83, 0x8d, 0xa3, 0xc8, 0x61, 0x6e, 0x48, 0x1c, 0x9c, 0x84, 0x2b, 0x45, 0xfe, 0x87, - 0x25, 0xc6, 0xed, 0x90, 0x77, 0x26, 0x74, 0x29, 0x89, 0xd3, 0x96, 0x12, 0x67, 0x0b, 0xd0, 0x38, - 0xaa, 0x8b, 0x89, 0xdf, 0xe5, 0x42, 0x98, 0x9c, 0xb5, 0x72, 0x8d, 0x7c, 0x2b, 0xce, 0xe7, 0x48, - 0x99, 0xbd, 0xaf, 0x94, 0xbf, 0x34, 0xf8, 0x77, 0xd6, 0x83, 0x94, 0x90, 0x35, 0x28, 0x25, 0x58, - 0x6a, 0x82, 0x65, 0xd1, 0x19, 0x23, 0x38, 0x4b, 0xeb, 0xcc, 0x3d, 0xb4, 0x46, 0xaf, 0x61, 0x59, - 0x5e, 0x1a, 0x77, 0xa6, 0x78, 0x6e, 0xb1, 0xa9, 0x9b, 0xb2, 0x77, 0xcd, 0x51, 0xef, 0x9a, 0xc7, - 0x23, 0x84, 0xb5, 0x24, 0x42, 0x62, 0xdb, 0xf8, 0x96, 0x81, 0xf5, 0xeb, 0xf7, 0x0d, 0x15, 0x60, - 0x0f, 0x59, 0xa9, 0x17, 0x90, 0x3f, 0x23, 0x3d, 0x8e, 0x43, 0x45, 0x75, 0xd3, 0x9c, 0x9e, 0x6e, - 0x59, 0x9e, 0x37, 0x02, 0x66, 0x29, 0x38, 0xda, 0x06, 0xd4, 0xc5, 0x76, 0xc8, 0x1d, 0x6c, 0xf3, - 0x0e, 0x09, 0x38, 0x0e, 0x07, 0x76, 0xaf, 0x9c, 0x13, 0x69, 0x56, 0x63, 0x4f, 0x5b, 0x39, 0xe6, - 0x74, 0xc4, 0x5f, 0xf7, 0xed, 0x88, 0x1f, 0x1a, 0xfc, 0x3d, 0xa5, 0x98, 0x6a, 0x85, 0x39, 0xe3, - 0x3e, 0xd9, 0x25, 0x99, 0xe9, 0x2e, 0xd9, 0x82, 0xbc, 0xc8, 0xc8, 0xca, 0xd9, 0x6a, 0xb6, 0x5e, - 0x6c, 0xae, 0xa5, 0x91, 0xb4, 0x14, 0x26, 0xad, 0xfc, 0xb9, 0x3b, 0x97, 0xdf, 0x81, 0xe2, 0x98, - 0xda, 0x68, 0x03, 0x40, 0xca, 0xc6, 0x2f, 0xfb, 0xb8, 0xac, 0x55, 0xb3, 0xf5, 0x82, 0x55, 0x10, - 0x27, 0xc7, 0x97, 0x7d, 0x8c, 0x74, 0x58, 0x74, 0x69, 0xc0, 0x43, 0xdb, 0x1d, 0xf2, 0x1f, 0x3a, - 0x63, 0x1b, 0x95, 0x61, 0xc1, 0xf6, 0xbc, 0x10, 0x33, 0xc9, 0xbe, 0x60, 0x8d, 0x4c, 0xe3, 0x33, - 0x94, 0x0f, 0x31, 0xb7, 0xd4, 0x7a, 0x3d, 0xb1, 0x7b, 0x11, 0x8e, 0x7b, 0xec, 0x16, 0xb3, 0xf3, - 0x0a, 0x4a, 0xa3, 0xd5, 0xdc, 0x21, 0x1e, 0x13, 0x89, 0x8b, 0xcd, 0xca, 0x84, 0x36, 0xa3, 0xeb, - 0xdb, 0xfb, 0x56, 0x71, 0x04, 0x6f, 0x7b, 0xcc, 0xd8, 0x81, 0x4a, 0x4a, 0x72, 0x55, 0xae, 0x75, - 0xc8, 0x0f, 0xc4, 0x89, 0x78, 0x6a, 0xc9, 0x52, 0x96, 0xf1, 0x3d, 0x03, 0x9b, 0x71, 0x89, 0xf7, - 0x5c, 0x97, 0x46, 0x01, 0x3f, 0xe2, 0x36, 0x8f, 0x18, 0x7e, 0xd0, 0xe9, 0x78, 0x39, 0x31, 0x1d, - 0xd5, 0xb4, 0xe9, 0x90, 0x44, 0xfe, 0xd8, 0xf1, 0xa0, 0x50, 0x9d, 0x2d, 0xdd, 0xcd, 0x63, 0x32, - 0xd6, 0x46, 0x19, 0xe9, 0x51, 0xe6, 0xb0, 0x58, 0x4c, 0x5c, 0x24, 0xc4, 0x29, 0x58, 0xca, 0x32, - 0xb6, 0xa1, 0x34, 0x2e, 0xc9, 0x0d, 0x3d, 0xdc, 0xbc, 0xca, 0xc1, 0x4a, 0x62, 0x8f, 0xee, 0xbd, - 0x6b, 0xa3, 0x2f, 0x9a, 0x68, 0x93, 0xf4, 0x2f, 0x26, 0x7a, 0x9e, 0x56, 0x86, 0x9b, 0x3e, 0xfd, - 0xfa, 0xee, 0x1d, 0xa3, 0x94, 0x36, 0x57, 0xda, 0xf8, 0x42, 0x4e, 0x2c, 0xfc, 0x67, 0xa9, 0xed, - 0x30, 0xef, 0x6b, 0xab, 0x37, 0xef, 0x12, 0x22, 0x19, 0x3c, 0xd5, 0x50, 0x0f, 0x96, 0x27, 0x36, - 0x1c, 0x7a, 0x3c, 0xff, 0xa2, 0xf1, 0x0f, 0x87, 0xfe, 0xe4, 0x56, 0xd8, 0x38, 0x5b, 0x1f, 0x56, - 0xa7, 0x46, 0x14, 0x6d, 0xcd, 0x50, 0x2f, 0x75, 0x8d, 0xe8, 0xdb, 0xb7, 0x44, 0xcb, 0x9c, 0xad, - 0x53, 0xa8, 0xd1, 0xd0, 0x37, 0x69, 0x20, 0xa2, 0xe2, 0x35, 0x99, 0x08, 0x3f, 0xdd, 0xf5, 0x09, - 0xef, 0x46, 0x8e, 0xe9, 0xd2, 0xf3, 0x86, 0x44, 0x36, 0xc4, 0x4f, 0xfc, 0x87, 0xd0, 0xa7, 0x8d, - 0xe9, 0xbf, 0xb0, 0x4e, 0x5e, 0xf8, 0x77, 0x7e, 0x07, 0x00, 0x00, 0xff, 0xff, 0x82, 0x7b, 0xad, - 0xa5, 0xdf, 0x0a, 0x00, 0x00, + 0x14, 0x96, 0x13, 0x08, 0xe4, 0x24, 0xe2, 0x67, 0x84, 0xb8, 0x8e, 0x75, 0xb9, 0x24, 0xbe, 0x55, + 0x15, 0xb5, 0xe0, 0xb4, 0x01, 0xd4, 0x2e, 0xba, 0x21, 0x85, 0xd2, 0xec, 0x2a, 0x83, 0x90, 0xca, + 0x26, 0xf2, 0xcf, 0xe0, 0x58, 0x0d, 0x9e, 0xd4, 0x33, 0x4e, 0x41, 0x5d, 0x75, 0xd5, 0x4a, 0x7d, + 0x81, 0xbe, 0x45, 0xd7, 0x7d, 0x85, 0x2e, 0xfa, 0x06, 0x7d, 0x97, 0x2a, 0xe3, 0xb1, 0x89, 0x13, + 0xc7, 0x10, 0x21, 0xa4, 0x6e, 0x22, 0x9d, 0x39, 0xdf, 0x99, 0xf3, 0xcd, 0x77, 0x7e, 0x1c, 0x78, + 0x78, 0xde, 0x23, 0x1f, 0x1a, 0xf8, 0x12, 0x5b, 0x01, 0x73, 0x89, 0x67, 0x1b, 0xcc, 0x48, 0x5a, + 0x5a, 0xdf, 0x27, 0x8c, 0x20, 0x34, 0xc4, 0x69, 0x09, 0x8f, 0x52, 0x0f, 0x63, 0x3d, 0xe6, 0x32, + 0x17, 0xd3, 0x86, 0xd9, 0x23, 0xd6, 0xbb, 0x4e, 0x0c, 0xe9, 0x5c, 0x47, 0x2b, 0x95, 0x24, 0x12, + 0x0f, 0xb0, 0xc7, 0x84, 0xeb, 0xdf, 0xa4, 0xcb, 0xc7, 0x8e, 0x4b, 0x19, 0xf6, 0x85, 0x77, 0xd3, + 0x21, 0xc4, 0xe9, 0xe1, 0x06, 0xb7, 0xcc, 0xe0, 0xbc, 0xc1, 0xdc, 0x0b, 0x4c, 0x99, 0x71, 0xd1, + 0x0f, 0x01, 0xea, 0x37, 0x09, 0xaa, 0x47, 0x98, 0x1d, 0x46, 0x59, 0x0f, 0x0c, 0x66, 0xb4, 0xae, + 0x5a, 0x43, 0x2a, 0xed, 0x03, 0x1d, 0xbf, 0x0f, 0x30, 0x65, 0xa8, 0x02, 0x8b, 0x21, 0x39, 0xd7, + 0x96, 0xa5, 0xaa, 0x54, 0x2f, 0xeb, 0x0b, 0xdc, 0x6e, 0xdb, 0xe8, 0x2d, 0xac, 0x73, 0x36, 0x1d, + 0xec, 0x59, 0xc4, 0x76, 0x3d, 0xa7, 0x33, 0xc0, 0x3e, 0x75, 0x89, 0x27, 0xe7, 0xaa, 0x52, 0x7d, + 0xa9, 0xf9, 0xbf, 0x16, 0x3e, 0x5c, 0xf0, 0xd3, 0x0e, 0x87, 0xe0, 0x43, 0x81, 0x3d, 0x0d, 0xa1, + 0xfa, 0x1a, 0x4e, 0x39, 0x55, 0x2f, 0xa1, 0x96, 0xc1, 0x8c, 0xf6, 0x89, 0x47, 0x31, 0x3a, 0x86, + 0xb5, 0x34, 0xdd, 0x38, 0xcd, 0x52, 0xb3, 0x36, 0x96, 0x9d, 0x47, 0x27, 0x6e, 0xd4, 0x91, 0x39, + 0x71, 0xa6, 0xfe, 0x92, 0x60, 0xe3, 0x38, 0x30, 0xa9, 0xe5, 0xbb, 0x26, 0x4e, 0xc2, 0x85, 0x22, + 0x0f, 0x60, 0x89, 0x32, 0xc3, 0x67, 0x9d, 0x31, 0x5d, 0xca, 0xfc, 0xb4, 0x25, 0xc4, 0xd9, 0x02, + 0x34, 0x8a, 0xea, 0x62, 0xd7, 0xe9, 0x32, 0x2e, 0xcc, 0x9c, 0xbe, 0x72, 0x8d, 0x7c, 0xcd, 0xcf, + 0x33, 0xa4, 0xcc, 0xdf, 0x55, 0xca, 0xdf, 0x12, 0xfc, 0x37, 0xed, 0x41, 0x42, 0xc8, 0x1a, 0x94, + 0x13, 0x2c, 0x25, 0xce, 0xb2, 0x64, 0x8e, 0x10, 0x9c, 0xa6, 0x75, 0xee, 0x0e, 0x5a, 0xa3, 0x97, + 0xb0, 0x1c, 0x5e, 0x1a, 0x77, 0x26, 0x7f, 0x6e, 0xa9, 0xa9, 0x68, 0x61, 0xef, 0x6a, 0x51, 0xef, + 0x6a, 0x27, 0x11, 0x42, 0x5f, 0xe2, 0x21, 0xb1, 0xad, 0x7e, 0xcf, 0xc1, 0xfa, 0xf5, 0xfb, 0x86, + 0x0a, 0xd0, 0xfb, 0xac, 0xd4, 0x33, 0x28, 0x9c, 0xbb, 0x3d, 0x86, 0x7d, 0x41, 0x75, 0x53, 0x9b, + 0x9c, 0xee, 0xb0, 0x3c, 0xaf, 0x38, 0x4c, 0x17, 0x70, 0xb4, 0x0d, 0xa8, 0x8b, 0x0d, 0x9f, 0x99, + 0xd8, 0x60, 0x1d, 0xd7, 0x63, 0xd8, 0x1f, 0x18, 0x3d, 0x79, 0x8e, 0xa7, 0x59, 0x8d, 0x3d, 0x6d, + 0xe1, 0xc8, 0xe8, 0x88, 0xf9, 0xbb, 0x76, 0xc4, 0x4f, 0x09, 0xfe, 0x99, 0x50, 0x4c, 0xb4, 0x42, + 0xc6, 0xb8, 0x8f, 0x77, 0x49, 0x6e, 0xb2, 0x4b, 0xb6, 0xa0, 0xc0, 0x33, 0x52, 0x39, 0x5f, 0xcd, + 0xd7, 0x4b, 0xcd, 0xb5, 0x34, 0x92, 0xba, 0xc0, 0xa4, 0x95, 0x7f, 0x6e, 0xe6, 0xf2, 0x9b, 0x50, + 0x1a, 0x51, 0x1b, 0x6d, 0x00, 0x84, 0xb2, 0xb1, 0xab, 0x3e, 0x96, 0xa5, 0x6a, 0xbe, 0x5e, 0xd4, + 0x8b, 0xfc, 0xe4, 0xe4, 0xaa, 0x8f, 0x91, 0x02, 0x8b, 0x16, 0xf1, 0x98, 0x6f, 0x58, 0x43, 0xfe, + 0x43, 0x67, 0x6c, 0x23, 0x19, 0x16, 0x0c, 0xdb, 0xf6, 0x31, 0x0d, 0xd9, 0x17, 0xf5, 0xc8, 0x54, + 0x3f, 0x82, 0x7c, 0x84, 0x99, 0x2e, 0xd6, 0xeb, 0xa9, 0xd1, 0x0b, 0x70, 0xdc, 0x63, 0xb7, 0x98, + 0x9d, 0x17, 0x50, 0x8e, 0x56, 0x73, 0xc7, 0xb5, 0x29, 0x4f, 0x5c, 0x6a, 0x56, 0xc6, 0xb4, 0x89, + 0xae, 0x6f, 0x1f, 0xe8, 0xa5, 0x08, 0xde, 0xb6, 0xa9, 0xba, 0x03, 0x95, 0x94, 0xe4, 0xa2, 0x5c, + 0xeb, 0x50, 0x18, 0xf0, 0x13, 0xfe, 0xd4, 0xb2, 0x2e, 0x2c, 0xf5, 0x47, 0x0e, 0x36, 0xe3, 0x12, + 0xef, 0x5b, 0x16, 0x09, 0x3c, 0x76, 0xcc, 0x0c, 0x16, 0x50, 0x7c, 0xaf, 0xd3, 0xf1, 0x7c, 0x6c, + 0x3a, 0xaa, 0x69, 0xd3, 0x11, 0x12, 0xf9, 0x6b, 0xc7, 0x83, 0x40, 0x75, 0xba, 0x74, 0x37, 0x8f, + 0xc9, 0x48, 0x1b, 0xe5, 0x42, 0x8f, 0x30, 0x87, 0xc5, 0xa2, 0xfc, 0x22, 0x2e, 0x4e, 0x51, 0x17, + 0x96, 0xba, 0x0d, 0xe5, 0x51, 0x49, 0x6e, 0xe8, 0xe1, 0xe6, 0xd7, 0x79, 0x58, 0x49, 0xec, 0xd1, + 0xfd, 0x37, 0x6d, 0xf4, 0x45, 0xe2, 0x6d, 0x92, 0xfe, 0xc5, 0x44, 0xbb, 0x69, 0x65, 0xb8, 0xe9, + 0xd3, 0xaf, 0xec, 0xcd, 0x18, 0x25, 0xb4, 0xf9, 0x24, 0x8d, 0x2e, 0xe4, 0xc4, 0xc2, 0x7f, 0x9a, + 0xda, 0x0e, 0x59, 0x5f, 0x5b, 0xa5, 0x39, 0x4b, 0x48, 0xc8, 0xe0, 0x89, 0x84, 0x7a, 0xb0, 0x3c, + 0xb6, 0xe1, 0xd0, 0xa3, 0xec, 0x8b, 0x46, 0x3f, 0x1c, 0xca, 0xe3, 0x5b, 0x61, 0xe3, 0x6c, 0x7d, + 0x58, 0x9d, 0x18, 0x51, 0xb4, 0x35, 0x45, 0xbd, 0xd4, 0x35, 0xa2, 0x6c, 0xdf, 0x12, 0x2d, 0x34, + 0xfe, 0x2c, 0x81, 0x3c, 0xad, 0x49, 0xd1, 0x4e, 0x26, 0xfb, 0xf4, 0x6d, 0xa0, 0xec, 0xce, 0x16, + 0x14, 0xbd, 0xbd, 0x75, 0x06, 0x35, 0xe2, 0x3b, 0x1a, 0xf1, 0x78, 0x78, 0xbc, 0xb0, 0x13, 0xf7, + 0x9c, 0xed, 0x39, 0x2e, 0xeb, 0x06, 0xa6, 0x66, 0x91, 0x8b, 0x46, 0x88, 0x6c, 0xf0, 0x9f, 0xf8, + 0xaf, 0xa9, 0x43, 0x1a, 0x93, 0x7f, 0xa6, 0xcd, 0x02, 0xf7, 0xef, 0xfc, 0x09, 0x00, 0x00, 0xff, + 0xff, 0x2a, 0xe5, 0x12, 0xaa, 0x69, 0x0b, 0x00, 0x00, } diff --git a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go index 7ebf00d07..3b9898726 100644 --- a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go +++ b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go @@ -56,7 +56,7 @@ type ExecutionDataAPIClient interface { // all events are returned. // // Responses are returned for each block containing at least one event that - // matches the filter. Additionally, heatbeat responses + // matches the filter. Additionally, heartbeat responses // (SubscribeEventsResponse with no events) are returned periodically to allow // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. @@ -72,6 +72,29 @@ type ExecutionDataAPIClient interface { SubscribeEvents(ctx context.Context, in *SubscribeEventsRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsClient, error) // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(ctx context.Context, in *GetRegisterValuesRequest, opts ...grpc.CallOption) (*GetRegisterValuesResponse, error) + // SubscribeAccountStatuses streams account statuses for all blocks starting at the requested + // start block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided StatusFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heartbeat responses + // (SubscribeAccountStatusesResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // StatusFilter or start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // + // not been received. + SubscribeAccountStatuses(ctx context.Context, in *SubscribeAccountStatusesRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesClient, error) } type executionDataAPIClient struct { @@ -164,6 +187,38 @@ func (c *executionDataAPIClient) GetRegisterValues(ctx context.Context, in *GetR return out, nil } +func (c *executionDataAPIClient) SubscribeAccountStatuses(ctx context.Context, in *SubscribeAccountStatusesRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesClient, error) { + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[2], "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatuses", opts...) + if err != nil { + return nil, err + } + x := &executionDataAPISubscribeAccountStatusesClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ExecutionDataAPI_SubscribeAccountStatusesClient interface { + Recv() (*SubscribeAccountStatusesResponse, error) + grpc.ClientStream +} + +type executionDataAPISubscribeAccountStatusesClient struct { + grpc.ClientStream +} + +func (x *executionDataAPISubscribeAccountStatusesClient) Recv() (*SubscribeAccountStatusesResponse, error) { + m := new(SubscribeAccountStatusesResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + // ExecutionDataAPIServer is the server API for ExecutionDataAPI service. // All implementations should embed UnimplementedExecutionDataAPIServer // for forward compatibility @@ -202,7 +257,7 @@ type ExecutionDataAPIServer interface { // all events are returned. // // Responses are returned for each block containing at least one event that - // matches the filter. Additionally, heatbeat responses + // matches the filter. Additionally, heartbeat responses // (SubscribeEventsResponse with no events) are returned periodically to allow // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. @@ -218,6 +273,29 @@ type ExecutionDataAPIServer interface { SubscribeEvents(*SubscribeEventsRequest, ExecutionDataAPI_SubscribeEventsServer) error // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) + // SubscribeAccountStatuses streams account statuses for all blocks starting at the requested + // start block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided StatusFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heartbeat responses + // (SubscribeAccountStatusesResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // StatusFilter or start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // + // not been received. + SubscribeAccountStatuses(*SubscribeAccountStatusesRequest, ExecutionDataAPI_SubscribeAccountStatusesServer) error } // UnimplementedExecutionDataAPIServer should be embedded to have forward compatible implementations. @@ -236,6 +314,9 @@ func (UnimplementedExecutionDataAPIServer) SubscribeEvents(*SubscribeEventsReque func (UnimplementedExecutionDataAPIServer) GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetRegisterValues not implemented") } +func (UnimplementedExecutionDataAPIServer) SubscribeAccountStatuses(*SubscribeAccountStatusesRequest, ExecutionDataAPI_SubscribeAccountStatusesServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeAccountStatuses not implemented") +} // UnsafeExecutionDataAPIServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ExecutionDataAPIServer will @@ -326,6 +407,27 @@ func _ExecutionDataAPI_GetRegisterValues_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } +func _ExecutionDataAPI_SubscribeAccountStatuses_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeAccountStatusesRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ExecutionDataAPIServer).SubscribeAccountStatuses(m, &executionDataAPISubscribeAccountStatusesServer{stream}) +} + +type ExecutionDataAPI_SubscribeAccountStatusesServer interface { + Send(*SubscribeAccountStatusesResponse) error + grpc.ServerStream +} + +type executionDataAPISubscribeAccountStatusesServer struct { + grpc.ServerStream +} + +func (x *executionDataAPISubscribeAccountStatusesServer) Send(m *SubscribeAccountStatusesResponse) error { + return x.ServerStream.SendMsg(m) +} + // ExecutionDataAPI_ServiceDesc is the grpc.ServiceDesc for ExecutionDataAPI service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -353,6 +455,11 @@ var ExecutionDataAPI_ServiceDesc = grpc.ServiceDesc{ Handler: _ExecutionDataAPI_SubscribeEvents_Handler, ServerStreams: true, }, + { + StreamName: "SubscribeAccountStatuses", + Handler: _ExecutionDataAPI_SubscribeAccountStatuses_Handler, + ServerStreams: true, + }, }, Metadata: "flow/executiondata/executiondata.proto", } From 9d39790c8a812d13920da37f38da28f9407ad907 Mon Sep 17 00:00:00 2001 From: Andrii Date: Wed, 3 Jan 2024 15:39:03 +0200 Subject: [PATCH 008/626] Added documentation for missing fields --- protobuf/flow/executiondata/executiondata.proto | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 4c5670134..a91afb816 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -296,10 +296,13 @@ message SubscribeAccountStatusesResponse { // Block ID of the block containing the events. bytes block_id = 1; - // + // Unique identifier for the account being streamed bytes address = 2; - // + // Events matching the StatusFilter in the request. + // The API may return no events which signals a periodic heartbeat. This + // allows clients to track which blocks were searched. Client can use this + // information to determine which block to start from when reconnecting. string status = 3; } From fd0ec8b05dfd8f7b12565b4f9d8deea65121e957 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Mon, 29 Jan 2024 13:42:00 +0200 Subject: [PATCH 009/626] Updated SendAndSubscribeTransactionStatuses --- protobuf/flow/access/access.proto | 25 +- protobuf/go/flow/access/access.pb.go | 295 +++++++++++----------- protobuf/go/flow/access/access_grpc.pb.go | 6 +- 3 files changed, 177 insertions(+), 149 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 29a670ea9..36956dadc 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -178,9 +178,10 @@ service AccessAPI { rpc SubscribeBlocks(SubscribeBlocksRequest) returns (stream SubscribeBlocksResponse); - // SendAndSubscribeTransactionStatuses TBD + // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status + // is streamed back until the block containing the transaction becomes sealed. rpc SendAndSubscribeTransactionStatuses(SendAndSubscribeTransactionStatusesRequest) - returns (stream SendAndSubscribeTransactionStatusesResponse); + returns (stream SendAndSubscribeTransactionStatusesResponse); } message PingRequest {} @@ -465,12 +466,24 @@ message SubscribeBlocksResponse { entities.Block block = 1; } +// Request message for sending a transaction and subscribing to its status changes. message SendAndSubscribeTransactionStatusesRequest { - entities.Transaction transaction = 1; + // The transaction to be sent and tracked for status changes. + entities.Transaction transaction = 1; } +// Response message for transaction status changes. message SendAndSubscribeTransactionStatusesResponse { - bytes id = 1; - entities.TransactionStatus status = 2; - string error_message = 3; + // The ID of the tracked transaction. + bytes id = 1; + // The status of the tracked transaction + // Possible transaction statuses are: + // - TransactionStatusPending + // - TransactionStatusFinalized + // - TransactionStatusExecuted + // - TransactionStatusSealed + // - `TransactionStatusExpired + entities.TransactionStatus status = 2; + // The message index of the response message. Used by the client to ensure they received all messages. Starts from "0". + uint64 message_index = 3; } \ No newline at end of file diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 6762a4b9c..539c4f77f 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2361,7 +2361,9 @@ func (m *SubscribeBlocksResponse) GetBlock() *entities.Block { return nil } +// Request message for sending a transaction and subscribing to its status changes. type SendAndSubscribeTransactionStatusesRequest struct { + // The transaction to be sent and tracked for status changes. Transaction *entities.Transaction `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -2404,13 +2406,23 @@ func (m *SendAndSubscribeTransactionStatusesRequest) GetTransaction() *entities. return nil } +// Response message for transaction status changes. type SendAndSubscribeTransactionStatusesResponse struct { - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Status entities.TransactionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=flow.entities.TransactionStatus" json:"status,omitempty"` - ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + // The ID of the tracked transaction. + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The status of the tracked transaction + // Possible transaction statuses are: + // - TransactionStatusPending + // - TransactionStatusFinalized + // - TransactionStatusExecuted + // - TransactionStatusSealed + // - `TransactionStatusExpired + Status entities.TransactionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=flow.entities.TransactionStatus" json:"status,omitempty"` + // The message index of the response message. Used by the client to ensure they received all messages. Starts from "0". + MessageIndex uint64 `protobuf:"varint,3,opt,name=message_index,json=messageIndex,proto3" json:"message_index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SendAndSubscribeTransactionStatusesResponse) Reset() { @@ -2456,11 +2468,11 @@ func (m *SendAndSubscribeTransactionStatusesResponse) GetStatus() entities.Trans return entities.TransactionStatus_UNKNOWN } -func (m *SendAndSubscribeTransactionStatusesResponse) GetErrorMessage() string { +func (m *SendAndSubscribeTransactionStatusesResponse) GetMessageIndex() uint64 { if m != nil { - return m.ErrorMessage + return m.MessageIndex } - return "" + return 0 } func init() { @@ -2521,136 +2533,137 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2096 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6f, 0x1c, 0x49, - 0x15, 0x57, 0xcf, 0x38, 0xb6, 0xe7, 0x79, 0x6c, 0x67, 0xcb, 0x5e, 0x67, 0xdc, 0x8e, 0xe3, 0x49, - 0x3b, 0x21, 0xde, 0x24, 0xb4, 0x23, 0x2f, 0x68, 0xb3, 0xcb, 0x1f, 0x61, 0x07, 0xe3, 0xb5, 0x94, - 0xac, 0xac, 0x76, 0x08, 0x5a, 0x60, 0x63, 0xf5, 0x4c, 0x97, 0xc7, 0x4d, 0x66, 0xba, 0x87, 0xae, - 0x9e, 0x24, 0x06, 0x0e, 0x7b, 0x58, 0x21, 0x24, 0x3e, 0xc0, 0x0a, 0x04, 0x27, 0x4e, 0x70, 0xe1, - 0x8c, 0x38, 0x20, 0xf1, 0x0d, 0x38, 0xf3, 0x65, 0x50, 0x57, 0x55, 0xff, 0xa9, 0xea, 0xea, 0x9e, - 0x9e, 0x09, 0xab, 0xec, 0x25, 0x71, 0x55, 0xbd, 0x7a, 0x7f, 0xea, 0xbd, 0x7a, 0xf5, 0xde, 0xaf, - 0x07, 0x5a, 0xe7, 0x7d, 0xff, 0xd5, 0xae, 0xdd, 0xed, 0x62, 0x42, 0xf8, 0x7f, 0xe6, 0x30, 0xf0, - 0x43, 0x1f, 0x2d, 0x44, 0x2b, 0x26, 0x9b, 0xd2, 0x37, 0x28, 0x19, 0xf6, 0x42, 0x37, 0x74, 0x31, - 0x25, 0xf4, 0x47, 0x5e, 0xc8, 0x28, 0xf5, 0xb6, 0xb8, 0xd8, 0xe9, 0xfb, 0xdd, 0x17, 0x67, 0x17, - 0xd8, 0x76, 0x70, 0xc0, 0x29, 0xd6, 0x15, 0x14, 0x7c, 0xe9, 0x86, 0xb8, 0xd4, 0xf5, 0xfb, 0x7d, - 0xdc, 0x0d, 0x5d, 0xdf, 0x53, 0x6f, 0xc5, 0x2f, 0x71, 0x22, 0xf7, 0x96, 0xb4, 0xf4, 0x1a, 0x77, - 0x47, 0xd1, 0xce, 0xb3, 0x00, 0x93, 0x51, 0x3f, 0xa6, 0xba, 0x2e, 0x52, 0x0d, 0x70, 0x68, 0x3b, - 0x76, 0x68, 0xf3, 0xd5, 0xdb, 0xe2, 0xaa, 0xe7, 0x3b, 0xf8, 0xec, 0x25, 0x0e, 0x48, 0xc4, 0xc6, - 0xf5, 0xce, 0x7d, 0x4e, 0xb6, 0x25, 0x92, 0x85, 0x81, 0xed, 0x11, 0x3b, 0xab, 0xe6, 0x56, 0xcf, - 0xf7, 0x7b, 0x7d, 0xbc, 0x4b, 0x47, 0x9d, 0xd1, 0xf9, 0x6e, 0xe8, 0x0e, 0x30, 0x09, 0xed, 0xc1, - 0x90, 0x11, 0x18, 0x8b, 0xb0, 0x70, 0xe2, 0x7a, 0x3d, 0x0b, 0xff, 0x72, 0x84, 0x49, 0x68, 0x2c, - 0x41, 0x93, 0x0d, 0xc9, 0xd0, 0xf7, 0x08, 0x36, 0x36, 0x60, 0xfd, 0x08, 0x87, 0x9f, 0xf8, 0x0e, - 0x7e, 0xc6, 0xa4, 0x1f, 0x7b, 0xe7, 0x7e, 0x4c, 0x7c, 0x02, 0xba, 0x6a, 0x91, 0x6d, 0x45, 0x7b, - 0x30, 0x13, 0x69, 0xda, 0xd2, 0xda, 0xda, 0xce, 0xc2, 0xde, 0x0d, 0x93, 0xfa, 0x2d, 0x56, 0xd5, - 0x94, 0x77, 0x51, 0x5a, 0xe3, 0x23, 0xd8, 0x38, 0xc2, 0xe1, 0x63, 0x3b, 0xc4, 0x24, 0x3c, 0x88, - 0xbc, 0xf1, 0x31, 0x75, 0x17, 0x17, 0x88, 0x36, 0xa0, 0xe1, 0x92, 0x33, 0x82, 0xed, 0x3e, 0x76, - 0x28, 0xdf, 0x79, 0x6b, 0xde, 0x25, 0xa7, 0x74, 0x6c, 0xdc, 0xa3, 0xaa, 0x66, 0x76, 0x1d, 0x5c, - 0x1e, 0xff, 0x30, 0xde, 0xb9, 0x04, 0x35, 0x97, 0x6d, 0x69, 0x5a, 0x35, 0xd7, 0x31, 0x3e, 0x80, - 0x4d, 0x99, 0xf8, 0x63, 0xec, 0xf6, 0x2e, 0xc2, 0x78, 0xc3, 0x1a, 0xcc, 0x5e, 0xd0, 0x09, 0xba, - 0x69, 0xc6, 0xe2, 0x23, 0xe3, 0x9f, 0x1a, 0xac, 0x08, 0x9a, 0x71, 0x6b, 0x1f, 0xc0, 0x15, 0x1a, - 0x3e, 0xdc, 0x5c, 0x5d, 0x32, 0x37, 0xbb, 0x85, 0x11, 0xa2, 0xef, 0x41, 0x93, 0x85, 0x24, 0x09, - 0xed, 0x70, 0x44, 0x5a, 0xb5, 0xb6, 0xb6, 0xb3, 0xa4, 0xde, 0x78, 0x4a, 0x29, 0xac, 0x85, 0x4e, - 0x3a, 0x40, 0xef, 0xc3, 0x7c, 0x1c, 0x33, 0xad, 0x3a, 0x95, 0x79, 0x4d, 0xda, 0xfa, 0x84, 0x2f, - 0x5b, 0x09, 0xa1, 0xe1, 0xc0, 0xbb, 0xe2, 0xf9, 0x56, 0x39, 0x59, 0x64, 0xc2, 0xca, 0xf9, 0xa8, - 0xdf, 0x3f, 0x63, 0xea, 0x06, 0xdc, 0x64, 0xaa, 0xf0, 0xbc, 0xf5, 0x4e, 0xb4, 0xc4, 0x79, 0xf1, - 0xa0, 0xf9, 0x31, 0xac, 0xc4, 0x87, 0x5b, 0xe2, 0x83, 0x89, 0xd9, 0xda, 0x70, 0x2d, 0x65, 0x5b, - 0xc9, 0x5b, 0x13, 0x8b, 0xf8, 0xbb, 0x06, 0x8b, 0xc2, 0x0c, 0xba, 0x2b, 0xfa, 0x75, 0x55, 0xe5, - 0x9e, 0xb7, 0xe9, 0xd1, 0xbb, 0xd0, 0x3a, 0xc2, 0xe1, 0xa3, 0x24, 0x3d, 0x95, 0x05, 0xfd, 0x17, - 0x1a, 0xa0, 0x94, 0x32, 0x31, 0xf1, 0x43, 0x80, 0x34, 0xbd, 0x71, 0x3b, 0xd7, 0x25, 0xc9, 0x99, - 0x6d, 0x19, 0x62, 0x41, 0xe5, 0x5a, 0x55, 0x95, 0x9f, 0xc1, 0xda, 0x29, 0xf6, 0x9c, 0xa7, 0x69, - 0xb2, 0x8a, 0x15, 0xfe, 0x2e, 0x2c, 0x64, 0x52, 0x58, 0xc1, 0x55, 0xca, 0xee, 0xcb, 0x92, 0x1b, - 0xcf, 0xe1, 0x5a, 0x8e, 0x2f, 0x37, 0x51, 0x0e, 0xbd, 0xa9, 0xf4, 0xfe, 0xb7, 0x46, 0x6f, 0x8f, - 0x42, 0x6f, 0x99, 0xfd, 0x3a, 0xcc, 0xb3, 0x40, 0x70, 0x1d, 0xca, 0xbe, 0x69, 0xcd, 0xd1, 0xf1, - 0xb1, 0x83, 0xb6, 0x61, 0x31, 0x3d, 0xbf, 0x68, 0xbd, 0x4e, 0xd7, 0x9b, 0xe9, 0xe4, 0xb1, 0x83, - 0x3e, 0x85, 0x35, 0xfa, 0xa0, 0x9c, 0x61, 0xaf, 0xeb, 0x3b, 0xae, 0xd7, 0x8b, 0x73, 0x7f, 0x6b, - 0x86, 0x86, 0xd4, 0xb6, 0xa4, 0xec, 0x61, 0x44, 0x7c, 0xc8, 0x69, 0x79, 0x56, 0xb5, 0x56, 0xb1, - 0x62, 0xd6, 0x78, 0x48, 0x33, 0xec, 0xe9, 0x25, 0x09, 0xf1, 0x40, 0x61, 0x49, 0x56, 0x73, 0x4d, - 0xd0, 0xdc, 0xf8, 0x83, 0x06, 0x37, 0xd5, 0x5b, 0xa3, 0x57, 0x6d, 0x3c, 0x83, 0x12, 0xab, 0x6a, - 0x6f, 0x6a, 0xd5, 0xdf, 0x34, 0xb8, 0x2e, 0xba, 0xe6, 0xe0, 0xf2, 0xd8, 0x73, 0xf0, 0xeb, 0x0a, - 0x6a, 0xad, 0xc2, 0x15, 0x37, 0x22, 0xa5, 0x5a, 0x2c, 0x5a, 0x6c, 0x50, 0xa2, 0x6c, 0xfd, 0x4d, - 0x95, 0xfd, 0x52, 0x83, 0x2d, 0x51, 0x59, 0x72, 0x70, 0x49, 0xb3, 0x42, 0x7a, 0x75, 0xdf, 0xda, - 0x31, 0xea, 0x39, 0xcf, 0x92, 0xe4, 0x16, 0xfd, 0x04, 0x56, 0x32, 0xf7, 0x8d, 0x97, 0x33, 0xa4, - 0xa5, 0xb5, 0xeb, 0x3b, 0x0b, 0x7b, 0xdf, 0x30, 0x33, 0x85, 0x99, 0xa9, 0x88, 0x0f, 0xc6, 0xc4, - 0x42, 0x61, 0x4e, 0xc0, 0x74, 0xd7, 0xf1, 0xf7, 0x1a, 0xac, 0x66, 0xcf, 0x30, 0x51, 0xf3, 0xfb, - 0xd0, 0xcc, 0xc8, 0x88, 0xf5, 0x2b, 0x4b, 0x23, 0x02, 0xfd, 0x74, 0xda, 0xfc, 0x4e, 0x83, 0x15, - 0x55, 0xe6, 0x79, 0xa3, 0x94, 0x36, 0xa5, 0x2a, 0x75, 0x58, 0x2f, 0x3c, 0x7f, 0xf4, 0x10, 0x66, - 0xf9, 0xf3, 0xa4, 0xd1, 0x70, 0x69, 0x17, 0xeb, 0xc2, 0x1f, 0x29, 0x4e, 0x8f, 0xb6, 0x60, 0x81, - 0xfd, 0x75, 0xd6, 0xf5, 0x1d, 0xcc, 0xaf, 0x0b, 0xb0, 0xa9, 0x47, 0xbe, 0x83, 0xa3, 0xdc, 0x86, - 0x83, 0xc0, 0x0f, 0xce, 0x06, 0x98, 0x10, 0xbb, 0x87, 0xe9, 0x55, 0x69, 0x58, 0x4d, 0x3a, 0xf9, - 0x84, 0xcd, 0xa1, 0xfb, 0x30, 0x4b, 0x63, 0x8f, 0xb4, 0x66, 0xa8, 0x5f, 0x56, 0x55, 0xe1, 0x6a, - 0x71, 0x1a, 0xe1, 0x1e, 0x5c, 0x11, 0xef, 0xc1, 0x6d, 0x58, 0xca, 0x46, 0xa3, 0xeb, 0xb4, 0x66, - 0x29, 0xc1, 0x62, 0x66, 0x56, 0x95, 0x70, 0xe7, 0x14, 0x09, 0xf7, 0x66, 0xfc, 0x72, 0xf3, 0x2a, - 0x62, 0x9e, 0x56, 0x11, 0xec, 0x75, 0x66, 0x95, 0x86, 0xe0, 0x8a, 0x46, 0x55, 0x57, 0x7c, 0x13, - 0xde, 0x39, 0xc2, 0xe1, 0x3e, 0x6b, 0x4b, 0xe2, 0xbb, 0xdd, 0x82, 0x39, 0xdb, 0x71, 0x02, 0x4c, - 0x48, 0x7c, 0xb5, 0xf9, 0xd0, 0xf8, 0x35, 0xa0, 0x2c, 0x79, 0x52, 0x5a, 0xce, 0xf1, 0xc6, 0x86, - 0x87, 0xcf, 0x9a, 0x24, 0x38, 0xde, 0x10, 0x93, 0x4d, 0x17, 0x36, 0x1f, 0xc1, 0x8d, 0x54, 0xf8, - 0xbe, 0xaa, 0x48, 0x2c, 0x56, 0xfc, 0x35, 0x2c, 0xbf, 0x25, 0xad, 0x3f, 0x13, 0xb5, 0x3e, 0x48, - 0x3d, 0x36, 0x56, 0xeb, 0x9c, 0xd7, 0x6b, 0x39, 0xaf, 0x1b, 0x9f, 0xc2, 0xcd, 0x43, 0xda, 0xbf, - 0xe1, 0xd3, 0x6e, 0xe0, 0x0e, 0xd5, 0xe7, 0xb2, 0x06, 0xb3, 0x84, 0xae, 0x72, 0x01, 0x7c, 0x84, - 0xae, 0x43, 0xc3, 0x0e, 0x7a, 0xa3, 0x01, 0x8d, 0xf6, 0x5a, 0xbb, 0xbe, 0xd3, 0xb4, 0xd2, 0x09, - 0x63, 0x08, 0x9b, 0x12, 0xeb, 0xea, 0x6f, 0x40, 0x2a, 0xb1, 0x56, 0x2c, 0xb1, 0x2e, 0x4b, 0xfc, - 0x4d, 0xce, 0x18, 0xc5, 0x71, 0xc9, 0x87, 0xa2, 0xe5, 0xaf, 0xc2, 0x74, 0xd2, 0x3b, 0xf0, 0xae, - 0x20, 0x3d, 0x89, 0x94, 0x55, 0xb8, 0xf2, 0xd2, 0xee, 0x8f, 0x30, 0x37, 0x92, 0x0d, 0xa6, 0x8b, - 0x86, 0xff, 0x68, 0x34, 0x1c, 0x68, 0x0e, 0x21, 0x3f, 0xf2, 0x03, 0x6e, 0x9a, 0xed, 0xf5, 0x70, - 0x6c, 0x1f, 0x82, 0x99, 0xf0, 0x72, 0xc8, 0x84, 0x35, 0x2c, 0xfa, 0x77, 0x64, 0x33, 0x09, 0xed, - 0x20, 0x94, 0x02, 0x81, 0xce, 0x71, 0x9b, 0x37, 0x01, 0xb0, 0xe7, 0xc4, 0x04, 0x75, 0x4a, 0xd0, - 0xc0, 0x9e, 0xc3, 0x97, 0xbf, 0xc2, 0x8a, 0xed, 0xaf, 0x1a, 0x2d, 0xd9, 0x12, 0x9b, 0x78, 0x94, - 0x90, 0x32, 0x83, 0x36, 0xa0, 0x11, 0x87, 0x4e, 0x1c, 0x79, 0xf3, 0x3c, 0x76, 0xc8, 0x57, 0x59, - 0xda, 0xfc, 0xab, 0x06, 0x4b, 0x4c, 0xd1, 0xcc, 0x03, 0x38, 0x27, 0x16, 0x0a, 0x86, 0x50, 0x28, - 0x88, 0xd4, 0x26, 0x7f, 0xac, 0xe2, 0x2d, 0x53, 0x45, 0x81, 0xfe, 0x0f, 0x0d, 0x66, 0x19, 0xa3, - 0xb2, 0x3b, 0x34, 0xfe, 0xf6, 0x67, 0xde, 0xaa, 0x7a, 0x85, 0xb7, 0xea, 0x11, 0x2c, 0x33, 0x86, - 0x09, 0xc6, 0x42, 0x9d, 0x1f, 0x3d, 0xf7, 0x0c, 0x85, 0x31, 0x63, 0x14, 0xc6, 0x7c, 0x1a, 0x53, - 0x58, 0x4b, 0x74, 0x4b, 0x32, 0x36, 0x36, 0xa9, 0xb3, 0x3f, 0xc1, 0xe1, 0x2b, 0x3f, 0x78, 0x71, - 0x62, 0x07, 0xf6, 0x00, 0x87, 0x38, 0x88, 0x9d, 0x6d, 0x7c, 0x48, 0xeb, 0x5c, 0xc5, 0x32, 0x3f, - 0xed, 0x75, 0x98, 0xef, 0x5e, 0xd8, 0xae, 0x17, 0xdb, 0xdb, 0xb0, 0xe6, 0xe8, 0xf8, 0xd8, 0x31, - 0xee, 0xc0, 0xed, 0xa4, 0xf7, 0x3f, 0x89, 0x14, 0xe9, 0xfa, 0xfd, 0xe8, 0x85, 0xc7, 0xa7, 0x9e, - 0x3d, 0x24, 0x17, 0x7e, 0x9c, 0x01, 0x8c, 0x43, 0xd8, 0x39, 0xc2, 0x6a, 0x92, 0x09, 0xea, 0x54, - 0xe3, 0x31, 0xdc, 0x29, 0x66, 0x33, 0x69, 0xce, 0x89, 0x7a, 0xd7, 0xcd, 0x02, 0xad, 0xb9, 0xe9, - 0x26, 0x20, 0x82, 0x03, 0xd7, 0xee, 0xbb, 0xbf, 0xc2, 0x4e, 0xbc, 0xca, 0x95, 0x52, 0xac, 0x4c, - 0x97, 0x60, 0x7e, 0x00, 0xdb, 0xd1, 0x5d, 0x8c, 0x21, 0x3d, 0x16, 0x65, 0xe9, 0xa5, 0xac, 0x70, - 0x2c, 0x7f, 0xd1, 0xe2, 0x2c, 0xac, 0xdc, 0xcf, 0x8d, 0x39, 0x86, 0xab, 0x32, 0x6e, 0x58, 0x00, - 0xa4, 0x49, 0xbc, 0xac, 0x65, 0x2c, 0x4e, 0x4c, 0x67, 0xe7, 0x2e, 0xc5, 0xc7, 0x24, 0xde, 0x65, - 0xd8, 0xc2, 0x9f, 0x35, 0xd8, 0x50, 0x92, 0x7f, 0x4d, 0x0c, 0xfa, 0xaf, 0x06, 0x6b, 0xa7, 0xa3, - 0x4e, 0xf4, 0x52, 0x75, 0x30, 0x3d, 0xed, 0x24, 0x81, 0xde, 0x82, 0x25, 0x96, 0xfd, 0x25, 0x97, - 0xb1, 0x37, 0xe1, 0x80, 0xa7, 0x8b, 0xfb, 0x80, 0xb2, 0x54, 0x42, 0xd2, 0xb8, 0x9a, 0x52, 0xf2, - 0xcc, 0x21, 0x43, 0x41, 0xf5, 0xc9, 0xa0, 0xa0, 0x02, 0xdc, 0x6a, 0xa6, 0x08, 0xb7, 0x3a, 0x84, - 0x6b, 0x39, 0xe3, 0x26, 0x07, 0xb0, 0x8c, 0x5f, 0xc0, 0xdd, 0x53, 0xec, 0x39, 0xfb, 0x9e, 0x93, - 0x70, 0xcb, 0xb5, 0x03, 0x98, 0xfc, 0x7f, 0xd0, 0x9a, 0x3f, 0x69, 0x70, 0xaf, 0x92, 0xb0, 0x02, - 0x08, 0x27, 0xed, 0x63, 0x6a, 0x13, 0xf6, 0x31, 0x55, 0xda, 0x94, 0xbd, 0x2f, 0x37, 0xa0, 0xb1, - 0x4f, 0x9f, 0xa8, 0xfd, 0x93, 0x63, 0xf4, 0x1d, 0x98, 0x39, 0x71, 0xbd, 0x1e, 0x6a, 0x09, 0x6f, - 0x57, 0x06, 0x38, 0xd7, 0xd7, 0x15, 0x2b, 0x5c, 0x73, 0x4c, 0xab, 0x7a, 0x09, 0xf0, 0x46, 0x62, - 0xbf, 0x5c, 0x08, 0xb2, 0xeb, 0x77, 0xc6, 0xd2, 0x71, 0x31, 0x1d, 0x58, 0x55, 0x61, 0xe7, 0x68, - 0x47, 0x66, 0x50, 0x04, 0xaf, 0xeb, 0x6d, 0x81, 0x52, 0x85, 0x72, 0x3f, 0xa7, 0xa6, 0x48, 0x18, - 0x7b, 0xde, 0x14, 0x35, 0x08, 0x5f, 0x81, 0xff, 0x39, 0xac, 0xa9, 0x61, 0x79, 0x74, 0xb7, 0x54, - 0x86, 0xf0, 0x9c, 0x54, 0x90, 0x73, 0x02, 0x4b, 0xe2, 0x41, 0x20, 0xa3, 0xe4, 0x94, 0x62, 0xbe, - 0x7a, 0x9e, 0x6f, 0xc2, 0xf1, 0x31, 0x34, 0xb3, 0x98, 0x37, 0x6a, 0x2b, 0xf5, 0xcd, 0x9e, 0x46, - 0x19, 0xb7, 0xa7, 0x70, 0x55, 0x86, 0xba, 0xd1, 0xad, 0x02, 0x8e, 0xa2, 0xed, 0x65, 0x5c, 0x7f, - 0x46, 0xbb, 0x51, 0x11, 0x2b, 0x46, 0xb7, 0x65, 0xb6, 0x4a, 0x2c, 0x59, 0xdf, 0x12, 0xc8, 0x14, - 0x28, 0xf2, 0xcf, 0x61, 0x59, 0x42, 0x5f, 0xd1, 0xb6, 0xb0, 0x47, 0x8d, 0xf9, 0xea, 0xb7, 0xca, - 0x89, 0x38, 0xf7, 0x67, 0xd4, 0x61, 0x59, 0xe6, 0x39, 0x87, 0x29, 0x78, 0xb7, 0x4b, 0x30, 0xa9, - 0xec, 0xa5, 0xc9, 0xa1, 0x25, 0x95, 0xb8, 0x57, 0x44, 0xbc, 0xd0, 0x90, 0x96, 0x74, 0xb9, 0x75, - 0x8e, 0x50, 0xa2, 0xf7, 0x4a, 0x44, 0x89, 0x28, 0x66, 0x65, 0x89, 0xaf, 0x68, 0x17, 0x94, 0x47, - 0xf2, 0x92, 0xf2, 0x0d, 0xdd, 0x2f, 0x11, 0x9a, 0x43, 0x23, 0xa5, 0x1c, 0x54, 0x82, 0x10, 0xbe, - 0xa0, 0x5f, 0x23, 0x94, 0xbc, 0x26, 0x14, 0x79, 0xb3, 0x48, 0x24, 0x91, 0x7c, 0x97, 0xc3, 0xa3, - 0xf3, 0x09, 0xaf, 0x08, 0xed, 0xae, 0x10, 0x1f, 0x21, 0xfd, 0xc4, 0x59, 0x80, 0x79, 0x23, 0xb3, - 0x82, 0xa4, 0x0c, 0x38, 0x5e, 0xd9, 0x7f, 0x4f, 0x00, 0x52, 0x50, 0x03, 0xdd, 0x90, 0xa5, 0x88, - 0x78, 0x92, 0x74, 0x35, 0x15, 0x00, 0x92, 0x43, 0x3f, 0x9c, 0xa9, 0x90, 0x1d, 0x74, 0xaf, 0x60, - 0xaf, 0x0a, 0xe7, 0xd0, 0xaf, 0x0b, 0xc4, 0x63, 0xa4, 0x64, 0xab, 0xa1, 0x62, 0x29, 0x79, 0x00, - 0x62, 0x8c, 0x94, 0x21, 0xe8, 0xc5, 0x80, 0x8c, 0xe4, 0x90, 0xb1, 0xc8, 0x8d, 0x6e, 0x14, 0xd3, - 0x27, 0x12, 0x2f, 0x60, 0x4d, 0x8d, 0xd3, 0x48, 0x6f, 0x52, 0x29, 0x98, 0x53, 0x49, 0x52, 0xde, - 0xb6, 0xec, 0x21, 0x9a, 0x63, 0xa5, 0x89, 0xe7, 0x58, 0x45, 0x62, 0x97, 0xfa, 0x4c, 0x05, 0x97, - 0xe4, 0x7d, 0x56, 0x02, 0xaa, 0xe8, 0x1b, 0x25, 0x3d, 0x3d, 0xfa, 0x8c, 0xde, 0xd3, 0x1c, 0x7e, - 0x91, 0xbf, 0xa7, 0x45, 0x10, 0x47, 0x39, 0xfb, 0x17, 0x94, 0x7d, 0xae, 0x25, 0xce, 0xb3, 0x2f, - 0x6a, 0xaa, 0xf5, 0xf7, 0x2a, 0x50, 0x72, 0x61, 0x9f, 0x33, 0x80, 0xa9, 0xa4, 0x8b, 0x46, 0x7b, - 0xea, 0x4a, 0xa2, 0xac, 0xe5, 0xd6, 0xc5, 0x48, 0x2a, 0xef, 0x73, 0x7f, 0xcb, 0xbe, 0xc3, 0x95, - 0xf7, 0xe7, 0xe8, 0xdb, 0xb2, 0x16, 0x95, 0xfa, 0xf9, 0x89, 0x14, 0xf9, 0x42, 0x83, 0xf6, 0xb8, - 0x0e, 0x1f, 0x7d, 0xab, 0xa2, 0x1e, 0x62, 0xec, 0x4e, 0xa2, 0xc6, 0xe7, 0xec, 0xdb, 0x5f, 0x61, - 0x4f, 0x8d, 0x1e, 0xe4, 0xe2, 0x6c, 0x4c, 0xfb, 0xae, 0xab, 0xae, 0x5a, 0x59, 0xb7, 0xee, 0xd1, - 0xb2, 0x55, 0xd1, 0xfe, 0xe6, 0xcb, 0xd6, 0xe2, 0x96, 0x5a, 0xdf, 0x29, 0x93, 0x2a, 0x34, 0xd3, - 0xcf, 0x61, 0x59, 0x6a, 0xf7, 0xe4, 0x5a, 0x4b, 0xd9, 0xe9, 0xca, 0xb5, 0x96, 0xba, 0x63, 0x7c, - 0xa0, 0xa1, 0x3f, 0x6a, 0xb0, 0x5d, 0xa1, 0x37, 0x43, 0x1f, 0xe4, 0x6a, 0xb7, 0x6a, 0xad, 0xa3, - 0xfe, 0x70, 0xf2, 0x8d, 0xb1, 0x72, 0x07, 0x8f, 0x41, 0xf7, 0x83, 0x9e, 0xe9, 0x7b, 0x94, 0x45, - 0x02, 0xa9, 0x31, 0x5e, 0x3f, 0x35, 0x7b, 0x6e, 0x78, 0x31, 0xea, 0x98, 0x5d, 0x7f, 0xb0, 0xcb, - 0x48, 0x76, 0xe9, 0x3f, 0xc9, 0x0f, 0xa0, 0x7a, 0xfe, 0x6e, 0xe6, 0xb7, 0x65, 0x9d, 0x59, 0xba, - 0xf0, 0xfe, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x54, 0x36, 0xe3, 0x2a, 0x71, 0x26, 0x00, 0x00, + // 2109 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8, + 0x15, 0x07, 0x25, 0xc7, 0xb6, 0x9e, 0x65, 0x3b, 0x3b, 0xf6, 0x3a, 0x32, 0x1d, 0xc7, 0x0a, 0x9d, + 0x34, 0xde, 0x24, 0x95, 0x03, 0x6f, 0x8b, 0xcd, 0x6e, 0xff, 0xa0, 0x76, 0xea, 0x7a, 0x0d, 0x24, + 0x0b, 0x83, 0x4e, 0x53, 0x6c, 0xdb, 0x8d, 0x40, 0x89, 0x63, 0x99, 0x8d, 0x4c, 0xaa, 0x24, 0x95, + 0xc4, 0x6d, 0x0f, 0x7b, 0x58, 0x14, 0x05, 0xfa, 0x01, 0x16, 0x2d, 0xda, 0x53, 0x4f, 0xed, 0xa5, + 0xe7, 0xa2, 0x87, 0x02, 0xfd, 0x06, 0x3d, 0xf7, 0xcb, 0x14, 0x7c, 0x33, 0xa4, 0x38, 0xc3, 0x21, + 0x45, 0x29, 0x5d, 0x64, 0x2f, 0x89, 0x67, 0xe6, 0xcd, 0xfb, 0x33, 0xef, 0xcd, 0x9b, 0xf7, 0x7e, + 0x14, 0x34, 0xce, 0xfa, 0xde, 0xab, 0x5d, 0xab, 0xdb, 0xa5, 0x41, 0xc0, 0xff, 0x6b, 0x0d, 0x7c, + 0x2f, 0xf4, 0xc8, 0x42, 0xb4, 0xd2, 0x62, 0x53, 0xfa, 0x06, 0x92, 0x51, 0x37, 0x74, 0x42, 0x87, + 0x22, 0xa1, 0x37, 0x74, 0x43, 0x46, 0xa9, 0x37, 0xc5, 0xc5, 0x4e, 0xdf, 0xeb, 0xbe, 0x68, 0x9f, + 0x53, 0xcb, 0xa6, 0x3e, 0xa7, 0x58, 0x57, 0x50, 0xf0, 0xa5, 0x1b, 0xe2, 0x52, 0xd7, 0xeb, 0xf7, + 0x69, 0x37, 0x74, 0x3c, 0x57, 0xbd, 0x95, 0xbe, 0xa4, 0x89, 0xdc, 0x5b, 0xd2, 0xd2, 0x6b, 0xda, + 0x1d, 0x46, 0x3b, 0xdb, 0x3e, 0x0d, 0x86, 0xfd, 0x98, 0xea, 0xba, 0x48, 0x75, 0x41, 0x43, 0xcb, + 0xb6, 0x42, 0x8b, 0xaf, 0xde, 0x16, 0x57, 0x5d, 0xcf, 0xa6, 0xed, 0x97, 0xd4, 0x0f, 0x22, 0x36, + 0x8e, 0x7b, 0xe6, 0x71, 0xb2, 0x2d, 0x91, 0x2c, 0xf4, 0x2d, 0x37, 0xb0, 0xd2, 0x6a, 0x6e, 0xf5, + 0x3c, 0xaf, 0xd7, 0xa7, 0xbb, 0x38, 0xea, 0x0c, 0xcf, 0x76, 0x43, 0xe7, 0x82, 0x06, 0xa1, 0x75, + 0x31, 0x60, 0x04, 0xc6, 0x22, 0x2c, 0x9c, 0x38, 0x6e, 0xcf, 0xa4, 0xbf, 0x1c, 0xd2, 0x20, 0x34, + 0x96, 0xa0, 0xce, 0x86, 0xc1, 0xc0, 0x73, 0x03, 0x6a, 0x6c, 0xc0, 0xfa, 0x11, 0x0d, 0x3f, 0xf1, + 0x6c, 0xfa, 0x8c, 0x49, 0x3f, 0x76, 0xcf, 0xbc, 0x98, 0xf8, 0x04, 0x74, 0xd5, 0x22, 0xdb, 0x4a, + 0xf6, 0x60, 0x26, 0xd2, 0xb4, 0xa1, 0x35, 0xb5, 0x9d, 0x85, 0xbd, 0x1b, 0x2d, 0xf4, 0x5b, 0xac, + 0x6a, 0x4b, 0xde, 0x85, 0xb4, 0xc6, 0x47, 0xb0, 0x71, 0x44, 0xc3, 0xc7, 0x56, 0x48, 0x83, 0xf0, + 0x20, 0xf2, 0xc6, 0xc7, 0xe8, 0x2e, 0x2e, 0x90, 0x6c, 0x40, 0xcd, 0x09, 0xda, 0x01, 0xb5, 0xfa, + 0xd4, 0x46, 0xbe, 0xf3, 0xe6, 0xbc, 0x13, 0x9c, 0xe2, 0xd8, 0xb8, 0x87, 0xaa, 0xa6, 0x76, 0x1d, + 0x5c, 0x1e, 0xff, 0x30, 0xde, 0xb9, 0x04, 0x15, 0x87, 0x6d, 0xa9, 0x9b, 0x15, 0xc7, 0x36, 0x3e, + 0x80, 0x4d, 0x99, 0xf8, 0x63, 0xea, 0xf4, 0xce, 0xc3, 0x78, 0xc3, 0x1a, 0xcc, 0x9e, 0xe3, 0x04, + 0x6e, 0x9a, 0x31, 0xf9, 0xc8, 0xf8, 0xa7, 0x06, 0x2b, 0x82, 0x66, 0xdc, 0xda, 0x07, 0x70, 0x05, + 0xc3, 0x87, 0x9b, 0xab, 0x4b, 0xe6, 0xa6, 0xb7, 0x30, 0x42, 0xf2, 0x3d, 0xa8, 0xb3, 0x90, 0x0c, + 0x42, 0x2b, 0x1c, 0x06, 0x8d, 0x4a, 0x53, 0xdb, 0x59, 0x52, 0x6f, 0x3c, 0x45, 0x0a, 0x73, 0xa1, + 0x33, 0x1a, 0x90, 0xf7, 0x61, 0x3e, 0x8e, 0x99, 0x46, 0x15, 0x65, 0x5e, 0x93, 0xb6, 0x3e, 0xe1, + 0xcb, 0x66, 0x42, 0x68, 0xd8, 0xf0, 0xae, 0x78, 0xbe, 0x65, 0x4e, 0x96, 0xb4, 0x60, 0xe5, 0x6c, + 0xd8, 0xef, 0xb7, 0x99, 0xba, 0x3e, 0x37, 0x19, 0x15, 0x9e, 0x37, 0xdf, 0x89, 0x96, 0x38, 0x2f, + 0x1e, 0x34, 0x3f, 0x86, 0x95, 0xf8, 0x70, 0x0b, 0x7c, 0x30, 0x31, 0x5b, 0x0b, 0xae, 0x8d, 0xd8, + 0x96, 0xf2, 0xd6, 0xc4, 0x22, 0xfe, 0xae, 0xc1, 0xa2, 0x30, 0x43, 0xee, 0x8a, 0x7e, 0x5d, 0x55, + 0xb9, 0xe7, 0x6d, 0x7a, 0xf4, 0x2e, 0x34, 0x8e, 0x68, 0xf8, 0x28, 0x49, 0x4f, 0x45, 0x41, 0xff, + 0x85, 0x06, 0x64, 0x44, 0x99, 0x98, 0xf8, 0x21, 0xc0, 0x28, 0xbd, 0x71, 0x3b, 0xd7, 0x25, 0xc9, + 0xa9, 0x6d, 0x29, 0x62, 0x41, 0xe5, 0x4a, 0x59, 0x95, 0x9f, 0xc1, 0xda, 0x29, 0x75, 0xed, 0xa7, + 0xa3, 0x64, 0x15, 0x2b, 0xfc, 0x5d, 0x58, 0x48, 0xa5, 0xb0, 0x9c, 0xab, 0x94, 0xde, 0x97, 0x26, + 0x37, 0x9e, 0xc3, 0xb5, 0x0c, 0x5f, 0x6e, 0xa2, 0x1c, 0x7a, 0x53, 0xe9, 0xfd, 0x6f, 0x0d, 0x6f, + 0x8f, 0x42, 0x6f, 0x99, 0xfd, 0x3a, 0xcc, 0xb3, 0x40, 0x70, 0x6c, 0x64, 0x5f, 0x37, 0xe7, 0x70, + 0x7c, 0x6c, 0x93, 0x6d, 0x58, 0x1c, 0x9d, 0x5f, 0xb4, 0x5e, 0xc5, 0xf5, 0xfa, 0x68, 0xf2, 0xd8, + 0x26, 0x9f, 0xc2, 0x1a, 0x3e, 0x28, 0x6d, 0xea, 0x76, 0x3d, 0xdb, 0x71, 0x7b, 0x71, 0xee, 0x6f, + 0xcc, 0x60, 0x48, 0x6d, 0x4b, 0xca, 0x1e, 0x46, 0xc4, 0x87, 0x9c, 0x96, 0x67, 0x55, 0x73, 0x95, + 0x2a, 0x66, 0x8d, 0x87, 0x98, 0x61, 0x4f, 0x2f, 0x83, 0x90, 0x5e, 0x28, 0x2c, 0x49, 0x6b, 0xae, + 0x09, 0x9a, 0x1b, 0x7f, 0xd0, 0xe0, 0xa6, 0x7a, 0x6b, 0xf4, 0xaa, 0x8d, 0x67, 0x50, 0x60, 0x55, + 0xe5, 0x4d, 0xad, 0xfa, 0x9b, 0x06, 0xd7, 0x45, 0xd7, 0x1c, 0x5c, 0x1e, 0xbb, 0x36, 0x7d, 0x5d, + 0x42, 0xad, 0x55, 0xb8, 0xe2, 0x44, 0xa4, 0xa8, 0xc5, 0xa2, 0xc9, 0x06, 0x05, 0xca, 0x56, 0xdf, + 0x54, 0xd9, 0x2f, 0x35, 0xd8, 0x12, 0x95, 0x0d, 0x0e, 0x2e, 0x31, 0x2b, 0x8c, 0xae, 0xee, 0x5b, + 0x3b, 0x46, 0x3d, 0xe3, 0xd9, 0x20, 0xb9, 0x45, 0x3f, 0x81, 0x95, 0xd4, 0x7d, 0xe3, 0xe5, 0x4c, + 0xd0, 0xd0, 0x9a, 0xd5, 0x9d, 0x85, 0xbd, 0x6f, 0xb4, 0x52, 0x85, 0x59, 0x4b, 0x11, 0x1f, 0x8c, + 0x89, 0x49, 0xc2, 0x8c, 0x80, 0xe9, 0xae, 0xe3, 0xef, 0x35, 0x58, 0x4d, 0x9f, 0x61, 0xa2, 0xe6, + 0xf7, 0xa1, 0x9e, 0x92, 0x11, 0xeb, 0x57, 0x94, 0x46, 0x04, 0xfa, 0xe9, 0xb4, 0xf9, 0x9d, 0x06, + 0x2b, 0xaa, 0xcc, 0xf3, 0x46, 0x29, 0x6d, 0x4a, 0x55, 0xaa, 0xb0, 0x9e, 0x7b, 0xfe, 0xe4, 0x21, + 0xcc, 0xf2, 0xe7, 0x49, 0xc3, 0x70, 0x69, 0xe6, 0xeb, 0xc2, 0x1f, 0x29, 0x4e, 0x4f, 0xb6, 0x60, + 0x81, 0xfd, 0xd5, 0xee, 0x7a, 0x36, 0xe5, 0xd7, 0x05, 0xd8, 0xd4, 0x23, 0xcf, 0xa6, 0x51, 0x6e, + 0xa3, 0xbe, 0xef, 0xf9, 0xed, 0x0b, 0x1a, 0x04, 0x56, 0x8f, 0xe2, 0x55, 0xa9, 0x99, 0x75, 0x9c, + 0x7c, 0xc2, 0xe6, 0xc8, 0x7d, 0x98, 0xc5, 0xd8, 0x0b, 0x1a, 0x33, 0xe8, 0x97, 0x55, 0x55, 0xb8, + 0x9a, 0x9c, 0x46, 0xb8, 0x07, 0x57, 0xc4, 0x7b, 0x70, 0x1b, 0x96, 0xd2, 0xd1, 0xe8, 0xd8, 0x8d, + 0x59, 0x24, 0x58, 0x4c, 0xcd, 0xaa, 0x12, 0xee, 0x9c, 0x22, 0xe1, 0xde, 0x8c, 0x5f, 0x6e, 0x5e, + 0x45, 0xcc, 0x63, 0x15, 0xc1, 0x5e, 0x67, 0x56, 0x69, 0x08, 0xae, 0xa8, 0x95, 0x75, 0xc5, 0x37, + 0xe1, 0x9d, 0x23, 0x1a, 0xee, 0xb3, 0xb6, 0x24, 0xbe, 0xdb, 0x0d, 0x98, 0xb3, 0x6c, 0xdb, 0xa7, + 0x41, 0x10, 0x5f, 0x6d, 0x3e, 0x34, 0x7e, 0x0d, 0x24, 0x4d, 0x9e, 0x94, 0x96, 0x73, 0xbc, 0xb1, + 0xe1, 0xe1, 0xb3, 0x26, 0x09, 0x8e, 0x37, 0xc4, 0x64, 0xd3, 0x85, 0xcd, 0x47, 0x70, 0x63, 0x24, + 0x7c, 0x5f, 0x55, 0x24, 0xe6, 0x2b, 0xfe, 0x1a, 0x96, 0xdf, 0x92, 0xd6, 0x9f, 0x89, 0x5a, 0x1f, + 0x8c, 0x3c, 0x36, 0x56, 0xeb, 0x8c, 0xd7, 0x2b, 0x19, 0xaf, 0x1b, 0x9f, 0xc2, 0xcd, 0x43, 0xec, + 0xdf, 0xe8, 0x69, 0xd7, 0x77, 0x06, 0xea, 0x73, 0x59, 0x83, 0xd9, 0x00, 0x57, 0xb9, 0x00, 0x3e, + 0x22, 0xd7, 0xa1, 0x66, 0xf9, 0xbd, 0xe1, 0x05, 0x46, 0x7b, 0xa5, 0x59, 0xdd, 0xa9, 0x9b, 0xa3, + 0x09, 0x63, 0x00, 0x9b, 0x12, 0xeb, 0xf2, 0x6f, 0xc0, 0x48, 0x62, 0x25, 0x5f, 0x62, 0x55, 0x96, + 0xf8, 0x9b, 0x8c, 0x31, 0x8a, 0xe3, 0x92, 0x0f, 0x45, 0xcb, 0x5e, 0x85, 0xe9, 0xa4, 0x77, 0xe0, + 0x5d, 0x41, 0x7a, 0x12, 0x29, 0xab, 0x70, 0xe5, 0xa5, 0xd5, 0x1f, 0x52, 0x6e, 0x24, 0x1b, 0x4c, + 0x17, 0x0d, 0xff, 0xd1, 0x30, 0x1c, 0x30, 0x87, 0x04, 0x3f, 0xf2, 0x7c, 0x6e, 0x9a, 0xe5, 0xf6, + 0x68, 0x6c, 0x1f, 0x81, 0x99, 0xf0, 0x72, 0xc0, 0x84, 0xd5, 0x4c, 0xfc, 0x3b, 0xb2, 0x39, 0x08, + 0x2d, 0x3f, 0x94, 0x02, 0x01, 0xe7, 0xb8, 0xcd, 0x9b, 0x00, 0xd4, 0xb5, 0x63, 0x82, 0x2a, 0x12, + 0xd4, 0xa8, 0x6b, 0xf3, 0xe5, 0xaf, 0xb0, 0x62, 0xfb, 0xab, 0x86, 0x25, 0x5b, 0x62, 0x13, 0x8f, + 0x92, 0xa0, 0xc8, 0xa0, 0x0d, 0xa8, 0xc5, 0xa1, 0x13, 0x47, 0xde, 0x3c, 0x8f, 0x9d, 0xe0, 0xab, + 0x2c, 0x6d, 0xfe, 0x55, 0x81, 0x25, 0xa6, 0x68, 0xea, 0x01, 0x9c, 0x13, 0x0b, 0x05, 0x43, 0x28, + 0x14, 0x44, 0xea, 0x16, 0x7f, 0xac, 0xe2, 0x2d, 0x53, 0x45, 0x81, 0xfe, 0x0f, 0x0d, 0x66, 0x19, + 0xa3, 0xa2, 0x3b, 0x34, 0xfe, 0xf6, 0xa7, 0xde, 0xaa, 0x6a, 0x89, 0xb7, 0xea, 0x11, 0x2c, 0x33, + 0x86, 0x09, 0xc6, 0x82, 0xce, 0x8f, 0x9e, 0x7b, 0x86, 0xc2, 0xb4, 0x62, 0x14, 0xa6, 0xf5, 0x34, + 0xa6, 0x30, 0x97, 0x70, 0x4b, 0x32, 0x36, 0x36, 0xd1, 0xd9, 0x9f, 0xd0, 0xf0, 0x95, 0xe7, 0xbf, + 0x38, 0xb1, 0x7c, 0xeb, 0x82, 0x86, 0xd4, 0x8f, 0x9d, 0x6d, 0x7c, 0x88, 0x75, 0xae, 0x62, 0x99, + 0x9f, 0xf6, 0x3a, 0xcc, 0x77, 0xcf, 0x2d, 0xc7, 0x8d, 0xed, 0xad, 0x99, 0x73, 0x38, 0x3e, 0xb6, + 0x8d, 0x3b, 0x70, 0x3b, 0xe9, 0xfd, 0x4f, 0x22, 0x45, 0xba, 0x5e, 0x3f, 0x7a, 0xe1, 0xe9, 0xa9, + 0x6b, 0x0d, 0x82, 0x73, 0x2f, 0xce, 0x00, 0xc6, 0x21, 0xec, 0x1c, 0x51, 0x35, 0xc9, 0x04, 0x75, + 0xaa, 0xf1, 0x18, 0xee, 0xe4, 0xb3, 0x99, 0x34, 0xe7, 0x44, 0xbd, 0xeb, 0x66, 0x8e, 0xd6, 0xdc, + 0xf4, 0x16, 0x90, 0x80, 0xfa, 0x8e, 0xd5, 0x77, 0x7e, 0x45, 0xed, 0x78, 0x95, 0x2b, 0xa5, 0x58, + 0x99, 0x2e, 0xc1, 0xfc, 0x00, 0xb6, 0xa3, 0xbb, 0x18, 0x43, 0x7a, 0x2c, 0xca, 0x46, 0x97, 0xb2, + 0xc4, 0xb1, 0xfc, 0x45, 0x8b, 0xb3, 0xb0, 0x72, 0x3f, 0x37, 0xe6, 0x18, 0xae, 0xca, 0xb8, 0x61, + 0x0e, 0x90, 0x26, 0xf1, 0x32, 0x97, 0xa9, 0x38, 0x31, 0x9d, 0x9d, 0xbb, 0x88, 0x8f, 0x49, 0xbc, + 0x8b, 0xb0, 0x85, 0x3f, 0x6b, 0xb0, 0xa1, 0x24, 0xff, 0x9a, 0x18, 0xf4, 0x5f, 0x0d, 0xd6, 0x4e, + 0x87, 0x9d, 0xe8, 0xa5, 0xea, 0x50, 0x3c, 0xed, 0x24, 0x81, 0xde, 0x82, 0x25, 0x96, 0xfd, 0x25, + 0x97, 0xb1, 0x37, 0xe1, 0x80, 0xa7, 0x8b, 0xfb, 0x40, 0xd2, 0x54, 0x42, 0xd2, 0xb8, 0x3a, 0xa2, + 0xe4, 0x99, 0x43, 0x86, 0x82, 0xaa, 0x93, 0x41, 0x41, 0x39, 0xb8, 0xd5, 0x4c, 0x1e, 0x6e, 0x75, + 0x08, 0xd7, 0x32, 0xc6, 0x4d, 0x0e, 0x60, 0x19, 0xbf, 0x80, 0xbb, 0xa7, 0xd4, 0xb5, 0xf7, 0x5d, + 0x3b, 0xe1, 0x96, 0x69, 0x07, 0x68, 0xf0, 0xff, 0x41, 0x6b, 0xfe, 0xa4, 0xc1, 0xbd, 0x52, 0xc2, + 0x72, 0x20, 0x9c, 0x51, 0x1f, 0x53, 0x99, 0xb0, 0x8f, 0xd9, 0x86, 0x45, 0xde, 0xa0, 0xb4, 0x59, + 0xe3, 0xcf, 0x5e, 0xf3, 0x3a, 0x9f, 0x44, 0xdc, 0x60, 0xef, 0xcb, 0x0d, 0xa8, 0xed, 0xe3, 0x13, + 0xb5, 0x7f, 0x72, 0x4c, 0xbe, 0x03, 0x33, 0x27, 0x8e, 0xdb, 0x23, 0x0d, 0xe1, 0xed, 0x4a, 0x01, + 0xe7, 0xfa, 0xba, 0x62, 0x85, 0x6b, 0x4e, 0xb1, 0xaa, 0x97, 0x00, 0x6f, 0x22, 0xf6, 0xcb, 0xb9, + 0x20, 0xbb, 0x7e, 0x67, 0x2c, 0x1d, 0x17, 0xd3, 0x81, 0x55, 0x15, 0x76, 0x4e, 0x76, 0x64, 0x06, + 0x79, 0xf0, 0xba, 0xde, 0x14, 0x28, 0x55, 0x28, 0xf7, 0x73, 0x34, 0x45, 0xc2, 0xd8, 0xb3, 0xa6, + 0xa8, 0x41, 0xf8, 0x12, 0xfc, 0xcf, 0x60, 0x4d, 0x0d, 0xcb, 0x93, 0xbb, 0x85, 0x32, 0x84, 0xe7, + 0xa4, 0x84, 0x9c, 0x13, 0x58, 0x12, 0x0f, 0x82, 0x18, 0x05, 0xa7, 0x14, 0xf3, 0xd5, 0xb3, 0x7c, + 0x13, 0x8e, 0x8f, 0xa1, 0x9e, 0xc6, 0xbc, 0x49, 0x53, 0xa9, 0x6f, 0xfa, 0x34, 0x8a, 0xb8, 0x3d, + 0x85, 0xab, 0x32, 0xd4, 0x4d, 0x6e, 0xe5, 0x70, 0x14, 0x6d, 0x2f, 0xe2, 0xfa, 0x33, 0xec, 0x46, + 0x45, 0xac, 0x98, 0xdc, 0x96, 0xd9, 0x2a, 0xb1, 0x64, 0x7d, 0x4b, 0x20, 0x53, 0xa0, 0xc8, 0x3f, + 0x87, 0x65, 0x09, 0x7d, 0x25, 0xdb, 0xc2, 0x1e, 0x35, 0xe6, 0xab, 0xdf, 0x2a, 0x26, 0xe2, 0xdc, + 0x9f, 0xa1, 0xc3, 0xd2, 0xcc, 0x33, 0x0e, 0x53, 0xf0, 0x6e, 0x16, 0x60, 0x52, 0xe9, 0x4b, 0x93, + 0x41, 0x4b, 0x4a, 0x71, 0x2f, 0x89, 0x78, 0x91, 0x01, 0x96, 0x74, 0x99, 0x75, 0x8e, 0x50, 0x92, + 0xf7, 0x0a, 0x44, 0x89, 0x28, 0x66, 0x69, 0x89, 0xaf, 0xb0, 0x0b, 0xca, 0x22, 0x79, 0x49, 0xf9, + 0x46, 0xee, 0x17, 0x08, 0xcd, 0xa0, 0x91, 0x52, 0x0e, 0x2a, 0x40, 0x08, 0x5f, 0xe0, 0xd7, 0x08, + 0x25, 0xaf, 0x09, 0x45, 0xde, 0xcc, 0x13, 0x19, 0x48, 0xbe, 0xcb, 0xe0, 0xd1, 0xd9, 0x84, 0x97, + 0x87, 0x76, 0x97, 0x88, 0x8f, 0x10, 0x3f, 0x71, 0xe6, 0x60, 0xde, 0xa4, 0x55, 0x42, 0x52, 0x0a, + 0x1c, 0x2f, 0xed, 0xbf, 0x27, 0x00, 0x23, 0x50, 0x83, 0xdc, 0x90, 0xa5, 0x88, 0x78, 0x92, 0x74, + 0x35, 0x15, 0x00, 0x92, 0x8d, 0x1f, 0xce, 0x54, 0xc8, 0x0e, 0xb9, 0x97, 0xb3, 0x57, 0x85, 0x73, + 0xe8, 0xd7, 0x05, 0xe2, 0x31, 0x52, 0xd2, 0xd5, 0x50, 0xbe, 0x94, 0x2c, 0x00, 0x31, 0x46, 0xca, + 0x00, 0xf4, 0x7c, 0x40, 0x46, 0x72, 0xc8, 0x58, 0xe4, 0x46, 0x37, 0xf2, 0xe9, 0x13, 0x89, 0xe7, + 0xb0, 0xa6, 0xc6, 0x69, 0xa4, 0x37, 0xa9, 0x10, 0xcc, 0x29, 0x25, 0x29, 0x6b, 0x5b, 0xfa, 0x10, + 0x5b, 0x63, 0xa5, 0x89, 0xe7, 0x58, 0x46, 0x62, 0x17, 0x7d, 0xa6, 0x82, 0x4b, 0xb2, 0x3e, 0x2b, + 0x00, 0x55, 0xf4, 0x8d, 0x82, 0x9e, 0x9e, 0x7c, 0x86, 0xf7, 0x34, 0x83, 0x5f, 0x64, 0xef, 0x69, + 0x1e, 0xc4, 0x51, 0xcc, 0xfe, 0x05, 0xb2, 0xcf, 0xb4, 0xc4, 0x59, 0xf6, 0x79, 0x4d, 0xb5, 0xfe, + 0x5e, 0x09, 0x4a, 0x2e, 0xec, 0x73, 0x06, 0x30, 0x15, 0x74, 0xd1, 0x64, 0x4f, 0x5d, 0x49, 0x14, + 0xb5, 0xdc, 0xba, 0x18, 0x49, 0xc5, 0x7d, 0xee, 0x6f, 0xd9, 0x77, 0xb8, 0xe2, 0xfe, 0x9c, 0x7c, + 0x5b, 0xd6, 0xa2, 0x54, 0x3f, 0x3f, 0x91, 0x22, 0x5f, 0x68, 0xd0, 0x1c, 0xd7, 0xe1, 0x93, 0x6f, + 0x95, 0xd4, 0x43, 0x8c, 0xdd, 0x49, 0xd4, 0xf8, 0x9c, 0x7d, 0xfb, 0xcb, 0xed, 0xa9, 0xc9, 0x83, + 0x4c, 0x9c, 0x8d, 0x69, 0xdf, 0x75, 0xd5, 0x55, 0x2b, 0xea, 0xd6, 0x5d, 0x2c, 0x5b, 0x15, 0xed, + 0x6f, 0xb6, 0x6c, 0xcd, 0x6f, 0xa9, 0xf5, 0x9d, 0x22, 0xa9, 0x42, 0x33, 0xfd, 0x1c, 0x96, 0xa5, + 0x76, 0x4f, 0xae, 0xb5, 0x94, 0x9d, 0xae, 0x5c, 0x6b, 0xa9, 0x3b, 0xc6, 0x07, 0x1a, 0xf9, 0xa3, + 0x06, 0xdb, 0x25, 0x7a, 0x33, 0xf2, 0x41, 0xa6, 0x76, 0x2b, 0xd7, 0x3a, 0xea, 0x0f, 0x27, 0xdf, + 0x18, 0x2b, 0x77, 0xf0, 0x18, 0x74, 0xcf, 0xef, 0xb5, 0x3c, 0x17, 0x59, 0x24, 0x90, 0x1a, 0xe3, + 0xf5, 0xd3, 0x56, 0xcf, 0x09, 0xcf, 0x87, 0x9d, 0x56, 0xd7, 0xbb, 0xd8, 0x65, 0x24, 0xbb, 0xf8, + 0x4f, 0xf2, 0x03, 0xa8, 0x9e, 0xb7, 0x9b, 0xfa, 0x6d, 0x59, 0x67, 0x16, 0x17, 0xde, 0xff, 0x5f, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xe5, 0xac, 0x76, 0x6f, 0x71, 0x26, 0x00, 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index 607597da3..aa784a95b 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -123,7 +123,8 @@ type AccessAPIClient interface { // node. This may happen if the block was from a previous spork, or if the block has yet // not been received. SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksClient, error) - // SendAndSubscribeTransactionStatuses TBD + // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status + // is streamed back until the block containing the transaction becomes sealed. SendAndSubscribeTransactionStatuses(ctx context.Context, in *SendAndSubscribeTransactionStatusesRequest, opts ...grpc.CallOption) (AccessAPI_SendAndSubscribeTransactionStatusesClient, error) } @@ -583,7 +584,8 @@ type AccessAPIServer interface { // node. This may happen if the block was from a previous spork, or if the block has yet // not been received. SubscribeBlocks(*SubscribeBlocksRequest, AccessAPI_SubscribeBlocksServer) error - // SendAndSubscribeTransactionStatuses TBD + // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status + // is streamed back until the block containing the transaction becomes sealed. SendAndSubscribeTransactionStatuses(*SendAndSubscribeTransactionStatusesRequest, AccessAPI_SendAndSubscribeTransactionStatusesServer) error } From 43effb46fc28605802a6a7f95c9b2fd9aecd2500 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Mon, 29 Jan 2024 15:12:55 +0200 Subject: [PATCH 010/626] Removed unnecerary added imports --- .../flow/executiondata/executiondata.proto | 2 - .../go/flow/executiondata/executiondata.pb.go | 96 +++++++++---------- 2 files changed, 47 insertions(+), 51 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 56c11b794..087ca2579 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -9,8 +9,6 @@ import "flow/entities/block_execution_data.proto"; import "flow/entities/event.proto"; import "flow/entities/register.proto"; import "google/protobuf/timestamp.proto"; -import "flow/access/access.proto"; -import "flow/entities/block.proto"; // Execution Data API provides access to execution data from the Flow network service ExecutionDataAPI { diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index 2bc399cd7..f68b32889 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -6,7 +6,6 @@ package executiondata import ( fmt "fmt" proto "github.com/golang/protobuf/proto" - _ "github.com/onflow/flow/protobuf/go/flow/access" entities "github.com/onflow/flow/protobuf/go/flow/entities" timestamppb "google.golang.org/protobuf/types/known/timestamppb" math "math" @@ -607,52 +606,51 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 749 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdd, 0x4e, 0x13, 0x4f, - 0x14, 0xcf, 0xb6, 0xfd, 0x17, 0x38, 0x6d, 0xf8, 0x98, 0x10, 0xfe, 0xdb, 0x8d, 0x48, 0x5b, 0x8d, - 0x69, 0x14, 0xb6, 0x5a, 0x24, 0xde, 0x78, 0x63, 0x05, 0xb1, 0x77, 0x66, 0x21, 0x24, 0x72, 0xd3, - 0xec, 0xc7, 0x61, 0x3b, 0xb1, 0xec, 0xd4, 0x9d, 0x69, 0x85, 0x78, 0xc5, 0x9d, 0x8f, 0xe0, 0x5b, - 0xf8, 0x1e, 0x5e, 0xf8, 0x06, 0xbe, 0x8b, 0xe9, 0xec, 0xec, 0xd2, 0x6d, 0x97, 0x0a, 0x21, 0xde, - 0x40, 0xce, 0x9c, 0xdf, 0x99, 0xf3, 0x9b, 0xdf, 0xf9, 0xe8, 0xc2, 0x93, 0xb3, 0x3e, 0xfb, 0xd2, - 0xc4, 0x0b, 0x74, 0x87, 0x82, 0xb2, 0xc0, 0xb3, 0x85, 0x9d, 0xb6, 0xcc, 0x41, 0xc8, 0x04, 0x23, - 0x64, 0x8c, 0x33, 0x53, 0x1e, 0xa3, 0x11, 0xc5, 0x06, 0x82, 0x0a, 0x8a, 0xbc, 0xe9, 0xf4, 0x99, - 0xfb, 0xa9, 0x9b, 0x40, 0xba, 0xd7, 0xd1, 0x46, 0x25, 0x8d, 0xc4, 0x11, 0x06, 0x42, 0xb9, 0x1e, - 0xa4, 0x5d, 0x21, 0xfa, 0x94, 0x0b, 0x0c, 0x95, 0x77, 0xcb, 0x67, 0xcc, 0xef, 0x63, 0x53, 0x5a, - 0xce, 0xf0, 0xac, 0x29, 0xe8, 0x39, 0x72, 0x61, 0x9f, 0x0f, 0x14, 0x40, 0x97, 0xe1, 0xb6, 0xeb, - 0x22, 0xe7, 0xea, 0x5f, 0x76, 0x4e, 0xc9, 0x2e, 0x72, 0xd5, 0xbf, 0x6b, 0x50, 0x3d, 0x44, 0x71, - 0x10, 0x53, 0xdd, 0xb7, 0x85, 0xdd, 0xbe, 0x6c, 0x8f, 0x11, 0x9d, 0x7d, 0x0b, 0x3f, 0x0f, 0x91, - 0x0b, 0x52, 0x81, 0xc5, 0xe8, 0x45, 0xd4, 0xd3, 0xb5, 0xaa, 0xd6, 0x28, 0x5b, 0x0b, 0xd2, 0xee, - 0x78, 0xe4, 0x23, 0x6c, 0xc8, 0x27, 0x74, 0x31, 0x70, 0x99, 0x47, 0x03, 0xbf, 0x3b, 0xc2, 0x90, - 0x53, 0x16, 0xe8, 0xb9, 0xaa, 0xd6, 0x58, 0x6e, 0x3d, 0x32, 0x23, 0xb5, 0x54, 0x6e, 0xf3, 0x60, - 0x0c, 0x3e, 0x50, 0xd8, 0x93, 0x08, 0x6a, 0xad, 0x63, 0xc6, 0x69, 0xfd, 0x02, 0x6a, 0x73, 0x98, - 0xf1, 0x01, 0x0b, 0x38, 0x92, 0x23, 0x58, 0xcf, 0x12, 0x5b, 0xd2, 0x2c, 0xb5, 0x6a, 0x53, 0xd9, - 0x65, 0x74, 0xea, 0x46, 0x8b, 0x38, 0x33, 0x67, 0xf5, 0x5f, 0x1a, 0x6c, 0x1e, 0x0d, 0x1d, 0xee, - 0x86, 0xd4, 0xc1, 0x34, 0x5c, 0x29, 0xf2, 0x18, 0x96, 0xb9, 0xb0, 0x43, 0xd1, 0x9d, 0xd2, 0xa5, - 0x2c, 0x4f, 0xdb, 0x4a, 0x9c, 0x6d, 0x20, 0x93, 0xa8, 0x1e, 0x52, 0xbf, 0x27, 0xa4, 0x30, 0x05, - 0x6b, 0xf5, 0x1a, 0xf9, 0x5e, 0x9e, 0xcf, 0x91, 0x32, 0x7f, 0x5f, 0x29, 0x7f, 0x6b, 0xf0, 0xf0, - 0xa6, 0x07, 0x29, 0x21, 0x6b, 0x50, 0x4e, 0xb1, 0xd4, 0x24, 0xcb, 0x92, 0x33, 0x41, 0xf0, 0x26, - 0xad, 0x73, 0xf7, 0xd0, 0x9a, 0xbc, 0x85, 0x95, 0xe8, 0xd2, 0xa4, 0x9d, 0xe5, 0x73, 0x4b, 0x2d, - 0xc3, 0x8c, 0x1a, 0xde, 0x8c, 0x1b, 0xde, 0x3c, 0x8e, 0x11, 0xd6, 0xb2, 0x0c, 0x49, 0xec, 0xfa, - 0x8f, 0x1c, 0x6c, 0x5c, 0xbf, 0x6f, 0xac, 0x00, 0xff, 0x97, 0x95, 0x7a, 0x05, 0xc5, 0x33, 0xda, - 0x17, 0x18, 0x2a, 0xaa, 0x5b, 0xe6, 0xec, 0x4a, 0x88, 0xca, 0xf3, 0x4e, 0xc2, 0x2c, 0x05, 0x27, - 0x3b, 0x40, 0x7a, 0x68, 0x87, 0xc2, 0x41, 0x5b, 0x74, 0x69, 0x20, 0x30, 0x1c, 0xd9, 0x7d, 0xbd, - 0x20, 0xd3, 0xac, 0x25, 0x9e, 0x8e, 0x72, 0xcc, 0xe9, 0x88, 0xff, 0xee, 0xdb, 0x11, 0x3f, 0x35, - 0xf8, 0x7f, 0x46, 0x31, 0xd5, 0x0a, 0x73, 0xc6, 0x7d, 0xba, 0x4b, 0x72, 0xb3, 0x5d, 0xb2, 0x0d, - 0x45, 0x99, 0x91, 0xeb, 0xf9, 0x6a, 0xbe, 0x51, 0x6a, 0xad, 0x67, 0x91, 0xb4, 0x14, 0x26, 0xab, - 0xfc, 0x85, 0x3b, 0x97, 0xdf, 0x81, 0xd2, 0x84, 0xda, 0x64, 0x13, 0x20, 0x92, 0x4d, 0x5c, 0x0e, - 0x50, 0xd7, 0xaa, 0xf9, 0xc6, 0x92, 0xb5, 0x24, 0x4f, 0x8e, 0x2f, 0x07, 0x48, 0x0c, 0x58, 0x74, - 0x59, 0x20, 0x42, 0xdb, 0x1d, 0xf3, 0x1f, 0x3b, 0x13, 0x9b, 0xe8, 0xb0, 0x60, 0x7b, 0x5e, 0x88, - 0x3c, 0x62, 0xbf, 0x64, 0xc5, 0x66, 0xfd, 0x2b, 0xe8, 0x87, 0x28, 0x2c, 0xb5, 0x93, 0x4f, 0xec, - 0xfe, 0x10, 0x93, 0x1e, 0xbb, 0xc5, 0xec, 0xbc, 0x86, 0x72, 0xbc, 0xcf, 0xbb, 0xd4, 0xe3, 0x32, - 0x71, 0xa9, 0x55, 0x99, 0xd2, 0x26, 0xbe, 0xbe, 0xb3, 0x6f, 0x95, 0x62, 0x78, 0xc7, 0xe3, 0xf5, - 0x5d, 0xa8, 0x64, 0x24, 0x57, 0xe5, 0xda, 0x80, 0xe2, 0x48, 0x9e, 0xc8, 0xa7, 0x96, 0x2d, 0x65, - 0xb5, 0xae, 0x0a, 0xb0, 0x9a, 0x9a, 0xb5, 0x37, 0x1f, 0x3a, 0xe4, 0x9b, 0x26, 0xaf, 0xca, 0xde, - 0xaa, 0xe4, 0x65, 0x56, 0x23, 0xff, 0xed, 0xe7, 0xc1, 0xd8, 0xbb, 0x63, 0x94, 0xe2, 0x7d, 0xa5, - 0x4d, 0x0e, 0x6d, 0x6a, 0x29, 0xbc, 0xc8, 0xba, 0x71, 0xee, 0x46, 0x36, 0x5a, 0x77, 0x09, 0x89, - 0x18, 0x3c, 0xd7, 0x48, 0x1f, 0x56, 0xa6, 0xa6, 0x80, 0x3c, 0x9d, 0x7f, 0xd1, 0xe4, 0x72, 0x31, - 0x9e, 0xdd, 0x0a, 0x9b, 0x64, 0x1b, 0xc0, 0xda, 0x4c, 0x19, 0xc9, 0xf6, 0x0d, 0xea, 0x65, 0xb6, - 0x9a, 0xb1, 0x73, 0x4b, 0x74, 0x94, 0xb3, 0x7d, 0x0a, 0x35, 0x16, 0xfa, 0x26, 0x0b, 0x64, 0x54, - 0x32, 0x4a, 0xa9, 0xf0, 0xd3, 0x3d, 0x9f, 0x8a, 0xde, 0xd0, 0x31, 0x5d, 0x76, 0xde, 0x8c, 0x90, - 0x4d, 0xf9, 0x27, 0xf9, 0xd2, 0xf0, 0x59, 0x73, 0xf6, 0xdb, 0xc8, 0x29, 0x4a, 0xff, 0xee, 0x9f, - 0x00, 0x00, 0x00, 0xff, 0xff, 0xc7, 0x5c, 0xf7, 0xa9, 0x38, 0x09, 0x00, 0x00, + // 735 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcb, 0x6e, 0xd3, 0x4c, + 0x14, 0x96, 0x93, 0xfc, 0x69, 0x7b, 0x12, 0xf5, 0x32, 0xaa, 0xfa, 0x3b, 0x16, 0xa5, 0x49, 0x40, + 0x28, 0x82, 0xd6, 0x06, 0x97, 0x8a, 0x0d, 0x1b, 0x42, 0x4b, 0xc9, 0x0e, 0xb9, 0x55, 0x25, 0xba, + 0xb1, 0x7c, 0x99, 0x3a, 0x23, 0x5c, 0x4f, 0xf0, 0x4c, 0x42, 0x2b, 0x56, 0xdd, 0xf1, 0x08, 0xbc, + 0x05, 0xef, 0xc1, 0x82, 0x37, 0xe0, 0x5d, 0x50, 0xc6, 0x63, 0x37, 0x4e, 0xdc, 0xd0, 0xaa, 0x62, + 0x13, 0xe9, 0xcc, 0xf9, 0xce, 0x9c, 0x6f, 0xbe, 0x73, 0x89, 0xe1, 0xc9, 0x59, 0x48, 0xbf, 0x18, + 0xf8, 0x02, 0x7b, 0x43, 0x4e, 0x68, 0xe4, 0x3b, 0xdc, 0xc9, 0x5b, 0xfa, 0x20, 0xa6, 0x9c, 0x22, + 0x34, 0xc6, 0xe9, 0x39, 0x8f, 0xd6, 0x49, 0x62, 0x23, 0x4e, 0x38, 0xc1, 0xcc, 0x70, 0x43, 0xea, + 0x7d, 0xb2, 0x33, 0x88, 0x7d, 0x1d, 0xad, 0x35, 0xf2, 0x48, 0x3c, 0xc2, 0x11, 0x97, 0xae, 0x07, + 0x79, 0x57, 0x8c, 0x03, 0xc2, 0x38, 0x8e, 0xa5, 0x77, 0x2b, 0xa0, 0x34, 0x08, 0xb1, 0x21, 0x2c, + 0x77, 0x78, 0x66, 0x70, 0x72, 0x8e, 0x19, 0x77, 0xce, 0x07, 0x09, 0xa0, 0xfd, 0x5d, 0x81, 0xe6, + 0x21, 0xe6, 0x07, 0x69, 0xd6, 0x7d, 0x87, 0x3b, 0xdd, 0xcb, 0xee, 0x98, 0x4a, 0x6f, 0xdf, 0xc2, + 0x9f, 0x87, 0x98, 0x71, 0xd4, 0x80, 0xc5, 0x84, 0x1c, 0xf1, 0x55, 0xa5, 0xa9, 0x74, 0xea, 0xd6, + 0x82, 0xb0, 0x7b, 0x3e, 0xfa, 0x08, 0x1b, 0x82, 0x8d, 0x8d, 0x23, 0x8f, 0xfa, 0x24, 0x0a, 0xec, + 0x11, 0x8e, 0x19, 0xa1, 0x91, 0x5a, 0x6a, 0x2a, 0x9d, 0x65, 0xf3, 0x91, 0x9e, 0x3c, 0x5c, 0xf2, + 0xd3, 0x0f, 0xc6, 0xe0, 0x03, 0x89, 0x3d, 0x49, 0xa0, 0xd6, 0x3a, 0x2e, 0x38, 0x6d, 0x5f, 0x40, + 0x6b, 0x0e, 0x33, 0x36, 0xa0, 0x11, 0xc3, 0xe8, 0x08, 0xd6, 0x8b, 0x74, 0x13, 0x34, 0x6b, 0x66, + 0x6b, 0x2a, 0xbb, 0x88, 0xce, 0xdd, 0x68, 0x21, 0x77, 0xe6, 0xac, 0xfd, 0x4b, 0x81, 0xcd, 0xa3, + 0xa1, 0xcb, 0xbc, 0x98, 0xb8, 0x38, 0x0f, 0x97, 0x8a, 0x3c, 0x86, 0x65, 0xc6, 0x9d, 0x98, 0xdb, + 0x53, 0xba, 0xd4, 0xc5, 0x69, 0x57, 0x8a, 0xb3, 0x0d, 0x68, 0x12, 0xd5, 0xc7, 0x24, 0xe8, 0x73, + 0x21, 0x4c, 0xc5, 0x5a, 0xbd, 0x46, 0xbe, 0x17, 0xe7, 0x73, 0xa4, 0x2c, 0xdf, 0x57, 0xca, 0xdf, + 0x0a, 0x3c, 0xbc, 0xe9, 0x41, 0x52, 0xc8, 0x16, 0xd4, 0x73, 0x2c, 0x15, 0xc1, 0xb2, 0xe6, 0x4e, + 0x10, 0xbc, 0x49, 0xeb, 0xd2, 0x3d, 0xb4, 0x46, 0x6f, 0x61, 0x25, 0xb9, 0x34, 0xeb, 0x4c, 0xf1, + 0xdc, 0x9a, 0xa9, 0xe9, 0x49, 0xef, 0xea, 0x69, 0xef, 0xea, 0xc7, 0x29, 0xc2, 0x5a, 0x16, 0x21, + 0x99, 0xdd, 0xfe, 0x51, 0x82, 0x8d, 0xeb, 0xf7, 0x8d, 0x15, 0x60, 0xff, 0xb2, 0x52, 0xaf, 0xa0, + 0x7a, 0x46, 0x42, 0x8e, 0x63, 0x49, 0x75, 0x4b, 0x9f, 0x9d, 0xee, 0xa4, 0x3c, 0xef, 0x04, 0xcc, + 0x92, 0x70, 0xb4, 0x03, 0xa8, 0x8f, 0x9d, 0x98, 0xbb, 0xd8, 0xe1, 0x36, 0x89, 0x38, 0x8e, 0x47, + 0x4e, 0xa8, 0x56, 0x44, 0x9a, 0xb5, 0xcc, 0xd3, 0x93, 0x8e, 0x39, 0x1d, 0xf1, 0xdf, 0x7d, 0x3b, + 0xe2, 0xa7, 0x02, 0xff, 0xcf, 0x28, 0x26, 0x5b, 0x61, 0xce, 0xb8, 0x4f, 0x77, 0x49, 0x69, 0xb6, + 0x4b, 0xb6, 0xa1, 0x2a, 0x32, 0x32, 0xb5, 0xdc, 0x2c, 0x77, 0x6a, 0xe6, 0x7a, 0x11, 0x49, 0x4b, + 0x62, 0x8a, 0xca, 0x5f, 0xb9, 0x73, 0xf9, 0x5d, 0xa8, 0x4d, 0xa8, 0x8d, 0x36, 0x01, 0x12, 0xd9, + 0xf8, 0xe5, 0x00, 0xab, 0x4a, 0xb3, 0xdc, 0x59, 0xb2, 0x96, 0xc4, 0xc9, 0xf1, 0xe5, 0x00, 0x23, + 0x0d, 0x16, 0x3d, 0x1a, 0xf1, 0xd8, 0xf1, 0xc6, 0xfc, 0xc7, 0xce, 0xcc, 0x46, 0x2a, 0x2c, 0x38, + 0xbe, 0x1f, 0x63, 0x96, 0xb0, 0x5f, 0xb2, 0x52, 0xb3, 0xfd, 0x15, 0xd4, 0x43, 0xcc, 0x2d, 0xb9, + 0x5e, 0x4f, 0x9c, 0x70, 0x88, 0xb3, 0x1e, 0xbb, 0xc5, 0xec, 0xbc, 0x86, 0x7a, 0xba, 0x9a, 0x6d, + 0xe2, 0x33, 0x91, 0xb8, 0x66, 0x36, 0xa6, 0xb4, 0x49, 0xaf, 0xef, 0xed, 0x5b, 0xb5, 0x14, 0xde, + 0xf3, 0x59, 0x7b, 0x17, 0x1a, 0x05, 0xc9, 0x65, 0xb9, 0x36, 0xa0, 0x3a, 0x12, 0x27, 0xe2, 0xa9, + 0x75, 0x4b, 0x5a, 0xe6, 0x55, 0x05, 0x56, 0x73, 0xb3, 0xf6, 0xe6, 0x43, 0x0f, 0x7d, 0x53, 0xc4, + 0x55, 0xc5, 0x5b, 0x15, 0xbd, 0x2c, 0x6a, 0xe4, 0xbf, 0xfd, 0x3d, 0x68, 0x7b, 0x77, 0x8c, 0x92, + 0xbc, 0xaf, 0x94, 0xc9, 0xa1, 0xcd, 0x2d, 0x85, 0x17, 0x45, 0x37, 0xce, 0xdd, 0xc8, 0x9a, 0x79, + 0x97, 0x90, 0x84, 0xc1, 0x73, 0x05, 0x85, 0xb0, 0x32, 0x35, 0x05, 0xe8, 0xe9, 0xfc, 0x8b, 0x26, + 0x97, 0x8b, 0xf6, 0xec, 0x56, 0xd8, 0x2c, 0xdb, 0x00, 0xd6, 0x66, 0xca, 0x88, 0xb6, 0x6f, 0x50, + 0xaf, 0xb0, 0xd5, 0xb4, 0x9d, 0x5b, 0xa2, 0x93, 0x9c, 0xdd, 0x53, 0x68, 0xd1, 0x38, 0xd0, 0x69, + 0x24, 0xa2, 0xb2, 0x51, 0xca, 0x85, 0x9f, 0xee, 0x05, 0x84, 0xf7, 0x87, 0xae, 0xee, 0xd1, 0x73, + 0x23, 0x41, 0x1a, 0xe2, 0x27, 0xfb, 0x68, 0x08, 0xa8, 0x31, 0xfb, 0x99, 0xe3, 0x56, 0x85, 0x7f, + 0xf7, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x45, 0x79, 0x16, 0x03, 0x09, 0x00, 0x00, } From 1d824a7b2398b0832c2e4286fb3cfee7273401eb Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Tue, 30 Jan 2024 18:24:30 +0200 Subject: [PATCH 011/626] Updated godoc for SubscribeBlocks --- protobuf/flow/access/access.proto | 10 +--------- protobuf/go/flow/access/access_grpc.pb.go | 20 ++------------------ 2 files changed, 3 insertions(+), 27 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 36956dadc..e91036538 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -166,15 +166,7 @@ service AccessAPI { // block as it becomes available. // // Each block are filtered by the provided block status, and only - // those blocks that match the status are returned. If no block status is provided, - // sealed blocks are returned. - // - // Errors: - // - InvalidArgument is returned if the request contains an invalid - // start block. - // - NotFound is returned if the start block is not currently available on the - // node. This may happen if the block was from a previous spork, or if the block has yet - // not been received. + // those blocks that match the status are returned. rpc SubscribeBlocks(SubscribeBlocksRequest) returns (stream SubscribeBlocksResponse); diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index aa784a95b..43892f811 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -113,15 +113,7 @@ type AccessAPIClient interface { // block as it becomes available. // // Each block are filtered by the provided block status, and only - // those blocks that match the status are returned. If no block status is provided, - // sealed blocks are returned. - // - // Errors: - // - InvalidArgument is returned if the request contains an invalid - // start block. - // - NotFound is returned if the start block is not currently available on the - // node. This may happen if the block was from a previous spork, or if the block has yet - // not been received. + // those blocks that match the status are returned. SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksClient, error) // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. @@ -574,15 +566,7 @@ type AccessAPIServer interface { // block as it becomes available. // // Each block are filtered by the provided block status, and only - // those blocks that match the status are returned. If no block status is provided, - // sealed blocks are returned. - // - // Errors: - // - InvalidArgument is returned if the request contains an invalid - // start block. - // - NotFound is returned if the start block is not currently available on the - // node. This may happen if the block was from a previous spork, or if the block has yet - // not been received. + // those blocks that match the status are returned. SubscribeBlocks(*SubscribeBlocksRequest, AccessAPI_SubscribeBlocksServer) error // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. From 9895580205f1f474fb96bd531ddd9fee23a9cac6 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Tue, 30 Jan 2024 18:54:24 +0200 Subject: [PATCH 012/626] Updated protoc version --- protobuf/go/flow/access/access_grpc.pb.go | 166 +++++++++++------- .../go/flow/execution/execution_grpc.pb.go | 70 +++++--- .../executiondata/executiondata_grpc.pb.go | 21 ++- .../go/flow/legacy/access/access_grpc.pb.go | 105 ++++++----- .../legacy/execution/execution_grpc.pb.go | 30 ++-- 5 files changed, 241 insertions(+), 151 deletions(-) diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index 43892f811..de2e0f9d3 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc (unknown) // source: flow/access/access.proto @@ -18,6 +18,42 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + AccessAPI_Ping_FullMethodName = "/flow.access.AccessAPI/Ping" + AccessAPI_GetNodeVersionInfo_FullMethodName = "/flow.access.AccessAPI/GetNodeVersionInfo" + AccessAPI_GetLatestBlockHeader_FullMethodName = "/flow.access.AccessAPI/GetLatestBlockHeader" + AccessAPI_GetBlockHeaderByID_FullMethodName = "/flow.access.AccessAPI/GetBlockHeaderByID" + AccessAPI_GetBlockHeaderByHeight_FullMethodName = "/flow.access.AccessAPI/GetBlockHeaderByHeight" + AccessAPI_GetLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetLatestBlock" + AccessAPI_GetBlockByID_FullMethodName = "/flow.access.AccessAPI/GetBlockByID" + AccessAPI_GetBlockByHeight_FullMethodName = "/flow.access.AccessAPI/GetBlockByHeight" + AccessAPI_GetCollectionByID_FullMethodName = "/flow.access.AccessAPI/GetCollectionByID" + AccessAPI_SendTransaction_FullMethodName = "/flow.access.AccessAPI/SendTransaction" + AccessAPI_GetTransaction_FullMethodName = "/flow.access.AccessAPI/GetTransaction" + AccessAPI_GetTransactionResult_FullMethodName = "/flow.access.AccessAPI/GetTransactionResult" + AccessAPI_GetTransactionResultByIndex_FullMethodName = "/flow.access.AccessAPI/GetTransactionResultByIndex" + AccessAPI_GetTransactionResultsByBlockID_FullMethodName = "/flow.access.AccessAPI/GetTransactionResultsByBlockID" + AccessAPI_GetTransactionsByBlockID_FullMethodName = "/flow.access.AccessAPI/GetTransactionsByBlockID" + AccessAPI_GetSystemTransaction_FullMethodName = "/flow.access.AccessAPI/GetSystemTransaction" + AccessAPI_GetSystemTransactionResult_FullMethodName = "/flow.access.AccessAPI/GetSystemTransactionResult" + AccessAPI_GetAccount_FullMethodName = "/flow.access.AccessAPI/GetAccount" + AccessAPI_GetAccountAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountAtLatestBlock" + AccessAPI_GetAccountAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountAtBlockHeight" + AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock" + AccessAPI_ExecuteScriptAtBlockID_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockID" + AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight" + AccessAPI_GetEventsForHeightRange_FullMethodName = "/flow.access.AccessAPI/GetEventsForHeightRange" + AccessAPI_GetEventsForBlockIDs_FullMethodName = "/flow.access.AccessAPI/GetEventsForBlockIDs" + AccessAPI_GetNetworkParameters_FullMethodName = "/flow.access.AccessAPI/GetNetworkParameters" + AccessAPI_GetLatestProtocolStateSnapshot_FullMethodName = "/flow.access.AccessAPI/GetLatestProtocolStateSnapshot" + AccessAPI_GetProtocolStateSnapshotByBlockID_FullMethodName = "/flow.access.AccessAPI/GetProtocolStateSnapshotByBlockID" + AccessAPI_GetProtocolStateSnapshotByHeight_FullMethodName = "/flow.access.AccessAPI/GetProtocolStateSnapshotByHeight" + AccessAPI_GetExecutionResultForBlockID_FullMethodName = "/flow.access.AccessAPI/GetExecutionResultForBlockID" + AccessAPI_GetExecutionResultByID_FullMethodName = "/flow.access.AccessAPI/GetExecutionResultByID" + AccessAPI_SubscribeBlocks_FullMethodName = "/flow.access.AccessAPI/SubscribeBlocks" + AccessAPI_SendAndSubscribeTransactionStatuses_FullMethodName = "/flow.access.AccessAPI/SendAndSubscribeTransactionStatuses" +) + // AccessAPIClient is the client API for AccessAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -130,7 +166,7 @@ func NewAccessAPIClient(cc grpc.ClientConnInterface) AccessAPIClient { func (c *accessAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/Ping", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_Ping_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -139,7 +175,7 @@ func (c *accessAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grp func (c *accessAPIClient) GetNodeVersionInfo(ctx context.Context, in *GetNodeVersionInfoRequest, opts ...grpc.CallOption) (*GetNodeVersionInfoResponse, error) { out := new(GetNodeVersionInfoResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetNodeVersionInfo", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetNodeVersionInfo_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -148,7 +184,7 @@ func (c *accessAPIClient) GetNodeVersionInfo(ctx context.Context, in *GetNodeVer func (c *accessAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLatestBlockHeaderRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetLatestBlockHeader", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetLatestBlockHeader_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -157,7 +193,7 @@ func (c *accessAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLates func (c *accessAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHeaderByIDRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetBlockHeaderByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockHeaderByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -166,7 +202,7 @@ func (c *accessAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHe func (c *accessAPIClient) GetBlockHeaderByHeight(ctx context.Context, in *GetBlockHeaderByHeightRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetBlockHeaderByHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockHeaderByHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -175,7 +211,7 @@ func (c *accessAPIClient) GetBlockHeaderByHeight(ctx context.Context, in *GetBlo func (c *accessAPIClient) GetLatestBlock(ctx context.Context, in *GetLatestBlockRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetLatestBlock", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -184,7 +220,7 @@ func (c *accessAPIClient) GetLatestBlock(ctx context.Context, in *GetLatestBlock func (c *accessAPIClient) GetBlockByID(ctx context.Context, in *GetBlockByIDRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetBlockByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -193,7 +229,7 @@ func (c *accessAPIClient) GetBlockByID(ctx context.Context, in *GetBlockByIDRequ func (c *accessAPIClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHeightRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetBlockByHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockByHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -202,7 +238,7 @@ func (c *accessAPIClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHe func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollectionByIDRequest, opts ...grpc.CallOption) (*CollectionResponse, error) { out := new(CollectionResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetCollectionByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetCollectionByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -211,7 +247,7 @@ func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollecti func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransactionRequest, opts ...grpc.CallOption) (*SendTransactionResponse, error) { out := new(SendTransactionResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/SendTransaction", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_SendTransaction_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -220,7 +256,7 @@ func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransacti func (c *accessAPIClient) GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*TransactionResponse, error) { out := new(TransactionResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransaction", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransaction_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -229,7 +265,7 @@ func (c *accessAPIClient) GetTransaction(ctx context.Context, in *GetTransaction func (c *accessAPIClient) GetTransactionResult(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*TransactionResultResponse, error) { out := new(TransactionResultResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransactionResult", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransactionResult_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -238,7 +274,7 @@ func (c *accessAPIClient) GetTransactionResult(ctx context.Context, in *GetTrans func (c *accessAPIClient) GetTransactionResultByIndex(ctx context.Context, in *GetTransactionByIndexRequest, opts ...grpc.CallOption) (*TransactionResultResponse, error) { out := new(TransactionResultResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransactionResultByIndex", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransactionResultByIndex_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -247,7 +283,7 @@ func (c *accessAPIClient) GetTransactionResultByIndex(ctx context.Context, in *G func (c *accessAPIClient) GetTransactionResultsByBlockID(ctx context.Context, in *GetTransactionsByBlockIDRequest, opts ...grpc.CallOption) (*TransactionResultsResponse, error) { out := new(TransactionResultsResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransactionResultsByBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransactionResultsByBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -256,7 +292,7 @@ func (c *accessAPIClient) GetTransactionResultsByBlockID(ctx context.Context, in func (c *accessAPIClient) GetTransactionsByBlockID(ctx context.Context, in *GetTransactionsByBlockIDRequest, opts ...grpc.CallOption) (*TransactionsResponse, error) { out := new(TransactionsResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransactionsByBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransactionsByBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -265,7 +301,7 @@ func (c *accessAPIClient) GetTransactionsByBlockID(ctx context.Context, in *GetT func (c *accessAPIClient) GetSystemTransaction(ctx context.Context, in *GetSystemTransactionRequest, opts ...grpc.CallOption) (*TransactionResponse, error) { out := new(TransactionResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetSystemTransaction", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetSystemTransaction_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -274,7 +310,7 @@ func (c *accessAPIClient) GetSystemTransaction(ctx context.Context, in *GetSyste func (c *accessAPIClient) GetSystemTransactionResult(ctx context.Context, in *GetSystemTransactionResultRequest, opts ...grpc.CallOption) (*TransactionResultResponse, error) { out := new(TransactionResultResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetSystemTransactionResult", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetSystemTransactionResult_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -283,7 +319,7 @@ func (c *accessAPIClient) GetSystemTransactionResult(ctx context.Context, in *Ge func (c *accessAPIClient) GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error) { out := new(GetAccountResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetAccount", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetAccount_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -292,7 +328,7 @@ func (c *accessAPIClient) GetAccount(ctx context.Context, in *GetAccountRequest, func (c *accessAPIClient) GetAccountAtLatestBlock(ctx context.Context, in *GetAccountAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountResponse, error) { out := new(AccountResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetAccountAtLatestBlock", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountAtLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -301,7 +337,7 @@ func (c *accessAPIClient) GetAccountAtLatestBlock(ctx context.Context, in *GetAc func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountResponse, error) { out := new(AccountResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetAccountAtBlockHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountAtBlockHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -310,7 +346,7 @@ func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAc func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *ExecuteScriptAtLatestBlockRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -319,7 +355,7 @@ func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *Ex func (c *accessAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *ExecuteScriptAtBlockIDRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/ExecuteScriptAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -328,7 +364,7 @@ func (c *accessAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *Execut func (c *accessAPIClient) ExecuteScriptAtBlockHeight(ctx context.Context, in *ExecuteScriptAtBlockHeightRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -337,7 +373,7 @@ func (c *accessAPIClient) ExecuteScriptAtBlockHeight(ctx context.Context, in *Ex func (c *accessAPIClient) GetEventsForHeightRange(ctx context.Context, in *GetEventsForHeightRangeRequest, opts ...grpc.CallOption) (*EventsResponse, error) { out := new(EventsResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetEventsForHeightRange", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetEventsForHeightRange_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -346,7 +382,7 @@ func (c *accessAPIClient) GetEventsForHeightRange(ctx context.Context, in *GetEv func (c *accessAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEventsForBlockIDsRequest, opts ...grpc.CallOption) (*EventsResponse, error) { out := new(EventsResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetEventsForBlockIDs", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetEventsForBlockIDs_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -355,7 +391,7 @@ func (c *accessAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEvent func (c *accessAPIClient) GetNetworkParameters(ctx context.Context, in *GetNetworkParametersRequest, opts ...grpc.CallOption) (*GetNetworkParametersResponse, error) { out := new(GetNetworkParametersResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetNetworkParameters", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetNetworkParameters_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -364,7 +400,7 @@ func (c *accessAPIClient) GetNetworkParameters(ctx context.Context, in *GetNetwo func (c *accessAPIClient) GetLatestProtocolStateSnapshot(ctx context.Context, in *GetLatestProtocolStateSnapshotRequest, opts ...grpc.CallOption) (*ProtocolStateSnapshotResponse, error) { out := new(ProtocolStateSnapshotResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetLatestProtocolStateSnapshot", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetLatestProtocolStateSnapshot_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -373,7 +409,7 @@ func (c *accessAPIClient) GetLatestProtocolStateSnapshot(ctx context.Context, in func (c *accessAPIClient) GetProtocolStateSnapshotByBlockID(ctx context.Context, in *GetProtocolStateSnapshotByBlockIDRequest, opts ...grpc.CallOption) (*ProtocolStateSnapshotResponse, error) { out := new(ProtocolStateSnapshotResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetProtocolStateSnapshotByBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetProtocolStateSnapshotByBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -382,7 +418,7 @@ func (c *accessAPIClient) GetProtocolStateSnapshotByBlockID(ctx context.Context, func (c *accessAPIClient) GetProtocolStateSnapshotByHeight(ctx context.Context, in *GetProtocolStateSnapshotByHeightRequest, opts ...grpc.CallOption) (*ProtocolStateSnapshotResponse, error) { out := new(ProtocolStateSnapshotResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetProtocolStateSnapshotByHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetProtocolStateSnapshotByHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -391,7 +427,7 @@ func (c *accessAPIClient) GetProtocolStateSnapshotByHeight(ctx context.Context, func (c *accessAPIClient) GetExecutionResultForBlockID(ctx context.Context, in *GetExecutionResultForBlockIDRequest, opts ...grpc.CallOption) (*ExecutionResultForBlockIDResponse, error) { out := new(ExecutionResultForBlockIDResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetExecutionResultForBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetExecutionResultForBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -400,7 +436,7 @@ func (c *accessAPIClient) GetExecutionResultForBlockID(ctx context.Context, in * func (c *accessAPIClient) GetExecutionResultByID(ctx context.Context, in *GetExecutionResultByIDRequest, opts ...grpc.CallOption) (*ExecutionResultByIDResponse, error) { out := new(ExecutionResultByIDResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetExecutionResultByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetExecutionResultByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -408,7 +444,7 @@ func (c *accessAPIClient) GetExecutionResultByID(ctx context.Context, in *GetExe } func (c *accessAPIClient) SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[0], "/flow.access.AccessAPI/SubscribeBlocks", opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[0], AccessAPI_SubscribeBlocks_FullMethodName, opts...) if err != nil { return nil, err } @@ -440,7 +476,7 @@ func (x *accessAPISubscribeBlocksClient) Recv() (*SubscribeBlocksResponse, error } func (c *accessAPIClient) SendAndSubscribeTransactionStatuses(ctx context.Context, in *SendAndSubscribeTransactionStatusesRequest, opts ...grpc.CallOption) (AccessAPI_SendAndSubscribeTransactionStatusesClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[1], "/flow.access.AccessAPI/SendAndSubscribeTransactionStatuses", opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[1], AccessAPI_SendAndSubscribeTransactionStatuses_FullMethodName, opts...) if err != nil { return nil, err } @@ -698,7 +734,7 @@ func _AccessAPI_Ping_Handler(srv interface{}, ctx context.Context, dec func(inte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/Ping", + FullMethod: AccessAPI_Ping_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).Ping(ctx, req.(*PingRequest)) @@ -716,7 +752,7 @@ func _AccessAPI_GetNodeVersionInfo_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetNodeVersionInfo", + FullMethod: AccessAPI_GetNodeVersionInfo_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetNodeVersionInfo(ctx, req.(*GetNodeVersionInfoRequest)) @@ -734,7 +770,7 @@ func _AccessAPI_GetLatestBlockHeader_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetLatestBlockHeader", + FullMethod: AccessAPI_GetLatestBlockHeader_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestBlockHeader(ctx, req.(*GetLatestBlockHeaderRequest)) @@ -752,7 +788,7 @@ func _AccessAPI_GetBlockHeaderByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetBlockHeaderByID", + FullMethod: AccessAPI_GetBlockHeaderByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockHeaderByID(ctx, req.(*GetBlockHeaderByIDRequest)) @@ -770,7 +806,7 @@ func _AccessAPI_GetBlockHeaderByHeight_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetBlockHeaderByHeight", + FullMethod: AccessAPI_GetBlockHeaderByHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockHeaderByHeight(ctx, req.(*GetBlockHeaderByHeightRequest)) @@ -788,7 +824,7 @@ func _AccessAPI_GetLatestBlock_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetLatestBlock", + FullMethod: AccessAPI_GetLatestBlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestBlock(ctx, req.(*GetLatestBlockRequest)) @@ -806,7 +842,7 @@ func _AccessAPI_GetBlockByID_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetBlockByID", + FullMethod: AccessAPI_GetBlockByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockByID(ctx, req.(*GetBlockByIDRequest)) @@ -824,7 +860,7 @@ func _AccessAPI_GetBlockByHeight_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetBlockByHeight", + FullMethod: AccessAPI_GetBlockByHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockByHeight(ctx, req.(*GetBlockByHeightRequest)) @@ -842,7 +878,7 @@ func _AccessAPI_GetCollectionByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetCollectionByID", + FullMethod: AccessAPI_GetCollectionByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetCollectionByID(ctx, req.(*GetCollectionByIDRequest)) @@ -860,7 +896,7 @@ func _AccessAPI_SendTransaction_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/SendTransaction", + FullMethod: AccessAPI_SendTransaction_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).SendTransaction(ctx, req.(*SendTransactionRequest)) @@ -878,7 +914,7 @@ func _AccessAPI_GetTransaction_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetTransaction", + FullMethod: AccessAPI_GetTransaction_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransaction(ctx, req.(*GetTransactionRequest)) @@ -896,7 +932,7 @@ func _AccessAPI_GetTransactionResult_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetTransactionResult", + FullMethod: AccessAPI_GetTransactionResult_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionResult(ctx, req.(*GetTransactionRequest)) @@ -914,7 +950,7 @@ func _AccessAPI_GetTransactionResultByIndex_Handler(srv interface{}, ctx context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetTransactionResultByIndex", + FullMethod: AccessAPI_GetTransactionResultByIndex_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionResultByIndex(ctx, req.(*GetTransactionByIndexRequest)) @@ -932,7 +968,7 @@ func _AccessAPI_GetTransactionResultsByBlockID_Handler(srv interface{}, ctx cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetTransactionResultsByBlockID", + FullMethod: AccessAPI_GetTransactionResultsByBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionResultsByBlockID(ctx, req.(*GetTransactionsByBlockIDRequest)) @@ -950,7 +986,7 @@ func _AccessAPI_GetTransactionsByBlockID_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetTransactionsByBlockID", + FullMethod: AccessAPI_GetTransactionsByBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionsByBlockID(ctx, req.(*GetTransactionsByBlockIDRequest)) @@ -968,7 +1004,7 @@ func _AccessAPI_GetSystemTransaction_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetSystemTransaction", + FullMethod: AccessAPI_GetSystemTransaction_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetSystemTransaction(ctx, req.(*GetSystemTransactionRequest)) @@ -986,7 +1022,7 @@ func _AccessAPI_GetSystemTransactionResult_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetSystemTransactionResult", + FullMethod: AccessAPI_GetSystemTransactionResult_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetSystemTransactionResult(ctx, req.(*GetSystemTransactionResultRequest)) @@ -1004,7 +1040,7 @@ func _AccessAPI_GetAccount_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetAccount", + FullMethod: AccessAPI_GetAccount_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccount(ctx, req.(*GetAccountRequest)) @@ -1022,7 +1058,7 @@ func _AccessAPI_GetAccountAtLatestBlock_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetAccountAtLatestBlock", + FullMethod: AccessAPI_GetAccountAtLatestBlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccountAtLatestBlock(ctx, req.(*GetAccountAtLatestBlockRequest)) @@ -1040,7 +1076,7 @@ func _AccessAPI_GetAccountAtBlockHeight_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetAccountAtBlockHeight", + FullMethod: AccessAPI_GetAccountAtBlockHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccountAtBlockHeight(ctx, req.(*GetAccountAtBlockHeightRequest)) @@ -1058,7 +1094,7 @@ func _AccessAPI_ExecuteScriptAtLatestBlock_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock", + FullMethod: AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtLatestBlock(ctx, req.(*ExecuteScriptAtLatestBlockRequest)) @@ -1076,7 +1112,7 @@ func _AccessAPI_ExecuteScriptAtBlockID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/ExecuteScriptAtBlockID", + FullMethod: AccessAPI_ExecuteScriptAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtBlockID(ctx, req.(*ExecuteScriptAtBlockIDRequest)) @@ -1094,7 +1130,7 @@ func _AccessAPI_ExecuteScriptAtBlockHeight_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight", + FullMethod: AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtBlockHeight(ctx, req.(*ExecuteScriptAtBlockHeightRequest)) @@ -1112,7 +1148,7 @@ func _AccessAPI_GetEventsForHeightRange_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetEventsForHeightRange", + FullMethod: AccessAPI_GetEventsForHeightRange_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetEventsForHeightRange(ctx, req.(*GetEventsForHeightRangeRequest)) @@ -1130,7 +1166,7 @@ func _AccessAPI_GetEventsForBlockIDs_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetEventsForBlockIDs", + FullMethod: AccessAPI_GetEventsForBlockIDs_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetEventsForBlockIDs(ctx, req.(*GetEventsForBlockIDsRequest)) @@ -1148,7 +1184,7 @@ func _AccessAPI_GetNetworkParameters_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetNetworkParameters", + FullMethod: AccessAPI_GetNetworkParameters_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetNetworkParameters(ctx, req.(*GetNetworkParametersRequest)) @@ -1166,7 +1202,7 @@ func _AccessAPI_GetLatestProtocolStateSnapshot_Handler(srv interface{}, ctx cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetLatestProtocolStateSnapshot", + FullMethod: AccessAPI_GetLatestProtocolStateSnapshot_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestProtocolStateSnapshot(ctx, req.(*GetLatestProtocolStateSnapshotRequest)) @@ -1184,7 +1220,7 @@ func _AccessAPI_GetProtocolStateSnapshotByBlockID_Handler(srv interface{}, ctx c } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetProtocolStateSnapshotByBlockID", + FullMethod: AccessAPI_GetProtocolStateSnapshotByBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetProtocolStateSnapshotByBlockID(ctx, req.(*GetProtocolStateSnapshotByBlockIDRequest)) @@ -1202,7 +1238,7 @@ func _AccessAPI_GetProtocolStateSnapshotByHeight_Handler(srv interface{}, ctx co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetProtocolStateSnapshotByHeight", + FullMethod: AccessAPI_GetProtocolStateSnapshotByHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetProtocolStateSnapshotByHeight(ctx, req.(*GetProtocolStateSnapshotByHeightRequest)) @@ -1220,7 +1256,7 @@ func _AccessAPI_GetExecutionResultForBlockID_Handler(srv interface{}, ctx contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetExecutionResultForBlockID", + FullMethod: AccessAPI_GetExecutionResultForBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetExecutionResultForBlockID(ctx, req.(*GetExecutionResultForBlockIDRequest)) @@ -1238,7 +1274,7 @@ func _AccessAPI_GetExecutionResultByID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetExecutionResultByID", + FullMethod: AccessAPI_GetExecutionResultByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetExecutionResultByID(ctx, req.(*GetExecutionResultByIDRequest)) diff --git a/protobuf/go/flow/execution/execution_grpc.pb.go b/protobuf/go/flow/execution/execution_grpc.pb.go index 7726a8e90..49846e80c 100644 --- a/protobuf/go/flow/execution/execution_grpc.pb.go +++ b/protobuf/go/flow/execution/execution_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc (unknown) // source: flow/execution/execution.proto @@ -18,6 +18,22 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + ExecutionAPI_Ping_FullMethodName = "/flow.execution.ExecutionAPI/Ping" + ExecutionAPI_GetAccountAtBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetAccountAtBlockID" + ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName = "/flow.execution.ExecutionAPI/ExecuteScriptAtBlockID" + ExecutionAPI_GetEventsForBlockIDs_FullMethodName = "/flow.execution.ExecutionAPI/GetEventsForBlockIDs" + ExecutionAPI_GetTransactionResult_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionResult" + ExecutionAPI_GetTransactionResultByIndex_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionResultByIndex" + ExecutionAPI_GetTransactionResultsByBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionResultsByBlockID" + ExecutionAPI_GetTransactionErrorMessage_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionErrorMessage" + ExecutionAPI_GetTransactionErrorMessageByIndex_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionErrorMessageByIndex" + ExecutionAPI_GetTransactionErrorMessagesByBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionErrorMessagesByBlockID" + ExecutionAPI_GetRegisterAtBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetRegisterAtBlockID" + ExecutionAPI_GetLatestBlockHeader_FullMethodName = "/flow.execution.ExecutionAPI/GetLatestBlockHeader" + ExecutionAPI_GetBlockHeaderByID_FullMethodName = "/flow.execution.ExecutionAPI/GetBlockHeaderByID" +) + // ExecutionAPIClient is the client API for ExecutionAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -65,7 +81,7 @@ func NewExecutionAPIClient(cc grpc.ClientConnInterface) ExecutionAPIClient { func (c *executionAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/Ping", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_Ping_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -74,7 +90,7 @@ func (c *executionAPIClient) Ping(ctx context.Context, in *PingRequest, opts ... func (c *executionAPIClient) GetAccountAtBlockID(ctx context.Context, in *GetAccountAtBlockIDRequest, opts ...grpc.CallOption) (*GetAccountAtBlockIDResponse, error) { out := new(GetAccountAtBlockIDResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetAccountAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetAccountAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -83,7 +99,7 @@ func (c *executionAPIClient) GetAccountAtBlockID(ctx context.Context, in *GetAcc func (c *executionAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *ExecuteScriptAtBlockIDRequest, opts ...grpc.CallOption) (*ExecuteScriptAtBlockIDResponse, error) { out := new(ExecuteScriptAtBlockIDResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/ExecuteScriptAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -92,7 +108,7 @@ func (c *executionAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *Exe func (c *executionAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEventsForBlockIDsRequest, opts ...grpc.CallOption) (*GetEventsForBlockIDsResponse, error) { out := new(GetEventsForBlockIDsResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetEventsForBlockIDs", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetEventsForBlockIDs_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -101,7 +117,7 @@ func (c *executionAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEv func (c *executionAPIClient) GetTransactionResult(ctx context.Context, in *GetTransactionResultRequest, opts ...grpc.CallOption) (*GetTransactionResultResponse, error) { out := new(GetTransactionResultResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionResult", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionResult_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -110,7 +126,7 @@ func (c *executionAPIClient) GetTransactionResult(ctx context.Context, in *GetTr func (c *executionAPIClient) GetTransactionResultByIndex(ctx context.Context, in *GetTransactionByIndexRequest, opts ...grpc.CallOption) (*GetTransactionResultResponse, error) { out := new(GetTransactionResultResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionResultByIndex", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionResultByIndex_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -119,7 +135,7 @@ func (c *executionAPIClient) GetTransactionResultByIndex(ctx context.Context, in func (c *executionAPIClient) GetTransactionResultsByBlockID(ctx context.Context, in *GetTransactionsByBlockIDRequest, opts ...grpc.CallOption) (*GetTransactionResultsResponse, error) { out := new(GetTransactionResultsResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionResultsByBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionResultsByBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -128,7 +144,7 @@ func (c *executionAPIClient) GetTransactionResultsByBlockID(ctx context.Context, func (c *executionAPIClient) GetTransactionErrorMessage(ctx context.Context, in *GetTransactionErrorMessageRequest, opts ...grpc.CallOption) (*GetTransactionErrorMessageResponse, error) { out := new(GetTransactionErrorMessageResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionErrorMessage", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionErrorMessage_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -137,7 +153,7 @@ func (c *executionAPIClient) GetTransactionErrorMessage(ctx context.Context, in func (c *executionAPIClient) GetTransactionErrorMessageByIndex(ctx context.Context, in *GetTransactionErrorMessageByIndexRequest, opts ...grpc.CallOption) (*GetTransactionErrorMessageResponse, error) { out := new(GetTransactionErrorMessageResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionErrorMessageByIndex", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionErrorMessageByIndex_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -146,7 +162,7 @@ func (c *executionAPIClient) GetTransactionErrorMessageByIndex(ctx context.Conte func (c *executionAPIClient) GetTransactionErrorMessagesByBlockID(ctx context.Context, in *GetTransactionErrorMessagesByBlockIDRequest, opts ...grpc.CallOption) (*GetTransactionErrorMessagesResponse, error) { out := new(GetTransactionErrorMessagesResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionErrorMessagesByBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionErrorMessagesByBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -155,7 +171,7 @@ func (c *executionAPIClient) GetTransactionErrorMessagesByBlockID(ctx context.Co func (c *executionAPIClient) GetRegisterAtBlockID(ctx context.Context, in *GetRegisterAtBlockIDRequest, opts ...grpc.CallOption) (*GetRegisterAtBlockIDResponse, error) { out := new(GetRegisterAtBlockIDResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetRegisterAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetRegisterAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -164,7 +180,7 @@ func (c *executionAPIClient) GetRegisterAtBlockID(ctx context.Context, in *GetRe func (c *executionAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLatestBlockHeaderRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetLatestBlockHeader", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetLatestBlockHeader_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -173,7 +189,7 @@ func (c *executionAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLa func (c *executionAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHeaderByIDRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetBlockHeaderByID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetBlockHeaderByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -282,7 +298,7 @@ func _ExecutionAPI_Ping_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/Ping", + FullMethod: ExecutionAPI_Ping_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).Ping(ctx, req.(*PingRequest)) @@ -300,7 +316,7 @@ func _ExecutionAPI_GetAccountAtBlockID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetAccountAtBlockID", + FullMethod: ExecutionAPI_GetAccountAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetAccountAtBlockID(ctx, req.(*GetAccountAtBlockIDRequest)) @@ -318,7 +334,7 @@ func _ExecutionAPI_ExecuteScriptAtBlockID_Handler(srv interface{}, ctx context.C } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/ExecuteScriptAtBlockID", + FullMethod: ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).ExecuteScriptAtBlockID(ctx, req.(*ExecuteScriptAtBlockIDRequest)) @@ -336,7 +352,7 @@ func _ExecutionAPI_GetEventsForBlockIDs_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetEventsForBlockIDs", + FullMethod: ExecutionAPI_GetEventsForBlockIDs_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetEventsForBlockIDs(ctx, req.(*GetEventsForBlockIDsRequest)) @@ -354,7 +370,7 @@ func _ExecutionAPI_GetTransactionResult_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetTransactionResult", + FullMethod: ExecutionAPI_GetTransactionResult_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionResult(ctx, req.(*GetTransactionResultRequest)) @@ -372,7 +388,7 @@ func _ExecutionAPI_GetTransactionResultByIndex_Handler(srv interface{}, ctx cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetTransactionResultByIndex", + FullMethod: ExecutionAPI_GetTransactionResultByIndex_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionResultByIndex(ctx, req.(*GetTransactionByIndexRequest)) @@ -390,7 +406,7 @@ func _ExecutionAPI_GetTransactionResultsByBlockID_Handler(srv interface{}, ctx c } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetTransactionResultsByBlockID", + FullMethod: ExecutionAPI_GetTransactionResultsByBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionResultsByBlockID(ctx, req.(*GetTransactionsByBlockIDRequest)) @@ -408,7 +424,7 @@ func _ExecutionAPI_GetTransactionErrorMessage_Handler(srv interface{}, ctx conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetTransactionErrorMessage", + FullMethod: ExecutionAPI_GetTransactionErrorMessage_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionErrorMessage(ctx, req.(*GetTransactionErrorMessageRequest)) @@ -426,7 +442,7 @@ func _ExecutionAPI_GetTransactionErrorMessageByIndex_Handler(srv interface{}, ct } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetTransactionErrorMessageByIndex", + FullMethod: ExecutionAPI_GetTransactionErrorMessageByIndex_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionErrorMessageByIndex(ctx, req.(*GetTransactionErrorMessageByIndexRequest)) @@ -444,7 +460,7 @@ func _ExecutionAPI_GetTransactionErrorMessagesByBlockID_Handler(srv interface{}, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetTransactionErrorMessagesByBlockID", + FullMethod: ExecutionAPI_GetTransactionErrorMessagesByBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionErrorMessagesByBlockID(ctx, req.(*GetTransactionErrorMessagesByBlockIDRequest)) @@ -462,7 +478,7 @@ func _ExecutionAPI_GetRegisterAtBlockID_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetRegisterAtBlockID", + FullMethod: ExecutionAPI_GetRegisterAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetRegisterAtBlockID(ctx, req.(*GetRegisterAtBlockIDRequest)) @@ -480,7 +496,7 @@ func _ExecutionAPI_GetLatestBlockHeader_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetLatestBlockHeader", + FullMethod: ExecutionAPI_GetLatestBlockHeader_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetLatestBlockHeader(ctx, req.(*GetLatestBlockHeaderRequest)) @@ -498,7 +514,7 @@ func _ExecutionAPI_GetBlockHeaderByID_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetBlockHeaderByID", + FullMethod: ExecutionAPI_GetBlockHeaderByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetBlockHeaderByID(ctx, req.(*GetBlockHeaderByIDRequest)) diff --git a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go index 7ebf00d07..801610aa3 100644 --- a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go +++ b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc (unknown) // source: flow/executiondata/executiondata.proto @@ -18,6 +18,13 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID" + ExecutionDataAPI_SubscribeExecutionData_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionData" + ExecutionDataAPI_SubscribeEvents_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEvents" + ExecutionDataAPI_GetRegisterValues_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetRegisterValues" +) + // ExecutionDataAPIClient is the client API for ExecutionDataAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -84,7 +91,7 @@ func NewExecutionDataAPIClient(cc grpc.ClientConnInterface) ExecutionDataAPIClie func (c *executionDataAPIClient) GetExecutionDataByBlockID(ctx context.Context, in *GetExecutionDataByBlockIDRequest, opts ...grpc.CallOption) (*GetExecutionDataByBlockIDResponse, error) { out := new(GetExecutionDataByBlockIDResponse) - err := c.cc.Invoke(ctx, "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -92,7 +99,7 @@ func (c *executionDataAPIClient) GetExecutionDataByBlockID(ctx context.Context, } func (c *executionDataAPIClient) SubscribeExecutionData(ctx context.Context, in *SubscribeExecutionDataRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[0], "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionData", opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[0], ExecutionDataAPI_SubscribeExecutionData_FullMethodName, opts...) if err != nil { return nil, err } @@ -124,7 +131,7 @@ func (x *executionDataAPISubscribeExecutionDataClient) Recv() (*SubscribeExecuti } func (c *executionDataAPIClient) SubscribeEvents(ctx context.Context, in *SubscribeEventsRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[1], "/flow.executiondata.ExecutionDataAPI/SubscribeEvents", opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[1], ExecutionDataAPI_SubscribeEvents_FullMethodName, opts...) if err != nil { return nil, err } @@ -157,7 +164,7 @@ func (x *executionDataAPISubscribeEventsClient) Recv() (*SubscribeEventsResponse func (c *executionDataAPIClient) GetRegisterValues(ctx context.Context, in *GetRegisterValuesRequest, opts ...grpc.CallOption) (*GetRegisterValuesResponse, error) { out := new(GetRegisterValuesResponse) - err := c.cc.Invoke(ctx, "/flow.executiondata.ExecutionDataAPI/GetRegisterValues", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionDataAPI_GetRegisterValues_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -258,7 +265,7 @@ func _ExecutionDataAPI_GetExecutionDataByBlockID_Handler(srv interface{}, ctx co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID", + FullMethod: ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionDataAPIServer).GetExecutionDataByBlockID(ctx, req.(*GetExecutionDataByBlockIDRequest)) @@ -318,7 +325,7 @@ func _ExecutionDataAPI_GetRegisterValues_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.executiondata.ExecutionDataAPI/GetRegisterValues", + FullMethod: ExecutionDataAPI_GetRegisterValues_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionDataAPIServer).GetRegisterValues(ctx, req.(*GetRegisterValuesRequest)) diff --git a/protobuf/go/flow/legacy/access/access_grpc.pb.go b/protobuf/go/flow/legacy/access/access_grpc.pb.go index 35afbce0b..76938b868 100644 --- a/protobuf/go/flow/legacy/access/access_grpc.pb.go +++ b/protobuf/go/flow/legacy/access/access_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc (unknown) // source: flow/legacy/access/access.proto @@ -18,6 +18,29 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + AccessAPI_Ping_FullMethodName = "/access.AccessAPI/Ping" + AccessAPI_GetLatestBlockHeader_FullMethodName = "/access.AccessAPI/GetLatestBlockHeader" + AccessAPI_GetBlockHeaderByID_FullMethodName = "/access.AccessAPI/GetBlockHeaderByID" + AccessAPI_GetBlockHeaderByHeight_FullMethodName = "/access.AccessAPI/GetBlockHeaderByHeight" + AccessAPI_GetLatestBlock_FullMethodName = "/access.AccessAPI/GetLatestBlock" + AccessAPI_GetBlockByID_FullMethodName = "/access.AccessAPI/GetBlockByID" + AccessAPI_GetBlockByHeight_FullMethodName = "/access.AccessAPI/GetBlockByHeight" + AccessAPI_GetCollectionByID_FullMethodName = "/access.AccessAPI/GetCollectionByID" + AccessAPI_SendTransaction_FullMethodName = "/access.AccessAPI/SendTransaction" + AccessAPI_GetTransaction_FullMethodName = "/access.AccessAPI/GetTransaction" + AccessAPI_GetTransactionResult_FullMethodName = "/access.AccessAPI/GetTransactionResult" + AccessAPI_GetAccount_FullMethodName = "/access.AccessAPI/GetAccount" + AccessAPI_GetAccountAtLatestBlock_FullMethodName = "/access.AccessAPI/GetAccountAtLatestBlock" + AccessAPI_GetAccountAtBlockHeight_FullMethodName = "/access.AccessAPI/GetAccountAtBlockHeight" + AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName = "/access.AccessAPI/ExecuteScriptAtLatestBlock" + AccessAPI_ExecuteScriptAtBlockID_FullMethodName = "/access.AccessAPI/ExecuteScriptAtBlockID" + AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName = "/access.AccessAPI/ExecuteScriptAtBlockHeight" + AccessAPI_GetEventsForHeightRange_FullMethodName = "/access.AccessAPI/GetEventsForHeightRange" + AccessAPI_GetEventsForBlockIDs_FullMethodName = "/access.AccessAPI/GetEventsForBlockIDs" + AccessAPI_GetNetworkParameters_FullMethodName = "/access.AccessAPI/GetNetworkParameters" +) + // AccessAPIClient is the client API for AccessAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -85,7 +108,7 @@ func NewAccessAPIClient(cc grpc.ClientConnInterface) AccessAPIClient { func (c *accessAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/Ping", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_Ping_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -94,7 +117,7 @@ func (c *accessAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grp func (c *accessAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLatestBlockHeaderRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetLatestBlockHeader", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetLatestBlockHeader_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -103,7 +126,7 @@ func (c *accessAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLates func (c *accessAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHeaderByIDRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetBlockHeaderByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockHeaderByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -112,7 +135,7 @@ func (c *accessAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHe func (c *accessAPIClient) GetBlockHeaderByHeight(ctx context.Context, in *GetBlockHeaderByHeightRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetBlockHeaderByHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockHeaderByHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -121,7 +144,7 @@ func (c *accessAPIClient) GetBlockHeaderByHeight(ctx context.Context, in *GetBlo func (c *accessAPIClient) GetLatestBlock(ctx context.Context, in *GetLatestBlockRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetLatestBlock", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -130,7 +153,7 @@ func (c *accessAPIClient) GetLatestBlock(ctx context.Context, in *GetLatestBlock func (c *accessAPIClient) GetBlockByID(ctx context.Context, in *GetBlockByIDRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetBlockByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -139,7 +162,7 @@ func (c *accessAPIClient) GetBlockByID(ctx context.Context, in *GetBlockByIDRequ func (c *accessAPIClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHeightRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetBlockByHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockByHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -148,7 +171,7 @@ func (c *accessAPIClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHe func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollectionByIDRequest, opts ...grpc.CallOption) (*CollectionResponse, error) { out := new(CollectionResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetCollectionByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetCollectionByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -157,7 +180,7 @@ func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollecti func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransactionRequest, opts ...grpc.CallOption) (*SendTransactionResponse, error) { out := new(SendTransactionResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/SendTransaction", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_SendTransaction_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -166,7 +189,7 @@ func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransacti func (c *accessAPIClient) GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*TransactionResponse, error) { out := new(TransactionResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetTransaction", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransaction_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -175,7 +198,7 @@ func (c *accessAPIClient) GetTransaction(ctx context.Context, in *GetTransaction func (c *accessAPIClient) GetTransactionResult(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*TransactionResultResponse, error) { out := new(TransactionResultResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetTransactionResult", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransactionResult_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -184,7 +207,7 @@ func (c *accessAPIClient) GetTransactionResult(ctx context.Context, in *GetTrans func (c *accessAPIClient) GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error) { out := new(GetAccountResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetAccount", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetAccount_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -193,7 +216,7 @@ func (c *accessAPIClient) GetAccount(ctx context.Context, in *GetAccountRequest, func (c *accessAPIClient) GetAccountAtLatestBlock(ctx context.Context, in *GetAccountAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountResponse, error) { out := new(AccountResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetAccountAtLatestBlock", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountAtLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -202,7 +225,7 @@ func (c *accessAPIClient) GetAccountAtLatestBlock(ctx context.Context, in *GetAc func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountResponse, error) { out := new(AccountResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetAccountAtBlockHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountAtBlockHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -211,7 +234,7 @@ func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAc func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *ExecuteScriptAtLatestBlockRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/ExecuteScriptAtLatestBlock", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -220,7 +243,7 @@ func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *Ex func (c *accessAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *ExecuteScriptAtBlockIDRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/ExecuteScriptAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -229,7 +252,7 @@ func (c *accessAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *Execut func (c *accessAPIClient) ExecuteScriptAtBlockHeight(ctx context.Context, in *ExecuteScriptAtBlockHeightRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/ExecuteScriptAtBlockHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -238,7 +261,7 @@ func (c *accessAPIClient) ExecuteScriptAtBlockHeight(ctx context.Context, in *Ex func (c *accessAPIClient) GetEventsForHeightRange(ctx context.Context, in *GetEventsForHeightRangeRequest, opts ...grpc.CallOption) (*EventsResponse, error) { out := new(EventsResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetEventsForHeightRange", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetEventsForHeightRange_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -247,7 +270,7 @@ func (c *accessAPIClient) GetEventsForHeightRange(ctx context.Context, in *GetEv func (c *accessAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEventsForBlockIDsRequest, opts ...grpc.CallOption) (*EventsResponse, error) { out := new(EventsResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetEventsForBlockIDs", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetEventsForBlockIDs_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -256,7 +279,7 @@ func (c *accessAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEvent func (c *accessAPIClient) GetNetworkParameters(ctx context.Context, in *GetNetworkParametersRequest, opts ...grpc.CallOption) (*GetNetworkParametersResponse, error) { out := new(GetNetworkParametersResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetNetworkParameters", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetNetworkParameters_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -406,7 +429,7 @@ func _AccessAPI_Ping_Handler(srv interface{}, ctx context.Context, dec func(inte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/Ping", + FullMethod: AccessAPI_Ping_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).Ping(ctx, req.(*PingRequest)) @@ -424,7 +447,7 @@ func _AccessAPI_GetLatestBlockHeader_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetLatestBlockHeader", + FullMethod: AccessAPI_GetLatestBlockHeader_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestBlockHeader(ctx, req.(*GetLatestBlockHeaderRequest)) @@ -442,7 +465,7 @@ func _AccessAPI_GetBlockHeaderByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetBlockHeaderByID", + FullMethod: AccessAPI_GetBlockHeaderByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockHeaderByID(ctx, req.(*GetBlockHeaderByIDRequest)) @@ -460,7 +483,7 @@ func _AccessAPI_GetBlockHeaderByHeight_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetBlockHeaderByHeight", + FullMethod: AccessAPI_GetBlockHeaderByHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockHeaderByHeight(ctx, req.(*GetBlockHeaderByHeightRequest)) @@ -478,7 +501,7 @@ func _AccessAPI_GetLatestBlock_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetLatestBlock", + FullMethod: AccessAPI_GetLatestBlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestBlock(ctx, req.(*GetLatestBlockRequest)) @@ -496,7 +519,7 @@ func _AccessAPI_GetBlockByID_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetBlockByID", + FullMethod: AccessAPI_GetBlockByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockByID(ctx, req.(*GetBlockByIDRequest)) @@ -514,7 +537,7 @@ func _AccessAPI_GetBlockByHeight_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetBlockByHeight", + FullMethod: AccessAPI_GetBlockByHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockByHeight(ctx, req.(*GetBlockByHeightRequest)) @@ -532,7 +555,7 @@ func _AccessAPI_GetCollectionByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetCollectionByID", + FullMethod: AccessAPI_GetCollectionByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetCollectionByID(ctx, req.(*GetCollectionByIDRequest)) @@ -550,7 +573,7 @@ func _AccessAPI_SendTransaction_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/SendTransaction", + FullMethod: AccessAPI_SendTransaction_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).SendTransaction(ctx, req.(*SendTransactionRequest)) @@ -568,7 +591,7 @@ func _AccessAPI_GetTransaction_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetTransaction", + FullMethod: AccessAPI_GetTransaction_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransaction(ctx, req.(*GetTransactionRequest)) @@ -586,7 +609,7 @@ func _AccessAPI_GetTransactionResult_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetTransactionResult", + FullMethod: AccessAPI_GetTransactionResult_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionResult(ctx, req.(*GetTransactionRequest)) @@ -604,7 +627,7 @@ func _AccessAPI_GetAccount_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetAccount", + FullMethod: AccessAPI_GetAccount_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccount(ctx, req.(*GetAccountRequest)) @@ -622,7 +645,7 @@ func _AccessAPI_GetAccountAtLatestBlock_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetAccountAtLatestBlock", + FullMethod: AccessAPI_GetAccountAtLatestBlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccountAtLatestBlock(ctx, req.(*GetAccountAtLatestBlockRequest)) @@ -640,7 +663,7 @@ func _AccessAPI_GetAccountAtBlockHeight_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetAccountAtBlockHeight", + FullMethod: AccessAPI_GetAccountAtBlockHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccountAtBlockHeight(ctx, req.(*GetAccountAtBlockHeightRequest)) @@ -658,7 +681,7 @@ func _AccessAPI_ExecuteScriptAtLatestBlock_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/ExecuteScriptAtLatestBlock", + FullMethod: AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtLatestBlock(ctx, req.(*ExecuteScriptAtLatestBlockRequest)) @@ -676,7 +699,7 @@ func _AccessAPI_ExecuteScriptAtBlockID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/ExecuteScriptAtBlockID", + FullMethod: AccessAPI_ExecuteScriptAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtBlockID(ctx, req.(*ExecuteScriptAtBlockIDRequest)) @@ -694,7 +717,7 @@ func _AccessAPI_ExecuteScriptAtBlockHeight_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/ExecuteScriptAtBlockHeight", + FullMethod: AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtBlockHeight(ctx, req.(*ExecuteScriptAtBlockHeightRequest)) @@ -712,7 +735,7 @@ func _AccessAPI_GetEventsForHeightRange_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetEventsForHeightRange", + FullMethod: AccessAPI_GetEventsForHeightRange_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetEventsForHeightRange(ctx, req.(*GetEventsForHeightRangeRequest)) @@ -730,7 +753,7 @@ func _AccessAPI_GetEventsForBlockIDs_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetEventsForBlockIDs", + FullMethod: AccessAPI_GetEventsForBlockIDs_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetEventsForBlockIDs(ctx, req.(*GetEventsForBlockIDsRequest)) @@ -748,7 +771,7 @@ func _AccessAPI_GetNetworkParameters_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetNetworkParameters", + FullMethod: AccessAPI_GetNetworkParameters_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetNetworkParameters(ctx, req.(*GetNetworkParametersRequest)) diff --git a/protobuf/go/flow/legacy/execution/execution_grpc.pb.go b/protobuf/go/flow/legacy/execution/execution_grpc.pb.go index 78c62fe6a..f806f3909 100644 --- a/protobuf/go/flow/legacy/execution/execution_grpc.pb.go +++ b/protobuf/go/flow/legacy/execution/execution_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc (unknown) // source: flow/legacy/execution/execution.proto @@ -18,6 +18,14 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + ExecutionAPI_Ping_FullMethodName = "/execution.ExecutionAPI/Ping" + ExecutionAPI_GetAccountAtBlockID_FullMethodName = "/execution.ExecutionAPI/GetAccountAtBlockID" + ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName = "/execution.ExecutionAPI/ExecuteScriptAtBlockID" + ExecutionAPI_GetEventsForBlockIDs_FullMethodName = "/execution.ExecutionAPI/GetEventsForBlockIDs" + ExecutionAPI_GetTransactionResult_FullMethodName = "/execution.ExecutionAPI/GetTransactionResult" +) + // ExecutionAPIClient is the client API for ExecutionAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -46,7 +54,7 @@ func NewExecutionAPIClient(cc grpc.ClientConnInterface) ExecutionAPIClient { func (c *executionAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/Ping", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_Ping_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -55,7 +63,7 @@ func (c *executionAPIClient) Ping(ctx context.Context, in *PingRequest, opts ... func (c *executionAPIClient) GetAccountAtBlockID(ctx context.Context, in *GetAccountAtBlockIDRequest, opts ...grpc.CallOption) (*GetAccountAtBlockIDResponse, error) { out := new(GetAccountAtBlockIDResponse) - err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/GetAccountAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetAccountAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -64,7 +72,7 @@ func (c *executionAPIClient) GetAccountAtBlockID(ctx context.Context, in *GetAcc func (c *executionAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *ExecuteScriptAtBlockIDRequest, opts ...grpc.CallOption) (*ExecuteScriptAtBlockIDResponse, error) { out := new(ExecuteScriptAtBlockIDResponse) - err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/ExecuteScriptAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -73,7 +81,7 @@ func (c *executionAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *Exe func (c *executionAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEventsForBlockIDsRequest, opts ...grpc.CallOption) (*GetEventsForBlockIDsResponse, error) { out := new(GetEventsForBlockIDsResponse) - err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/GetEventsForBlockIDs", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetEventsForBlockIDs_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -82,7 +90,7 @@ func (c *executionAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEv func (c *executionAPIClient) GetTransactionResult(ctx context.Context, in *GetTransactionResultRequest, opts ...grpc.CallOption) (*GetTransactionResultResponse, error) { out := new(GetTransactionResultResponse) - err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/GetTransactionResult", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionResult_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -148,7 +156,7 @@ func _ExecutionAPI_Ping_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/execution.ExecutionAPI/Ping", + FullMethod: ExecutionAPI_Ping_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).Ping(ctx, req.(*PingRequest)) @@ -166,7 +174,7 @@ func _ExecutionAPI_GetAccountAtBlockID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/execution.ExecutionAPI/GetAccountAtBlockID", + FullMethod: ExecutionAPI_GetAccountAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetAccountAtBlockID(ctx, req.(*GetAccountAtBlockIDRequest)) @@ -184,7 +192,7 @@ func _ExecutionAPI_ExecuteScriptAtBlockID_Handler(srv interface{}, ctx context.C } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/execution.ExecutionAPI/ExecuteScriptAtBlockID", + FullMethod: ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).ExecuteScriptAtBlockID(ctx, req.(*ExecuteScriptAtBlockIDRequest)) @@ -202,7 +210,7 @@ func _ExecutionAPI_GetEventsForBlockIDs_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/execution.ExecutionAPI/GetEventsForBlockIDs", + FullMethod: ExecutionAPI_GetEventsForBlockIDs_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetEventsForBlockIDs(ctx, req.(*GetEventsForBlockIDsRequest)) @@ -220,7 +228,7 @@ func _ExecutionAPI_GetTransactionResult_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/execution.ExecutionAPI/GetTransactionResult", + FullMethod: ExecutionAPI_GetTransactionResult_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionResult(ctx, req.(*GetTransactionResultRequest)) From cb9522b1eed82e993898a460d2d6a14671672177 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 1 Feb 2024 12:57:28 -0800 Subject: [PATCH 013/626] Create 2024-02-01-Protocol-Product-Sync.md --- agendas/2024/product-sync/2024-02-01-Protocol-Product-Sync.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 agendas/2024/product-sync/2024-02-01-Protocol-Product-Sync.md diff --git a/agendas/2024/product-sync/2024-02-01-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-02-01-Protocol-Product-Sync.md new file mode 100644 index 000000000..e4135a2c3 --- /dev/null +++ b/agendas/2024/product-sync/2024-02-01-Protocol-Product-Sync.md @@ -0,0 +1,4 @@ +Please add topics that you would like to discuss + +1. Release notes for HCU +2. Operator for HCU From 0e62521d84ad63ef29a021f784d69fedf448889a Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 2 Feb 2024 11:27:59 +0100 Subject: [PATCH 014/626] adding Cadence WG update --- .../2024-02-02-Flow-Sprint-Kickoff.md | 348 ++++++++++++++++++ 1 file changed, 348 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..7b2a491fe --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -0,0 +1,348 @@ +# Overview + + ### Team Wins 🎉 + + * ABI.encode/decode() functional subset of EVM work was deployed to testnet to unblock Axelar integration + +- + +### Mainnet Uptime - Last 14 days (DD/MM/YY to DD/MM/YY) - Vishal + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 100% | 0% | + +#### Incidents +- + + +# Working Group Updates + +### **Cadence and Virtual Machine** Jan +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + +- Mainnet HCU preparation + - Chore: [update to cadence v0.42.8-patch.2](https://github.com/dapperlabs/flow-go/issues/6942) + - Bugfix: [Internal issue #193](https://github.com/dapperlabs/cadence-internal/issues/193) + - Bugfix: [Internal PR #197](https://github.com/dapperlabs/cadence-internal/pull/197) + - Bugfix: [Internal PR #195](https://github.com/dapperlabs/cadence-internal/pull/195) + - Bugfix: [Internal issue #189](https://github.com/dapperlabs/cadence-internal/issues/189) + - Work towards: [Internal issue #192](https://github.com/dapperlabs/cadence-internal/issues/192) + - [Internal PR #196](https://github.com/dapperlabs/cadence-internal/pull/196) + - Bugfix: [UUID partition change - port](https://github.com/onflow/flow-go/pull/5287) + +- Atree register inlining migration + - [Remove cricket moments references from atree migration](https://github.com/onflow/flow-go/pull/5242) + - [v0.42-based atree inlining - Update to latest atree](https://github.com/onflow/cadence/pull/3044) + - addressing review comments: [Atree Migration cleanup](https://github.com/onflow/flow-go/issues/5284) + - preparing image based on Cadence v0.42: [Merge v0.42 into atree inlining feature branch](https://github.com/onflow/cadence/issues/3040) + - [Add feature to support mutation of primitive values returned by iterators](https://github.com/onflow/atree/issues/356) + - [Handle edge cases needed to support mutation of inlined maps and arrays during iteration](https://github.com/onflow/atree/issues/357) + - [Atree storage migration](https://github.com/onflow/flow-go/pull/4633) + +- Cadence 1.0 migrations + - Work towards: [Enable state migration on emulator](https://github.com/onflow/cadence/issues/3063) + - [Gracefully handle runtime panics in migration](https://github.com/onflow/cadence/pull/3066) + - Bugfix: [Fix entitlements migration](https://github.com/onflow/cadence/issues/3065) + - [Run type checker for staged contracts](https://github.com/onflow/cadence/issues/3062) + - [Add migration for staged contract upgrades](https://github.com/onflow/cadence/issues/3038) + - Work towards: [Migrations for core contract changes](https://github.com/onflow/cadence/issues/3007) + - [Cadence 1.0 state migrations: Update to new static types migration](https://github.com/onflow/flow-go/pull/5286) + = [Generalize static type migrations](https://github.com/onflow/cadence/pull/3033) + - [Migration for core contracts](https://github.com/onflow/cadence/issues/2989) + - Updating migrations after v2 token standards breakout: [Fix gaps in migrations](https://github.com/onflow/cadence/pull/3036) + - [Integrate Cadence 1.0 Migrations into FVM](https://github.com/onflow/cadence/issues/2990) + - [Integrate new version of Atree with register inlining and data deduplication](https://github.com/onflow/cadence/issues/2809) + +- Cadence 1.0 Features & Improvements + - [Analyze usage of restricted keywords in composite fields on Mainnet](https://github.com/onflow/cadence/issues/2998) + - [Error messages with authorizations are syntactically invalid](https://github.com/onflow/cadence/issues/3047) + - [Allow dereferencing references to containers of non-resources](https://github.com/onflow/cadence/pull/3034) + - Bugfix: [Remove Insert-entitled access for toVariableSized](https://github.com/onflow/cadence/pull/3031) + - Testing: [Test usage of potentially broken types(https://github.com/onflow/cadence/pull/3030)] + - Implementtion of [FLIP #941](https://github.com/onflow/flips/blob/main/cadence/20220516-reference-creation-semantics.md): [Require explicit type annotation for arguments passed to authorized reference parameters](https://github.com/onflow/cadence/pull/3023) + +- Cadence 1.0 migrations testing in emulator + - Work towards: [Enable testing of contract update to Cadence 1.0 in Emulator](https://github.com/onflow/cadence/issues/2947) + - [Add config option to allow upgrading legacy contracts](https://github.com/onflow/flow-emulator/issues/553) + - [Use old parser for contract upgrades when legacy upgrade config option is set](https://github.com/onflow/cadence/issues/3043) + - [Add v0.42 parser package under old_parser](https://github.com/onflow/cadence/pull/3039) + +- Work towards Cadence 1.0 new CLI release + Fixing dependencies: + - CLI: + - [use proper version of core contracts](https://github.com/onflow/flow-cli/issues/1369) + - [Update Stable Cadence feature branch to Cadence v1.0.0-M4](https://github.com/onflow/flow-cli/issues/1366) + - Flowser: [Update Stable Cadence feature branch to Cadence v1.0.0-M4](https://github.com/onflowser/flowser/issues/223) + - Flixkit-go: + - [Update Stable Cadence feature branch to Cadence v1.0.0-M4](https://github.com/onflow/flixkit-go/issues/36) + - [Update Stable Cadence feature branch with main](https://github.com/onflow/flixkit-go/issues/35) + - Cadence-tools: + - [LS - Update to Cadence v1.0.0-M4](https://github.com/onflow/cadence-tools/issues/278) + - [test - Update to Cadence v1.0.0-M4](https://github.com/onflow/cadence-tools/issues/277) + - [lint - Update to Cadence v1.0.0-M4](https://github.com/onflow/cadence-tools/issues/276) + - flow-go: + - [Update stable cadence feature branch](https://github.com/onflow/flow-go/issues/5290) + - [Sync stable-cadence branch with master](https://github.com/onflow/flow-go/issues/5260) + - [update cadence version](https://github.com/dapperlabs/flow-go/issues/6937) + - flow-go-sdk: + - [Merge Cadence 1.0 (aka "Stable Cadence") feature branch](https://github.com/onflow/flow-go-sdk/issues/563) + - [Update to Cadence v1.0.0-M3](https://github.com/onflow/flow-go-sdk/issues/562) + - flow emulator: [Update cadence version](https://github.com/onflow/flow-emulator/issues/552) + - flow-core-contracts: [Update Cadence version](https://github.com/onflow/flow-core-contracts/issues/406) + - flow-nft: [Update Cadence version](https://github.com/onflow/flow-nft/issues/201) + +- Partial EVM launch on MN HCU + - Also ported to flow-go v0.33 branch: [Set the correct testnet/mainnet evm state storage account](https://github.com/onflow/flow-go/pull/5294) + - port of: [Use correct EVM address in tests and transient networks](https://github.com/onflow/flow-go/pull/5255) and [Add feature flag for deploying EVM contract only with ABI functionality](https://github.com/onflow/flow-go/pull/5230): [Add feature flag for deploying EVM contract only with ABI functionality](https://github.com/onflow/flow-go/pull/5264) + +- EVM + - Work towards:[Add support for other chains to RootAccountAddress](https://github.com/onflow/flow-go/issues/4964) and [Improvements to EVM bootstrap setup](https://github.com/onflow/flow-go/issues/4959) + - [Use correct EVM address in tests and transient networks](https://github.com/onflow/flow-go/pull/5255) + - [Empty ParentBlockHash for new blocks](https://github.com/onflow/flow-go/issues/5219) + - [Add EVM event type](https://github.com/onflow/flow-go/issues/5232) + +- Ingestion engine refactoring + - [Remove module.Local from ingestion engine](https://github.com/onflow/flow-go/pull/5243) + - [Move maxCollectionHeight to metrics](https://github.com/onflow/flow-go/issues/5244) + +- Execution node HCU edge-case bugfix: [Execution - Fix stop control](https://github.com/onflow/flow-go/issues/5327) + +- New Execution node utility: [Find block ID by state commitment](https://github.com/onflow/flow-go/pull/5240) + +- Adding tooling for spamming attack defence to collection node: [Rate limiting transaction by payer](https://github.com/onflow/flow-go/issues/5218) + +- chores + - [Canary test fix](https://github.com/onflow/flow-e2e-tests/issues/51) + - CBOR: [Refactor map encoding to prep for Go version bump](https://github.com/fxamacker/cbor/issues/473) +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### **Core Protocol** Jerome +Cycle Objective(s): + +* Continue with adding BFT mitigations to enable 10 permissionless ANs +* Continue design of Dynamic Protocol + +**Done last sprint** + +- [Design - Dynamic Protocol State Key-Value Store](https://www.notion.so/dapperlabs/Protocol-state-key-value-storage-497326ff9cf44ff4a70610a0dad329b3?pvs=4) - generalizing Dynamic Protocol State beyond identity table changes + - Finalized the design, created and estimated epic issues + - Added details for how to use KVStore for height-coordinated upgrade of Protocol State Machine +- Draft blog post for Dynamic Protocol State release +- Resolved mainnet24 [peer scoring incident](https://github.com/dapperlabs/flow-go/issues/6913) +- Added [comprehensive documentation](https://github.com/onflow/flow-go/pull/5308) for libp2p resource management operators guidance +- Data Availability + - Added support for error trees in FVM + - Fixed race condition in local event streaming + +**This sprint** + +- [Design - Sporkless Epoch Fallback Recovery](https://www.notion.so/dapperlabs/Spork-less-Epoch-Fallback-Recovery-Design-II-Epoch-Extensions-a7673e45e9064d12b6b48aa517bd1763?pvs=4) - enabling recovery from EFM via governance multisig and without spork + - Review and iteration on latest design +- Begin implementing KV Store +- Create [GossipSub forensics dashboard](https://github.com/dapperlabs/flow-go/issues/6933) +- Identify remaining technical gaps in the GH issues for the upcoming OKR +- Implement incident management runbook for networking layer +- [upgrade libp2p version to v0.32.0](https://github.com/onflow/flow-go/issues/4934) +- Fix Access connection cache race condition +- Add register cache for script executions + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** Jerome +Cycle Objective(s): + +**Done last sprint** + +- Band Protocol contracts and integration released on testnet +- Axelar unblocked to wrap up their bridge contracts after ABI.encode/decode() support also released on testnet +- Started upgrade of Flow JVM SDK to support Flow DeFi partners (@lealobanov) +- IncrementFi confirmed their Cadence 1.0 upgrade plan is on track + + +**This sprint** + +- Complete Band Protocol docs and examples and publish to community. This enables broader testing on testnet +- USDC contracts update to Cadence 1.0 starting (@joshuahannan) + +**On Hold** + +- N/A + + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols +--- + +### **User Experience** Greg +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### **Wallet** Jeff +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + + +### **Infra - JP** +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### **Governance and Tokenomics** Vishal +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### FLIPs Tracker - Kshitij + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 8 | 10 | 0 | 6 | **24** | +| Proposed | 2 | 2 | 2 | 1 | **7** | +| Accepted | 2 | 1 | 1 | 1 | **5** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 1 | 19 | 1 | 0 | **21** | +| Released | 4 | 0 | 2 | 4 | **10** | +| Total | **17** | **32** | **7** | **12** | **68** | + +- + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): +- Next Mainnet/Testnet HCU: +- End of Cycle: From 8a9deab9a8ab75b51525b37ff36141e01643f31a Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 2 Feb 2024 16:32:23 +0100 Subject: [PATCH 015/626] Cadence & VM WG update 2 --- .../2024-02-02-Flow-Sprint-Kickoff.md | 45 ++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 7b2a491fe..52073d3ec 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -131,20 +131,55 @@ Cycle Objective(s): - chores - [Canary test fix](https://github.com/onflow/flow-e2e-tests/issues/51) - CBOR: [Refactor map encoding to prep for Go version bump](https://github.com/fxamacker/cbor/issues/473) -**This sprint** -- General description of sprint goal -- List of issues to be worked on +**This sprint** +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades + - [More permissive contract upgrade checker for 1.0 network upgrade](https://github.com/onflow/cadence/issues/2865) + - [Enable testing of contract update to Cadence 1.0 in Emulator](https://github.com/onflow/cadence/issues/2947) + - [Migrations for core contract changes](https://github.com/onflow/cadence/issues/3007) + - [Enable state migration on emulator](https://github.com/onflow/cadence/issues/3063) +- KR2: Launch Cadence 1.0 on Crescendo Testnet + - [Integrate Atree inlining and Cadence v0.42.x with flow-go](https://github.com/onflow/flow-go/issues/5296) + - [Add contract supporting contract staging under contract migration plan](https://github.com/onflow/contract-updater/issues/13) +- KR3: Launch EVM on Crescendo Testnet + - [Flow EVM Core Implementation](https://github.com/onflow/flow-go/issues/5241) + - [Benchmark transactions running EVM operations on benchnet](https://github.com/onflow/flow-go/issues/5099) + - [add an intergration test for selfdestruct contract call](https://github.com/onflow/flow-go/issues/5224) + - [Calibrate a conversion factor between EVM gas and FVM computation effort](https://github.com/onflow/flow-go/issues/5094) + - [add an intergration test for selfdestruct contract call](https://github.com/onflow/flow-go/issues/5224) + - [JSON-RPC Gateway launch implementation](https://github.com/onflow/flow-evm-gateway/issues/12) + - [Indexer Implementation](https://github.com/onflow/flow-evm-gateway/issues/14) + - [Setup persistent storage](https://github.com/onflow/flow-evm-gateway/issues/17) + - [Implement querying events by topic](https://github.com/onflow/flow-evm-gateway/issues/28) + - [Implement event consumer](https://github.com/onflow/flow-evm-gateway/issues/15) + + +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency + - Kick off the analysis + +Other +Closing from previous cycle: + - [Storehouse - Benchmark RegisterStore](https://github.com/onflow/flow-go/issues/5101) + - [Refactor ingestion engine mempool](https://github.com/onflow/flow-go/issues/5297) **On Hold** -- List of issues on hold +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) **Active Epics** -- Main epics that are being tackled, and currently active for this working group +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR2: Launch Cadence 1.0 on Crescendo Testnet +- KR3: Launch EVM on Crescendo Testnet +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency --- From a924a7e207b31e2e58a82d9db7299b159f2fbbab Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 2 Feb 2024 16:47:47 +0100 Subject: [PATCH 016/626] Cadence & VM WG update 3 --- .../2024-02-02-Flow-Sprint-Kickoff.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 52073d3ec..79ebf2ecd 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -113,10 +113,18 @@ Cycle Objective(s): - port of: [Use correct EVM address in tests and transient networks](https://github.com/onflow/flow-go/pull/5255) and [Add feature flag for deploying EVM contract only with ABI functionality](https://github.com/onflow/flow-go/pull/5230): [Add feature flag for deploying EVM contract only with ABI functionality](https://github.com/onflow/flow-go/pull/5264) - EVM - - Work towards:[Add support for other chains to RootAccountAddress](https://github.com/onflow/flow-go/issues/4964) and [Improvements to EVM bootstrap setup](https://github.com/onflow/flow-go/issues/4959) - - [Use correct EVM address in tests and transient networks](https://github.com/onflow/flow-go/pull/5255) - - [Empty ParentBlockHash for new blocks](https://github.com/onflow/flow-go/issues/5219) - - [Add EVM event type](https://github.com/onflow/flow-go/issues/5232) + - [Flow EVM Core Implementation](https://github.com/onflow/flow-go/issues/5241) + - [adding toAttoFlow method to EVM.Balance](https://github.com/onflow/flow-go/issues/4961) + - [Investigate possibility of use Flow block random seed for the EVM PREVRANDAO](https://github.com/onflow/flow-go/issues/5207) + - [deposit calls to regular smart contracts expects different behaviour](https://github.com/onflow/flow-go/issues/5227) + - [new address allocation for the bridged accounts](https://github.com/onflow/flow-go/issues/5179) + - [mix use of uint64 and *big.Int for tracking balances](https://github.com/onflow/flow-go/issues/5222) + - [Update stateDB code storage to store by hash](https://github.com/onflow/flow-go/issues/5198) + - [Expose core FVM functions as a precompile contract](https://github.com/onflow/flow-go/issues/5199) + - Work towards:[Add support for other chains to RootAccountAddress](https://github.com/onflow/flow-go/issues/4964) and [Improvements to EVM bootstrap setup](https://github.com/onflow/flow-go/issues/4959) + - [Use correct EVM address in tests and transient networks](https://github.com/onflow/flow-go/pull/5255) + - [Empty ParentBlockHash for new blocks](https://github.com/onflow/flow-go/issues/5219) + - [Add EVM event type](https://github.com/onflow/flow-go/issues/5232) - Ingestion engine refactoring - [Remove module.Local from ingestion engine](https://github.com/onflow/flow-go/pull/5243) @@ -128,6 +136,9 @@ Cycle Objective(s): - Adding tooling for spamming attack defence to collection node: [Rate limiting transaction by payer](https://github.com/onflow/flow-go/issues/5218) +- Exposing computation usage for scripts: + - [expose computation usage for scripts](https://github.com/onflow/flow-go/pull/5299) + - chores - [Canary test fix](https://github.com/onflow/flow-e2e-tests/issues/51) - CBOR: [Refactor map encoding to prep for Go version bump](https://github.com/fxamacker/cbor/issues/473) From be7ff36d93bf05b8975d63a2ca7af6ee3974ad96 Mon Sep 17 00:00:00 2001 From: Jerome P Date: Fri, 2 Feb 2024 07:49:30 -0800 Subject: [PATCH 017/626] Removed sandboxnet --- sporks.json | 86 ----------------------------------------------------- 1 file changed, 86 deletions(-) diff --git a/sporks.json b/sporks.json index 0f08bc432..99dbaeca5 100644 --- a/sporks.json +++ b/sporks.json @@ -1261,92 +1261,6 @@ ] } }, - "sandboxnet": { - "sandboxnet3": { - "id": 3, - "live": true, - "name": "Sandboxnet-3", - "sporkTime": "2023-01-19T19:58:38Z", - "rootHeight": "16099037", - "rootParentId": "4276d437d4cdeb4ebe5668a31f5054c3581247f10e683cb19bcec406bd107247", - "rootStateCommitment": "4fb6f143ce2ef49ee2946312cf8d1b22eabfb578e6a38efdb1f4b7e350c323b6", - "gitCommitHash": "7f02a642bb437b45326c4ace54a7f033b32832f8", - "stateArtefacts": { - "gcp": { - "rootCheckpointFile": "https://storage.googleapis.com/flow-genesis-bootstrap/sandboxnet-3-execution/public-root-information/root.checkpoint", - "rootProtocolStateSnapshot": "https://storage.googleapis.com/flow-genesis-bootstrap/sandboxnet-3-execution/public-root-information/root-protocol-state-snapshot.json", - "rootProtocolStateSnapshotSignature": "https://storage.googleapis.com/flow-genesis-bootstrap/sandboxnet-3-execution/public-root-information/root-protocol-state-snapshot.json.asc", - "nodeInfo": "https://storage.googleapis.com/flow-genesis-bootstrap/sandboxnet-3-execution/public-root-information/node-infos.pub.json", - "executionStateBucket": "flow_public_sandboxnet3_execution_state" - }, - "s3": { - "rootCheckpointFile": "", - "rootProtocolStateSnapshot": "", - "nodeInfo": "", - "executionStateBucket": "flow-public-sandboxnet3-execution-state" - } - }, - "tags": { - "flow-go": "v.29.6", - "flow-dps": "v0.29.6", - "cadence": "v0.31.3", - "docker": "v.29.6" - }, - "seedNodes": [ - { - "address": "access-003.sandboxnet3.nodes.onflow.org:3570", - "key": "95b876da6a9798e9f4186cbbac1276d7139c17ee28f48adcce67c43cc7109b54adb638c057cc1ebc500b5aaa933ee47aa06ab108cce163372a78625a5339bd11" - }, - { - "address": "access-004.sandboxnet3.nodes.onflow.org:3570", - "key": "6412ec2a714bc532529b21f1b836a7db33062a391c74a4d7995006fc5a0cfa52017c3a4632fbd2de515d6e36e97c6be05ef0f9b75921622c21edae7999289d6f" - } - ], - "accessNodes": [ - "access-001.sandboxnet3.nodes.onflow.org:9000" - ] - }, - "sandboxnet2": { - "id": 2, - "live": false, - "name": "Sandboxnet-2", - "sporkTime": "2022-11-03T17:00:00Z", - "rootHeight": "9692140", - "rootParentId": "b034d7d41478df23b7970690a65e8c65fd9e088828488b69a7f742467bea921f", - "rootStateCommitment": "f7800ce60766163b6fa713df9587bda2fa81fbaf1587e8fa52a4afda72550335", - "gitCommitHash": "b9b941db9a3949db0e299a40264d852980d35ddd", - "stateArtefacts": { - "gcp": { - "rootCheckpointFile": "https://storage.googleapis.com/flow-genesis-bootstrap/sandboxnet-2-execution/public-root-information/root.checkpoint", - "rootProtocolStateSnapshot": "https://storage.googleapis.com/flow-genesis-bootstrap/sandboxnet-2-execution/public-root-information/root-protocol-state-snapshot.json", - "rootProtocolStateSnapshotSignature": "https://storage.googleapis.com/flow-genesis-bootstrap/sandboxnet-2-execution/public-root-information/root-protocol-state-snapshot.json.asc", - "nodeInfo": "https://storage.googleapis.com/flow-genesis-bootstrap/sandboxnet-2-execution/public-root-information/node-infos.pub.json", - "executionStateBucket": "flow_public_sandboxnet2_execution_state" - }, - "s3": { - "rootCheckpointFile": "", - "rootProtocolStateSnapshot": "", - "nodeInfo": "", - "executionStateBucket": "flow-public-sandboxnet2-execution-state" - } - }, - "tags": { - "flow-go": "v0.28.6", - "flow-dps": "v0.28", - "cadence": "v0.28.0", - "docker": "v0.28.6" - }, - "seedNodes": [ - { - "address": "access-001.sandboxnet2.nodes.onflow.org:3570", - "key": "4825a1f24ae1dd6cea1996c7012037ee00cb485580de3b7a9e7173effc0caff3428bc2e91d528a06978c10d11fa82c97f9a04dfe367d4a241b46802296de43a7" - } - ], - "accessNodes": [ - "access-001.sandboxnet2.nodes.onflow.org:9000" - ] - } - }, "testnet": { "testnet49": { "id": 49, From 330de55f5c9a22d4093fb15f998e390a772c5cb3 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 2 Feb 2024 09:06:30 -0800 Subject: [PATCH 018/626] Update 2024-02-02-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 79ebf2ecd..489358975 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -377,15 +377,17 @@ Cycle Objective(s): | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 10 | 0 | 6 | **24** | -| Proposed | 2 | 2 | 2 | 1 | **7** | -| Accepted | 2 | 1 | 1 | 1 | **5** | +| Drafted | 7 | 6 | 0 | 5 | **18** | +| Proposed | 3 | 1 | 2 | 1 | **7** | +| Accepted | 2 | 1 | 1 | 2 | **6** | | Rejected | 0 | 0 | 1 | 0 | **1** | | Implemented | 1 | 19 | 1 | 0 | **21** | | Released | 4 | 0 | 2 | 4 | **10** | -| Total | **17** | **32** | **7** | **12** | **68** | +| Total | **17** | **27** | **7** | **12** | **63** | -- +- Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) +- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. +(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) ### Key Release Dates & Breaking Changes From 09efb10c8199bc5bcc24b0a99892747be65db1d5 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 2 Feb 2024 09:12:31 -0800 Subject: [PATCH 019/626] add ux wg update --- .../2024-02-02-Flow-Sprint-Kickoff.md | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 79ebf2ecd..d672511fc 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -3,6 +3,9 @@ ### Team Wins 🎉 * ABI.encode/decode() functional subset of EVM work was deployed to testnet to unblock Axelar integration + * Cloudrun Migrations for all services (Playground API, Public Key Indexer) + * Dependency Manager MVP Release (add and install commands) + * FLIX Continually Improving community engagement - @@ -270,27 +273,37 @@ Cycle Objective(s): ### **User Experience** Greg Cycle Objective(s): +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity **Done last sprint** -- General description of completed items -- List of Closed issues +- Testing fcl-js PR to support verification of v1.1.0 FLIX +- Released Emulator key to use private/public key pairing instead of plaintext +- Released Dependency Manager (beta) +- Add remote notifications at extension startup (Cadence 1.0) +- Update Dev Wallet to Cadence 1.0 +- Add Cadence 1.0 landing page to flow.com **This sprint** -- General description of sprint goal -- List of issues to be worked on - +**Sprint goal focusing on adding docs and tool support for Crescendo network and Cadence 1.0** -**On Hold** +- [Add Crescendo network support to FCL Discovery](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50332654) +- [Add Crescendo Network to CLI (config, cmds, docs, etc)](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50297186) +- [Add/Publish Initial EVM Docs](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952883) +- [Docs Revamp v3](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49327073) +- [Add C1.0 Rules to Cadence Linter](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952640) +- [Update Playground to support Cadence 1.0](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49844013) +- [Stable Cadence Installation Workflow](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51951905) -- List of issues on hold +**On Hold** -**Active Epics** +- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) -- Main epics that are being tackled, and currently active for this working group --- From d24951eb6e6f6cb4c1c4abaee609531ba58ad918 Mon Sep 17 00:00:00 2001 From: Jeff Doyle Date: Fri, 2 Feb 2024 09:21:23 -0800 Subject: [PATCH 020/626] Update 2024-02-02-Flow-Sprint-Kickoff.md --- .../2024-02-02-Flow-Sprint-Kickoff.md | 40 ++++++++++++++----- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 489358975..7f68a262e 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -297,26 +297,48 @@ Cycle Objective(s): ### **Wallet** Jeff Cycle Objective(s): -**Done last sprint** +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. -- General description of completed items -- List of Closed issues +**Done last sprint** +- N/A **This sprint** -- General description of sprint goal -- List of issues to be worked on - +- Begin creating developer documentation highlighting FlowEVM +- Updating cadence transactions / scripts for Cadence 1.0 +- Begin executing on FlowEVM updates to Flow Wallet +- Scheduled calls with MetaMask and Coinbase Wallet teams to intro FlowEVM and gather their requirements. **On Hold** -- List of issues on hold - +- N/A **Active Epics** -- Main epics that are being tackled, and currently active for this working group +- TBD --- From 8e84399494f723e90959bef25102099e2c6c73fe Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 2 Feb 2024 09:23:32 -0800 Subject: [PATCH 021/626] Protocol and DeFI updates and some other cleanup --- .../2024-02-02-Flow-Sprint-Kickoff.md | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 489358975..19f793b93 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -157,14 +157,14 @@ Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on develop - KR3: Launch EVM on Crescendo Testnet - [Flow EVM Core Implementation](https://github.com/onflow/flow-go/issues/5241) - [Benchmark transactions running EVM operations on benchnet](https://github.com/onflow/flow-go/issues/5099) - - [add an intergration test for selfdestruct contract call](https://github.com/onflow/flow-go/issues/5224) + - [add an integration test for selfdestruct contract call](https://github.com/onflow/flow-go/issues/5224) - [Calibrate a conversion factor between EVM gas and FVM computation effort](https://github.com/onflow/flow-go/issues/5094) - - [add an intergration test for selfdestruct contract call](https://github.com/onflow/flow-go/issues/5224) + - [add an integration test for selfdestruct contract call](https://github.com/onflow/flow-go/issues/5224) - [JSON-RPC Gateway launch implementation](https://github.com/onflow/flow-evm-gateway/issues/12) - [Indexer Implementation](https://github.com/onflow/flow-evm-gateway/issues/14) - [Setup persistent storage](https://github.com/onflow/flow-evm-gateway/issues/17) - [Implement querying events by topic](https://github.com/onflow/flow-evm-gateway/issues/28) - - [Implement event consumer](https://github.com/onflow/flow-evm-gateway/issues/15) + - [Implement event consumer](https://github.com/onflow/flow-evm-gateway/issues/15) Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs @@ -197,7 +197,10 @@ Objective 3: Analyze execution runtime trends and risks to plan next set of scal ### **Core Protocol** Jerome Cycle Objective(s): -* Continue with adding BFT mitigations to enable 10 permissionless ANs +* Translate crypto performance improvements to consensus block rate increase +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue BFT mitigations to enable 10 permissionless ANs * Continue design of Dynamic Protocol **Done last sprint** @@ -225,9 +228,7 @@ Cycle Objective(s): - Add register cache for script executions **On Hold** - -- List of issues on hold - +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. **Active Epics** @@ -241,7 +242,11 @@ Cycle Objective(s): --- ### **DeFi** Jerome + Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- DEX Prep - IncrementFi +- Bridge Prep - Axelar **Done last sprint** @@ -253,19 +258,19 @@ Cycle Objective(s): **This sprint** -- Complete Band Protocol docs and examples and publish to community. This enables broader testing on testnet +- Complete Band Protocol docs and examples and publish to community (@alilloig). This unlocks community testing on testnet - USDC contracts update to Cadence 1.0 starting (@joshuahannan) +- Release updated emulator with latest EVM changes (@sideninja) **On Hold** - - N/A - **Active Epics** - Establish Defi/Liquidity infrastructure for Cadence 1.0 update - Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem - Expand Flow DeFi ecosystem primitives and protocols + --- ### **User Experience** Greg From 5ef406009ebd2d9d8035a4a47547bfe579980336 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 2 Feb 2024 09:25:28 -0800 Subject: [PATCH 022/626] Fix line separators --- .../2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index a6a7894c2..48cea6da4 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -7,7 +7,7 @@ * Dependency Manager MVP Release (add and install commands) * FLIX Continually Improving community engagement -- +--- ### Mainnet Uptime - Last 14 days (DD/MM/YY to DD/MM/YY) - Vishal @@ -20,7 +20,9 @@ | Access API Liveness | 99.9% | 100% | 0% | #### Incidents -- +* + +--- # Working Group Updates From 3442b72c82ff70957a1745085617b3a8489887b3 Mon Sep 17 00:00:00 2001 From: Kan Zhang Date: Fri, 2 Feb 2024 09:28:00 -0800 Subject: [PATCH 023/626] Add possible template for WG Scrum of Scrums (#1424) * Add possible template for WG Scrum of Scrums * Add descriptions * Change to Cycle Objectives * Update header titles Co-authored-by: Alexander Hentschel * Add win * Correct headings Co-authored-by: Alexander Hentschel * Add DeFi past 2 weeks items * Minor * Add DeFi next two weeks * Add epics for DeFi * Added objectives for Protocol * Updated Defi last sprint items * Updated DeFi next sprint items * Add previous sprint items for Core Protocol * Add next sprint items for Core Protocol * Updated active epics for Core Protocol * Add active epics for DeFi * Remove duplicate * Restore line incorrectly removed * Update agendas/2024/sprint-kickoff/YYYY-MM-DD-Flow-Sprint-Kickoff-Template.md * Added BFT networking updates * Apply suggestions from code review Co-authored-by: j pimmel * Add changes --------- Co-authored-by: j pimmel Co-authored-by: Alexander Hentschel Co-authored-by: Vishal <1117327+vishalchangrani@users.noreply.github.com> Co-authored-by: Peter Argue <89119817+peterargue@users.noreply.github.com> --- ...YYYY-MM-DD-Flow-Sprint-Kickoff-Template.md | 224 ++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/YYYY-MM-DD-Flow-Sprint-Kickoff-Template.md diff --git a/agendas/2024/sprint-kickoff/YYYY-MM-DD-Flow-Sprint-Kickoff-Template.md b/agendas/2024/sprint-kickoff/YYYY-MM-DD-Flow-Sprint-Kickoff-Template.md new file mode 100644 index 000000000..6ac18680e --- /dev/null +++ b/agendas/2024/sprint-kickoff/YYYY-MM-DD-Flow-Sprint-Kickoff-Template.md @@ -0,0 +1,224 @@ +# Overview + + ### Team Wins 🎉 + + * ABI.encode/decode() functional subset of EVM work was deployed to testnet to unblock Axelar integration + +- + +### Mainnet Uptime - Last 14 days (DD/MM/YY to DD/MM/YY) - Vishal + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 100% | 0% | + +#### Incidents + +- + +### FLIPs Tracker - Kshitij + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 8 | 10 | 0 | 6 | **24** | +| Proposed | 2 | 2 | 2 | 1 | **7** | +| Accepted | 2 | 1 | 1 | 1 | **5** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 1 | 19 | 1 | 0 | **21** | +| Released | 4 | 0 | 2 | 4 | **10** | +| Total | **17** | **32** | **7** | **12** | **68** | + +- + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): +- Next Mainnet/Testnet HCU: +- End of Cycle: + +--- + +# Working Group Updates + +### **Cadence and Virtual Machine** Jan +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### **Core Protocol** Jerome +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + + +### **DeFi** Jerome +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + + +### **User Experience** Greg +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### **Wallet** Jeff +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + + +### **Infra - JP** +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### **Governance and Tokenomics** Vishal +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group From 4663cee18014d5773f56c5691988890e7e77ec7b Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 2 Feb 2024 09:30:17 -0800 Subject: [PATCH 024/626] Add late arriving protocol updates --- .../2024-02-02-Flow-Sprint-Kickoff.md | 47 ++++++++++++------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 48cea6da4..8204539ce 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -210,27 +210,40 @@ Cycle Objective(s): **Done last sprint** -- [Design - Dynamic Protocol State Key-Value Store](https://www.notion.so/dapperlabs/Protocol-state-key-value-storage-497326ff9cf44ff4a70610a0dad329b3?pvs=4) - generalizing Dynamic Protocol State beyond identity table changes - - Finalized the design, created and estimated epic issues - - Added details for how to use KVStore for height-coordinated upgrade of Protocol State Machine -- Draft blog post for Dynamic Protocol State release -- Resolved mainnet24 [peer scoring incident](https://github.com/dapperlabs/flow-go/issues/6913) -- Added [comprehensive documentation](https://github.com/onflow/flow-go/pull/5308) for libp2p resource management operators guidance +- Dynamic Protocol State + - [Design - Dynamic Protocol State Key-Value Store](https://www.notion.so/dapperlabs/Protocol-state-key-value-storage-497326ff9cf44ff4a70610a0dad329b3?pvs=4) - generalizing Dynamic Protocol State beyond identity table changes + - Finalized the design, created and estimated epic issues + - Added details for how to use KVStore for height-coordinated upgrade of Protocol State Machine + - Draft blog post for Dynamic Protocol State release +- BFT Mitigations + - Resolved mainnet24 [peer scoring incident](https://github.com/dapperlabs/flow-go/issues/6913) + - Added [comprehensive documentation](https://github.com/onflow/flow-go/pull/5308) for libp2p resource management operators guidance + - Peer scoring startup silence period: https://github.com/onflow/flow-go/pull/5084 + - Configurable peer scoring parameters: https://github.com/onflow/flow-go/pull/5210 + - Enhance Gossipsub sscoring, enable/disable RPC inspection via runtime flags: https://github.com/onflow/flow-go/pull/5257 - Data Availability - - Added support for error trees in FVM - - Fixed race condition in local event streaming + - Added support for error trees in FVM + - Fixed race condition in local event streaming **This sprint** -- [Design - Sporkless Epoch Fallback Recovery](https://www.notion.so/dapperlabs/Spork-less-Epoch-Fallback-Recovery-Design-II-Epoch-Extensions-a7673e45e9064d12b6b48aa517bd1763?pvs=4) - enabling recovery from EFM via governance multisig and without spork - - Review and iteration on latest design -- Begin implementing KV Store -- Create [GossipSub forensics dashboard](https://github.com/dapperlabs/flow-go/issues/6933) -- Identify remaining technical gaps in the GH issues for the upcoming OKR -- Implement incident management runbook for networking layer -- [upgrade libp2p version to v0.32.0](https://github.com/onflow/flow-go/issues/4934) -- Fix Access connection cache race condition -- Add register cache for script executions +- Dynamic Protocol State + - [Design - Sporkless Epoch Fallback Recovery](https://www.notion.so/dapperlabs/Spork-less-Epoch-Fallback-Recovery-Design-II-Epoch-Extensions-a7673e45e9064d12b6b48aa517bd1763?pvs=4) - enabling recovery from EFM via governance multisig and without spork + - Review and iteration on latest design + - Begin implementing KV Store +- BFT Mitigations + - Create [GossipSub forensics dashboard](https://github.com/dapperlabs/flow-go/issues/6933) + - Identify remaining technical gaps in the GH issues for the upcoming OKR + - Implement incident management runbook for networking layer + - [Flakey Test]: Fix TestSubscriptionValidator_Integration https://github.com/dapperlabs/flow-go/issues/6932 + - More improvements to stability of Gossipsub scoring + - Event-based test refactoring for GossipSub RPC inspection: https://github.com/dapperlabs/flow-go/issues/6935 + - Configurable invalid topic id threshold for GossipSub RPC inspection: https://github.com/dapperlabs/flow-go/issues/6934 +- DHT Memory Leak investigation + - [upgrade libp2p version to v0.32.0](https://github.com/onflow/flow-go/issues/4934) +- Access Node + - Fix Access connection cache race condition + - Add register cache for script executions **On Hold** * Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. From 5a881ef880273bb4e7f47e8394c0413fc0928c1c Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 2 Feb 2024 09:32:19 -0800 Subject: [PATCH 025/626] Make DRIs more clear in WG title --- .../2024-02-02-Flow-Sprint-Kickoff.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 8204539ce..5f2a2de93 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -27,7 +27,7 @@ # Working Group Updates -### **Cadence and Virtual Machine** Jan +### **Cadence and Virtual Machine** \[Jan] Cycle Objective(s): 1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow @@ -199,7 +199,7 @@ Objective 3: Analyze execution runtime trends and risks to plan next set of scal --- -### **Core Protocol** Jerome +### **Core Protocol** \[Jerome] Cycle Objective(s): * Translate crypto performance improvements to consensus block rate increase @@ -259,7 +259,7 @@ Cycle Objective(s): --- -### **DeFi** Jerome +### **DeFi** \[Jerome] Cycle Objective(s): - Resolving Circle's existing engineering improvements for USDC on Flow @@ -291,7 +291,8 @@ Cycle Objective(s): --- -### **User Experience** Greg +### **User Experience** \[Greg] + Cycle Objective(s): - Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort - Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network @@ -324,10 +325,10 @@ Cycle Objective(s): - [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) - --- -### **Wallet** Jeff +### **Wallet** \[Jeff] + Cycle Objective(s): - Ensure there exists a wallet ecosystem supports FlowEVM @@ -376,7 +377,7 @@ Cycle Objective(s): --- -### **Infra - JP** +### **Infra** \[JP] Cycle Objective(s): **Done last sprint** @@ -402,7 +403,7 @@ Cycle Objective(s): --- -### **Governance and Tokenomics** Vishal +### **Governance and Tokenomics** \[Vishal] Cycle Objective(s): **Done last sprint** @@ -428,7 +429,7 @@ Cycle Objective(s): --- -### FLIPs Tracker - Kshitij +### FLIPs Tracker \[Kshitij] | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| From e4b687e8bdc397af002ff9b5a78709c8c33b444e Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 2 Feb 2024 09:33:05 -0800 Subject: [PATCH 026/626] Minor tweak --- agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 5f2a2de93..1a9772896 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -9,7 +9,7 @@ --- -### Mainnet Uptime - Last 14 days (DD/MM/YY to DD/MM/YY) - Vishal +### Mainnet Uptime - Last 14 days (DD/MM/YY to DD/MM/YY) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| From d7567c2ae9b266612c2a214ba83898492b172186 Mon Sep 17 00:00:00 2001 From: Kan Zhang Date: Fri, 2 Feb 2024 09:35:51 -0800 Subject: [PATCH 027/626] Update 2024-02-02-Flow-Sprint-Kickoff.md --- .../2024-02-02-Flow-Sprint-Kickoff.md | 46 ++++++++++--------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 1a9772896..0797df0bd 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -24,6 +24,30 @@ --- +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 7 | 6 | 0 | 5 | **18** | +| Proposed | 3 | 1 | 2 | 1 | **7** | +| Accepted | 2 | 1 | 1 | 2 | **6** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 1 | 19 | 1 | 0 | **21** | +| Released | 4 | 0 | 2 | 4 | **10** | +| Total | **17** | **27** | **7** | **12** | **63** | + +- Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) +- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. +(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): +- Next Mainnet/Testnet HCU: +- End of Cycle: + +--- + # Working Group Updates @@ -427,26 +451,4 @@ Cycle Objective(s): - Main epics that are being tackled, and currently active for this working group ---- - -### FLIPs Tracker \[Kshitij] -| | Application | Cadence | Governance | Protocol | Total | -|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 7 | 6 | 0 | 5 | **18** | -| Proposed | 3 | 1 | 2 | 1 | **7** | -| Accepted | 2 | 1 | 1 | 2 | **6** | -| Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 1 | 19 | 1 | 0 | **21** | -| Released | 4 | 0 | 2 | 4 | **10** | -| Total | **17** | **27** | **7** | **12** | **63** | - -- Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) -- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. -(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) - -### Key Release Dates & Breaking Changes - -- Next Mainnet/Testnet network upgrade (spork): -- Next Mainnet/Testnet HCU: -- End of Cycle: From 0da26505d4b3fc0eb51fc2b6a8ee203c0e899cf3 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 2 Feb 2024 09:36:31 -0800 Subject: [PATCH 028/626] Update 2024-02-02-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 0797df0bd..a9b0d8217 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -9,7 +9,7 @@ --- -### Mainnet Uptime - Last 14 days (DD/MM/YY to DD/MM/YY) \[Vishal] +### Mainnet Uptime - Last 14 days (01/19/24 to 02/01/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -17,7 +17,7 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.97% | 32.2% | #### Incidents * From 7525b9bdef0e98571177839d4503db0fefb6961a Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 2 Feb 2024 09:38:34 -0800 Subject: [PATCH 029/626] Update 2024-02-02-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index a9b0d8217..c35340ebe 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -432,14 +432,14 @@ Cycle Objective(s): **Done last sprint** -- General description of completed items -- List of Closed issues +- Working group formation +- Delegation to node operator. **This sprint** -- General description of sprint goal -- List of issues to be worked on +- Research transaction fees on other L1s +- Research Transaction fees for Flow EVM. **On Hold** From 0e9a9867098f539effd90888664c056aa24d900b Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 2 Feb 2024 09:40:17 -0800 Subject: [PATCH 030/626] Update 2024-02-02-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index c35340ebe..c871a92dc 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -42,8 +42,8 @@ ### Key Release Dates & Breaking Changes -- Next Mainnet/Testnet network upgrade (spork): -- Next Mainnet/Testnet HCU: +- Next Mainnet/Testnet network upgrade (spork): End of Feb - Crescnedo update, Testnet and mainnet sporks TBD. +- Next Mainnet/Testnet HCU: Testnet HCU - Monday, 5th Feb, Mainnet HCU - Wednesday, 7th Feb. - End of Cycle: --- From ac16af51ef3e2a2238ad182b440a6f5386148a33 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 2 Feb 2024 09:40:29 -0800 Subject: [PATCH 031/626] Update 2024-02-02-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index c871a92dc..0c832967b 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -42,7 +42,7 @@ ### Key Release Dates & Breaking Changes -- Next Mainnet/Testnet network upgrade (spork): End of Feb - Crescnedo update, Testnet and mainnet sporks TBD. +- Next Mainnet/Testnet network upgrade (spork): End of Feb - Crescendo update, Testnet and mainnet sporks TBD. - Next Mainnet/Testnet HCU: Testnet HCU - Monday, 5th Feb, Mainnet HCU - Wednesday, 7th Feb. - End of Cycle: From 90b8126a7e53a87d6abe7e079448079374679c3d Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 2 Feb 2024 09:42:22 -0800 Subject: [PATCH 032/626] Update 2024-02-02-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 0c832967b..209f97a8d 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -428,7 +428,7 @@ Cycle Objective(s): --- ### **Governance and Tokenomics** \[Vishal] -Cycle Objective(s): +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** From 4e600a4f8d18c358301078142674a0bc02ab1a22 Mon Sep 17 00:00:00 2001 From: Kan Zhang Date: Fri, 2 Feb 2024 10:00:32 -0800 Subject: [PATCH 033/626] Update 2024-02-02-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 209f97a8d..373396868 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -444,11 +444,11 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf **On Hold** -- List of issues on hold +- N/A **Active Epics** -- Main epics that are being tackled, and currently active for this working group +- N/A From b14c59fe232633b90ebc1809eb0297d069dbdcea Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 2 Feb 2024 11:06:19 -0700 Subject: [PATCH 034/626] Update agenda for infrastructure sprint --- agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 373396868..9517ad218 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -400,7 +400,6 @@ Cycle Objective(s): --- - ### **Infra** \[JP] Cycle Objective(s): @@ -425,6 +424,7 @@ Cycle Objective(s): - Main epics that are being tackled, and currently active for this working group + --- ### **Governance and Tokenomics** \[Vishal] From 00b2c05f997f0276edfd79da664a5f01e745fe42 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 2 Feb 2024 11:08:34 -0700 Subject: [PATCH 035/626] Add infra section --- .../2024-02-02-Flow-Sprint-Kickoff.md | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md index 9517ad218..015cc77cd 100644 --- a/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-02-Flow-Sprint-Kickoff.md @@ -400,31 +400,36 @@ Cycle Objective(s): --- -### **Infra** \[JP] +### **Infra - JP** Cycle Objective(s): +- Migrate Flow metrics & logs to Flow Foundation grafana account to reduce cost on DapperLabs **Done last sprint** -- General description of completed items -- List of Closed issues - +- Assisted with Flow DevEx migration +- Assisted with HCUs & Canary Sporks +- Assisted with flow.com mail configuration +- Onboarded Flow Protocol users to new Grafana Account +- Evaluated Grafana metrics and logs usage +- Updated Flow Foundation log & metric ingestion rates to align with old rates +- Updated and migrated Flow Protocol metrics, dashboards, alerts, synthethics, and notification policies +- Upgraded disk sizes for networks **This sprint** -- General description of sprint goal -- List of issues to be worked on +**Goal of Sprint is to migrate from DapperLabs account to FlowFoundation account** +- Assist with Flow DevEx migration to Cloud Run +- Update DapperLabs nodes to error logging +- Disable logs & metrics for Historical networks +- Assist with Mainnet HCU on FF nodes & DapperLabs nodes +- ** Migrate all live Flow network metrics & logs to Flow Foundation account** +- Evaluate & optimize metrics for cost savings +- Migrate Benchnet2 logs & metrics to Flow Foundation account **On Hold** - -- List of issues on hold - - **Active Epics** -- Main epics that are being tackled, and currently active for this working group - - --- ### **Governance and Tokenomics** \[Vishal] From 5161a79ac2d47eb835f97b9d9e362b9b5ac307e1 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Wed, 7 Feb 2024 16:20:09 -0800 Subject: [PATCH 036/626] Create 2024-02-08-Protocol-Product-Sync.md --- agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md diff --git a/agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md new file mode 100644 index 000000000..5951dd548 --- /dev/null +++ b/agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md @@ -0,0 +1 @@ +Please add agenda items below From 27d2657a79ed77c55a16a16e68ae89aed203821b Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 8 Feb 2024 13:17:50 -0800 Subject: [PATCH 037/626] Update 2024-02-08-Protocol-Product-Sync.md --- agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md index 5951dd548..fd73b3913 100644 --- a/agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md @@ -1 +1,4 @@ Please add agenda items below + +1. Reminder: Please share agenda for working group meeting and OKRs. +2. From 162b706d6821465e5b55058d8188776b1135c072 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 8 Feb 2024 13:22:17 -0800 Subject: [PATCH 038/626] Update 2024-02-08-Protocol-Product-Sync.md --- .../2024/product-sync/2024-02-08-Protocol-Product-Sync.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md index fd73b3913..580a40f40 100644 --- a/agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-02-08-Protocol-Product-Sync.md @@ -1,4 +1,4 @@ -Please add agenda items below +### Please add agenda items below. -1. Reminder: Please share agenda for working group meeting and OKRs. -2. +1. Reminder: Please share agenda for working group meeting and OKRs (vishal) +2. Plan for moving 16 operator consensus nodes (vishal) From 71121c1455416df87e30ce6081ea596f56eebf28 Mon Sep 17 00:00:00 2001 From: Andrii Date: Tue, 13 Feb 2024 15:37:00 +0200 Subject: [PATCH 039/626] Added messageIndex for AccountStatusesRequest and added event for response --- .../flow/executiondata/executiondata.proto | 6 +- .../go/flow/executiondata/executiondata.pb.go | 130 ++++++++++-------- 2 files changed, 78 insertions(+), 58 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index a91afb816..46a42ffcd 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -303,7 +303,11 @@ message SubscribeAccountStatusesResponse { // The API may return no events which signals a periodic heartbeat. This // allows clients to track which blocks were searched. Client can use this // information to determine which block to start from when reconnecting. - string status = 3; + repeated entities.Event events = 3; + + // The MessageIndex of the response message. + // Used by the client to ensure they received all messages. + uint64 messageIndex = 4; } // StatusesFilter defines the filter to apply to block events. diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index 4ccd9a228..2f0fd3fe0 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -687,8 +687,16 @@ func (m *SubscribeAccountStatusesRequest) GetEventEncodingVersion() entities.Eve type SubscribeAccountStatusesResponse struct { // Block ID of the block containing the events. BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` + // Unique identifier for the account being streamed Address []byte `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` + // Events matching the StatusFilter in the request. + // The API may return no events which signals a periodic heartbeat. This + // allows clients to track which blocks were searched. Client can use this + // information to determine which block to start from when reconnecting. + Events []*entities.Event `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"` + // The MessageIndex of the response message. + // Used by the client to ensure they received all messages. + MessageIndex uint64 `protobuf:"varint,4,opt,name=messageIndex,proto3" json:"messageIndex,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -733,11 +741,18 @@ func (m *SubscribeAccountStatusesResponse) GetAddress() []byte { return nil } -func (m *SubscribeAccountStatusesResponse) GetStatus() string { +func (m *SubscribeAccountStatusesResponse) GetEvents() []*entities.Event { if m != nil { - return m.Status + return m.Events } - return "" + return nil +} + +func (m *SubscribeAccountStatusesResponse) GetMessageIndex() uint64 { + if m != nil { + return m.MessageIndex + } + return 0 } // StatusesFilter defines the filter to apply to block events. @@ -811,57 +826,58 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 825 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcd, 0x4e, 0xdb, 0x4a, - 0x14, 0x96, 0x13, 0x08, 0xe4, 0x24, 0xe2, 0x67, 0x84, 0xb8, 0x8e, 0x75, 0xb9, 0x24, 0xbe, 0x55, - 0x15, 0xb5, 0xe0, 0xb4, 0x01, 0xd4, 0x2e, 0xba, 0x21, 0x85, 0xd2, 0xec, 0x2a, 0x83, 0x90, 0xca, - 0x26, 0xf2, 0xcf, 0xe0, 0x58, 0x0d, 0x9e, 0xd4, 0x33, 0x4e, 0x41, 0x5d, 0x75, 0xd5, 0x4a, 0x7d, - 0x81, 0xbe, 0x45, 0xd7, 0x7d, 0x85, 0x2e, 0xfa, 0x06, 0x7d, 0x97, 0x2a, 0xe3, 0xb1, 0x89, 0x13, - 0xc7, 0x10, 0x21, 0xa4, 0x6e, 0x22, 0x9d, 0x39, 0xdf, 0x99, 0xf3, 0xcd, 0x77, 0x7e, 0x1c, 0x78, - 0x78, 0xde, 0x23, 0x1f, 0x1a, 0xf8, 0x12, 0x5b, 0x01, 0x73, 0x89, 0x67, 0x1b, 0xcc, 0x48, 0x5a, - 0x5a, 0xdf, 0x27, 0x8c, 0x20, 0x34, 0xc4, 0x69, 0x09, 0x8f, 0x52, 0x0f, 0x63, 0x3d, 0xe6, 0x32, - 0x17, 0xd3, 0x86, 0xd9, 0x23, 0xd6, 0xbb, 0x4e, 0x0c, 0xe9, 0x5c, 0x47, 0x2b, 0x95, 0x24, 0x12, - 0x0f, 0xb0, 0xc7, 0x84, 0xeb, 0xdf, 0xa4, 0xcb, 0xc7, 0x8e, 0x4b, 0x19, 0xf6, 0x85, 0x77, 0xd3, - 0x21, 0xc4, 0xe9, 0xe1, 0x06, 0xb7, 0xcc, 0xe0, 0xbc, 0xc1, 0xdc, 0x0b, 0x4c, 0x99, 0x71, 0xd1, - 0x0f, 0x01, 0xea, 0x37, 0x09, 0xaa, 0x47, 0x98, 0x1d, 0x46, 0x59, 0x0f, 0x0c, 0x66, 0xb4, 0xae, - 0x5a, 0x43, 0x2a, 0xed, 0x03, 0x1d, 0xbf, 0x0f, 0x30, 0x65, 0xa8, 0x02, 0x8b, 0x21, 0x39, 0xd7, - 0x96, 0xa5, 0xaa, 0x54, 0x2f, 0xeb, 0x0b, 0xdc, 0x6e, 0xdb, 0xe8, 0x2d, 0xac, 0x73, 0x36, 0x1d, - 0xec, 0x59, 0xc4, 0x76, 0x3d, 0xa7, 0x33, 0xc0, 0x3e, 0x75, 0x89, 0x27, 0xe7, 0xaa, 0x52, 0x7d, - 0xa9, 0xf9, 0xbf, 0x16, 0x3e, 0x5c, 0xf0, 0xd3, 0x0e, 0x87, 0xe0, 0x43, 0x81, 0x3d, 0x0d, 0xa1, - 0xfa, 0x1a, 0x4e, 0x39, 0x55, 0x2f, 0xa1, 0x96, 0xc1, 0x8c, 0xf6, 0x89, 0x47, 0x31, 0x3a, 0x86, - 0xb5, 0x34, 0xdd, 0x38, 0xcd, 0x52, 0xb3, 0x36, 0x96, 0x9d, 0x47, 0x27, 0x6e, 0xd4, 0x91, 0x39, - 0x71, 0xa6, 0xfe, 0x92, 0x60, 0xe3, 0x38, 0x30, 0xa9, 0xe5, 0xbb, 0x26, 0x4e, 0xc2, 0x85, 0x22, - 0x0f, 0x60, 0x89, 0x32, 0xc3, 0x67, 0x9d, 0x31, 0x5d, 0xca, 0xfc, 0xb4, 0x25, 0xc4, 0xd9, 0x02, - 0x34, 0x8a, 0xea, 0x62, 0xd7, 0xe9, 0x32, 0x2e, 0xcc, 0x9c, 0xbe, 0x72, 0x8d, 0x7c, 0xcd, 0xcf, - 0x33, 0xa4, 0xcc, 0xdf, 0x55, 0xca, 0xdf, 0x12, 0xfc, 0x37, 0xed, 0x41, 0x42, 0xc8, 0x1a, 0x94, - 0x13, 0x2c, 0x25, 0xce, 0xb2, 0x64, 0x8e, 0x10, 0x9c, 0xa6, 0x75, 0xee, 0x0e, 0x5a, 0xa3, 0x97, - 0xb0, 0x1c, 0x5e, 0x1a, 0x77, 0x26, 0x7f, 0x6e, 0xa9, 0xa9, 0x68, 0x61, 0xef, 0x6a, 0x51, 0xef, - 0x6a, 0x27, 0x11, 0x42, 0x5f, 0xe2, 0x21, 0xb1, 0xad, 0x7e, 0xcf, 0xc1, 0xfa, 0xf5, 0xfb, 0x86, - 0x0a, 0xd0, 0xfb, 0xac, 0xd4, 0x33, 0x28, 0x9c, 0xbb, 0x3d, 0x86, 0x7d, 0x41, 0x75, 0x53, 0x9b, - 0x9c, 0xee, 0xb0, 0x3c, 0xaf, 0x38, 0x4c, 0x17, 0x70, 0xb4, 0x0d, 0xa8, 0x8b, 0x0d, 0x9f, 0x99, - 0xd8, 0x60, 0x1d, 0xd7, 0x63, 0xd8, 0x1f, 0x18, 0x3d, 0x79, 0x8e, 0xa7, 0x59, 0x8d, 0x3d, 0x6d, - 0xe1, 0xc8, 0xe8, 0x88, 0xf9, 0xbb, 0x76, 0xc4, 0x4f, 0x09, 0xfe, 0x99, 0x50, 0x4c, 0xb4, 0x42, - 0xc6, 0xb8, 0x8f, 0x77, 0x49, 0x6e, 0xb2, 0x4b, 0xb6, 0xa0, 0xc0, 0x33, 0x52, 0x39, 0x5f, 0xcd, - 0xd7, 0x4b, 0xcd, 0xb5, 0x34, 0x92, 0xba, 0xc0, 0xa4, 0x95, 0x7f, 0x6e, 0xe6, 0xf2, 0x9b, 0x50, - 0x1a, 0x51, 0x1b, 0x6d, 0x00, 0x84, 0xb2, 0xb1, 0xab, 0x3e, 0x96, 0xa5, 0x6a, 0xbe, 0x5e, 0xd4, - 0x8b, 0xfc, 0xe4, 0xe4, 0xaa, 0x8f, 0x91, 0x02, 0x8b, 0x16, 0xf1, 0x98, 0x6f, 0x58, 0x43, 0xfe, - 0x43, 0x67, 0x6c, 0x23, 0x19, 0x16, 0x0c, 0xdb, 0xf6, 0x31, 0x0d, 0xd9, 0x17, 0xf5, 0xc8, 0x54, - 0x3f, 0x82, 0x7c, 0x84, 0x99, 0x2e, 0xd6, 0xeb, 0xa9, 0xd1, 0x0b, 0x70, 0xdc, 0x63, 0xb7, 0x98, - 0x9d, 0x17, 0x50, 0x8e, 0x56, 0x73, 0xc7, 0xb5, 0x29, 0x4f, 0x5c, 0x6a, 0x56, 0xc6, 0xb4, 0x89, - 0xae, 0x6f, 0x1f, 0xe8, 0xa5, 0x08, 0xde, 0xb6, 0xa9, 0xba, 0x03, 0x95, 0x94, 0xe4, 0xa2, 0x5c, - 0xeb, 0x50, 0x18, 0xf0, 0x13, 0xfe, 0xd4, 0xb2, 0x2e, 0x2c, 0xf5, 0x47, 0x0e, 0x36, 0xe3, 0x12, - 0xef, 0x5b, 0x16, 0x09, 0x3c, 0x76, 0xcc, 0x0c, 0x16, 0x50, 0x7c, 0xaf, 0xd3, 0xf1, 0x7c, 0x6c, - 0x3a, 0xaa, 0x69, 0xd3, 0x11, 0x12, 0xf9, 0x6b, 0xc7, 0x83, 0x40, 0x75, 0xba, 0x74, 0x37, 0x8f, - 0xc9, 0x48, 0x1b, 0xe5, 0x42, 0x8f, 0x30, 0x87, 0xc5, 0xa2, 0xfc, 0x22, 0x2e, 0x4e, 0x51, 0x17, - 0x96, 0xba, 0x0d, 0xe5, 0x51, 0x49, 0x6e, 0xe8, 0xe1, 0xe6, 0xd7, 0x79, 0x58, 0x49, 0xec, 0xd1, - 0xfd, 0x37, 0x6d, 0xf4, 0x45, 0xe2, 0x6d, 0x92, 0xfe, 0xc5, 0x44, 0xbb, 0x69, 0x65, 0xb8, 0xe9, - 0xd3, 0xaf, 0xec, 0xcd, 0x18, 0x25, 0xb4, 0xf9, 0x24, 0x8d, 0x2e, 0xe4, 0xc4, 0xc2, 0x7f, 0x9a, - 0xda, 0x0e, 0x59, 0x5f, 0x5b, 0xa5, 0x39, 0x4b, 0x48, 0xc8, 0xe0, 0x89, 0x84, 0x7a, 0xb0, 0x3c, - 0xb6, 0xe1, 0xd0, 0xa3, 0xec, 0x8b, 0x46, 0x3f, 0x1c, 0xca, 0xe3, 0x5b, 0x61, 0xe3, 0x6c, 0x7d, - 0x58, 0x9d, 0x18, 0x51, 0xb4, 0x35, 0x45, 0xbd, 0xd4, 0x35, 0xa2, 0x6c, 0xdf, 0x12, 0x2d, 0x34, - 0xfe, 0x2c, 0x81, 0x3c, 0xad, 0x49, 0xd1, 0x4e, 0x26, 0xfb, 0xf4, 0x6d, 0xa0, 0xec, 0xce, 0x16, - 0x14, 0xbd, 0xbd, 0x75, 0x06, 0x35, 0xe2, 0x3b, 0x1a, 0xf1, 0x78, 0x78, 0xbc, 0xb0, 0x13, 0xf7, - 0x9c, 0xed, 0x39, 0x2e, 0xeb, 0x06, 0xa6, 0x66, 0x91, 0x8b, 0x46, 0x88, 0x6c, 0xf0, 0x9f, 0xf8, - 0xaf, 0xa9, 0x43, 0x1a, 0x93, 0x7f, 0xa6, 0xcd, 0x02, 0xf7, 0xef, 0xfc, 0x09, 0x00, 0x00, 0xff, - 0xff, 0x2a, 0xe5, 0x12, 0xaa, 0x69, 0x0b, 0x00, 0x00, + // 837 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcd, 0x4e, 0xeb, 0x46, + 0x14, 0x96, 0x13, 0x08, 0x70, 0x12, 0xf1, 0x33, 0x42, 0xd4, 0xb1, 0x4a, 0x49, 0xdc, 0xaa, 0x8a, + 0x5a, 0x70, 0xda, 0x00, 0x6a, 0x17, 0xdd, 0x90, 0x42, 0x69, 0x76, 0x95, 0x41, 0x48, 0x65, 0x13, + 0xf9, 0xe7, 0xe0, 0x58, 0x4d, 0x3c, 0xa9, 0x67, 0x9c, 0x82, 0xba, 0xea, 0xaa, 0x95, 0xfa, 0x02, + 0x7d, 0x85, 0xae, 0xba, 0xee, 0x2b, 0xdc, 0xc5, 0x7d, 0x83, 0xfb, 0x2e, 0x57, 0x19, 0x8f, 0x4d, + 0x9c, 0x38, 0x81, 0x08, 0x21, 0xdd, 0x8d, 0xa5, 0x33, 0xe7, 0x3b, 0x33, 0xdf, 0x7c, 0xe7, 0x67, + 0x0c, 0x9f, 0xdf, 0xf5, 0xe9, 0x6f, 0x4d, 0xbc, 0x47, 0x27, 0xe2, 0x3e, 0x0d, 0x5c, 0x8b, 0x5b, + 0x59, 0xcb, 0x18, 0x86, 0x94, 0x53, 0x42, 0xc6, 0x38, 0x23, 0xe3, 0xd1, 0x1a, 0x71, 0x6c, 0xc0, + 0x7d, 0xee, 0x23, 0x6b, 0xda, 0x7d, 0xea, 0xfc, 0xd2, 0x4d, 0x21, 0xdd, 0xc7, 0x68, 0xad, 0x9a, + 0x45, 0xe2, 0x08, 0x03, 0x2e, 0x5d, 0x1f, 0x67, 0x5d, 0x21, 0x7a, 0x3e, 0xe3, 0x18, 0x4a, 0xef, + 0x81, 0x47, 0xa9, 0xd7, 0xc7, 0xa6, 0xb0, 0xec, 0xe8, 0xae, 0xc9, 0xfd, 0x01, 0x32, 0x6e, 0x0d, + 0x86, 0x31, 0x40, 0xff, 0x47, 0x81, 0xda, 0x25, 0xf2, 0x8b, 0xe4, 0xd4, 0x73, 0x8b, 0x5b, 0xed, + 0x87, 0xf6, 0x98, 0x4a, 0xe7, 0xdc, 0xc4, 0x5f, 0x23, 0x64, 0x9c, 0x54, 0x61, 0x3d, 0x26, 0xe7, + 0xbb, 0xaa, 0x52, 0x53, 0x1a, 0x15, 0x73, 0x4d, 0xd8, 0x1d, 0x97, 0xfc, 0x0c, 0x7b, 0x82, 0x4d, + 0x17, 0x03, 0x87, 0xba, 0x7e, 0xe0, 0x75, 0x47, 0x18, 0x32, 0x9f, 0x06, 0x6a, 0xa1, 0xa6, 0x34, + 0x36, 0x5b, 0x9f, 0x1a, 0xf1, 0xc5, 0x25, 0x3f, 0xe3, 0x62, 0x0c, 0xbe, 0x90, 0xd8, 0x9b, 0x18, + 0x6a, 0xee, 0x62, 0xce, 0xaa, 0x7e, 0x0f, 0xf5, 0x05, 0xcc, 0xd8, 0x90, 0x06, 0x0c, 0xc9, 0x15, + 0xec, 0xe6, 0xe9, 0x26, 0x68, 0x96, 0x5b, 0xf5, 0xa9, 0xd3, 0x45, 0x74, 0x66, 0x47, 0x93, 0xd8, + 0x33, 0x6b, 0xfa, 0x5b, 0x05, 0xf6, 0xaf, 0x22, 0x9b, 0x39, 0xa1, 0x6f, 0x63, 0x16, 0x2e, 0x15, + 0xf9, 0x0c, 0x36, 0x19, 0xb7, 0x42, 0xde, 0x9d, 0xd2, 0xa5, 0x22, 0x56, 0xdb, 0x52, 0x9c, 0x43, + 0x20, 0x93, 0xa8, 0x1e, 0xfa, 0x5e, 0x8f, 0x0b, 0x61, 0x56, 0xcc, 0xed, 0x47, 0xe4, 0x8f, 0x62, + 0x7d, 0x81, 0x94, 0xc5, 0x97, 0x4a, 0xf9, 0x4e, 0x81, 0x4f, 0xe6, 0x5d, 0x48, 0x0a, 0x59, 0x87, + 0x4a, 0x86, 0xa5, 0x22, 0x58, 0x96, 0xed, 0x09, 0x82, 0xf3, 0xb4, 0x2e, 0xbc, 0x40, 0x6b, 0xf2, + 0x3d, 0x6c, 0xc5, 0x9b, 0xa6, 0x95, 0x29, 0xae, 0x5b, 0x6e, 0x69, 0x46, 0x5c, 0xbb, 0x46, 0x52, + 0xbb, 0xc6, 0x75, 0x82, 0x30, 0x37, 0x45, 0x48, 0x6a, 0xeb, 0xff, 0x15, 0x60, 0xef, 0xf1, 0x7e, + 0x63, 0x05, 0xd8, 0x6b, 0x66, 0xea, 0x1b, 0x28, 0xdd, 0xf9, 0x7d, 0x8e, 0xa1, 0xa4, 0x7a, 0x60, + 0xcc, 0x76, 0x77, 0x9c, 0x9e, 0x1f, 0x04, 0xcc, 0x94, 0x70, 0x72, 0x04, 0xa4, 0x87, 0x56, 0xc8, + 0x6d, 0xb4, 0x78, 0xd7, 0x0f, 0x38, 0x86, 0x23, 0xab, 0xaf, 0xae, 0x88, 0x63, 0x76, 0x52, 0x4f, + 0x47, 0x3a, 0x16, 0x54, 0xc4, 0xea, 0x4b, 0x2b, 0xe2, 0x8d, 0x02, 0x1f, 0xcd, 0x28, 0x26, 0x4b, + 0x61, 0x41, 0xbb, 0x4f, 0x57, 0x49, 0x61, 0xb6, 0x4a, 0x0e, 0xa1, 0x24, 0x4e, 0x64, 0x6a, 0xb1, + 0x56, 0x6c, 0x94, 0x5b, 0xbb, 0x79, 0x24, 0x4d, 0x89, 0xc9, 0x4b, 0xff, 0xca, 0xd2, 0xe9, 0xb7, + 0xa1, 0x3c, 0xa1, 0x36, 0xd9, 0x07, 0x88, 0x65, 0xe3, 0x0f, 0x43, 0x54, 0x95, 0x5a, 0xb1, 0xb1, + 0x61, 0x6e, 0x88, 0x95, 0xeb, 0x87, 0x21, 0x12, 0x0d, 0xd6, 0x1d, 0x1a, 0xf0, 0xd0, 0x72, 0xc6, + 0xfc, 0xc7, 0xce, 0xd4, 0x26, 0x2a, 0xac, 0x59, 0xae, 0x1b, 0x22, 0x8b, 0xd9, 0x6f, 0x98, 0x89, + 0xa9, 0xff, 0x0e, 0xea, 0x25, 0x72, 0x53, 0x8e, 0xd7, 0x1b, 0xab, 0x1f, 0x61, 0x5a, 0x63, 0xcf, + 0xe8, 0x9d, 0xef, 0xa0, 0x92, 0x8c, 0xe6, 0xae, 0xef, 0x32, 0x71, 0x70, 0xb9, 0x55, 0x9d, 0xd2, + 0x26, 0xd9, 0xbe, 0x73, 0x6e, 0x96, 0x13, 0x78, 0xc7, 0x65, 0xfa, 0x31, 0x54, 0x73, 0x0e, 0x97, + 0xe9, 0xda, 0x83, 0xd2, 0x48, 0xac, 0x88, 0xab, 0x56, 0x4c, 0x69, 0xe9, 0xff, 0x17, 0xe0, 0x20, + 0x4d, 0xf1, 0x99, 0xe3, 0xd0, 0x28, 0xe0, 0x57, 0xdc, 0xe2, 0x11, 0xc3, 0x57, 0xed, 0x8e, 0x6f, + 0xa7, 0xba, 0xa3, 0x96, 0xd7, 0x1d, 0x31, 0x91, 0x0f, 0xb6, 0x3d, 0xfe, 0x55, 0xa0, 0x36, 0x5f, + 0xbb, 0xa7, 0xfb, 0x64, 0xa2, 0x8e, 0x0a, 0xb1, 0x47, 0x9a, 0x4b, 0xb6, 0x87, 0x0e, 0x95, 0x01, + 0x32, 0x66, 0x79, 0xd8, 0x09, 0x5c, 0xbc, 0x97, 0x5a, 0x64, 0xd6, 0xf4, 0x23, 0xa8, 0x4c, 0xaa, + 0xf9, 0x44, 0xf9, 0xb7, 0xfe, 0x5e, 0x85, 0xed, 0xcc, 0x08, 0x3e, 0xfb, 0xa9, 0x43, 0xfe, 0x52, + 0x44, 0x85, 0xe5, 0x3f, 0xb6, 0xe4, 0x24, 0x2f, 0x83, 0x4f, 0xfd, 0x35, 0x68, 0xa7, 0x4b, 0x46, + 0x49, 0x55, 0xff, 0x50, 0x26, 0x67, 0x79, 0xe6, 0xad, 0xf8, 0x3a, 0xb7, 0x92, 0x16, 0x3d, 0xd4, + 0x5a, 0x6b, 0x99, 0x90, 0x98, 0xc1, 0x57, 0x0a, 0xe9, 0xc3, 0xd6, 0xd4, 0x70, 0x24, 0x5f, 0x2c, + 0xde, 0x68, 0xf2, 0xcd, 0xd1, 0xbe, 0x7c, 0x16, 0x36, 0x3d, 0x6d, 0x08, 0x3b, 0x33, 0xdd, 0x4d, + 0x0e, 0xe7, 0xa8, 0x97, 0x3b, 0x81, 0xb4, 0xa3, 0x67, 0xa2, 0xa5, 0xc6, 0x7f, 0x2a, 0xa0, 0xce, + 0x2b, 0x6f, 0x72, 0xbc, 0x90, 0x7d, 0xfe, 0x20, 0xd1, 0x4e, 0x96, 0x0b, 0x4a, 0xee, 0xde, 0xbe, + 0x85, 0x3a, 0x0d, 0x3d, 0x83, 0x06, 0x22, 0x3c, 0x9d, 0xf5, 0x99, 0x7d, 0x6e, 0x4f, 0x3d, 0x9f, + 0xf7, 0x22, 0xdb, 0x70, 0xe8, 0xa0, 0x19, 0x23, 0x9b, 0xe2, 0x93, 0xfe, 0xd5, 0x7a, 0xb4, 0x39, + 0xfb, 0x1f, 0x6e, 0x97, 0x84, 0xff, 0xf8, 0x7d, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5e, 0x23, 0x4e, + 0xad, 0xa4, 0x0b, 0x00, 0x00, } From e287bb08035baaa70b49bcfaac834d94ccce8ccd Mon Sep 17 00:00:00 2001 From: Andrii Date: Tue, 13 Feb 2024 15:43:21 +0200 Subject: [PATCH 040/626] Merged with main --- protobuf/go/flow/access/access_grpc.pb.go | 160 +++++++----------- .../go/flow/execution/execution_grpc.pb.go | 70 +++----- .../executiondata/executiondata_grpc.pb.go | 21 +-- .../go/flow/legacy/access/access_grpc.pb.go | 105 +++++------- .../legacy/execution/execution_grpc.pb.go | 30 ++-- 5 files changed, 149 insertions(+), 237 deletions(-) diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index b7308c8ec..3ead2dad0 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc (unknown) // source: flow/access/access.proto @@ -18,40 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - AccessAPI_Ping_FullMethodName = "/flow.access.AccessAPI/Ping" - AccessAPI_GetNodeVersionInfo_FullMethodName = "/flow.access.AccessAPI/GetNodeVersionInfo" - AccessAPI_GetLatestBlockHeader_FullMethodName = "/flow.access.AccessAPI/GetLatestBlockHeader" - AccessAPI_GetBlockHeaderByID_FullMethodName = "/flow.access.AccessAPI/GetBlockHeaderByID" - AccessAPI_GetBlockHeaderByHeight_FullMethodName = "/flow.access.AccessAPI/GetBlockHeaderByHeight" - AccessAPI_GetLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetLatestBlock" - AccessAPI_GetBlockByID_FullMethodName = "/flow.access.AccessAPI/GetBlockByID" - AccessAPI_GetBlockByHeight_FullMethodName = "/flow.access.AccessAPI/GetBlockByHeight" - AccessAPI_GetCollectionByID_FullMethodName = "/flow.access.AccessAPI/GetCollectionByID" - AccessAPI_SendTransaction_FullMethodName = "/flow.access.AccessAPI/SendTransaction" - AccessAPI_GetTransaction_FullMethodName = "/flow.access.AccessAPI/GetTransaction" - AccessAPI_GetTransactionResult_FullMethodName = "/flow.access.AccessAPI/GetTransactionResult" - AccessAPI_GetTransactionResultByIndex_FullMethodName = "/flow.access.AccessAPI/GetTransactionResultByIndex" - AccessAPI_GetTransactionResultsByBlockID_FullMethodName = "/flow.access.AccessAPI/GetTransactionResultsByBlockID" - AccessAPI_GetTransactionsByBlockID_FullMethodName = "/flow.access.AccessAPI/GetTransactionsByBlockID" - AccessAPI_GetSystemTransaction_FullMethodName = "/flow.access.AccessAPI/GetSystemTransaction" - AccessAPI_GetSystemTransactionResult_FullMethodName = "/flow.access.AccessAPI/GetSystemTransactionResult" - AccessAPI_GetAccount_FullMethodName = "/flow.access.AccessAPI/GetAccount" - AccessAPI_GetAccountAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountAtLatestBlock" - AccessAPI_GetAccountAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountAtBlockHeight" - AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock" - AccessAPI_ExecuteScriptAtBlockID_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockID" - AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight" - AccessAPI_GetEventsForHeightRange_FullMethodName = "/flow.access.AccessAPI/GetEventsForHeightRange" - AccessAPI_GetEventsForBlockIDs_FullMethodName = "/flow.access.AccessAPI/GetEventsForBlockIDs" - AccessAPI_GetNetworkParameters_FullMethodName = "/flow.access.AccessAPI/GetNetworkParameters" - AccessAPI_GetLatestProtocolStateSnapshot_FullMethodName = "/flow.access.AccessAPI/GetLatestProtocolStateSnapshot" - AccessAPI_GetProtocolStateSnapshotByBlockID_FullMethodName = "/flow.access.AccessAPI/GetProtocolStateSnapshotByBlockID" - AccessAPI_GetProtocolStateSnapshotByHeight_FullMethodName = "/flow.access.AccessAPI/GetProtocolStateSnapshotByHeight" - AccessAPI_GetExecutionResultForBlockID_FullMethodName = "/flow.access.AccessAPI/GetExecutionResultForBlockID" - AccessAPI_GetExecutionResultByID_FullMethodName = "/flow.access.AccessAPI/GetExecutionResultByID" -) - // AccessAPIClient is the client API for AccessAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -153,7 +119,7 @@ func NewAccessAPIClient(cc grpc.ClientConnInterface) AccessAPIClient { func (c *accessAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := c.cc.Invoke(ctx, AccessAPI_Ping_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/Ping", in, out, opts...) if err != nil { return nil, err } @@ -162,7 +128,7 @@ func (c *accessAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grp func (c *accessAPIClient) GetNodeVersionInfo(ctx context.Context, in *GetNodeVersionInfoRequest, opts ...grpc.CallOption) (*GetNodeVersionInfoResponse, error) { out := new(GetNodeVersionInfoResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetNodeVersionInfo_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetNodeVersionInfo", in, out, opts...) if err != nil { return nil, err } @@ -171,7 +137,7 @@ func (c *accessAPIClient) GetNodeVersionInfo(ctx context.Context, in *GetNodeVer func (c *accessAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLatestBlockHeaderRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetLatestBlockHeader_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetLatestBlockHeader", in, out, opts...) if err != nil { return nil, err } @@ -180,7 +146,7 @@ func (c *accessAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLates func (c *accessAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHeaderByIDRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetBlockHeaderByID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetBlockHeaderByID", in, out, opts...) if err != nil { return nil, err } @@ -189,7 +155,7 @@ func (c *accessAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHe func (c *accessAPIClient) GetBlockHeaderByHeight(ctx context.Context, in *GetBlockHeaderByHeightRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetBlockHeaderByHeight_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetBlockHeaderByHeight", in, out, opts...) if err != nil { return nil, err } @@ -198,7 +164,7 @@ func (c *accessAPIClient) GetBlockHeaderByHeight(ctx context.Context, in *GetBlo func (c *accessAPIClient) GetLatestBlock(ctx context.Context, in *GetLatestBlockRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetLatestBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetLatestBlock", in, out, opts...) if err != nil { return nil, err } @@ -207,7 +173,7 @@ func (c *accessAPIClient) GetLatestBlock(ctx context.Context, in *GetLatestBlock func (c *accessAPIClient) GetBlockByID(ctx context.Context, in *GetBlockByIDRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetBlockByID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetBlockByID", in, out, opts...) if err != nil { return nil, err } @@ -216,7 +182,7 @@ func (c *accessAPIClient) GetBlockByID(ctx context.Context, in *GetBlockByIDRequ func (c *accessAPIClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHeightRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetBlockByHeight_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetBlockByHeight", in, out, opts...) if err != nil { return nil, err } @@ -225,7 +191,7 @@ func (c *accessAPIClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHe func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollectionByIDRequest, opts ...grpc.CallOption) (*CollectionResponse, error) { out := new(CollectionResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetCollectionByID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetCollectionByID", in, out, opts...) if err != nil { return nil, err } @@ -234,7 +200,7 @@ func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollecti func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransactionRequest, opts ...grpc.CallOption) (*SendTransactionResponse, error) { out := new(SendTransactionResponse) - err := c.cc.Invoke(ctx, AccessAPI_SendTransaction_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/SendTransaction", in, out, opts...) if err != nil { return nil, err } @@ -243,7 +209,7 @@ func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransacti func (c *accessAPIClient) GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*TransactionResponse, error) { out := new(TransactionResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetTransaction_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransaction", in, out, opts...) if err != nil { return nil, err } @@ -252,7 +218,7 @@ func (c *accessAPIClient) GetTransaction(ctx context.Context, in *GetTransaction func (c *accessAPIClient) GetTransactionResult(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*TransactionResultResponse, error) { out := new(TransactionResultResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetTransactionResult_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransactionResult", in, out, opts...) if err != nil { return nil, err } @@ -261,7 +227,7 @@ func (c *accessAPIClient) GetTransactionResult(ctx context.Context, in *GetTrans func (c *accessAPIClient) GetTransactionResultByIndex(ctx context.Context, in *GetTransactionByIndexRequest, opts ...grpc.CallOption) (*TransactionResultResponse, error) { out := new(TransactionResultResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetTransactionResultByIndex_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransactionResultByIndex", in, out, opts...) if err != nil { return nil, err } @@ -270,7 +236,7 @@ func (c *accessAPIClient) GetTransactionResultByIndex(ctx context.Context, in *G func (c *accessAPIClient) GetTransactionResultsByBlockID(ctx context.Context, in *GetTransactionsByBlockIDRequest, opts ...grpc.CallOption) (*TransactionResultsResponse, error) { out := new(TransactionResultsResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetTransactionResultsByBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransactionResultsByBlockID", in, out, opts...) if err != nil { return nil, err } @@ -279,7 +245,7 @@ func (c *accessAPIClient) GetTransactionResultsByBlockID(ctx context.Context, in func (c *accessAPIClient) GetTransactionsByBlockID(ctx context.Context, in *GetTransactionsByBlockIDRequest, opts ...grpc.CallOption) (*TransactionsResponse, error) { out := new(TransactionsResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetTransactionsByBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransactionsByBlockID", in, out, opts...) if err != nil { return nil, err } @@ -288,7 +254,7 @@ func (c *accessAPIClient) GetTransactionsByBlockID(ctx context.Context, in *GetT func (c *accessAPIClient) GetSystemTransaction(ctx context.Context, in *GetSystemTransactionRequest, opts ...grpc.CallOption) (*TransactionResponse, error) { out := new(TransactionResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetSystemTransaction_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetSystemTransaction", in, out, opts...) if err != nil { return nil, err } @@ -297,7 +263,7 @@ func (c *accessAPIClient) GetSystemTransaction(ctx context.Context, in *GetSyste func (c *accessAPIClient) GetSystemTransactionResult(ctx context.Context, in *GetSystemTransactionResultRequest, opts ...grpc.CallOption) (*TransactionResultResponse, error) { out := new(TransactionResultResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetSystemTransactionResult_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetSystemTransactionResult", in, out, opts...) if err != nil { return nil, err } @@ -306,7 +272,7 @@ func (c *accessAPIClient) GetSystemTransactionResult(ctx context.Context, in *Ge func (c *accessAPIClient) GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error) { out := new(GetAccountResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetAccount_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetAccount", in, out, opts...) if err != nil { return nil, err } @@ -315,7 +281,7 @@ func (c *accessAPIClient) GetAccount(ctx context.Context, in *GetAccountRequest, func (c *accessAPIClient) GetAccountAtLatestBlock(ctx context.Context, in *GetAccountAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountResponse, error) { out := new(AccountResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetAccountAtLatestBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetAccountAtLatestBlock", in, out, opts...) if err != nil { return nil, err } @@ -324,7 +290,7 @@ func (c *accessAPIClient) GetAccountAtLatestBlock(ctx context.Context, in *GetAc func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountResponse, error) { out := new(AccountResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetAccountAtBlockHeight_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetAccountAtBlockHeight", in, out, opts...) if err != nil { return nil, err } @@ -333,7 +299,7 @@ func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAc func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *ExecuteScriptAtLatestBlockRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock", in, out, opts...) if err != nil { return nil, err } @@ -342,7 +308,7 @@ func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *Ex func (c *accessAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *ExecuteScriptAtBlockIDRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/ExecuteScriptAtBlockID", in, out, opts...) if err != nil { return nil, err } @@ -351,7 +317,7 @@ func (c *accessAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *Execut func (c *accessAPIClient) ExecuteScriptAtBlockHeight(ctx context.Context, in *ExecuteScriptAtBlockHeightRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight", in, out, opts...) if err != nil { return nil, err } @@ -360,7 +326,7 @@ func (c *accessAPIClient) ExecuteScriptAtBlockHeight(ctx context.Context, in *Ex func (c *accessAPIClient) GetEventsForHeightRange(ctx context.Context, in *GetEventsForHeightRangeRequest, opts ...grpc.CallOption) (*EventsResponse, error) { out := new(EventsResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetEventsForHeightRange_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetEventsForHeightRange", in, out, opts...) if err != nil { return nil, err } @@ -369,7 +335,7 @@ func (c *accessAPIClient) GetEventsForHeightRange(ctx context.Context, in *GetEv func (c *accessAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEventsForBlockIDsRequest, opts ...grpc.CallOption) (*EventsResponse, error) { out := new(EventsResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetEventsForBlockIDs_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetEventsForBlockIDs", in, out, opts...) if err != nil { return nil, err } @@ -378,7 +344,7 @@ func (c *accessAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEvent func (c *accessAPIClient) GetNetworkParameters(ctx context.Context, in *GetNetworkParametersRequest, opts ...grpc.CallOption) (*GetNetworkParametersResponse, error) { out := new(GetNetworkParametersResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetNetworkParameters_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetNetworkParameters", in, out, opts...) if err != nil { return nil, err } @@ -387,7 +353,7 @@ func (c *accessAPIClient) GetNetworkParameters(ctx context.Context, in *GetNetwo func (c *accessAPIClient) GetLatestProtocolStateSnapshot(ctx context.Context, in *GetLatestProtocolStateSnapshotRequest, opts ...grpc.CallOption) (*ProtocolStateSnapshotResponse, error) { out := new(ProtocolStateSnapshotResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetLatestProtocolStateSnapshot_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetLatestProtocolStateSnapshot", in, out, opts...) if err != nil { return nil, err } @@ -396,7 +362,7 @@ func (c *accessAPIClient) GetLatestProtocolStateSnapshot(ctx context.Context, in func (c *accessAPIClient) GetProtocolStateSnapshotByBlockID(ctx context.Context, in *GetProtocolStateSnapshotByBlockIDRequest, opts ...grpc.CallOption) (*ProtocolStateSnapshotResponse, error) { out := new(ProtocolStateSnapshotResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetProtocolStateSnapshotByBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetProtocolStateSnapshotByBlockID", in, out, opts...) if err != nil { return nil, err } @@ -405,7 +371,7 @@ func (c *accessAPIClient) GetProtocolStateSnapshotByBlockID(ctx context.Context, func (c *accessAPIClient) GetProtocolStateSnapshotByHeight(ctx context.Context, in *GetProtocolStateSnapshotByHeightRequest, opts ...grpc.CallOption) (*ProtocolStateSnapshotResponse, error) { out := new(ProtocolStateSnapshotResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetProtocolStateSnapshotByHeight_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetProtocolStateSnapshotByHeight", in, out, opts...) if err != nil { return nil, err } @@ -414,7 +380,7 @@ func (c *accessAPIClient) GetProtocolStateSnapshotByHeight(ctx context.Context, func (c *accessAPIClient) GetExecutionResultForBlockID(ctx context.Context, in *GetExecutionResultForBlockIDRequest, opts ...grpc.CallOption) (*ExecutionResultForBlockIDResponse, error) { out := new(ExecutionResultForBlockIDResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetExecutionResultForBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetExecutionResultForBlockID", in, out, opts...) if err != nil { return nil, err } @@ -423,7 +389,7 @@ func (c *accessAPIClient) GetExecutionResultForBlockID(ctx context.Context, in * func (c *accessAPIClient) GetExecutionResultByID(ctx context.Context, in *GetExecutionResultByIDRequest, opts ...grpc.CallOption) (*ExecutionResultByIDResponse, error) { out := new(ExecutionResultByIDResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetExecutionResultByID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetExecutionResultByID", in, out, opts...) if err != nil { return nil, err } @@ -640,7 +606,7 @@ func _AccessAPI_Ping_Handler(srv interface{}, ctx context.Context, dec func(inte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_Ping_FullMethodName, + FullMethod: "/flow.access.AccessAPI/Ping", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).Ping(ctx, req.(*PingRequest)) @@ -658,7 +624,7 @@ func _AccessAPI_GetNodeVersionInfo_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetNodeVersionInfo_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetNodeVersionInfo", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetNodeVersionInfo(ctx, req.(*GetNodeVersionInfoRequest)) @@ -676,7 +642,7 @@ func _AccessAPI_GetLatestBlockHeader_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetLatestBlockHeader_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetLatestBlockHeader", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestBlockHeader(ctx, req.(*GetLatestBlockHeaderRequest)) @@ -694,7 +660,7 @@ func _AccessAPI_GetBlockHeaderByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetBlockHeaderByID_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetBlockHeaderByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockHeaderByID(ctx, req.(*GetBlockHeaderByIDRequest)) @@ -712,7 +678,7 @@ func _AccessAPI_GetBlockHeaderByHeight_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetBlockHeaderByHeight_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetBlockHeaderByHeight", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockHeaderByHeight(ctx, req.(*GetBlockHeaderByHeightRequest)) @@ -730,7 +696,7 @@ func _AccessAPI_GetLatestBlock_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetLatestBlock_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetLatestBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestBlock(ctx, req.(*GetLatestBlockRequest)) @@ -748,7 +714,7 @@ func _AccessAPI_GetBlockByID_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetBlockByID_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetBlockByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockByID(ctx, req.(*GetBlockByIDRequest)) @@ -766,7 +732,7 @@ func _AccessAPI_GetBlockByHeight_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetBlockByHeight_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetBlockByHeight", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockByHeight(ctx, req.(*GetBlockByHeightRequest)) @@ -784,7 +750,7 @@ func _AccessAPI_GetCollectionByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetCollectionByID_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetCollectionByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetCollectionByID(ctx, req.(*GetCollectionByIDRequest)) @@ -802,7 +768,7 @@ func _AccessAPI_SendTransaction_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_SendTransaction_FullMethodName, + FullMethod: "/flow.access.AccessAPI/SendTransaction", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).SendTransaction(ctx, req.(*SendTransactionRequest)) @@ -820,7 +786,7 @@ func _AccessAPI_GetTransaction_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetTransaction_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetTransaction", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransaction(ctx, req.(*GetTransactionRequest)) @@ -838,7 +804,7 @@ func _AccessAPI_GetTransactionResult_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetTransactionResult_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetTransactionResult", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionResult(ctx, req.(*GetTransactionRequest)) @@ -856,7 +822,7 @@ func _AccessAPI_GetTransactionResultByIndex_Handler(srv interface{}, ctx context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetTransactionResultByIndex_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetTransactionResultByIndex", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionResultByIndex(ctx, req.(*GetTransactionByIndexRequest)) @@ -874,7 +840,7 @@ func _AccessAPI_GetTransactionResultsByBlockID_Handler(srv interface{}, ctx cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetTransactionResultsByBlockID_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetTransactionResultsByBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionResultsByBlockID(ctx, req.(*GetTransactionsByBlockIDRequest)) @@ -892,7 +858,7 @@ func _AccessAPI_GetTransactionsByBlockID_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetTransactionsByBlockID_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetTransactionsByBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionsByBlockID(ctx, req.(*GetTransactionsByBlockIDRequest)) @@ -910,7 +876,7 @@ func _AccessAPI_GetSystemTransaction_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetSystemTransaction_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetSystemTransaction", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetSystemTransaction(ctx, req.(*GetSystemTransactionRequest)) @@ -928,7 +894,7 @@ func _AccessAPI_GetSystemTransactionResult_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetSystemTransactionResult_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetSystemTransactionResult", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetSystemTransactionResult(ctx, req.(*GetSystemTransactionResultRequest)) @@ -946,7 +912,7 @@ func _AccessAPI_GetAccount_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetAccount_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetAccount", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccount(ctx, req.(*GetAccountRequest)) @@ -964,7 +930,7 @@ func _AccessAPI_GetAccountAtLatestBlock_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetAccountAtLatestBlock_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetAccountAtLatestBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccountAtLatestBlock(ctx, req.(*GetAccountAtLatestBlockRequest)) @@ -982,7 +948,7 @@ func _AccessAPI_GetAccountAtBlockHeight_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetAccountAtBlockHeight_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetAccountAtBlockHeight", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccountAtBlockHeight(ctx, req.(*GetAccountAtBlockHeightRequest)) @@ -1000,7 +966,7 @@ func _AccessAPI_ExecuteScriptAtLatestBlock_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, + FullMethod: "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtLatestBlock(ctx, req.(*ExecuteScriptAtLatestBlockRequest)) @@ -1018,7 +984,7 @@ func _AccessAPI_ExecuteScriptAtBlockID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_ExecuteScriptAtBlockID_FullMethodName, + FullMethod: "/flow.access.AccessAPI/ExecuteScriptAtBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtBlockID(ctx, req.(*ExecuteScriptAtBlockIDRequest)) @@ -1036,7 +1002,7 @@ func _AccessAPI_ExecuteScriptAtBlockHeight_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName, + FullMethod: "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtBlockHeight(ctx, req.(*ExecuteScriptAtBlockHeightRequest)) @@ -1054,7 +1020,7 @@ func _AccessAPI_GetEventsForHeightRange_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetEventsForHeightRange_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetEventsForHeightRange", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetEventsForHeightRange(ctx, req.(*GetEventsForHeightRangeRequest)) @@ -1072,7 +1038,7 @@ func _AccessAPI_GetEventsForBlockIDs_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetEventsForBlockIDs_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetEventsForBlockIDs", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetEventsForBlockIDs(ctx, req.(*GetEventsForBlockIDsRequest)) @@ -1090,7 +1056,7 @@ func _AccessAPI_GetNetworkParameters_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetNetworkParameters_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetNetworkParameters", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetNetworkParameters(ctx, req.(*GetNetworkParametersRequest)) @@ -1108,7 +1074,7 @@ func _AccessAPI_GetLatestProtocolStateSnapshot_Handler(srv interface{}, ctx cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetLatestProtocolStateSnapshot_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetLatestProtocolStateSnapshot", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestProtocolStateSnapshot(ctx, req.(*GetLatestProtocolStateSnapshotRequest)) @@ -1126,7 +1092,7 @@ func _AccessAPI_GetProtocolStateSnapshotByBlockID_Handler(srv interface{}, ctx c } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetProtocolStateSnapshotByBlockID_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetProtocolStateSnapshotByBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetProtocolStateSnapshotByBlockID(ctx, req.(*GetProtocolStateSnapshotByBlockIDRequest)) @@ -1144,7 +1110,7 @@ func _AccessAPI_GetProtocolStateSnapshotByHeight_Handler(srv interface{}, ctx co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetProtocolStateSnapshotByHeight_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetProtocolStateSnapshotByHeight", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetProtocolStateSnapshotByHeight(ctx, req.(*GetProtocolStateSnapshotByHeightRequest)) @@ -1162,7 +1128,7 @@ func _AccessAPI_GetExecutionResultForBlockID_Handler(srv interface{}, ctx contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetExecutionResultForBlockID_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetExecutionResultForBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetExecutionResultForBlockID(ctx, req.(*GetExecutionResultForBlockIDRequest)) @@ -1180,7 +1146,7 @@ func _AccessAPI_GetExecutionResultByID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetExecutionResultByID_FullMethodName, + FullMethod: "/flow.access.AccessAPI/GetExecutionResultByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetExecutionResultByID(ctx, req.(*GetExecutionResultByIDRequest)) diff --git a/protobuf/go/flow/execution/execution_grpc.pb.go b/protobuf/go/flow/execution/execution_grpc.pb.go index 49846e80c..7726a8e90 100644 --- a/protobuf/go/flow/execution/execution_grpc.pb.go +++ b/protobuf/go/flow/execution/execution_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc (unknown) // source: flow/execution/execution.proto @@ -18,22 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - ExecutionAPI_Ping_FullMethodName = "/flow.execution.ExecutionAPI/Ping" - ExecutionAPI_GetAccountAtBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetAccountAtBlockID" - ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName = "/flow.execution.ExecutionAPI/ExecuteScriptAtBlockID" - ExecutionAPI_GetEventsForBlockIDs_FullMethodName = "/flow.execution.ExecutionAPI/GetEventsForBlockIDs" - ExecutionAPI_GetTransactionResult_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionResult" - ExecutionAPI_GetTransactionResultByIndex_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionResultByIndex" - ExecutionAPI_GetTransactionResultsByBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionResultsByBlockID" - ExecutionAPI_GetTransactionErrorMessage_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionErrorMessage" - ExecutionAPI_GetTransactionErrorMessageByIndex_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionErrorMessageByIndex" - ExecutionAPI_GetTransactionErrorMessagesByBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionErrorMessagesByBlockID" - ExecutionAPI_GetRegisterAtBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetRegisterAtBlockID" - ExecutionAPI_GetLatestBlockHeader_FullMethodName = "/flow.execution.ExecutionAPI/GetLatestBlockHeader" - ExecutionAPI_GetBlockHeaderByID_FullMethodName = "/flow.execution.ExecutionAPI/GetBlockHeaderByID" -) - // ExecutionAPIClient is the client API for ExecutionAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -81,7 +65,7 @@ func NewExecutionAPIClient(cc grpc.ClientConnInterface) ExecutionAPIClient { func (c *executionAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_Ping_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/Ping", in, out, opts...) if err != nil { return nil, err } @@ -90,7 +74,7 @@ func (c *executionAPIClient) Ping(ctx context.Context, in *PingRequest, opts ... func (c *executionAPIClient) GetAccountAtBlockID(ctx context.Context, in *GetAccountAtBlockIDRequest, opts ...grpc.CallOption) (*GetAccountAtBlockIDResponse, error) { out := new(GetAccountAtBlockIDResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetAccountAtBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetAccountAtBlockID", in, out, opts...) if err != nil { return nil, err } @@ -99,7 +83,7 @@ func (c *executionAPIClient) GetAccountAtBlockID(ctx context.Context, in *GetAcc func (c *executionAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *ExecuteScriptAtBlockIDRequest, opts ...grpc.CallOption) (*ExecuteScriptAtBlockIDResponse, error) { out := new(ExecuteScriptAtBlockIDResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/ExecuteScriptAtBlockID", in, out, opts...) if err != nil { return nil, err } @@ -108,7 +92,7 @@ func (c *executionAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *Exe func (c *executionAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEventsForBlockIDsRequest, opts ...grpc.CallOption) (*GetEventsForBlockIDsResponse, error) { out := new(GetEventsForBlockIDsResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetEventsForBlockIDs_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetEventsForBlockIDs", in, out, opts...) if err != nil { return nil, err } @@ -117,7 +101,7 @@ func (c *executionAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEv func (c *executionAPIClient) GetTransactionResult(ctx context.Context, in *GetTransactionResultRequest, opts ...grpc.CallOption) (*GetTransactionResultResponse, error) { out := new(GetTransactionResultResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionResult_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionResult", in, out, opts...) if err != nil { return nil, err } @@ -126,7 +110,7 @@ func (c *executionAPIClient) GetTransactionResult(ctx context.Context, in *GetTr func (c *executionAPIClient) GetTransactionResultByIndex(ctx context.Context, in *GetTransactionByIndexRequest, opts ...grpc.CallOption) (*GetTransactionResultResponse, error) { out := new(GetTransactionResultResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionResultByIndex_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionResultByIndex", in, out, opts...) if err != nil { return nil, err } @@ -135,7 +119,7 @@ func (c *executionAPIClient) GetTransactionResultByIndex(ctx context.Context, in func (c *executionAPIClient) GetTransactionResultsByBlockID(ctx context.Context, in *GetTransactionsByBlockIDRequest, opts ...grpc.CallOption) (*GetTransactionResultsResponse, error) { out := new(GetTransactionResultsResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionResultsByBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionResultsByBlockID", in, out, opts...) if err != nil { return nil, err } @@ -144,7 +128,7 @@ func (c *executionAPIClient) GetTransactionResultsByBlockID(ctx context.Context, func (c *executionAPIClient) GetTransactionErrorMessage(ctx context.Context, in *GetTransactionErrorMessageRequest, opts ...grpc.CallOption) (*GetTransactionErrorMessageResponse, error) { out := new(GetTransactionErrorMessageResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionErrorMessage_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionErrorMessage", in, out, opts...) if err != nil { return nil, err } @@ -153,7 +137,7 @@ func (c *executionAPIClient) GetTransactionErrorMessage(ctx context.Context, in func (c *executionAPIClient) GetTransactionErrorMessageByIndex(ctx context.Context, in *GetTransactionErrorMessageByIndexRequest, opts ...grpc.CallOption) (*GetTransactionErrorMessageResponse, error) { out := new(GetTransactionErrorMessageResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionErrorMessageByIndex_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionErrorMessageByIndex", in, out, opts...) if err != nil { return nil, err } @@ -162,7 +146,7 @@ func (c *executionAPIClient) GetTransactionErrorMessageByIndex(ctx context.Conte func (c *executionAPIClient) GetTransactionErrorMessagesByBlockID(ctx context.Context, in *GetTransactionErrorMessagesByBlockIDRequest, opts ...grpc.CallOption) (*GetTransactionErrorMessagesResponse, error) { out := new(GetTransactionErrorMessagesResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionErrorMessagesByBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionErrorMessagesByBlockID", in, out, opts...) if err != nil { return nil, err } @@ -171,7 +155,7 @@ func (c *executionAPIClient) GetTransactionErrorMessagesByBlockID(ctx context.Co func (c *executionAPIClient) GetRegisterAtBlockID(ctx context.Context, in *GetRegisterAtBlockIDRequest, opts ...grpc.CallOption) (*GetRegisterAtBlockIDResponse, error) { out := new(GetRegisterAtBlockIDResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetRegisterAtBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetRegisterAtBlockID", in, out, opts...) if err != nil { return nil, err } @@ -180,7 +164,7 @@ func (c *executionAPIClient) GetRegisterAtBlockID(ctx context.Context, in *GetRe func (c *executionAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLatestBlockHeaderRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetLatestBlockHeader_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetLatestBlockHeader", in, out, opts...) if err != nil { return nil, err } @@ -189,7 +173,7 @@ func (c *executionAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLa func (c *executionAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHeaderByIDRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetBlockHeaderByID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetBlockHeaderByID", in, out, opts...) if err != nil { return nil, err } @@ -298,7 +282,7 @@ func _ExecutionAPI_Ping_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_Ping_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/Ping", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).Ping(ctx, req.(*PingRequest)) @@ -316,7 +300,7 @@ func _ExecutionAPI_GetAccountAtBlockID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetAccountAtBlockID_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/GetAccountAtBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetAccountAtBlockID(ctx, req.(*GetAccountAtBlockIDRequest)) @@ -334,7 +318,7 @@ func _ExecutionAPI_ExecuteScriptAtBlockID_Handler(srv interface{}, ctx context.C } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/ExecuteScriptAtBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).ExecuteScriptAtBlockID(ctx, req.(*ExecuteScriptAtBlockIDRequest)) @@ -352,7 +336,7 @@ func _ExecutionAPI_GetEventsForBlockIDs_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetEventsForBlockIDs_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/GetEventsForBlockIDs", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetEventsForBlockIDs(ctx, req.(*GetEventsForBlockIDsRequest)) @@ -370,7 +354,7 @@ func _ExecutionAPI_GetTransactionResult_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetTransactionResult_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/GetTransactionResult", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionResult(ctx, req.(*GetTransactionResultRequest)) @@ -388,7 +372,7 @@ func _ExecutionAPI_GetTransactionResultByIndex_Handler(srv interface{}, ctx cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetTransactionResultByIndex_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/GetTransactionResultByIndex", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionResultByIndex(ctx, req.(*GetTransactionByIndexRequest)) @@ -406,7 +390,7 @@ func _ExecutionAPI_GetTransactionResultsByBlockID_Handler(srv interface{}, ctx c } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetTransactionResultsByBlockID_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/GetTransactionResultsByBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionResultsByBlockID(ctx, req.(*GetTransactionsByBlockIDRequest)) @@ -424,7 +408,7 @@ func _ExecutionAPI_GetTransactionErrorMessage_Handler(srv interface{}, ctx conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetTransactionErrorMessage_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/GetTransactionErrorMessage", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionErrorMessage(ctx, req.(*GetTransactionErrorMessageRequest)) @@ -442,7 +426,7 @@ func _ExecutionAPI_GetTransactionErrorMessageByIndex_Handler(srv interface{}, ct } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetTransactionErrorMessageByIndex_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/GetTransactionErrorMessageByIndex", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionErrorMessageByIndex(ctx, req.(*GetTransactionErrorMessageByIndexRequest)) @@ -460,7 +444,7 @@ func _ExecutionAPI_GetTransactionErrorMessagesByBlockID_Handler(srv interface{}, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetTransactionErrorMessagesByBlockID_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/GetTransactionErrorMessagesByBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionErrorMessagesByBlockID(ctx, req.(*GetTransactionErrorMessagesByBlockIDRequest)) @@ -478,7 +462,7 @@ func _ExecutionAPI_GetRegisterAtBlockID_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetRegisterAtBlockID_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/GetRegisterAtBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetRegisterAtBlockID(ctx, req.(*GetRegisterAtBlockIDRequest)) @@ -496,7 +480,7 @@ func _ExecutionAPI_GetLatestBlockHeader_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetLatestBlockHeader_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/GetLatestBlockHeader", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetLatestBlockHeader(ctx, req.(*GetLatestBlockHeaderRequest)) @@ -514,7 +498,7 @@ func _ExecutionAPI_GetBlockHeaderByID_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetBlockHeaderByID_FullMethodName, + FullMethod: "/flow.execution.ExecutionAPI/GetBlockHeaderByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetBlockHeaderByID(ctx, req.(*GetBlockHeaderByIDRequest)) diff --git a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go index 7a2682abf..3b9898726 100644 --- a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go +++ b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc (unknown) // source: flow/executiondata/executiondata.proto @@ -18,13 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID" - ExecutionDataAPI_SubscribeExecutionData_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionData" - ExecutionDataAPI_SubscribeEvents_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEvents" - ExecutionDataAPI_GetRegisterValues_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetRegisterValues" -) - // ExecutionDataAPIClient is the client API for ExecutionDataAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -114,7 +107,7 @@ func NewExecutionDataAPIClient(cc grpc.ClientConnInterface) ExecutionDataAPIClie func (c *executionDataAPIClient) GetExecutionDataByBlockID(ctx context.Context, in *GetExecutionDataByBlockIDRequest, opts ...grpc.CallOption) (*GetExecutionDataByBlockIDResponse, error) { out := new(GetExecutionDataByBlockIDResponse) - err := c.cc.Invoke(ctx, ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID", in, out, opts...) if err != nil { return nil, err } @@ -122,7 +115,7 @@ func (c *executionDataAPIClient) GetExecutionDataByBlockID(ctx context.Context, } func (c *executionDataAPIClient) SubscribeExecutionData(ctx context.Context, in *SubscribeExecutionDataRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[0], ExecutionDataAPI_SubscribeExecutionData_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[0], "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionData", opts...) if err != nil { return nil, err } @@ -154,7 +147,7 @@ func (x *executionDataAPISubscribeExecutionDataClient) Recv() (*SubscribeExecuti } func (c *executionDataAPIClient) SubscribeEvents(ctx context.Context, in *SubscribeEventsRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[1], ExecutionDataAPI_SubscribeEvents_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[1], "/flow.executiondata.ExecutionDataAPI/SubscribeEvents", opts...) if err != nil { return nil, err } @@ -187,7 +180,7 @@ func (x *executionDataAPISubscribeEventsClient) Recv() (*SubscribeEventsResponse func (c *executionDataAPIClient) GetRegisterValues(ctx context.Context, in *GetRegisterValuesRequest, opts ...grpc.CallOption) (*GetRegisterValuesResponse, error) { out := new(GetRegisterValuesResponse) - err := c.cc.Invoke(ctx, ExecutionDataAPI_GetRegisterValues_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/flow.executiondata.ExecutionDataAPI/GetRegisterValues", in, out, opts...) if err != nil { return nil, err } @@ -346,7 +339,7 @@ func _ExecutionDataAPI_GetExecutionDataByBlockID_Handler(srv interface{}, ctx co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName, + FullMethod: "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionDataAPIServer).GetExecutionDataByBlockID(ctx, req.(*GetExecutionDataByBlockIDRequest)) @@ -406,7 +399,7 @@ func _ExecutionDataAPI_GetRegisterValues_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionDataAPI_GetRegisterValues_FullMethodName, + FullMethod: "/flow.executiondata.ExecutionDataAPI/GetRegisterValues", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionDataAPIServer).GetRegisterValues(ctx, req.(*GetRegisterValuesRequest)) diff --git a/protobuf/go/flow/legacy/access/access_grpc.pb.go b/protobuf/go/flow/legacy/access/access_grpc.pb.go index 76938b868..35afbce0b 100644 --- a/protobuf/go/flow/legacy/access/access_grpc.pb.go +++ b/protobuf/go/flow/legacy/access/access_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc (unknown) // source: flow/legacy/access/access.proto @@ -18,29 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - AccessAPI_Ping_FullMethodName = "/access.AccessAPI/Ping" - AccessAPI_GetLatestBlockHeader_FullMethodName = "/access.AccessAPI/GetLatestBlockHeader" - AccessAPI_GetBlockHeaderByID_FullMethodName = "/access.AccessAPI/GetBlockHeaderByID" - AccessAPI_GetBlockHeaderByHeight_FullMethodName = "/access.AccessAPI/GetBlockHeaderByHeight" - AccessAPI_GetLatestBlock_FullMethodName = "/access.AccessAPI/GetLatestBlock" - AccessAPI_GetBlockByID_FullMethodName = "/access.AccessAPI/GetBlockByID" - AccessAPI_GetBlockByHeight_FullMethodName = "/access.AccessAPI/GetBlockByHeight" - AccessAPI_GetCollectionByID_FullMethodName = "/access.AccessAPI/GetCollectionByID" - AccessAPI_SendTransaction_FullMethodName = "/access.AccessAPI/SendTransaction" - AccessAPI_GetTransaction_FullMethodName = "/access.AccessAPI/GetTransaction" - AccessAPI_GetTransactionResult_FullMethodName = "/access.AccessAPI/GetTransactionResult" - AccessAPI_GetAccount_FullMethodName = "/access.AccessAPI/GetAccount" - AccessAPI_GetAccountAtLatestBlock_FullMethodName = "/access.AccessAPI/GetAccountAtLatestBlock" - AccessAPI_GetAccountAtBlockHeight_FullMethodName = "/access.AccessAPI/GetAccountAtBlockHeight" - AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName = "/access.AccessAPI/ExecuteScriptAtLatestBlock" - AccessAPI_ExecuteScriptAtBlockID_FullMethodName = "/access.AccessAPI/ExecuteScriptAtBlockID" - AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName = "/access.AccessAPI/ExecuteScriptAtBlockHeight" - AccessAPI_GetEventsForHeightRange_FullMethodName = "/access.AccessAPI/GetEventsForHeightRange" - AccessAPI_GetEventsForBlockIDs_FullMethodName = "/access.AccessAPI/GetEventsForBlockIDs" - AccessAPI_GetNetworkParameters_FullMethodName = "/access.AccessAPI/GetNetworkParameters" -) - // AccessAPIClient is the client API for AccessAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -108,7 +85,7 @@ func NewAccessAPIClient(cc grpc.ClientConnInterface) AccessAPIClient { func (c *accessAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := c.cc.Invoke(ctx, AccessAPI_Ping_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/Ping", in, out, opts...) if err != nil { return nil, err } @@ -117,7 +94,7 @@ func (c *accessAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grp func (c *accessAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLatestBlockHeaderRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetLatestBlockHeader_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetLatestBlockHeader", in, out, opts...) if err != nil { return nil, err } @@ -126,7 +103,7 @@ func (c *accessAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLates func (c *accessAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHeaderByIDRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetBlockHeaderByID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetBlockHeaderByID", in, out, opts...) if err != nil { return nil, err } @@ -135,7 +112,7 @@ func (c *accessAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHe func (c *accessAPIClient) GetBlockHeaderByHeight(ctx context.Context, in *GetBlockHeaderByHeightRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetBlockHeaderByHeight_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetBlockHeaderByHeight", in, out, opts...) if err != nil { return nil, err } @@ -144,7 +121,7 @@ func (c *accessAPIClient) GetBlockHeaderByHeight(ctx context.Context, in *GetBlo func (c *accessAPIClient) GetLatestBlock(ctx context.Context, in *GetLatestBlockRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetLatestBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetLatestBlock", in, out, opts...) if err != nil { return nil, err } @@ -153,7 +130,7 @@ func (c *accessAPIClient) GetLatestBlock(ctx context.Context, in *GetLatestBlock func (c *accessAPIClient) GetBlockByID(ctx context.Context, in *GetBlockByIDRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetBlockByID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetBlockByID", in, out, opts...) if err != nil { return nil, err } @@ -162,7 +139,7 @@ func (c *accessAPIClient) GetBlockByID(ctx context.Context, in *GetBlockByIDRequ func (c *accessAPIClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHeightRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetBlockByHeight_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetBlockByHeight", in, out, opts...) if err != nil { return nil, err } @@ -171,7 +148,7 @@ func (c *accessAPIClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHe func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollectionByIDRequest, opts ...grpc.CallOption) (*CollectionResponse, error) { out := new(CollectionResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetCollectionByID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetCollectionByID", in, out, opts...) if err != nil { return nil, err } @@ -180,7 +157,7 @@ func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollecti func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransactionRequest, opts ...grpc.CallOption) (*SendTransactionResponse, error) { out := new(SendTransactionResponse) - err := c.cc.Invoke(ctx, AccessAPI_SendTransaction_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/SendTransaction", in, out, opts...) if err != nil { return nil, err } @@ -189,7 +166,7 @@ func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransacti func (c *accessAPIClient) GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*TransactionResponse, error) { out := new(TransactionResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetTransaction_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetTransaction", in, out, opts...) if err != nil { return nil, err } @@ -198,7 +175,7 @@ func (c *accessAPIClient) GetTransaction(ctx context.Context, in *GetTransaction func (c *accessAPIClient) GetTransactionResult(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*TransactionResultResponse, error) { out := new(TransactionResultResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetTransactionResult_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetTransactionResult", in, out, opts...) if err != nil { return nil, err } @@ -207,7 +184,7 @@ func (c *accessAPIClient) GetTransactionResult(ctx context.Context, in *GetTrans func (c *accessAPIClient) GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error) { out := new(GetAccountResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetAccount_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetAccount", in, out, opts...) if err != nil { return nil, err } @@ -216,7 +193,7 @@ func (c *accessAPIClient) GetAccount(ctx context.Context, in *GetAccountRequest, func (c *accessAPIClient) GetAccountAtLatestBlock(ctx context.Context, in *GetAccountAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountResponse, error) { out := new(AccountResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetAccountAtLatestBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetAccountAtLatestBlock", in, out, opts...) if err != nil { return nil, err } @@ -225,7 +202,7 @@ func (c *accessAPIClient) GetAccountAtLatestBlock(ctx context.Context, in *GetAc func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountResponse, error) { out := new(AccountResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetAccountAtBlockHeight_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetAccountAtBlockHeight", in, out, opts...) if err != nil { return nil, err } @@ -234,7 +211,7 @@ func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAc func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *ExecuteScriptAtLatestBlockRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/ExecuteScriptAtLatestBlock", in, out, opts...) if err != nil { return nil, err } @@ -243,7 +220,7 @@ func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *Ex func (c *accessAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *ExecuteScriptAtBlockIDRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/ExecuteScriptAtBlockID", in, out, opts...) if err != nil { return nil, err } @@ -252,7 +229,7 @@ func (c *accessAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *Execut func (c *accessAPIClient) ExecuteScriptAtBlockHeight(ctx context.Context, in *ExecuteScriptAtBlockHeightRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/ExecuteScriptAtBlockHeight", in, out, opts...) if err != nil { return nil, err } @@ -261,7 +238,7 @@ func (c *accessAPIClient) ExecuteScriptAtBlockHeight(ctx context.Context, in *Ex func (c *accessAPIClient) GetEventsForHeightRange(ctx context.Context, in *GetEventsForHeightRangeRequest, opts ...grpc.CallOption) (*EventsResponse, error) { out := new(EventsResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetEventsForHeightRange_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetEventsForHeightRange", in, out, opts...) if err != nil { return nil, err } @@ -270,7 +247,7 @@ func (c *accessAPIClient) GetEventsForHeightRange(ctx context.Context, in *GetEv func (c *accessAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEventsForBlockIDsRequest, opts ...grpc.CallOption) (*EventsResponse, error) { out := new(EventsResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetEventsForBlockIDs_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetEventsForBlockIDs", in, out, opts...) if err != nil { return nil, err } @@ -279,7 +256,7 @@ func (c *accessAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEvent func (c *accessAPIClient) GetNetworkParameters(ctx context.Context, in *GetNetworkParametersRequest, opts ...grpc.CallOption) (*GetNetworkParametersResponse, error) { out := new(GetNetworkParametersResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetNetworkParameters_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/access.AccessAPI/GetNetworkParameters", in, out, opts...) if err != nil { return nil, err } @@ -429,7 +406,7 @@ func _AccessAPI_Ping_Handler(srv interface{}, ctx context.Context, dec func(inte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_Ping_FullMethodName, + FullMethod: "/access.AccessAPI/Ping", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).Ping(ctx, req.(*PingRequest)) @@ -447,7 +424,7 @@ func _AccessAPI_GetLatestBlockHeader_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetLatestBlockHeader_FullMethodName, + FullMethod: "/access.AccessAPI/GetLatestBlockHeader", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestBlockHeader(ctx, req.(*GetLatestBlockHeaderRequest)) @@ -465,7 +442,7 @@ func _AccessAPI_GetBlockHeaderByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetBlockHeaderByID_FullMethodName, + FullMethod: "/access.AccessAPI/GetBlockHeaderByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockHeaderByID(ctx, req.(*GetBlockHeaderByIDRequest)) @@ -483,7 +460,7 @@ func _AccessAPI_GetBlockHeaderByHeight_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetBlockHeaderByHeight_FullMethodName, + FullMethod: "/access.AccessAPI/GetBlockHeaderByHeight", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockHeaderByHeight(ctx, req.(*GetBlockHeaderByHeightRequest)) @@ -501,7 +478,7 @@ func _AccessAPI_GetLatestBlock_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetLatestBlock_FullMethodName, + FullMethod: "/access.AccessAPI/GetLatestBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestBlock(ctx, req.(*GetLatestBlockRequest)) @@ -519,7 +496,7 @@ func _AccessAPI_GetBlockByID_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetBlockByID_FullMethodName, + FullMethod: "/access.AccessAPI/GetBlockByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockByID(ctx, req.(*GetBlockByIDRequest)) @@ -537,7 +514,7 @@ func _AccessAPI_GetBlockByHeight_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetBlockByHeight_FullMethodName, + FullMethod: "/access.AccessAPI/GetBlockByHeight", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockByHeight(ctx, req.(*GetBlockByHeightRequest)) @@ -555,7 +532,7 @@ func _AccessAPI_GetCollectionByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetCollectionByID_FullMethodName, + FullMethod: "/access.AccessAPI/GetCollectionByID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetCollectionByID(ctx, req.(*GetCollectionByIDRequest)) @@ -573,7 +550,7 @@ func _AccessAPI_SendTransaction_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_SendTransaction_FullMethodName, + FullMethod: "/access.AccessAPI/SendTransaction", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).SendTransaction(ctx, req.(*SendTransactionRequest)) @@ -591,7 +568,7 @@ func _AccessAPI_GetTransaction_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetTransaction_FullMethodName, + FullMethod: "/access.AccessAPI/GetTransaction", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransaction(ctx, req.(*GetTransactionRequest)) @@ -609,7 +586,7 @@ func _AccessAPI_GetTransactionResult_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetTransactionResult_FullMethodName, + FullMethod: "/access.AccessAPI/GetTransactionResult", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionResult(ctx, req.(*GetTransactionRequest)) @@ -627,7 +604,7 @@ func _AccessAPI_GetAccount_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetAccount_FullMethodName, + FullMethod: "/access.AccessAPI/GetAccount", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccount(ctx, req.(*GetAccountRequest)) @@ -645,7 +622,7 @@ func _AccessAPI_GetAccountAtLatestBlock_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetAccountAtLatestBlock_FullMethodName, + FullMethod: "/access.AccessAPI/GetAccountAtLatestBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccountAtLatestBlock(ctx, req.(*GetAccountAtLatestBlockRequest)) @@ -663,7 +640,7 @@ func _AccessAPI_GetAccountAtBlockHeight_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetAccountAtBlockHeight_FullMethodName, + FullMethod: "/access.AccessAPI/GetAccountAtBlockHeight", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccountAtBlockHeight(ctx, req.(*GetAccountAtBlockHeightRequest)) @@ -681,7 +658,7 @@ func _AccessAPI_ExecuteScriptAtLatestBlock_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, + FullMethod: "/access.AccessAPI/ExecuteScriptAtLatestBlock", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtLatestBlock(ctx, req.(*ExecuteScriptAtLatestBlockRequest)) @@ -699,7 +676,7 @@ func _AccessAPI_ExecuteScriptAtBlockID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_ExecuteScriptAtBlockID_FullMethodName, + FullMethod: "/access.AccessAPI/ExecuteScriptAtBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtBlockID(ctx, req.(*ExecuteScriptAtBlockIDRequest)) @@ -717,7 +694,7 @@ func _AccessAPI_ExecuteScriptAtBlockHeight_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName, + FullMethod: "/access.AccessAPI/ExecuteScriptAtBlockHeight", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtBlockHeight(ctx, req.(*ExecuteScriptAtBlockHeightRequest)) @@ -735,7 +712,7 @@ func _AccessAPI_GetEventsForHeightRange_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetEventsForHeightRange_FullMethodName, + FullMethod: "/access.AccessAPI/GetEventsForHeightRange", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetEventsForHeightRange(ctx, req.(*GetEventsForHeightRangeRequest)) @@ -753,7 +730,7 @@ func _AccessAPI_GetEventsForBlockIDs_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetEventsForBlockIDs_FullMethodName, + FullMethod: "/access.AccessAPI/GetEventsForBlockIDs", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetEventsForBlockIDs(ctx, req.(*GetEventsForBlockIDsRequest)) @@ -771,7 +748,7 @@ func _AccessAPI_GetNetworkParameters_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: AccessAPI_GetNetworkParameters_FullMethodName, + FullMethod: "/access.AccessAPI/GetNetworkParameters", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetNetworkParameters(ctx, req.(*GetNetworkParametersRequest)) diff --git a/protobuf/go/flow/legacy/execution/execution_grpc.pb.go b/protobuf/go/flow/legacy/execution/execution_grpc.pb.go index f806f3909..78c62fe6a 100644 --- a/protobuf/go/flow/legacy/execution/execution_grpc.pb.go +++ b/protobuf/go/flow/legacy/execution/execution_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 +// - protoc-gen-go-grpc v1.2.0 // - protoc (unknown) // source: flow/legacy/execution/execution.proto @@ -18,14 +18,6 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 -const ( - ExecutionAPI_Ping_FullMethodName = "/execution.ExecutionAPI/Ping" - ExecutionAPI_GetAccountAtBlockID_FullMethodName = "/execution.ExecutionAPI/GetAccountAtBlockID" - ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName = "/execution.ExecutionAPI/ExecuteScriptAtBlockID" - ExecutionAPI_GetEventsForBlockIDs_FullMethodName = "/execution.ExecutionAPI/GetEventsForBlockIDs" - ExecutionAPI_GetTransactionResult_FullMethodName = "/execution.ExecutionAPI/GetTransactionResult" -) - // ExecutionAPIClient is the client API for ExecutionAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -54,7 +46,7 @@ func NewExecutionAPIClient(cc grpc.ClientConnInterface) ExecutionAPIClient { func (c *executionAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_Ping_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/Ping", in, out, opts...) if err != nil { return nil, err } @@ -63,7 +55,7 @@ func (c *executionAPIClient) Ping(ctx context.Context, in *PingRequest, opts ... func (c *executionAPIClient) GetAccountAtBlockID(ctx context.Context, in *GetAccountAtBlockIDRequest, opts ...grpc.CallOption) (*GetAccountAtBlockIDResponse, error) { out := new(GetAccountAtBlockIDResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetAccountAtBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/GetAccountAtBlockID", in, out, opts...) if err != nil { return nil, err } @@ -72,7 +64,7 @@ func (c *executionAPIClient) GetAccountAtBlockID(ctx context.Context, in *GetAcc func (c *executionAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *ExecuteScriptAtBlockIDRequest, opts ...grpc.CallOption) (*ExecuteScriptAtBlockIDResponse, error) { out := new(ExecuteScriptAtBlockIDResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/ExecuteScriptAtBlockID", in, out, opts...) if err != nil { return nil, err } @@ -81,7 +73,7 @@ func (c *executionAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *Exe func (c *executionAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEventsForBlockIDsRequest, opts ...grpc.CallOption) (*GetEventsForBlockIDsResponse, error) { out := new(GetEventsForBlockIDsResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetEventsForBlockIDs_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/GetEventsForBlockIDs", in, out, opts...) if err != nil { return nil, err } @@ -90,7 +82,7 @@ func (c *executionAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEv func (c *executionAPIClient) GetTransactionResult(ctx context.Context, in *GetTransactionResultRequest, opts ...grpc.CallOption) (*GetTransactionResultResponse, error) { out := new(GetTransactionResultResponse) - err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionResult_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/GetTransactionResult", in, out, opts...) if err != nil { return nil, err } @@ -156,7 +148,7 @@ func _ExecutionAPI_Ping_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_Ping_FullMethodName, + FullMethod: "/execution.ExecutionAPI/Ping", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).Ping(ctx, req.(*PingRequest)) @@ -174,7 +166,7 @@ func _ExecutionAPI_GetAccountAtBlockID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetAccountAtBlockID_FullMethodName, + FullMethod: "/execution.ExecutionAPI/GetAccountAtBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetAccountAtBlockID(ctx, req.(*GetAccountAtBlockIDRequest)) @@ -192,7 +184,7 @@ func _ExecutionAPI_ExecuteScriptAtBlockID_Handler(srv interface{}, ctx context.C } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName, + FullMethod: "/execution.ExecutionAPI/ExecuteScriptAtBlockID", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).ExecuteScriptAtBlockID(ctx, req.(*ExecuteScriptAtBlockIDRequest)) @@ -210,7 +202,7 @@ func _ExecutionAPI_GetEventsForBlockIDs_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetEventsForBlockIDs_FullMethodName, + FullMethod: "/execution.ExecutionAPI/GetEventsForBlockIDs", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetEventsForBlockIDs(ctx, req.(*GetEventsForBlockIDsRequest)) @@ -228,7 +220,7 @@ func _ExecutionAPI_GetTransactionResult_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ExecutionAPI_GetTransactionResult_FullMethodName, + FullMethod: "/execution.ExecutionAPI/GetTransactionResult", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionResult(ctx, req.(*GetTransactionResultRequest)) From 20d32735cbebee3c288bbca2a4b7ced67ccf6bc2 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Wed, 14 Feb 2024 15:13:34 -0800 Subject: [PATCH 041/626] Create 2024-02-15-Protocol-Product-Sync.md --- .../2024/product-sync/2024-02-15-Protocol-Product-Sync.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 agendas/2024/product-sync/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md diff --git a/agendas/2024/product-sync/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md b/agendas/2024/product-sync/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md new file mode 100644 index 000000000..e9dbb03e0 --- /dev/null +++ b/agendas/2024/product-sync/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md @@ -0,0 +1 @@ +## Please enter agenda items below From 0595667e4d82ff178912684b6fcf01a729df401c Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 14 Feb 2024 16:08:58 -0800 Subject: [PATCH 042/626] Added 2024-02-16-Flow-Sprint-Kickoff.md --- .../2024/2024-02-16-Flow-Sprint-Kickoff.md | 224 ++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 agendas/2024/2024-02-16-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/2024-02-16-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..7501bdb14 --- /dev/null +++ b/agendas/2024/2024-02-16-Flow-Sprint-Kickoff.md @@ -0,0 +1,224 @@ +# Overview + + ### Team Wins 🎉 + + * + +- + +### Mainnet Uptime - Last 14 days (DD/MM/YY to DD/MM/YY) - Vishal + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 100% | 0% | + +#### Incidents + +- + +### FLIPs Tracker - Kshitij + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 8 | 10 | 0 | 6 | **24** | +| Proposed | 2 | 2 | 2 | 1 | **7** | +| Accepted | 2 | 1 | 1 | 1 | **5** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 1 | 19 | 1 | 0 | **21** | +| Released | 4 | 0 | 2 | 4 | **10** | +| Total | **17** | **32** | **7** | **12** | **68** | + +- + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): +- Next Mainnet/Testnet HCU: +- End of Cycle: + +--- + +# Working Group Updates + +### **Cadence and Virtual Machine** Jan +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### **Core Protocol** Jerome +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + + +### **DeFi** Jerome +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + + +### **User Experience** Greg +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### **Wallet** Jeff +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + + +### **Infra - JP** +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### **Governance and Tokenomics** Vishal +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group From 770dbc85c1b77a87aea19e3ba86ab767d4fba35c Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 14 Feb 2024 16:09:38 -0800 Subject: [PATCH 043/626] Delete file since created in wrong location --- .../2024/2024-02-16-Flow-Sprint-Kickoff.md | 224 ------------------ 1 file changed, 224 deletions(-) delete mode 100644 agendas/2024/2024-02-16-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/2024-02-16-Flow-Sprint-Kickoff.md deleted file mode 100644 index 7501bdb14..000000000 --- a/agendas/2024/2024-02-16-Flow-Sprint-Kickoff.md +++ /dev/null @@ -1,224 +0,0 @@ -# Overview - - ### Team Wins 🎉 - - * - -- - -### Mainnet Uptime - Last 14 days (DD/MM/YY to DD/MM/YY) - Vishal - -| | Target | Current Score | Error budget used | -|:------------------------|:------:|:-------------:|:-----------------:| -| Collection Finalization | 99.9% | 100% | 0% | -| Block Finalization | 99.9% | 100% | 0% | -| Transaction Execution | 99.9% | 100% | 0% | -| Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 100% | 0% | - -#### Incidents - -- - -### FLIPs Tracker - Kshitij - -| | Application | Cadence | Governance | Protocol | Total | -|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 10 | 0 | 6 | **24** | -| Proposed | 2 | 2 | 2 | 1 | **7** | -| Accepted | 2 | 1 | 1 | 1 | **5** | -| Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 1 | 19 | 1 | 0 | **21** | -| Released | 4 | 0 | 2 | 4 | **10** | -| Total | **17** | **32** | **7** | **12** | **68** | - -- - -### Key Release Dates & Breaking Changes - -- Next Mainnet/Testnet network upgrade (spork): -- Next Mainnet/Testnet HCU: -- End of Cycle: - ---- - -# Working Group Updates - -### **Cadence and Virtual Machine** Jan -Cycle Objective(s): - -**Done last sprint** - -- General description of completed items -- List of Closed issues - - -**This sprint** - -- General description of sprint goal -- List of issues to be worked on - - -**On Hold** - -- List of issues on hold - - -**Active Epics** - -- Main epics that are being tackled, and currently active for this working group - ---- - -### **Core Protocol** Jerome -Cycle Objective(s): - -**Done last sprint** - -- General description of completed items -- List of Closed issues - - -**This sprint** - -- General description of sprint goal -- List of issues to be worked on - - -**On Hold** - -- List of issues on hold - - -**Active Epics** - -- Main epics that are being tackled, and currently active for this working group - - -### **DeFi** Jerome -Cycle Objective(s): - -**Done last sprint** - -- General description of completed items -- List of Closed issues - - -**This sprint** - -- General description of sprint goal -- List of issues to be worked on - - -**On Hold** - -- List of issues on hold - - -**Active Epics** - -- Main epics that are being tackled, and currently active for this working group - - -### **User Experience** Greg -Cycle Objective(s): - -**Done last sprint** - -- General description of completed items -- List of Closed issues - - -**This sprint** - -- General description of sprint goal -- List of issues to be worked on - - -**On Hold** - -- List of issues on hold - - -**Active Epics** - -- Main epics that are being tackled, and currently active for this working group - ---- - -### **Wallet** Jeff -Cycle Objective(s): - -**Done last sprint** - -- General description of completed items -- List of Closed issues - - -**This sprint** - -- General description of sprint goal -- List of issues to be worked on - - -**On Hold** - -- List of issues on hold - - -**Active Epics** - -- Main epics that are being tackled, and currently active for this working group - ---- - - -### **Infra - JP** -Cycle Objective(s): - -**Done last sprint** - -- General description of completed items -- List of Closed issues - - -**This sprint** - -- General description of sprint goal -- List of issues to be worked on - - -**On Hold** - -- List of issues on hold - - -**Active Epics** - -- Main epics that are being tackled, and currently active for this working group - ---- - -### **Governance and Tokenomics** Vishal -Cycle Objective(s): - -**Done last sprint** - -- General description of completed items -- List of Closed issues - - -**This sprint** - -- General description of sprint goal -- List of issues to be worked on - - -**On Hold** - -- List of issues on hold - - -**Active Epics** - -- Main epics that are being tackled, and currently active for this working group From 80f7c4f06898ac8084bfba0bfb50b7863e041631 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 14 Feb 2024 16:11:01 -0800 Subject: [PATCH 044/626] Added 2024-02-16-Flow-Sprint-Kickoff.md --- .../2024-02-16-Flow-Sprint-Kickoff.md | 224 ++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..7501bdb14 --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -0,0 +1,224 @@ +# Overview + + ### Team Wins 🎉 + + * + +- + +### Mainnet Uptime - Last 14 days (DD/MM/YY to DD/MM/YY) - Vishal + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 100% | 0% | + +#### Incidents + +- + +### FLIPs Tracker - Kshitij + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 8 | 10 | 0 | 6 | **24** | +| Proposed | 2 | 2 | 2 | 1 | **7** | +| Accepted | 2 | 1 | 1 | 1 | **5** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 1 | 19 | 1 | 0 | **21** | +| Released | 4 | 0 | 2 | 4 | **10** | +| Total | **17** | **32** | **7** | **12** | **68** | + +- + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): +- Next Mainnet/Testnet HCU: +- End of Cycle: + +--- + +# Working Group Updates + +### **Cadence and Virtual Machine** Jan +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### **Core Protocol** Jerome +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + + +### **DeFi** Jerome +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + + +### **User Experience** Greg +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### **Wallet** Jeff +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + + +### **Infra - JP** +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group + +--- + +### **Governance and Tokenomics** Vishal +Cycle Objective(s): + +**Done last sprint** + +- General description of completed items +- List of Closed issues + + +**This sprint** + +- General description of sprint goal +- List of issues to be worked on + + +**On Hold** + +- List of issues on hold + + +**Active Epics** + +- Main epics that are being tackled, and currently active for this working group From a44d746b8dc908cc62938a7ba5c4d3243da9e86c Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 15 Feb 2024 09:41:49 -0800 Subject: [PATCH 045/626] Clear old notes --- .../2024-02-16-Flow-Sprint-Kickoff.md | 216 +++++++++++------- 1 file changed, 129 insertions(+), 87 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 7501bdb14..f6bdea12c 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -4,9 +4,9 @@ * -- +--- -### Mainnet Uptime - Last 14 days (DD/MM/YY to DD/MM/YY) - Vishal +### Mainnet Uptime - Last 14 days (xx/xx/24 to xx/xx/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -14,211 +14,253 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.97% | 32.2% | #### Incidents +* -- +--- -### FLIPs Tracker - Kshitij +### FLIPs Tracker \[Kshitij] | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 10 | 0 | 6 | **24** | -| Proposed | 2 | 2 | 2 | 1 | **7** | -| Accepted | 2 | 1 | 1 | 1 | **5** | +| Drafted | 7 | 6 | 0 | 5 | **18** | +| Proposed | 3 | 1 | 2 | 1 | **7** | +| Accepted | 2 | 1 | 1 | 2 | **6** | | Rejected | 0 | 0 | 1 | 0 | **1** | | Implemented | 1 | 19 | 1 | 0 | **21** | | Released | 4 | 0 | 2 | 4 | **10** | -| Total | **17** | **32** | **7** | **12** | **68** | +| Total | **17** | **27** | **7** | **12** | **63** | -- +- Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) +- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. +(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) ### Key Release Dates & Breaking Changes -- Next Mainnet/Testnet network upgrade (spork): -- Next Mainnet/Testnet HCU: +- Next Mainnet/Testnet network upgrade (spork): End of Feb - Crescendo update, Testnet and mainnet sporks TBD. +- Next Mainnet/Testnet HCU: Testnet HCU - Monday, 5th Feb, Mainnet HCU - Wednesday, 7th Feb. - End of Cycle: --- + # Working Group Updates -### **Cadence and Virtual Machine** Jan -Cycle Objective(s): +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): -**Done last sprint** +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards -- General description of completed items -- List of Closed issues +**Done last sprint** +* **This sprint** -- General description of sprint goal -- List of issues to be worked on - +* **On Hold** -- List of issues on hold +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) **Active Epics** -- Main epics that are being tackled, and currently active for this working group +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR2: Launch Cadence 1.0 on Crescendo Testnet +- KR3: Launch EVM on Crescendo Testnet +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency --- -### **Core Protocol** Jerome +### **Core Protocol** \[Jerome] Cycle Objective(s): -**Done last sprint** +* Translate crypto performance improvements to consensus block rate increase +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue BFT mitigations to enable 10 permissionless ANs +* Continue design of Dynamic Protocol -- General description of completed items -- List of Closed issues +**Done last sprint** +* **This sprint** -- General description of sprint goal -- List of issues to be worked on - +* **On Hold** - -- List of issues on hold - +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. **Active Epics** -- Main epics that are being tackled, and currently active for this working group +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering +--- + +### **DeFi** \[Jerome] -### **DeFi** Jerome Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- DEX Prep - IncrementFi +- Bridge Prep - Axelar **Done last sprint** -- General description of completed items -- List of Closed issues - +* **This sprint** -- General description of sprint goal -- List of issues to be worked on - +* **On Hold** - -- List of issues on hold - +- N/A **Active Epics** -- Main epics that are being tackled, and currently active for this working group +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- +### **User Experience** \[Greg] -### **User Experience** Greg Cycle Objective(s): +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity **Done last sprint** -- General description of completed items -- List of Closed issues - +* **This sprint** -- General description of sprint goal -- List of issues to be worked on - +**Sprint goal focusing on adding docs and tool support for Crescendo network and Cadence 1.0** -**On Hold** +- [Add Crescendo network support to FCL Discovery](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50332654) +- [Add Crescendo Network to CLI (config, cmds, docs, etc)](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50297186) +- [Add/Publish Initial EVM Docs](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952883) +- [Docs Revamp v3](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49327073) +- [Add C1.0 Rules to Cadence Linter](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952640) +- [Update Playground to support Cadence 1.0](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49844013) +- [Stable Cadence Installation Workflow](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51951905) -- List of issues on hold +**On Hold** -**Active Epics** - -- Main epics that are being tackled, and currently active for this working group +- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) --- -### **Wallet** Jeff +### **Wallet** \[Jeff] + Cycle Objective(s): -**Done last sprint** +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. -- General description of completed items -- List of Closed issues +**Done last sprint** +- N/A **This sprint** -- General description of sprint goal -- List of issues to be worked on - +- Begin creating developer documentation highlighting FlowEVM +- Updating cadence transactions / scripts for Cadence 1.0 +- Begin executing on FlowEVM updates to Flow Wallet +- Scheduled calls with MetaMask and Coinbase Wallet teams to intro FlowEVM and gather their requirements. **On Hold** -- List of issues on hold - +- N/A **Active Epics** -- Main epics that are being tackled, and currently active for this working group +- TBD --- - ### **Infra - JP** Cycle Objective(s): +- Migrate Flow metrics & logs to Flow Foundation grafana account to reduce cost on DapperLabs **Done last sprint** -- General description of completed items -- List of Closed issues - +* **This sprint** -- General description of sprint goal -- List of issues to be worked on +**Goal of Sprint is to migrate from DapperLabs account to FlowFoundation account** +* **On Hold** - -- List of issues on hold - - **Active Epics** -- Main epics that are being tackled, and currently active for this working group - --- -### **Governance and Tokenomics** Vishal -Cycle Objective(s): +### **Governance and Tokenomics** \[Vishal] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** -- General description of completed items -- List of Closed issues - +* **This sprint** -- General description of sprint goal -- List of issues to be worked on +- Research transaction fees on other L1s +- Research Transaction fees for Flow EVM. **On Hold** -- List of issues on hold +- N/A **Active Epics** -- Main epics that are being tackled, and currently active for this working group +- N/A + From 23dbc4dcfc6f78db7b4b63c5ccc0990f06e7a8a8 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 15 Feb 2024 09:42:17 -0800 Subject: [PATCH 046/626] Update YYYY-MM-DD-Flow-Sprint-Kickoff-Template.md --- ...YYYY-MM-DD-Flow-Sprint-Kickoff-Template.md | 217 +++++++++++------- 1 file changed, 129 insertions(+), 88 deletions(-) diff --git a/agendas/2024/sprint-kickoff/YYYY-MM-DD-Flow-Sprint-Kickoff-Template.md b/agendas/2024/sprint-kickoff/YYYY-MM-DD-Flow-Sprint-Kickoff-Template.md index 6ac18680e..a377fa2af 100644 --- a/agendas/2024/sprint-kickoff/YYYY-MM-DD-Flow-Sprint-Kickoff-Template.md +++ b/agendas/2024/sprint-kickoff/YYYY-MM-DD-Flow-Sprint-Kickoff-Template.md @@ -2,11 +2,11 @@ ### Team Wins 🎉 - * ABI.encode/decode() functional subset of EVM work was deployed to testnet to unblock Axelar integration + * -- +--- -### Mainnet Uptime - Last 14 days (DD/MM/YY to DD/MM/YY) - Vishal +### Mainnet Uptime - Last 14 days (xx/xx/24 to xx/xx/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -14,211 +14,252 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.97% | 32.2% | #### Incidents +* -- +--- -### FLIPs Tracker - Kshitij +### FLIPs Tracker \[Kshitij] | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 10 | 0 | 6 | **24** | -| Proposed | 2 | 2 | 2 | 1 | **7** | -| Accepted | 2 | 1 | 1 | 1 | **5** | +| Drafted | 7 | 6 | 0 | 5 | **18** | +| Proposed | 3 | 1 | 2 | 1 | **7** | +| Accepted | 2 | 1 | 1 | 2 | **6** | | Rejected | 0 | 0 | 1 | 0 | **1** | | Implemented | 1 | 19 | 1 | 0 | **21** | | Released | 4 | 0 | 2 | 4 | **10** | -| Total | **17** | **32** | **7** | **12** | **68** | +| Total | **17** | **27** | **7** | **12** | **63** | -- +- Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) +- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. +(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) ### Key Release Dates & Breaking Changes -- Next Mainnet/Testnet network upgrade (spork): -- Next Mainnet/Testnet HCU: +- Next Mainnet/Testnet network upgrade (spork): End of Feb - Crescendo update, Testnet and mainnet sporks TBD. +- Next Mainnet/Testnet HCU: Testnet HCU - Monday, 5th Feb, Mainnet HCU - Wednesday, 7th Feb. - End of Cycle: --- + # Working Group Updates -### **Cadence and Virtual Machine** Jan -Cycle Objective(s): +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): -**Done last sprint** +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards -- General description of completed items -- List of Closed issues +**Done last sprint** +* **This sprint** -- General description of sprint goal -- List of issues to be worked on - +* **On Hold** -- List of issues on hold +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) **Active Epics** -- Main epics that are being tackled, and currently active for this working group +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR2: Launch Cadence 1.0 on Crescendo Testnet +- KR3: Launch EVM on Crescendo Testnet +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency --- -### **Core Protocol** Jerome +### **Core Protocol** \[Jerome] Cycle Objective(s): -**Done last sprint** +* Translate crypto performance improvements to consensus block rate increase +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue BFT mitigations to enable 10 permissionless ANs +* Continue design of Dynamic Protocol -- General description of completed items -- List of Closed issues +**Done last sprint** +* **This sprint** -- General description of sprint goal -- List of issues to be worked on - +* **On Hold** - -- List of issues on hold - +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. **Active Epics** -- Main epics that are being tackled, and currently active for this working group +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering +--- + +### **DeFi** \[Jerome] -### **DeFi** Jerome Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- DEX Prep - IncrementFi +- Bridge Prep - Axelar **Done last sprint** -- General description of completed items -- List of Closed issues - +* **This sprint** -- General description of sprint goal -- List of issues to be worked on - +* **On Hold** - -- List of issues on hold - +- N/A **Active Epics** -- Main epics that are being tackled, and currently active for this working group +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- +### **User Experience** \[Greg] -### **User Experience** Greg Cycle Objective(s): +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity **Done last sprint** -- General description of completed items -- List of Closed issues - +* **This sprint** -- General description of sprint goal -- List of issues to be worked on - +**Sprint goal focusing on adding docs and tool support for Crescendo network and Cadence 1.0** -**On Hold** +- [Add Crescendo network support to FCL Discovery](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50332654) +- [Add Crescendo Network to CLI (config, cmds, docs, etc)](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50297186) +- [Add/Publish Initial EVM Docs](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952883) +- [Docs Revamp v3](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49327073) +- [Add C1.0 Rules to Cadence Linter](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952640) +- [Update Playground to support Cadence 1.0](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49844013) +- [Stable Cadence Installation Workflow](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51951905) -- List of issues on hold +**On Hold** -**Active Epics** - -- Main epics that are being tackled, and currently active for this working group +- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) --- -### **Wallet** Jeff +### **Wallet** \[Jeff] + Cycle Objective(s): -**Done last sprint** +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. -- General description of completed items -- List of Closed issues +**Done last sprint** +- N/A **This sprint** -- General description of sprint goal -- List of issues to be worked on - +- Begin creating developer documentation highlighting FlowEVM +- Updating cadence transactions / scripts for Cadence 1.0 +- Begin executing on FlowEVM updates to Flow Wallet +- Scheduled calls with MetaMask and Coinbase Wallet teams to intro FlowEVM and gather their requirements. **On Hold** -- List of issues on hold - +- N/A **Active Epics** -- Main epics that are being tackled, and currently active for this working group +- TBD --- - ### **Infra - JP** Cycle Objective(s): +- Migrate Flow metrics & logs to Flow Foundation grafana account to reduce cost on DapperLabs **Done last sprint** -- General description of completed items -- List of Closed issues - +* **This sprint** -- General description of sprint goal -- List of issues to be worked on +**Goal of Sprint is to migrate from DapperLabs account to FlowFoundation account** +* **On Hold** - -- List of issues on hold - - **Active Epics** -- Main epics that are being tackled, and currently active for this working group - --- -### **Governance and Tokenomics** Vishal -Cycle Objective(s): +### **Governance and Tokenomics** \[Vishal] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** -- General description of completed items -- List of Closed issues - +* **This sprint** -- General description of sprint goal -- List of issues to be worked on +- Research transaction fees on other L1s +- Research Transaction fees for Flow EVM. **On Hold** -- List of issues on hold +- N/A **Active Epics** -- Main epics that are being tackled, and currently active for this working group +- N/A From ff01de40f0953979094cfc9810474265725fdb4f Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 15 Feb 2024 10:28:09 -0800 Subject: [PATCH 047/626] Partial updates to DeFi and Infra --- .../2024-02-16-Flow-Sprint-Kickoff.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index f6bdea12c..ff6490782 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -63,7 +63,7 @@ Cycle Objective(s): **Done last sprint** -* +* Release EVM and JSON-RPC early access version including EVM Core, CLI and JSON-RPC to emulator and CrescendoNet **This sprint** @@ -105,7 +105,7 @@ Cycle Objective(s): * **On Hold** -* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. +- N/A **Active Epics** @@ -127,14 +127,17 @@ Cycle Objective(s): **Done last sprint** -* +* Continued with doc revisions for Band Oracle +* Met with Pyth team who will report back on feasibility and timeline for EVM oracle integration +* Completed LayerZero intake process **This sprint** -* +* Complete final revision on Band Oracle docs and announce to community + **On Hold** -- N/A +- Waiting on Axelar changes to unblock launch at end of Q1 **Active Epics** @@ -229,7 +232,7 @@ Cycle Objective(s): **Done last sprint** -* +* Completed initial EVM JSON-RPC infra standup for CrescendoNet **This sprint** From 4705c42ccd06983a881f0ff0f96623e1155cf4f6 Mon Sep 17 00:00:00 2001 From: Yurii Oleksyshyn Date: Thu, 15 Feb 2024 20:37:52 +0200 Subject: [PATCH 048/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- .../2024-02-16-Flow-Sprint-Kickoff.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index ff6490782..9490f1bc9 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -98,11 +98,20 @@ Cycle Objective(s): **Done last sprint** -* +- Dynamic Protocol State + - [Design - Dynamic Protocol State Key-Value Store](https://www.notion.so/dapperlabs/Protocol-state-key-value-storage-497326ff9cf44ff4a70610a0dad329b3?pvs=4) - generalizing Dynamic Protocol State beyond identity table changes + - Finalized the design, created and estimated epic issues + - Took final pass over the document + - Started implemention of KV store, issues completed: + - [Implemented core types for KV store models](https://github.com/onflow/flow-go/issues/5305) + - [Implemented storage layer for KV store snapshots](https://github.com/onflow/flow-go/issues/5292) **This sprint** -* +- Dynamic Protocol State + - [Design - Sporkless Epoch Fallback Recovery](https://www.notion.so/dapperlabs/Spork-less-Epoch-Fallback-Recovery-Design-II-Epoch-Extensions-a7673e45e9064d12b6b48aa517bd1763?pvs=4) - enabling recovery from EFM via governance multisig and without spork + - Review and iteration on latest design + - Continue implementation of KV store **On Hold** - N/A From 98710bf8632ac37600c2c3fce24dc21d34b4362c Mon Sep 17 00:00:00 2001 From: vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 15 Feb 2024 10:57:27 -0800 Subject: [PATCH 049/626] fixing product sync agenda file --- agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md | 3 +++ .../2024/product-sync/2024-02-15-Protocol-Product-Sync.md | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md delete mode 100644 agendas/2024/product-sync/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md diff --git a/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md new file mode 100644 index 000000000..d4d81612b --- /dev/null +++ b/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md @@ -0,0 +1,3 @@ +## Please enter agenda items below + +1. Consensus block rate improvements \ No newline at end of file diff --git a/agendas/2024/product-sync/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md b/agendas/2024/product-sync/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md deleted file mode 100644 index e9dbb03e0..000000000 --- a/agendas/2024/product-sync/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md +++ /dev/null @@ -1 +0,0 @@ -## Please enter agenda items below From 579f6a7554fe39c6627ad4b0143c617b1cd9dd20 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 15 Feb 2024 11:07:47 -0800 Subject: [PATCH 050/626] Minor tweaks --- .../2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 9490f1bc9..61fdb29f7 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -63,7 +63,7 @@ Cycle Objective(s): **Done last sprint** -* Release EVM and JSON-RPC early access version including EVM Core, CLI and JSON-RPC to emulator and CrescendoNet +* Release EVM early access including EVM Core, CLI and JSON-RPC to emulator and CrescendoNet **This sprint** @@ -138,7 +138,8 @@ Cycle Objective(s): * Continued with doc revisions for Band Oracle * Met with Pyth team who will report back on feasibility and timeline for EVM oracle integration -* Completed LayerZero intake process +* Completed LayerZero intake process +* Continue Flow JVM-SDK update **This sprint** From d66911c137c3980a7e36a87c32b59c15bebe4f94 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Thu, 15 Feb 2024 11:56:49 -0800 Subject: [PATCH 051/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 61fdb29f7..81b98c345 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -33,8 +33,12 @@ | Released | 4 | 0 | 2 | 4 | **10** | | Total | **17** | **27** | **7** | **12** | **63** | -- Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) -- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. +- No FLIPs on the project tracker since first week Feb +- Some FLIPs are still not reflected in the project tracker. Examples - + * FLIP 245: Cadence Date and Time - no issue + * FLIP 198: Authorized Call - no issue + * [Networking] FLIP: Message Forensic (MF) System #195 - no issue +- **Remember**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) ### Key Release Dates & Breaking Changes From 6deb79f3540cec3433f6217d65949e5ef96d44ac Mon Sep 17 00:00:00 2001 From: Alexander Hentschel Date: Thu, 15 Feb 2024 13:00:32 -0800 Subject: [PATCH 052/626] Update 2024-02-15-Protocol-Product-Sync.md --- .../2024/product-sync/2024-02-15-Protocol-Product-Sync.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md index d4d81612b..4a921345c 100644 --- a/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md @@ -1,3 +1,7 @@ ## Please enter agenda items below -1. Consensus block rate improvements \ No newline at end of file +1. Consensus block rate improvements + + Further reading + * [Cruise-Control headroom for speedups](https://www.notion.so/dapperlabs/Cruise-Control-headroom-for-speedups-56768a92b66745f1af3e4d15b2b6e8ae?pvs=4) + * [Epic #5302](https://github.com/onflow/flow-go/issues/5302) From da945a8328ad0575f742272ef5b052d221747e08 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 15 Feb 2024 14:09:41 -0800 Subject: [PATCH 053/626] Update 2024-02-15-Protocol-Product-Sync.md --- agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md index 4a921345c..96b4a2160 100644 --- a/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-02-15-Protocol-Product-Sync.md @@ -5,3 +5,7 @@ Further reading * [Cruise-Control headroom for speedups](https://www.notion.so/dapperlabs/Cruise-Control-headroom-for-speedups-56768a92b66745f1af3e4d15b2b6e8ae?pvs=4) * [Epic #5302](https://github.com/onflow/flow-go/issues/5302) + +2. QN contract renewal + + From 05214bd196f6f70c3c8dfa1ccb737b1e637303dd Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Thu, 15 Feb 2024 15:32:47 -0800 Subject: [PATCH 054/626] docs: add sprint updates --- .../2024-02-16-Flow-Sprint-Kickoff.md | 46 ++++++++++++++----- 1 file changed, 34 insertions(+), 12 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 81b98c345..f5e3907e3 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -161,33 +161,55 @@ Cycle Objective(s): --- -### **User Experience** \[Greg] +### **User Experience [G]** + +**Cycle Objective(s):** -Cycle Objective(s): - Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort - Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network - Use the Crescendo Release grow Flow's developer base and network activity **Done last sprint** -* +**Team Wins** +- Launched initial EVM docs +- Cadence Extension Linter -**This sprint** +**Docs** + +- Updated CLI Quickstart to use new commands like “generate” +- Add/Update Cadence 1.0 Messaging across sites (Cadence 1.0 banner on Playground, Docs, Cadence-lang, and NFT catalog) +- MVP Doc Changes v3.0 +- [Add FT/NFT Migration Guides and Best Practices Docs](https://github.com/onflow/docs/issues/529) -**Sprint goal focusing on adding docs and tool support for Crescendo network and Cadence 1.0** +**Development** -- [Add Crescendo network support to FCL Discovery](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50332654) -- [Add Crescendo Network to CLI (config, cmds, docs, etc)](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50297186) -- [Add/Publish Initial EVM Docs](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952883) -- [Docs Revamp v3](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49327073) +- Setup FCL Discovery for Crescendo +- Completing work on Staged Contract Manager for Crescendo and Testnet +- Implemented feature to switch between current CLI and C1 CLI +- [Auto-fixes and warnings in VSCode for code incompatible with C1.0](https://github.com/onflow/vscode-cadence/issues/501) - [Add C1.0 Rules to Cadence Linter](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952640) -- [Update Playground to support Cadence 1.0](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49844013) -- [Stable Cadence Installation Workflow](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51951905) +**This sprint** + +**Sprint Goal** +- Support Crescendo and EVM launch at ETH Denver with tools, documentation, demos. + +**List of Issues to be worked on** +- Updating the Crescendo Faucet to enable Testnet Flow deposits to both Cadence and EVM accounts [#69](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=52049956) +- Update Crescendo network details (name, chain-id) across docs/tools [#1350](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50297186) +- Add C1.0 linter command to CLI [#1395](https://github.com/onflow/flow-cli/issues/1395) +- Flow contract migration manager + - Staging - [#1375](https://github.com/onflow/flow-cli/issues/1375) + - Migration - Emulator command for migrating contracts/state to Cadence 1.0 [#571](https://github.com/onflow/flow-emulator/issues/571) +- Add Cadence Logo to VSCode Extension [#537](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=53419793) +- Active Contract Cluster Discovery and Report **On Hold** +- -- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) +**Active Epics** +- --- From 13b14085de00cc4c94c499f1f51bdac4cc193970 Mon Sep 17 00:00:00 2001 From: Andrii Date: Fri, 16 Feb 2024 12:00:13 +0200 Subject: [PATCH 055/626] Added missing field in request for account address --- .../flow/executiondata/executiondata.proto | 9 +- .../go/flow/executiondata/executiondata.pb.go | 124 ++++++++++-------- 2 files changed, 73 insertions(+), 60 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 46a42ffcd..ba91e846a 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -270,9 +270,12 @@ message SubscribeAccountStatusesRequest { // the latest sealed block is used. uint64 start_block_height = 2; + // Unique identifier for the account being streamed + bytes address = 3; + // Filter to apply to events for each block searched. // If no filter is provided, all statuses are returned. - StatusFilter filter = 3; + StatusFilter filter = 4; // Interval in block heights at which the server should return a heartbeat // message to the client. The heartbeat is a normal SubscribeAccountStatusesResponse @@ -282,13 +285,13 @@ message SubscribeAccountStatusesRequest { // // The interval is calculated from the last response returned, which could be // either another heartbeat or a response containing events. - uint64 heartbeat_interval = 4; + uint64 heartbeat_interval = 5; // Preferred event encoding version of the block events payload. // Possible variants: // 1. CCF // 2. JSON-CDC - entities.EventEncodingVersion event_encoding_version = 5; + entities.EventEncodingVersion event_encoding_version = 6; } // The response for SubscribeAccountStatuses diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index 2f0fd3fe0..aadf2ad16 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -601,9 +601,11 @@ type SubscribeAccountStatusesRequest struct { // otherwise an InvalidArgument error is returned. If neither are provided, // the latest sealed block is used. StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Unique identifier for the account being streamed + Address []byte `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` // Filter to apply to events for each block searched. // If no filter is provided, all statuses are returned. - Filter *StatusFilter `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` + Filter *StatusFilter `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` // Interval in block heights at which the server should return a heartbeat // message to the client. The heartbeat is a normal SubscribeAccountStatusesResponse // with no events, and allows clients to track which blocks were searched. @@ -612,12 +614,12 @@ type SubscribeAccountStatusesRequest struct { // // The interval is calculated from the last response returned, which could be // either another heartbeat or a response containing events. - HeartbeatInterval uint64 `protobuf:"varint,4,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"` + HeartbeatInterval uint64 `protobuf:"varint,5,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"` // Preferred event encoding version of the block events payload. // Possible variants: // 1. CCF // 2. JSON-CDC - EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,5,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` + EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,6,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -662,6 +664,13 @@ func (m *SubscribeAccountStatusesRequest) GetStartBlockHeight() uint64 { return 0 } +func (m *SubscribeAccountStatusesRequest) GetAddress() []byte { + if m != nil { + return m.Address + } + return nil +} + func (m *SubscribeAccountStatusesRequest) GetFilter() *StatusFilter { if m != nil { return m.Filter @@ -826,58 +835,59 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 837 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x56, 0xcd, 0x4e, 0xeb, 0x46, - 0x14, 0x96, 0x13, 0x08, 0x70, 0x12, 0xf1, 0x33, 0x42, 0xd4, 0xb1, 0x4a, 0x49, 0xdc, 0xaa, 0x8a, - 0x5a, 0x70, 0xda, 0x00, 0x6a, 0x17, 0xdd, 0x90, 0x42, 0x69, 0x76, 0x95, 0x41, 0x48, 0x65, 0x13, - 0xf9, 0xe7, 0xe0, 0x58, 0x4d, 0x3c, 0xa9, 0x67, 0x9c, 0x82, 0xba, 0xea, 0xaa, 0x95, 0xfa, 0x02, - 0x7d, 0x85, 0xae, 0xba, 0xee, 0x2b, 0xdc, 0xc5, 0x7d, 0x83, 0xfb, 0x2e, 0x57, 0x19, 0x8f, 0x4d, - 0x9c, 0x38, 0x81, 0x08, 0x21, 0xdd, 0x8d, 0xa5, 0x33, 0xe7, 0x3b, 0x33, 0xdf, 0x7c, 0xe7, 0x67, - 0x0c, 0x9f, 0xdf, 0xf5, 0xe9, 0x6f, 0x4d, 0xbc, 0x47, 0x27, 0xe2, 0x3e, 0x0d, 0x5c, 0x8b, 0x5b, - 0x59, 0xcb, 0x18, 0x86, 0x94, 0x53, 0x42, 0xc6, 0x38, 0x23, 0xe3, 0xd1, 0x1a, 0x71, 0x6c, 0xc0, - 0x7d, 0xee, 0x23, 0x6b, 0xda, 0x7d, 0xea, 0xfc, 0xd2, 0x4d, 0x21, 0xdd, 0xc7, 0x68, 0xad, 0x9a, - 0x45, 0xe2, 0x08, 0x03, 0x2e, 0x5d, 0x1f, 0x67, 0x5d, 0x21, 0x7a, 0x3e, 0xe3, 0x18, 0x4a, 0xef, - 0x81, 0x47, 0xa9, 0xd7, 0xc7, 0xa6, 0xb0, 0xec, 0xe8, 0xae, 0xc9, 0xfd, 0x01, 0x32, 0x6e, 0x0d, - 0x86, 0x31, 0x40, 0xff, 0x47, 0x81, 0xda, 0x25, 0xf2, 0x8b, 0xe4, 0xd4, 0x73, 0x8b, 0x5b, 0xed, - 0x87, 0xf6, 0x98, 0x4a, 0xe7, 0xdc, 0xc4, 0x5f, 0x23, 0x64, 0x9c, 0x54, 0x61, 0x3d, 0x26, 0xe7, - 0xbb, 0xaa, 0x52, 0x53, 0x1a, 0x15, 0x73, 0x4d, 0xd8, 0x1d, 0x97, 0xfc, 0x0c, 0x7b, 0x82, 0x4d, - 0x17, 0x03, 0x87, 0xba, 0x7e, 0xe0, 0x75, 0x47, 0x18, 0x32, 0x9f, 0x06, 0x6a, 0xa1, 0xa6, 0x34, - 0x36, 0x5b, 0x9f, 0x1a, 0xf1, 0xc5, 0x25, 0x3f, 0xe3, 0x62, 0x0c, 0xbe, 0x90, 0xd8, 0x9b, 0x18, - 0x6a, 0xee, 0x62, 0xce, 0xaa, 0x7e, 0x0f, 0xf5, 0x05, 0xcc, 0xd8, 0x90, 0x06, 0x0c, 0xc9, 0x15, - 0xec, 0xe6, 0xe9, 0x26, 0x68, 0x96, 0x5b, 0xf5, 0xa9, 0xd3, 0x45, 0x74, 0x66, 0x47, 0x93, 0xd8, - 0x33, 0x6b, 0xfa, 0x5b, 0x05, 0xf6, 0xaf, 0x22, 0x9b, 0x39, 0xa1, 0x6f, 0x63, 0x16, 0x2e, 0x15, - 0xf9, 0x0c, 0x36, 0x19, 0xb7, 0x42, 0xde, 0x9d, 0xd2, 0xa5, 0x22, 0x56, 0xdb, 0x52, 0x9c, 0x43, - 0x20, 0x93, 0xa8, 0x1e, 0xfa, 0x5e, 0x8f, 0x0b, 0x61, 0x56, 0xcc, 0xed, 0x47, 0xe4, 0x8f, 0x62, - 0x7d, 0x81, 0x94, 0xc5, 0x97, 0x4a, 0xf9, 0x4e, 0x81, 0x4f, 0xe6, 0x5d, 0x48, 0x0a, 0x59, 0x87, - 0x4a, 0x86, 0xa5, 0x22, 0x58, 0x96, 0xed, 0x09, 0x82, 0xf3, 0xb4, 0x2e, 0xbc, 0x40, 0x6b, 0xf2, - 0x3d, 0x6c, 0xc5, 0x9b, 0xa6, 0x95, 0x29, 0xae, 0x5b, 0x6e, 0x69, 0x46, 0x5c, 0xbb, 0x46, 0x52, - 0xbb, 0xc6, 0x75, 0x82, 0x30, 0x37, 0x45, 0x48, 0x6a, 0xeb, 0xff, 0x15, 0x60, 0xef, 0xf1, 0x7e, - 0x63, 0x05, 0xd8, 0x6b, 0x66, 0xea, 0x1b, 0x28, 0xdd, 0xf9, 0x7d, 0x8e, 0xa1, 0xa4, 0x7a, 0x60, - 0xcc, 0x76, 0x77, 0x9c, 0x9e, 0x1f, 0x04, 0xcc, 0x94, 0x70, 0x72, 0x04, 0xa4, 0x87, 0x56, 0xc8, - 0x6d, 0xb4, 0x78, 0xd7, 0x0f, 0x38, 0x86, 0x23, 0xab, 0xaf, 0xae, 0x88, 0x63, 0x76, 0x52, 0x4f, - 0x47, 0x3a, 0x16, 0x54, 0xc4, 0xea, 0x4b, 0x2b, 0xe2, 0x8d, 0x02, 0x1f, 0xcd, 0x28, 0x26, 0x4b, - 0x61, 0x41, 0xbb, 0x4f, 0x57, 0x49, 0x61, 0xb6, 0x4a, 0x0e, 0xa1, 0x24, 0x4e, 0x64, 0x6a, 0xb1, - 0x56, 0x6c, 0x94, 0x5b, 0xbb, 0x79, 0x24, 0x4d, 0x89, 0xc9, 0x4b, 0xff, 0xca, 0xd2, 0xe9, 0xb7, - 0xa1, 0x3c, 0xa1, 0x36, 0xd9, 0x07, 0x88, 0x65, 0xe3, 0x0f, 0x43, 0x54, 0x95, 0x5a, 0xb1, 0xb1, - 0x61, 0x6e, 0x88, 0x95, 0xeb, 0x87, 0x21, 0x12, 0x0d, 0xd6, 0x1d, 0x1a, 0xf0, 0xd0, 0x72, 0xc6, - 0xfc, 0xc7, 0xce, 0xd4, 0x26, 0x2a, 0xac, 0x59, 0xae, 0x1b, 0x22, 0x8b, 0xd9, 0x6f, 0x98, 0x89, - 0xa9, 0xff, 0x0e, 0xea, 0x25, 0x72, 0x53, 0x8e, 0xd7, 0x1b, 0xab, 0x1f, 0x61, 0x5a, 0x63, 0xcf, - 0xe8, 0x9d, 0xef, 0xa0, 0x92, 0x8c, 0xe6, 0xae, 0xef, 0x32, 0x71, 0x70, 0xb9, 0x55, 0x9d, 0xd2, - 0x26, 0xd9, 0xbe, 0x73, 0x6e, 0x96, 0x13, 0x78, 0xc7, 0x65, 0xfa, 0x31, 0x54, 0x73, 0x0e, 0x97, - 0xe9, 0xda, 0x83, 0xd2, 0x48, 0xac, 0x88, 0xab, 0x56, 0x4c, 0x69, 0xe9, 0xff, 0x17, 0xe0, 0x20, - 0x4d, 0xf1, 0x99, 0xe3, 0xd0, 0x28, 0xe0, 0x57, 0xdc, 0xe2, 0x11, 0xc3, 0x57, 0xed, 0x8e, 0x6f, - 0xa7, 0xba, 0xa3, 0x96, 0xd7, 0x1d, 0x31, 0x91, 0x0f, 0xb6, 0x3d, 0xfe, 0x55, 0xa0, 0x36, 0x5f, - 0xbb, 0xa7, 0xfb, 0x64, 0xa2, 0x8e, 0x0a, 0xb1, 0x47, 0x9a, 0x4b, 0xb6, 0x87, 0x0e, 0x95, 0x01, - 0x32, 0x66, 0x79, 0xd8, 0x09, 0x5c, 0xbc, 0x97, 0x5a, 0x64, 0xd6, 0xf4, 0x23, 0xa8, 0x4c, 0xaa, - 0xf9, 0x44, 0xf9, 0xb7, 0xfe, 0x5e, 0x85, 0xed, 0xcc, 0x08, 0x3e, 0xfb, 0xa9, 0x43, 0xfe, 0x52, - 0x44, 0x85, 0xe5, 0x3f, 0xb6, 0xe4, 0x24, 0x2f, 0x83, 0x4f, 0xfd, 0x35, 0x68, 0xa7, 0x4b, 0x46, - 0x49, 0x55, 0xff, 0x50, 0x26, 0x67, 0x79, 0xe6, 0xad, 0xf8, 0x3a, 0xb7, 0x92, 0x16, 0x3d, 0xd4, - 0x5a, 0x6b, 0x99, 0x90, 0x98, 0xc1, 0x57, 0x0a, 0xe9, 0xc3, 0xd6, 0xd4, 0x70, 0x24, 0x5f, 0x2c, - 0xde, 0x68, 0xf2, 0xcd, 0xd1, 0xbe, 0x7c, 0x16, 0x36, 0x3d, 0x6d, 0x08, 0x3b, 0x33, 0xdd, 0x4d, - 0x0e, 0xe7, 0xa8, 0x97, 0x3b, 0x81, 0xb4, 0xa3, 0x67, 0xa2, 0xa5, 0xc6, 0x7f, 0x2a, 0xa0, 0xce, - 0x2b, 0x6f, 0x72, 0xbc, 0x90, 0x7d, 0xfe, 0x20, 0xd1, 0x4e, 0x96, 0x0b, 0x4a, 0xee, 0xde, 0xbe, - 0x85, 0x3a, 0x0d, 0x3d, 0x83, 0x06, 0x22, 0x3c, 0x9d, 0xf5, 0x99, 0x7d, 0x6e, 0x4f, 0x3d, 0x9f, - 0xf7, 0x22, 0xdb, 0x70, 0xe8, 0xa0, 0x19, 0x23, 0x9b, 0xe2, 0x93, 0xfe, 0xd5, 0x7a, 0xb4, 0x39, - 0xfb, 0x1f, 0x6e, 0x97, 0x84, 0xff, 0xf8, 0x7d, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5e, 0x23, 0x4e, - 0xad, 0xa4, 0x0b, 0x00, 0x00, + // 849 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcd, 0x6e, 0xd3, 0x4a, + 0x14, 0x96, 0x93, 0x36, 0x6d, 0x4f, 0xa2, 0xfe, 0x8c, 0xaa, 0x5e, 0xc7, 0xba, 0xbd, 0x4d, 0x7c, + 0x11, 0x8a, 0xa0, 0x75, 0x20, 0x6d, 0x05, 0x0b, 0x36, 0x0d, 0x2d, 0x25, 0x3b, 0xe4, 0x56, 0x95, + 0xe8, 0x26, 0xf2, 0xcf, 0xd4, 0xb1, 0x48, 0x3c, 0xc1, 0x33, 0x0e, 0xad, 0x58, 0xb1, 0x02, 0x89, + 0x17, 0xe0, 0x15, 0x58, 0xf1, 0x1e, 0x2c, 0xd8, 0xb0, 0xe6, 0x5d, 0x50, 0xc6, 0x63, 0x37, 0x4e, + 0x9c, 0x34, 0x51, 0xd4, 0x8d, 0xa5, 0x33, 0xe7, 0x3b, 0x33, 0xdf, 0x7c, 0xe7, 0x67, 0x0c, 0x0f, + 0xaf, 0xda, 0xe4, 0x43, 0x15, 0x5f, 0x63, 0x2b, 0x60, 0x2e, 0xf1, 0x6c, 0x83, 0x19, 0x49, 0x4b, + 0xeb, 0xfa, 0x84, 0x11, 0x84, 0xfa, 0x38, 0x2d, 0xe1, 0x51, 0x2a, 0x61, 0xac, 0xc7, 0x5c, 0xe6, + 0x62, 0x5a, 0x35, 0xdb, 0xc4, 0x7a, 0xd7, 0x8c, 0x21, 0xcd, 0xdb, 0x68, 0xa5, 0x98, 0x44, 0xe2, + 0x1e, 0xf6, 0x98, 0x70, 0xfd, 0x9b, 0x74, 0xf9, 0xd8, 0x71, 0x29, 0xc3, 0xbe, 0xf0, 0xee, 0x38, + 0x84, 0x38, 0x6d, 0x5c, 0xe5, 0x96, 0x19, 0x5c, 0x55, 0x99, 0xdb, 0xc1, 0x94, 0x19, 0x9d, 0x6e, + 0x08, 0x50, 0xbf, 0x49, 0x50, 0x3a, 0xc5, 0xec, 0x24, 0x3a, 0xf5, 0xd8, 0x60, 0x46, 0xfd, 0xa6, + 0xde, 0xa7, 0xd2, 0x38, 0xd6, 0xf1, 0xfb, 0x00, 0x53, 0x86, 0x8a, 0xb0, 0x1c, 0x92, 0x73, 0x6d, + 0x59, 0x2a, 0x49, 0x95, 0x82, 0xbe, 0xc4, 0xed, 0x86, 0x8d, 0xde, 0xc2, 0x16, 0x67, 0xd3, 0xc4, + 0x9e, 0x45, 0x6c, 0xd7, 0x73, 0x9a, 0x3d, 0xec, 0x53, 0x97, 0x78, 0x72, 0xa6, 0x24, 0x55, 0x56, + 0x6b, 0xff, 0x6b, 0xe1, 0xc5, 0x05, 0x3f, 0xed, 0xa4, 0x0f, 0x3e, 0x11, 0xd8, 0x8b, 0x10, 0xaa, + 0x6f, 0xe2, 0x94, 0x55, 0xf5, 0x1a, 0xca, 0x13, 0x98, 0xd1, 0x2e, 0xf1, 0x28, 0x46, 0x67, 0xb0, + 0x99, 0xa6, 0x1b, 0xa7, 0x99, 0xaf, 0x95, 0x87, 0x4e, 0xe7, 0xd1, 0x89, 0x1d, 0x75, 0x64, 0x8e, + 0xac, 0xa9, 0xbf, 0x24, 0xd8, 0x3e, 0x0b, 0x4c, 0x6a, 0xf9, 0xae, 0x89, 0x93, 0x70, 0xa1, 0xc8, + 0x03, 0x58, 0xa5, 0xcc, 0xf0, 0x59, 0x73, 0x48, 0x97, 0x02, 0x5f, 0xad, 0x0b, 0x71, 0x76, 0x01, + 0x0d, 0xa2, 0x5a, 0xd8, 0x75, 0x5a, 0x8c, 0x0b, 0xb3, 0xa0, 0xaf, 0xdf, 0x22, 0x5f, 0xf3, 0xf5, + 0x09, 0x52, 0x66, 0xe7, 0x95, 0xf2, 0x8f, 0x04, 0xff, 0x8d, 0xbb, 0x90, 0x10, 0xb2, 0x0c, 0x85, + 0x04, 0x4b, 0x89, 0xb3, 0xcc, 0x9b, 0x03, 0x04, 0xc7, 0x69, 0x9d, 0x99, 0x43, 0x6b, 0xf4, 0x12, + 0xd6, 0xc2, 0x4d, 0xe3, 0xca, 0xe4, 0xd7, 0xcd, 0xd7, 0x14, 0x2d, 0xac, 0x5d, 0x2d, 0xaa, 0x5d, + 0xed, 0x3c, 0x42, 0xe8, 0xab, 0x3c, 0x24, 0xb6, 0xd5, 0x1f, 0x19, 0xd8, 0xba, 0xbd, 0x5f, 0x5f, + 0x01, 0x7a, 0x9f, 0x99, 0x7a, 0x06, 0xb9, 0x2b, 0xb7, 0xcd, 0xb0, 0x2f, 0xa8, 0xee, 0x68, 0xa3, + 0xdd, 0x1d, 0xa6, 0xe7, 0x15, 0x87, 0xe9, 0x02, 0x8e, 0xf6, 0x00, 0xb5, 0xb0, 0xe1, 0x33, 0x13, + 0x1b, 0xac, 0xe9, 0x7a, 0x0c, 0xfb, 0x3d, 0xa3, 0x2d, 0x2f, 0xf0, 0x63, 0x36, 0x62, 0x4f, 0x43, + 0x38, 0x26, 0x54, 0xc4, 0xe2, 0xbc, 0x15, 0xf1, 0x53, 0x82, 0x7f, 0x46, 0x14, 0x13, 0xa5, 0x30, + 0xa1, 0xdd, 0x87, 0xab, 0x24, 0x33, 0x5a, 0x25, 0xbb, 0x90, 0xe3, 0x27, 0x52, 0x39, 0x5b, 0xca, + 0x56, 0xf2, 0xb5, 0xcd, 0x34, 0x92, 0xba, 0xc0, 0xa4, 0xa5, 0x7f, 0x61, 0xe6, 0xf4, 0x9b, 0x90, + 0x1f, 0x50, 0x1b, 0x6d, 0x03, 0x84, 0xb2, 0xb1, 0x9b, 0x2e, 0x96, 0xa5, 0x52, 0xb6, 0xb2, 0xa2, + 0xaf, 0xf0, 0x95, 0xf3, 0x9b, 0x2e, 0x46, 0x0a, 0x2c, 0x5b, 0xc4, 0x63, 0xbe, 0x61, 0xf5, 0xf9, + 0xf7, 0x9d, 0xb1, 0x8d, 0x64, 0x58, 0x32, 0x6c, 0xdb, 0xc7, 0x34, 0x64, 0xbf, 0xa2, 0x47, 0xa6, + 0xfa, 0x11, 0xe4, 0x53, 0xcc, 0x74, 0x31, 0x5e, 0x2f, 0x8c, 0x76, 0x80, 0xe3, 0x1a, 0x9b, 0xa2, + 0x77, 0x5e, 0x40, 0x21, 0x1a, 0xcd, 0x4d, 0xd7, 0xa6, 0xfc, 0xe0, 0x7c, 0xad, 0x38, 0xa4, 0x4d, + 0xb4, 0x7d, 0xe3, 0x58, 0xcf, 0x47, 0xf0, 0x86, 0x4d, 0xd5, 0x7d, 0x28, 0xa6, 0x1c, 0x2e, 0xd2, + 0xb5, 0x05, 0xb9, 0x1e, 0x5f, 0xe1, 0x57, 0x2d, 0xe8, 0xc2, 0x52, 0x7f, 0x67, 0x60, 0x27, 0x4e, + 0xf1, 0x91, 0x65, 0x91, 0xc0, 0x63, 0x67, 0xcc, 0x60, 0x01, 0xc5, 0xf7, 0xda, 0x1d, 0x09, 0x0d, + 0x79, 0xf5, 0x08, 0x13, 0x3d, 0x8f, 0xfb, 0x26, 0xcc, 0x71, 0x29, 0xad, 0x6f, 0x42, 0x8a, 0x53, + 0x35, 0xce, 0xe2, 0xec, 0x8d, 0x93, 0x9b, 0xb7, 0x71, 0xbe, 0x4b, 0x50, 0x1a, 0xaf, 0xea, 0xdd, + 0x1d, 0x34, 0xa0, 0x4e, 0x26, 0xa9, 0xce, 0x6c, 0x8d, 0xa3, 0x42, 0xa1, 0x83, 0x29, 0x35, 0x1c, + 0xdc, 0xf0, 0x6c, 0x7c, 0x2d, 0x86, 0x48, 0x62, 0x4d, 0xdd, 0x83, 0xc2, 0xa0, 0x9a, 0x77, 0x34, + 0x46, 0xed, 0xeb, 0x22, 0xac, 0x27, 0x86, 0xf3, 0xd1, 0x9b, 0x06, 0xfa, 0x22, 0xf1, 0xda, 0x4b, + 0x7f, 0x86, 0xd1, 0x41, 0x5a, 0x06, 0xef, 0xfa, 0x9f, 0x50, 0x0e, 0x67, 0x8c, 0x12, 0xaa, 0x7e, + 0x92, 0x06, 0xa7, 0x7c, 0xe2, 0x15, 0x79, 0x9a, 0x5a, 0x49, 0x93, 0x9e, 0x70, 0xa5, 0x36, 0x4b, + 0x48, 0xc8, 0xe0, 0x89, 0x84, 0xda, 0xb0, 0x36, 0x34, 0x36, 0xd1, 0xa3, 0xc9, 0x1b, 0x0d, 0xbe, + 0x46, 0xca, 0xe3, 0xa9, 0xb0, 0xf1, 0x69, 0x5d, 0xd8, 0x18, 0xe9, 0x7b, 0xb4, 0x3b, 0x46, 0xbd, + 0xd4, 0xd9, 0xa4, 0xec, 0x4d, 0x89, 0x16, 0x1a, 0x7f, 0x96, 0x40, 0x1e, 0x57, 0xde, 0x68, 0x7f, + 0x22, 0xfb, 0xf4, 0x11, 0xa3, 0x1c, 0xcc, 0x16, 0x14, 0xdd, 0xbd, 0x7e, 0x09, 0x65, 0xe2, 0x3b, + 0x1a, 0xf1, 0x78, 0x78, 0xfc, 0x0a, 0x24, 0xf6, 0xb9, 0x3c, 0x74, 0x5c, 0xd6, 0x0a, 0x4c, 0xcd, + 0x22, 0x9d, 0x6a, 0x88, 0xac, 0xf2, 0x4f, 0xfc, 0xbf, 0xeb, 0x90, 0xea, 0xe8, 0x1f, 0xba, 0x99, + 0xe3, 0xfe, 0xfd, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf3, 0xf6, 0xab, 0x88, 0xbe, 0x0b, 0x00, + 0x00, } From e9c05554dd3651571b3130d0571250a10e6cdb28 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 16 Feb 2024 11:38:45 +0100 Subject: [PATCH 056/626] updating Cadence WG --- .../2024-02-16-Flow-Sprint-Kickoff.md | 73 ++++++++++++++++++- 1 file changed, 69 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index f5e3907e3..0dfdc28c0 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -2,7 +2,8 @@ ### Team Wins 🎉 - * + * Released [CLI preview with Cadence 1.0 M7](https://forum.flow.com/t/update-on-cadence-1-0/5197/9?u=jan) + * Cadence 1.0 migrations completed successfuly on Emulator state --- @@ -52,7 +53,7 @@ # Working Group Updates -### **Cadence and Virtual Machine** \[Jan] +### **Cadence Language and Execution** \[Jan] Cycle Objective(s): 1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow @@ -67,11 +68,75 @@ Cycle Objective(s): **Done last sprint** -* Release EVM early access including EVM Core, CLI and JSON-RPC to emulator and CrescendoNet +Cadence Language + +- 1.0 release + - Updating dependencies: + - [Update configuration of downstream dependencies](https://github.com/onflow/cadence/pull/3095) + - flowkit: [1](https://github.com/onflow/cadence/pull/3109), [2](https://github.com/onflow/flixkit-go/pull/42), [3](https://github.com/onflow/flowkit/pull/12), [4](https://github.com/onflow/flowkit/pull/10) + - cadence-tools: [1](https://github.com/onflow/cadence-tools/pull/291), [2](https://github.com/onflow/cadence-tools/pull/290), [3](https://github.com/onflow/cadence-tools/pull/289), [4](https://github.com/onflow/cadence-tools/pull/288) + - [CLI](https://github.com/onflow/flow-cli/pull/1412), [flixkit](https://github.com/onflow/flixkit-go/pull/40), [flow-go](https://github.com/onflow/flow-go/pull/5393) + - go sdk[1](https://github.com/onflow/flow-go-sdk/pull/579), [2](https://github.com/onflow/flow-go-sdk/pull/573) + - emulator: [1]](https://github.com/onflow/flow-emulator/pull/573), [2](https://github.com/onflow/flow-emulator/pull/570) + - flow-go feature branch updates / syncs with master: [1](https://github.com/onflow/flow-go/pull/5377), [2](https://github.com/onflow/flow-go/pull/5376), [3](https://github.com/onflow/flow-go/pull/5361), [4](https://github.com/onflow/flow-go/pull/5360), [5](https://github.com/onflow/flow-go/pull/5356) + + - Bugfixes: + - [FunctionType.Equal() needs to check Purity equality ](https://github.com/onflow/cadence/issues/3104) + - [Cadence 1.0 migration does not support decoding published values with path capability values](https://github.com/onflow/cadence/issues/3102) + - [NPE when swapping a resource to itself](https://github.com/dapperlabs/cadence-internal/issues/207) + - [CheckIntersectionType: also include interface conformances' members](https://github.com/onflow/cadence/issues/3091) + - [Restricted types / intersection types do not allow contract interfaces](https://github.com/onflow/cadence/issues/3088) + - [Make capability ID mapping thread-safe](https://github.com/onflow/cadence/pull/3085) + - [Fix intersection type migration: also migrate interface types](https://github.com/onflow/cadence/pull/3084) + - porting internal fixes: [1](https://github.com/onflow/cadence/pull/3078) + + - Improvements: + - [Improve member resolvers](https://github.com/onflow/cadence/pull/3092) + - [Unify the requirement for all interface types to have to occur in intersection types](https://github.com/onflow/cadence/pull/3090) + + - Migrations + - fixes and improvements: [1](https://github.com/onflow/cadence/pull/3073), [2](https://github.com/onflow/cadence/pull/3072), [3](https://github.com/onflow/flow-go/pull/5353) + - [Enable state migration on emulator](https://github.com/onflow/cadence/issues/3063) + + - To help with Cadence 1.0 migrations, we created a utility program that extracts payloads by account address for creating a subset of execution state, useful for debuggin / testing migrations with much shorter iterations: [Add utility to extract payloads by addresses](https://github.com/onflow/flow-go/pull/5389) + +- Tooling: [Replace existing tool to fetch network contracts with Flowdiver-based one](https://github.com/onflow/cadence/pull/3058) + +- v0.42 + - bringing back a fix that was reverted in the public branch for MN24 HCU2 (did not make it to the prvate build): [v0.42 Handle optional storage references](https://github.com/onflow/cadence/pull/3094) + - security fixes (deployed in MN 24 HCU 2): [1](https://github.com/dapperlabs/cadence-internal/pull/206), [2](https://github.com/dapperlabs/cadence-internal/pull/204), [3](https://github.com/dapperlabs/cadence-internal/pull/201), [4](https://github.com/dapperlabs/cadence-internal/pull/199) + - [porting ofinternal fixes](https://github.com/onflow/cadence/pull/3076) + - MN HCU build prep: [1](https://github.com/dapperlabs/flow-go/pull/6946) + +EVM +- [Add COA ownership proofs](https://github.com/onflow/flow-go/issues/5197) +- [Set nonce for direct calls](https://github.com/onflow/flow-go/pull/5373) +- [Smart contract deployment for COAs](https://github.com/onflow/flow-go/pull/5269) +- [Benchmark transactions running EVM operations on benchnet](https://github.com/onflow/flow-go/issues/5099) +- Indexer: [Decode the events into relevant types](https://github.com/onflow/flow-evm-gateway/issues/16) + +Cadence Execution + +- Reviving Batchscan to use for new performance & scalability metrics (for analyzing in-depth state data): [Upgrade dependencies](https://github.com/onflow/flow-batch-scan/pull/36) +- Improved EN startup sequence tracking: [Log progress of loading wal segment file](https://github.com/onflow/flow-go/pull/5367), [Log read segment](https://github.com/onflow/wal/pull/3) + +E2E tests +- bugfixes: [BUG Random-related tests fail](https://github.com/onflow/flow-e2e-tests/issues/54), [Fix port of localnet host](https://github.com/onflow/flow-e2e-tests/pull/55) **This sprint** -* +EVM +* Release EVM early access including EVM Core, CLI and JSON-RPC to emulator and Crescendo PReview Net + +Cadence Language +* O1_KR2: Release Cadence 1.0 RC1 on Crescendo Preview network +* O1_KR1: Complete C1.0 migrations testing on Testnet State +* O1_KR1: Release Flow CLI with contract migration testing enabled, including first version of updated upgrade checker +* O1_KR6: Review draft of disaster recovery plan + +Cadence Execution +* O3_KR1: Collect data on state growth +* O4_KR2: Continue "unstaked execution node test environment" POC. **On Hold** From d0f0efbbdaef5f50647fa2148cd639ebd5c1dbdb Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 16 Feb 2024 11:41:45 +0100 Subject: [PATCH 057/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 0dfdc28c0..fe0b99625 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -126,7 +126,7 @@ E2E tests **This sprint** EVM -* Release EVM early access including EVM Core, CLI and JSON-RPC to emulator and Crescendo PReview Net +* O1_KR3: Release EVM early access including EVM Core, CLI and JSON-RPC to emulator and Crescendo PReview Net Cadence Language * O1_KR2: Release Cadence 1.0 RC1 on Crescendo Preview network From 429eb84e2996051e16294d4c4a3f379db894af0d Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 16 Feb 2024 11:51:21 +0100 Subject: [PATCH 058/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index fe0b99625..e4fee8f3b 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -104,7 +104,9 @@ Cadence Language - v0.42 - bringing back a fix that was reverted in the public branch for MN24 HCU2 (did not make it to the prvate build): [v0.42 Handle optional storage references](https://github.com/onflow/cadence/pull/3094) - - security fixes (deployed in MN 24 HCU 2): [1](https://github.com/dapperlabs/cadence-internal/pull/206), [2](https://github.com/dapperlabs/cadence-internal/pull/204), [3](https://github.com/dapperlabs/cadence-internal/pull/201), [4](https://github.com/dapperlabs/cadence-internal/pull/199) + - security fixes: + - (deployed in MN 24 HCU 2): [1](https://github.com/dapperlabs/cadence-internal/pull/201), [2](https://github.com/dapperlabs/cadence-internal/pull/199) + - [3](https://github.com/dapperlabs/cadence-internal/pull/206), [4](https://github.com/dapperlabs/cadence-internal/pull/204) - [porting ofinternal fixes](https://github.com/onflow/cadence/pull/3076) - MN HCU build prep: [1](https://github.com/dapperlabs/flow-go/pull/6946) From 6adf5ad1e7cab80b4e163ea0ef377171bb43e819 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 16 Feb 2024 07:44:08 -0800 Subject: [PATCH 059/626] Update protocol sprint items --- .../2024-02-16-Flow-Sprint-Kickoff.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index e4fee8f3b..f94e6ae56 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -176,14 +176,23 @@ Cycle Objective(s): - Started implemention of KV store, issues completed: - [Implemented core types for KV store models](https://github.com/onflow/flow-go/issues/5305) - [Implemented storage layer for KV store snapshots](https://github.com/onflow/flow-go/issues/5292) - +- BFT Mitigations + - (Simplifying RPC inspection misbehavior notification handling)[https://github.com/onflow/flow-go/pull/5398]0 + - (GossipSub RPC inspection documentation)[https://github.com/onflow/flow-go/pull/5362] + **This sprint** - Dynamic Protocol State - [Design - Sporkless Epoch Fallback Recovery](https://www.notion.so/dapperlabs/Spork-less-Epoch-Fallback-Recovery-Design-II-Epoch-Extensions-a7673e45e9064d12b6b48aa517bd1763?pvs=4) - enabling recovery from EFM via governance multisig and without spork - Review and iteration on latest design - Continue implementation of KV store - +- Execution state sync + - (upgrading libp2p version to v0.32.0)[https://github.com/onflow/flow-go/issues/4934] +- Access Nodes + - Working on register caching for script exec + - Fixing an issue with event order in streaming API and rolling local events in Access API to QN + - KROK completed a PR to enable execution sync on the public network + **On Hold** - N/A From bcfacf0852dca16af91493995313f5397ed8db5d Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 16 Feb 2024 07:45:40 -0800 Subject: [PATCH 060/626] Fix URL syntax errors --- .../2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index f94e6ae56..e32e29b24 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -177,8 +177,8 @@ Cycle Objective(s): - [Implemented core types for KV store models](https://github.com/onflow/flow-go/issues/5305) - [Implemented storage layer for KV store snapshots](https://github.com/onflow/flow-go/issues/5292) - BFT Mitigations - - (Simplifying RPC inspection misbehavior notification handling)[https://github.com/onflow/flow-go/pull/5398]0 - - (GossipSub RPC inspection documentation)[https://github.com/onflow/flow-go/pull/5362] + - [Simplifying RPC inspection misbehavior notification handling](https://github.com/onflow/flow-go/pull/5398) + - [GossipSub RPC inspection documentation](https://github.com/onflow/flow-go/pull/5362) **This sprint** @@ -187,7 +187,7 @@ Cycle Objective(s): - Review and iteration on latest design - Continue implementation of KV store - Execution state sync - - (upgrading libp2p version to v0.32.0)[https://github.com/onflow/flow-go/issues/4934] + - [upgrading libp2p version to v0.32.0](https://github.com/onflow/flow-go/issues/4934) - Access Nodes - Working on register caching for script exec - Fixing an issue with event order in streaming API and rolling local events in Access API to QN From c7d668716b61a8ea5dfdecda588c3307152dbb1d Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 16 Feb 2024 07:54:28 -0800 Subject: [PATCH 061/626] Add more EVM updates --- .../2024-02-16-Flow-Sprint-Kickoff.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index e32e29b24..3bbe46898 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -115,8 +115,16 @@ EVM - [Set nonce for direct calls](https://github.com/onflow/flow-go/pull/5373) - [Smart contract deployment for COAs](https://github.com/onflow/flow-go/pull/5269) - [Benchmark transactions running EVM operations on benchnet](https://github.com/onflow/flow-go/issues/5099) -- Indexer: [Decode the events into relevant types](https://github.com/onflow/flow-evm-gateway/issues/16) - +- JSON-RPC + - [Implement the eth_getBlockReceipts JSON-RPC endpoint](https://github.com/onflow/flow-evm-gateway/pull/44) + - [Add more block & tx related endpoints](https://github.com/onflow/flow-evm-gateway/pull/43) + - [Implement the eth_getBalance JSON-RPC endpoint](https://github.com/onflow/flow-evm-gateway/pull/42) + - [Make value returned by eth_gasPrice configurable](https://github.com/onflow/flow-evm-gateway/pull/39) + - [Update to latest additions in flow-go and cadence](https://github.com/onflow/flow-evm-gateway/pull/48) + - [Implement API endpoints which store and index transactions plus other tx-related endpoints](https://github.com/onflow/flow-evm-gateway/issues/4) + - Indexer + - [Decode the events into relevant types](https://github.com/onflow/flow-evm-gateway/issues/16) + Cadence Execution - Reviving Batchscan to use for new performance & scalability metrics (for analyzing in-depth state data): [Upgrade dependencies](https://github.com/onflow/flow-batch-scan/pull/36) @@ -344,7 +352,10 @@ Cycle Objective(s): **Done last sprint** -* Completed initial EVM JSON-RPC infra standup for CrescendoNet +- Completed initial EVM JSON-RPC infra standup for Crescendo PreviewNet + - [Setup improvements for running the Flow EVM Gateway](https://github.com/onflow/flow-evm-gateway/pull/46) + - [Fix build errors](https://github.com/onflow/flow-evm-gateway/pull/50) + - [Setup terraform automation for Crescendo JSON-RPC node](https://github.com/onflow/flow-evm-gateway/pull/45) **This sprint** From 3fdb0890c17ae06f7326f23ff80babf800b1e94e Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 16 Feb 2024 07:58:36 -0800 Subject: [PATCH 062/626] Missed some updates --- .../sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 3bbe46898..2cd98f1dd 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -187,6 +187,9 @@ Cycle Objective(s): - BFT Mitigations - [Simplifying RPC inspection misbehavior notification handling](https://github.com/onflow/flow-go/pull/5398) - [GossipSub RPC inspection documentation](https://github.com/onflow/flow-go/pull/5362) +- Access Nodes + - KROK completed a PR to enable execution sync on the public network + **This sprint** @@ -199,7 +202,6 @@ Cycle Objective(s): - Access Nodes - Working on register caching for script exec - Fixing an issue with event order in streaming API and rolling local events in Access API to QN - - KROK completed a PR to enable execution sync on the public network **On Hold** - N/A @@ -224,15 +226,14 @@ Cycle Objective(s): **Done last sprint** -* Continued with doc revisions for Band Oracle +* Completed doc revisions for Band Oracle * Met with Pyth team who will report back on feasibility and timeline for EVM oracle integration * Completed LayerZero intake process * Continue Flow JVM-SDK update **This sprint** -* Complete final revision on Band Oracle docs and announce to community - +* **On Hold** - Waiting on Axelar changes to unblock launch at end of Q1 From 0b6284e149cb7792898662c9f03c610c015130df Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 16 Feb 2024 08:03:50 -0800 Subject: [PATCH 063/626] Minor update --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 2cd98f1dd..0a29ea142 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -188,7 +188,7 @@ Cycle Objective(s): - [Simplifying RPC inspection misbehavior notification handling](https://github.com/onflow/flow-go/pull/5398) - [GossipSub RPC inspection documentation](https://github.com/onflow/flow-go/pull/5362) - Access Nodes - - KROK completed a PR to enable execution sync on the public network + - [State Sync] Enable execution state sync to public network - KROK Team (https://github.com/onflow/flow-go/pull/5253) **This sprint** From 0c8a2b5a9b478df74b162f633dd913d76ef9dbcd Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 16 Feb 2024 08:08:06 -0800 Subject: [PATCH 064/626] Added missing objective --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 0a29ea142..b512929dd 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -350,6 +350,7 @@ Cycle Objective(s): ### **Infra - JP** Cycle Objective(s): - Migrate Flow metrics & logs to Flow Foundation grafana account to reduce cost on DapperLabs +- Support launch of PreviewNet (Crescendo) and EVM **Done last sprint** From 87421a5b044d90a8b743218376c604758ed2e8df Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 16 Feb 2024 08:16:02 -0800 Subject: [PATCH 065/626] More protocol updates --- .../sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index b512929dd..febe11986 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -187,6 +187,11 @@ Cycle Objective(s): - BFT Mitigations - [Simplifying RPC inspection misbehavior notification handling](https://github.com/onflow/flow-go/pull/5398) - [GossipSub RPC inspection documentation](https://github.com/onflow/flow-go/pull/5362) + - [Invalid topic ID threshold](https://github.com/onflow/flow-go/pull/5391) + - Flakey test debug and fix + - https://github.com/onflow/flow-go/pull/5374 + - https://github.com/onflow/flow-go/pull/5355 + - https://github.com/onflow/flow-go/pull/5323 - Access Nodes - [State Sync] Enable execution state sync to public network - KROK Team (https://github.com/onflow/flow-go/pull/5253) @@ -199,6 +204,10 @@ Cycle Objective(s): - Continue implementation of KV store - Execution state sync - [upgrading libp2p version to v0.32.0](https://github.com/onflow/flow-go/issues/4934) +- BFT Mitigations + - Continue to stabilize networking tests (debug, fix, upgrade) and add further improvements to the RPC inspector + - [Reject entire RPC from unstaked peer](https://github.com/dapperlabs/flow-internal/issues/1909) + - [Add deduplication to RPC inspector queue and update tests](https://github.com/dapperlabs/flow-internal/issues/1910) - Access Nodes - Working on register caching for script exec - Fixing an issue with event order in streaming API and rolling local events in Access API to QN From c15fc0a1c95089c50e0c946195707723bba0b7d4 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 16 Feb 2024 08:39:21 -0800 Subject: [PATCH 066/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index febe11986..74a2e18b8 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -384,12 +384,19 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf **Done last sprint** +- Market research on Flow transaction fees vs other networks +- Assessed gas to computation ratio - fixed at 1000:1 for crescendo network launch +- Handed over grant management and commitment projection tracker +- Impact of 10x vs 100x transaction fee on partners’ annual costs + * **This sprint** -- Research transaction fees on other L1s -- Research Transaction fees for Flow EVM. +- Research on inflation strategy +- Investigate the impact of computation limit increase +- Present Tokenomics proposals to GWG (27 Feb) - computation limit, g2c ratio, txn fee +- Publish Tokenomics & Governance Roadmap **On Hold** From 4376e5aeddcd8e9fae5167cb91a114c48240b9e8 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 16 Feb 2024 17:40:28 +0100 Subject: [PATCH 067/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 74a2e18b8..38cac9c64 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -4,6 +4,7 @@ * Released [CLI preview with Cadence 1.0 M7](https://forum.flow.com/t/update-on-cadence-1-0/5197/9?u=jan) * Cadence 1.0 migrations completed successfuly on Emulator state + * Migration of core contracts upgraded to 1.0 now passed through the updated contract upgrade checker. --- From eeed9cecd5d99c381011378bf597d4d3cfbc76b5 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 16 Feb 2024 17:51:41 +0100 Subject: [PATCH 068/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 38cac9c64..012b09abf 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -5,6 +5,7 @@ * Released [CLI preview with Cadence 1.0 M7](https://forum.flow.com/t/update-on-cadence-1-0/5197/9?u=jan) * Cadence 1.0 migrations completed successfuly on Emulator state * Migration of core contracts upgraded to 1.0 now passed through the updated contract upgrade checker. + * EVM Gateway end-end tests are passing now ! --- From 16b6a1d9e90a1441e4a669903075bcd685065342 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 16 Feb 2024 08:58:35 -0800 Subject: [PATCH 069/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 012b09abf..10458af94 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -9,18 +9,19 @@ --- -### Mainnet Uptime - Last 14 days (xx/xx/24 to xx/xx/24) \[Vishal] +### Mainnet Uptime - Last 14 days (02/02/24 to 02/16/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| | Collection Finalization | 99.9% | 100% | 0% | | Block Finalization | 99.9% | 100% | 0% | -| Transaction Execution | 99.9% | 100% | 0% | -| Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.97% | 32.2% | +| Transaction Execution | 99.9% | 99.94% | 59.5% | +| Block Sealing | 99.9% | 99.94% | 59.5% | +| Access API Liveness (02/02/24 to 02/16/24) | 99.9% | 99.97% | 29.8% | #### Incidents -* +* HCU on 7th Feb that took ~12 mins. +* Resource identifier changes ([respective](https://www.notion.so/dapperlabs/Resource-Identifier-changes-02-07-2024-f1ee35bf9575485a914d508aaa260c36)) --- From 4ce0267f03cb3322a77b9a21b1accca76aceb406 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 16 Feb 2024 09:00:06 -0800 Subject: [PATCH 070/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 10458af94..ca005c83d 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -19,6 +19,8 @@ | Block Sealing | 99.9% | 99.94% | 59.5% | | Access API Liveness (02/02/24 to 02/16/24) | 99.9% | 99.97% | 29.8% | +[YTD SLA](https://app.metrika.co/flow/dashboard/slas?tr=YTD): 99.99% + #### Incidents * HCU on 7th Feb that took ~12 mins. * Resource identifier changes ([respective](https://www.notion.so/dapperlabs/Resource-Identifier-changes-02-07-2024-f1ee35bf9575485a914d508aaa260c36)) From 4c631b368b6f58a49405e8e60a05b929ae1b3439 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 16 Feb 2024 18:05:17 +0100 Subject: [PATCH 071/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index ca005c83d..8bb4f36f9 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -6,6 +6,7 @@ * Cadence 1.0 migrations completed successfuly on Emulator state * Migration of core contracts upgraded to 1.0 now passed through the updated contract upgrade checker. * EVM Gateway end-end tests are passing now ! + * Delivered transaction manifest file updated to Cadence 1.0 to VacuumLabs, so they can finish the ledger app update. --- From c8c9c498e7f70f0343a1a064a341be2f87820731 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 16 Feb 2024 09:07:00 -0800 Subject: [PATCH 072/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 8bb4f36f9..ac5a102b6 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -47,12 +47,12 @@ * [Networking] FLIP: Message Forensic (MF) System #195 - no issue - **Remember**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) - + ### Key Release Dates & Breaking Changes -- Next Mainnet/Testnet network upgrade (spork): End of Feb - Crescendo update, Testnet and mainnet sporks TBD. -- Next Mainnet/Testnet HCU: Testnet HCU - Monday, 5th Feb, Mainnet HCU - Wednesday, 7th Feb. -- End of Cycle: +- End of Feb - Previewnet (separate network for FlowEVM and Cadence 1.0). +- Testnet and mainnet sporks TBD. + --- From 72e89f3fd455003ff10a7e8c4fd08702278b7992 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 16 Feb 2024 09:10:21 -0800 Subject: [PATCH 073/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index ac5a102b6..833cbf7e2 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -7,6 +7,7 @@ * Migration of core contracts upgraded to 1.0 now passed through the updated contract upgrade checker. * EVM Gateway end-end tests are passing now ! * Delivered transaction manifest file updated to Cadence 1.0 to VacuumLabs, so they can finish the ledger app update. + * HCU rolled out new cryptography module to mainnet. ([HCU release notes](https://github.com/onflow/flow-go/releases/tag/v0.33.8)) --- @@ -24,7 +25,7 @@ #### Incidents * HCU on 7th Feb that took ~12 mins. -* Resource identifier changes ([respective](https://www.notion.so/dapperlabs/Resource-Identifier-changes-02-07-2024-f1ee35bf9575485a914d508aaa260c36)) +* Resource identifier changes ([retrospective](https://www.notion.so/dapperlabs/Resource-Identifier-changes-02-07-2024-f1ee35bf9575485a914d508aaa260c36)) --- From 0ebf22088aa63c370e03acdc66360f2a332dfd17 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 16 Feb 2024 09:16:06 -0800 Subject: [PATCH 074/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 833cbf7e2..7a9295a91 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -8,6 +8,7 @@ * EVM Gateway end-end tests are passing now ! * Delivered transaction manifest file updated to Cadence 1.0 to VacuumLabs, so they can finish the ledger app update. * HCU rolled out new cryptography module to mainnet. ([HCU release notes](https://github.com/onflow/flow-go/releases/tag/v0.33.8)) + * Working group calls started with two UX WG calls and a Wallet WG call. Defi WG call later today. --- @@ -393,11 +394,9 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf - Market research on Flow transaction fees vs other networks - Assessed gas to computation ratio - fixed at 1000:1 for crescendo network launch -- Handed over grant management and commitment projection tracker +- Grant management and commitment projection tracker handoff to Michele from Kshtijij - Impact of 10x vs 100x transaction fee on partners’ annual costs -* - **This sprint** - Research on inflation strategy From 7336c41d448a54eca4cc95554f87b93c5dc8ddc1 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 16 Feb 2024 10:16:03 -0700 Subject: [PATCH 075/626] wip --- .../2024-02-16-Flow-Sprint-Kickoff.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 7a9295a91..b585b7ab8 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -368,8 +368,31 @@ Cycle Objective(s): Cycle Objective(s): - Migrate Flow metrics & logs to Flow Foundation grafana account to reduce cost on DapperLabs - Support launch of PreviewNet (Crescendo) and EVM +- Reduce observability costs **Done last sprint** +- Crescendo Previewnet + - [Create infrastructure for Crescendo Previewnet](https://github.com/dapperlabs/terraform/pull/4148) + - [Create configuration for Crescendo Previewnet](https://github.com/dapperlabs/dapper-flow-hosting/pull/1455) +- DapperLabs Node Support + - [Update nodes to reduce logging](https://github.com/dapperlabs/dapper-flow-hosting/pull/1447) +- Protocol Support + - [Create KMS Keys for staging contracts](https://github.com/dapperlabs/terraform/pull/4139) + - [Grant Flow Devex access to support hardware wallet migration](https://github.com/dapperlabs/terraform/pull/4146) +- Node Hosting Support + - [Update instance sizes on Crescendo & Devnet](https://github.com/dapperlabs/terraform/pull/4137) + - [Update disk space for nodes on Crescendo](https://github.com/dapperlabs/terraform/pull/4136) + - [Update Crescendo AN nodes sizes](https://github.com/dapperlabs/terraform/pull/4140) + - [Increase Devnet LN & VN disk sizes](https://github.com/dapperlabs/terraform/pull/4141) +- Grafana Migration + - [Work with team to identify metrics to drop to realize series savings](https://www.notion.so/dapperlabs/Observability-Savings-ff0b5320cbd54f8b958aedecf1f8a011) + - [Update cloud-init configurations to support new logging endpoint](https://github.com/dapperlabs/terraform/pull/4138) + - [Update historical Devnet logging configurations](httpr://github.com/dapperlabs/terraform/pull/4143) + - [Update prometheus to use new credentials and endpoint](https://github.com/dapperlabs/dapper-flow-hosting/pull/1453) + - [Update historical node configuration to use to use new credentials and reduce logging](https://github.com/dapperlabs/dapper-flow-hosting/pull/1450) + +- Crescendo Previewnet + - - Completed initial EVM JSON-RPC infra standup for Crescendo PreviewNet - [Setup improvements for running the Flow EVM Gateway](https://github.com/onflow/flow-evm-gateway/pull/46) From 40fcc9d880898a2fbe1e6ccca5d13a09bd2d71d3 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 16 Feb 2024 10:20:54 -0700 Subject: [PATCH 076/626] Add infra sprint plan --- .../2024-02-16-Flow-Sprint-Kickoff.md | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index b585b7ab8..575f72d37 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -391,22 +391,18 @@ Cycle Objective(s): - [Update prometheus to use new credentials and endpoint](https://github.com/dapperlabs/dapper-flow-hosting/pull/1453) - [Update historical node configuration to use to use new credentials and reduce logging](https://github.com/dapperlabs/dapper-flow-hosting/pull/1450) -- Crescendo Previewnet - - - - Completed initial EVM JSON-RPC infra standup for Crescendo PreviewNet - [Setup improvements for running the Flow EVM Gateway](https://github.com/onflow/flow-evm-gateway/pull/46) - [Fix build errors](https://github.com/onflow/flow-evm-gateway/pull/50) - [Setup terraform automation for Crescendo JSON-RPC node](https://github.com/onflow/flow-evm-gateway/pull/45) -**This sprint** - -**Goal of Sprint is to migrate from DapperLabs account to FlowFoundation account** -* - -**On Hold** -**Active Epics** +**Goal of Sprint is to prepare for GCP migration to FF account** +**This Sprint** +- Support Crescendo Previewnet by enabling alerting, observability, and configuration +- Begin preparing for GCP migration of accounts +- Migrate a single account to evaluate process of migration and rollback +- Begin dropping high cardinality metrics to reduce observability costs --- From d7681f4bb3db5e8d90d8a94ffd2d2068b19920d2 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 16 Feb 2024 10:23:07 -0700 Subject: [PATCH 077/626] Fix link --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 575f72d37..49d533602 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -387,7 +387,7 @@ Cycle Objective(s): - Grafana Migration - [Work with team to identify metrics to drop to realize series savings](https://www.notion.so/dapperlabs/Observability-Savings-ff0b5320cbd54f8b958aedecf1f8a011) - [Update cloud-init configurations to support new logging endpoint](https://github.com/dapperlabs/terraform/pull/4138) - - [Update historical Devnet logging configurations](httpr://github.com/dapperlabs/terraform/pull/4143) + - [Update historical Devnet logging configurations](https://github.com/dapperlabs/terraform/pull/4143) - [Update prometheus to use new credentials and endpoint](https://github.com/dapperlabs/dapper-flow-hosting/pull/1453) - [Update historical node configuration to use to use new credentials and reduce logging](https://github.com/dapperlabs/dapper-flow-hosting/pull/1450) From 1c530bb09ef1260353085eab28e74f02ebe2af33 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 16 Feb 2024 10:24:02 -0700 Subject: [PATCH 078/626] Update infra agenda --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 49d533602..e9f61f2b1 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -379,6 +379,7 @@ Cycle Objective(s): - Protocol Support - [Create KMS Keys for staging contracts](https://github.com/dapperlabs/terraform/pull/4139) - [Grant Flow Devex access to support hardware wallet migration](https://github.com/dapperlabs/terraform/pull/4146) + - Assisted with Canary, Devnet, and Mainnet HCUs for DL & FF nodes - Node Hosting Support - [Update instance sizes on Crescendo & Devnet](https://github.com/dapperlabs/terraform/pull/4137) - [Update disk space for nodes on Crescendo](https://github.com/dapperlabs/terraform/pull/4136) From b8b44988699c2b88129759813b31a7961d2fa285 Mon Sep 17 00:00:00 2001 From: Jeff Doyle Date: Fri, 16 Feb 2024 09:35:58 -0800 Subject: [PATCH 079/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- .../2024-02-16-Flow-Sprint-Kickoff.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index e9f61f2b1..50c128afa 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -345,14 +345,18 @@ Cycle Objective(s): **Done last sprint** -- N/A +- Had an intro conversations MetaMask & WalletConnect about supporting FlowEVM. +- Created & shipped initial developer documentation for FlowEVM. +- Had the first Wallet Working Group where we introduced FlowEVM for wallet developers +- Shipped a wallet integration guide for FlowEVM. +- Introduced Passkey initiative for Flow Reference Wallet. +- Started UI updates to Flow Reference Wallet for FlowEVM support. **This sprint** -- Begin creating developer documentation highlighting FlowEVM -- Updating cadence transactions / scripts for Cadence 1.0 -- Begin executing on FlowEVM updates to Flow Wallet -- Scheduled calls with MetaMask and Coinbase Wallet teams to intro FlowEVM and gather their requirements. +- Continue updating cadence transactions / scripts for Cadence 1.0. +- Continue Flow Reference Wallet UI updates for FlowEVM. +- Prepare MSCOW planning to ensure we meet our commited release timelines. **On Hold** From a9fdeee1f97c8af0d6e20070cd91fea9cce1b4f8 Mon Sep 17 00:00:00 2001 From: Jeff Doyle Date: Fri, 16 Feb 2024 09:38:22 -0800 Subject: [PATCH 080/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 50c128afa..022e34adf 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -345,9 +345,11 @@ Cycle Objective(s): **Done last sprint** +- Met with Blockaid and began the process of securing a partnership to support FlowEVM. - Had an intro conversations MetaMask & WalletConnect about supporting FlowEVM. -- Created & shipped initial developer documentation for FlowEVM. -- Had the first Wallet Working Group where we introduced FlowEVM for wallet developers +- Reached out to Coinbase wallet to begin conversation about supporting FlowEVM. +- Created & shipped initial developer documentation for FlowEVM, live on the doc site. +- Had the first Wallet Working Group where we introduced FlowEVM for wallet developers. - Shipped a wallet integration guide for FlowEVM. - Introduced Passkey initiative for Flow Reference Wallet. - Started UI updates to Flow Reference Wallet for FlowEVM support. @@ -357,6 +359,7 @@ Cycle Objective(s): - Continue updating cadence transactions / scripts for Cadence 1.0. - Continue Flow Reference Wallet UI updates for FlowEVM. - Prepare MSCOW planning to ensure we meet our commited release timelines. +- Continue conversations with targeted partners for FlowEVM launch. **On Hold** From d315dfc9d1217ec49312fb5ff82bc9ccaf63496e Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 16 Feb 2024 09:59:37 -0800 Subject: [PATCH 081/626] Add win --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 022e34adf..8a4a34e70 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -9,6 +9,7 @@ * Delivered transaction manifest file updated to Cadence 1.0 to VacuumLabs, so they can finish the ledger app update. * HCU rolled out new cryptography module to mainnet. ([HCU release notes](https://github.com/onflow/flow-go/releases/tag/v0.33.8)) * Working group calls started with two UX WG calls and a Wallet WG call. Defi WG call later today. + * EVM infra setup for Crescendo PreviewNet is complete --- From bf246d25862dbcbc900e651ef15e94df2c84d7bb Mon Sep 17 00:00:00 2001 From: Jeff Doyle Date: Fri, 16 Feb 2024 10:02:33 -0800 Subject: [PATCH 082/626] Update 2024-02-16-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md index 8a4a34e70..11dee1df2 100644 --- a/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-02-16-Flow-Sprint-Kickoff.md @@ -359,7 +359,7 @@ Cycle Objective(s): - Continue updating cadence transactions / scripts for Cadence 1.0. - Continue Flow Reference Wallet UI updates for FlowEVM. -- Prepare MSCOW planning to ensure we meet our commited release timelines. +- MSCOW planning to ensure we meet our commited release timeline for Flow Reference Wallet. - Continue conversations with targeted partners for FlowEVM launch. **On Hold** From 4e62ad8f570d30214808d0c719fcad0fc88809ce Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Mon, 19 Feb 2024 14:09:29 +0200 Subject: [PATCH 083/626] Added SubscribeBlockHeaders and SubscribeBlockDigests rpc calls --- protobuf/flow/access/access.proto | 84 ++++ protobuf/go/flow/access/access.pb.go | 524 ++++++++++++++++------ protobuf/go/flow/access/access_grpc.pb.go | 162 ++++++- 3 files changed, 632 insertions(+), 138 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 3d6d34ad6..5b27a4d12 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -170,6 +170,28 @@ service AccessAPI { rpc SubscribeBlocks(SubscribeBlocksRequest) returns (stream SubscribeBlocksResponse); + // SubscribeBlockHeaders streams finalized or sealed block headers starting at the requested + // start block, up until the latest available block header. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block header as it becomes available. + // + // Each block header are filtered by the provided block status, and only + // those block headers that match the status are returned. + // + // This is a lighter version of `SubscribeBlocks` as it will never include the heavy `BlockPayload`. + rpc SubscribeBlockHeaders(SubscribeBlockHeadersRequest) + returns (stream SubscribeBlockHeadersResponse); + + // SubscribeBlockDigests streams finalized or sealed lightweight block starting at the requested + // start block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Each lightweight block are filtered by the provided block status, and only + // those blocks that match the status are returned. + rpc SubscribeBlockDigests(SubscribeBlockDigestsRequest) + returns (stream SubscribeBlockDigestsResponse); + // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. rpc SendAndSubscribeTransactionStatuses(SendAndSubscribeTransactionStatusesRequest) @@ -460,6 +482,68 @@ message SubscribeBlocksResponse { entities.Block block = 1; } +// The request for SubscribeBlockHeaders +message SubscribeBlockHeadersRequest { + // Block ID of the first block header to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block header is used. + bytes start_block_id = 1; + + // Block height of the first block header to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block header is used. + uint64 start_block_height = 2; + + // Preferred block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 3; +} + +// The response for SubscribeBlockHeaders +message SubscribeBlockHeadersResponse { + // The sealed or finalized block headers according to the block status + // in the request. + entities.BlockHeader header = 1; +} + +// The request for SubscribeBlockDigests +message SubscribeBlockDigestsRequest { + // Block ID of the first block to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed lightweight block is used. + bytes start_block_id = 1; + + // Block height of the first block to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed lightweight block is used. + uint64 start_block_height = 2; + + // Preferred block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 3; +} + +// The response for SubscribeBlockDigests +message SubscribeBlockDigestsResponse { + // The block ID of the new sealed or finalized block according to the block status + // in the request. + bytes block_id = 1; + // The block height of the new sealed or finalized block according to the block status + // in the request. + uint64 block_height = 2; + // The timestamp of the new sealed or finalized block according to the block status + // in the request. + google.protobuf.Timestamp block_timestamp = 3; +} + // Request message for sending a transaction and subscribing to its status changes. message SendAndSubscribeTransactionStatusesRequest { // The transaction to be sent and tracked for status changes. diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 4c4f5e143..e12ae02f3 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2377,6 +2377,246 @@ func (m *SubscribeBlocksResponse) GetBlock() *entities.Block { return nil } +// The request for SubscribeBlockHeaders +type SubscribeBlockHeadersRequest struct { + // Block ID of the first block header to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block header is used. + StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` + // Block height of the first block header to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block header is used. + StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Preferred block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,3,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlockHeadersRequest) Reset() { *m = SubscribeBlockHeadersRequest{} } +func (m *SubscribeBlockHeadersRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlockHeadersRequest) ProtoMessage() {} +func (*SubscribeBlockHeadersRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{49} +} + +func (m *SubscribeBlockHeadersRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockHeadersRequest.Unmarshal(m, b) +} +func (m *SubscribeBlockHeadersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockHeadersRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeBlockHeadersRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockHeadersRequest.Merge(m, src) +} +func (m *SubscribeBlockHeadersRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockHeadersRequest.Size(m) +} +func (m *SubscribeBlockHeadersRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockHeadersRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlockHeadersRequest proto.InternalMessageInfo + +func (m *SubscribeBlockHeadersRequest) GetStartBlockId() []byte { + if m != nil { + return m.StartBlockId + } + return nil +} + +func (m *SubscribeBlockHeadersRequest) GetStartBlockHeight() uint64 { + if m != nil { + return m.StartBlockHeight + } + return 0 +} + +func (m *SubscribeBlockHeadersRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN +} + +// The response for SubscribeBlockHeaders +type SubscribeBlockHeadersResponse struct { + // The sealed or finalized block headers according to the block status + // in the request. + Header *entities.BlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlockHeadersResponse) Reset() { *m = SubscribeBlockHeadersResponse{} } +func (m *SubscribeBlockHeadersResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlockHeadersResponse) ProtoMessage() {} +func (*SubscribeBlockHeadersResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{50} +} + +func (m *SubscribeBlockHeadersResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockHeadersResponse.Unmarshal(m, b) +} +func (m *SubscribeBlockHeadersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockHeadersResponse.Marshal(b, m, deterministic) +} +func (m *SubscribeBlockHeadersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockHeadersResponse.Merge(m, src) +} +func (m *SubscribeBlockHeadersResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockHeadersResponse.Size(m) +} +func (m *SubscribeBlockHeadersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockHeadersResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlockHeadersResponse proto.InternalMessageInfo + +func (m *SubscribeBlockHeadersResponse) GetHeader() *entities.BlockHeader { + if m != nil { + return m.Header + } + return nil +} + +// The request for SubscribeBlockDigests +type SubscribeBlockDigestsRequest struct { + // Block ID of the first block to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed lightweight block is used. + StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` + // Block height of the first block to subscribe. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed lightweight block is used. + StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Preferred block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,3,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlockDigestsRequest) Reset() { *m = SubscribeBlockDigestsRequest{} } +func (m *SubscribeBlockDigestsRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlockDigestsRequest) ProtoMessage() {} +func (*SubscribeBlockDigestsRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{51} +} + +func (m *SubscribeBlockDigestsRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockDigestsRequest.Unmarshal(m, b) +} +func (m *SubscribeBlockDigestsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockDigestsRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeBlockDigestsRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockDigestsRequest.Merge(m, src) +} +func (m *SubscribeBlockDigestsRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockDigestsRequest.Size(m) +} +func (m *SubscribeBlockDigestsRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockDigestsRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlockDigestsRequest proto.InternalMessageInfo + +func (m *SubscribeBlockDigestsRequest) GetStartBlockId() []byte { + if m != nil { + return m.StartBlockId + } + return nil +} + +func (m *SubscribeBlockDigestsRequest) GetStartBlockHeight() uint64 { + if m != nil { + return m.StartBlockHeight + } + return 0 +} + +func (m *SubscribeBlockDigestsRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN +} + +// The response for SubscribeBlockDigests +type SubscribeBlockDigestsResponse struct { + // The block ID of the new sealed or finalized block according to the block status + // in the request. + BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` + // The block height of the new sealed or finalized block according to the block status + // in the request. + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + // The timestamp of the new sealed or finalized block according to the block status + // in the request. + BlockTimestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=block_timestamp,json=blockTimestamp,proto3" json:"block_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlockDigestsResponse) Reset() { *m = SubscribeBlockDigestsResponse{} } +func (m *SubscribeBlockDigestsResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlockDigestsResponse) ProtoMessage() {} +func (*SubscribeBlockDigestsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{52} +} + +func (m *SubscribeBlockDigestsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockDigestsResponse.Unmarshal(m, b) +} +func (m *SubscribeBlockDigestsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockDigestsResponse.Marshal(b, m, deterministic) +} +func (m *SubscribeBlockDigestsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockDigestsResponse.Merge(m, src) +} +func (m *SubscribeBlockDigestsResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockDigestsResponse.Size(m) +} +func (m *SubscribeBlockDigestsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockDigestsResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlockDigestsResponse proto.InternalMessageInfo + +func (m *SubscribeBlockDigestsResponse) GetBlockId() []byte { + if m != nil { + return m.BlockId + } + return nil +} + +func (m *SubscribeBlockDigestsResponse) GetBlockHeight() uint64 { + if m != nil { + return m.BlockHeight + } + return 0 +} + +func (m *SubscribeBlockDigestsResponse) GetBlockTimestamp() *timestamppb.Timestamp { + if m != nil { + return m.BlockTimestamp + } + return nil +} + // Request message for sending a transaction and subscribing to its status changes. type SendAndSubscribeTransactionStatusesRequest struct { // The transaction to be sent and tracked for status changes. @@ -2394,7 +2634,7 @@ func (m *SendAndSubscribeTransactionStatusesRequest) String() string { } func (*SendAndSubscribeTransactionStatusesRequest) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{49} + return fileDescriptor_4382e32bb8e3e8e5, []int{53} } func (m *SendAndSubscribeTransactionStatusesRequest) XXX_Unmarshal(b []byte) error { @@ -2449,7 +2689,7 @@ func (m *SendAndSubscribeTransactionStatusesResponse) String() string { } func (*SendAndSubscribeTransactionStatusesResponse) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{50} + return fileDescriptor_4382e32bb8e3e8e5, []int{54} } func (m *SendAndSubscribeTransactionStatusesResponse) XXX_Unmarshal(b []byte) error { @@ -2542,6 +2782,10 @@ func init() { proto.RegisterType((*ExecutionResultByIDResponse)(nil), "flow.access.ExecutionResultByIDResponse") proto.RegisterType((*SubscribeBlocksRequest)(nil), "flow.access.SubscribeBlocksRequest") proto.RegisterType((*SubscribeBlocksResponse)(nil), "flow.access.SubscribeBlocksResponse") + proto.RegisterType((*SubscribeBlockHeadersRequest)(nil), "flow.access.SubscribeBlockHeadersRequest") + proto.RegisterType((*SubscribeBlockHeadersResponse)(nil), "flow.access.SubscribeBlockHeadersResponse") + proto.RegisterType((*SubscribeBlockDigestsRequest)(nil), "flow.access.SubscribeBlockDigestsRequest") + proto.RegisterType((*SubscribeBlockDigestsResponse)(nil), "flow.access.SubscribeBlockDigestsResponse") proto.RegisterType((*SendAndSubscribeTransactionStatusesRequest)(nil), "flow.access.SendAndSubscribeTransactionStatusesRequest") proto.RegisterType((*SendAndSubscribeTransactionStatusesResponse)(nil), "flow.access.SendAndSubscribeTransactionStatusesResponse") } @@ -2549,139 +2793,145 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2141 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8, - 0x15, 0x07, 0x25, 0xc7, 0xb6, 0x9e, 0x65, 0x27, 0x19, 0x7b, 0x1d, 0x99, 0x8e, 0x63, 0x85, 0x4e, - 0x1a, 0x6f, 0x92, 0xca, 0x81, 0xb7, 0xc5, 0x66, 0xb7, 0x7f, 0x50, 0x3b, 0x75, 0xbd, 0x06, 0x92, - 0x85, 0x41, 0x67, 0x53, 0x6c, 0xdb, 0x8d, 0x40, 0x8b, 0x63, 0x99, 0x8d, 0x44, 0xaa, 0x24, 0x95, - 0xc4, 0x6d, 0x0f, 0x7b, 0x58, 0x14, 0x05, 0x7a, 0xe8, 0x71, 0xd1, 0xa2, 0x3d, 0xf5, 0xd4, 0x5e, - 0x7a, 0xea, 0xa1, 0xe8, 0xa1, 0x40, 0xbf, 0x41, 0xcf, 0xfd, 0x32, 0x05, 0xdf, 0x0c, 0x29, 0xce, - 0x70, 0x48, 0x51, 0x4a, 0x17, 0xe9, 0x65, 0x37, 0x9c, 0x79, 0xf3, 0xfe, 0xcf, 0x9b, 0xf7, 0x7e, - 0x32, 0x34, 0xce, 0x7a, 0xde, 0xab, 0x1d, 0xab, 0xd3, 0xa1, 0x41, 0xc0, 0xff, 0xd7, 0x1a, 0xf8, - 0x5e, 0xe8, 0x91, 0x85, 0x68, 0xa7, 0xc5, 0x96, 0xf4, 0x75, 0x24, 0xa3, 0x6e, 0xe8, 0x84, 0x0e, - 0x45, 0x42, 0x6f, 0xe8, 0x86, 0x8c, 0x52, 0x6f, 0x8a, 0x9b, 0xa7, 0x3d, 0xaf, 0xf3, 0xa2, 0x7d, - 0x4e, 0x2d, 0x9b, 0xfa, 0x9c, 0x62, 0x4d, 0x41, 0xc1, 0xb7, 0x6e, 0x88, 0x5b, 0x1d, 0xaf, 0xd7, - 0xa3, 0x9d, 0xd0, 0xf1, 0x5c, 0xf5, 0x51, 0xfa, 0x92, 0x26, 0x72, 0x6f, 0x49, 0x5b, 0xaf, 0x69, - 0x67, 0x18, 0x9d, 0x6c, 0xfb, 0x34, 0x18, 0xf6, 0x62, 0xaa, 0xeb, 0x22, 0x55, 0x9f, 0x86, 0x96, - 0x6d, 0x85, 0x16, 0xdf, 0xbd, 0x2d, 0xee, 0xba, 0x9e, 0x4d, 0xdb, 0x2f, 0xa9, 0x1f, 0x44, 0x6c, - 0x1c, 0xf7, 0xcc, 0xe3, 0x64, 0x9b, 0x22, 0x59, 0xe8, 0x5b, 0x6e, 0x60, 0xa5, 0xd5, 0xdc, 0xec, - 0x7a, 0x5e, 0xb7, 0x47, 0x77, 0xf0, 0xeb, 0x74, 0x78, 0xb6, 0x13, 0x3a, 0x7d, 0x1a, 0x84, 0x56, - 0x7f, 0xc0, 0x08, 0x8c, 0x45, 0x58, 0x38, 0x76, 0xdc, 0xae, 0x49, 0x7f, 0x36, 0xa4, 0x41, 0x68, - 0x2c, 0x41, 0x9d, 0x7d, 0x06, 0x03, 0xcf, 0x0d, 0xa8, 0xb1, 0x0e, 0x6b, 0x87, 0x34, 0xfc, 0xd8, - 0xb3, 0xe9, 0x33, 0x26, 0xfd, 0xc8, 0x3d, 0xf3, 0x62, 0xe2, 0x63, 0xd0, 0x55, 0x9b, 0xec, 0x28, - 0xd9, 0x85, 0x99, 0x48, 0xd3, 0x86, 0xd6, 0xd4, 0xb6, 0x17, 0x76, 0x6f, 0xb4, 0x30, 0x6e, 0xb1, - 0xaa, 0x2d, 0xf9, 0x14, 0xd2, 0x1a, 0x1f, 0xc2, 0xfa, 0x21, 0x0d, 0x1f, 0x5b, 0x21, 0x0d, 0xc2, - 0xfd, 0x28, 0x1a, 0x1f, 0x61, 0xb8, 0xb8, 0x40, 0xb2, 0x0e, 0x35, 0x27, 0x68, 0x07, 0xd4, 0xea, - 0x51, 0x1b, 0xf9, 0xce, 0x9b, 0xf3, 0x4e, 0x70, 0x82, 0xdf, 0xc6, 0x3d, 0x54, 0x35, 0x75, 0x6a, - 0xff, 0xe2, 0xe8, 0xfb, 0xf1, 0xc9, 0x25, 0xa8, 0x38, 0xec, 0x48, 0xdd, 0xac, 0x38, 0xb6, 0xf1, - 0x3e, 0x6c, 0xc8, 0xc4, 0x1f, 0x51, 0xa7, 0x7b, 0x1e, 0xc6, 0x07, 0x56, 0x61, 0xf6, 0x1c, 0x17, - 0xf0, 0xd0, 0x8c, 0xc9, 0xbf, 0x8c, 0x7f, 0x68, 0xb0, 0x2c, 0x68, 0xc6, 0xad, 0x7d, 0x00, 0x97, - 0x30, 0x7d, 0xb8, 0xb9, 0xba, 0x64, 0x6e, 0xfa, 0x08, 0x23, 0x24, 0xdf, 0x81, 0x3a, 0x4b, 0xc9, - 0x20, 0xb4, 0xc2, 0x61, 0xd0, 0xa8, 0x34, 0xb5, 0xed, 0x25, 0xf5, 0xc1, 0x13, 0xa4, 0x30, 0x17, - 0x4e, 0x47, 0x1f, 0xe4, 0x3d, 0x98, 0x8f, 0x73, 0xa6, 0x51, 0x45, 0x99, 0xd7, 0xa4, 0xa3, 0x4f, - 0xf8, 0xb6, 0x99, 0x10, 0x1a, 0x36, 0xbc, 0x23, 0xfa, 0xb7, 0x8c, 0x67, 0x49, 0x0b, 0x96, 0xcf, - 0x86, 0xbd, 0x5e, 0x9b, 0xa9, 0xeb, 0x73, 0x93, 0x51, 0xe1, 0x79, 0xf3, 0x6a, 0xb4, 0xc5, 0x79, - 0xf1, 0xa4, 0xf9, 0x04, 0x96, 0x63, 0xe7, 0x16, 0xc4, 0x60, 0x62, 0xb6, 0x16, 0x5c, 0x1b, 0xb1, - 0x2d, 0x15, 0xad, 0x89, 0x45, 0xfc, 0x55, 0x83, 0x45, 0x61, 0x85, 0xdc, 0x15, 0xe3, 0xba, 0xa2, - 0x0a, 0xcf, 0xdb, 0x8c, 0xe8, 0x5d, 0x68, 0x1c, 0xd2, 0xf0, 0x51, 0x52, 0x9e, 0x8a, 0x92, 0xfe, - 0x0b, 0x0d, 0xc8, 0x88, 0x32, 0x31, 0xf1, 0x03, 0x80, 0x51, 0x79, 0xe3, 0x76, 0xae, 0x49, 0x92, - 0x53, 0xc7, 0x52, 0xc4, 0x82, 0xca, 0x95, 0xb2, 0x2a, 0x3f, 0x83, 0xd5, 0x13, 0xea, 0xda, 0x4f, - 0x47, 0xc5, 0x2a, 0x56, 0xf8, 0xdb, 0xb0, 0x90, 0x2a, 0x61, 0x39, 0x57, 0x29, 0x7d, 0x2e, 0x4d, - 0x6e, 0x3c, 0x87, 0x6b, 0x19, 0xbe, 0xdc, 0x44, 0x39, 0xf5, 0xa6, 0xd2, 0xfb, 0x5f, 0x1a, 0xde, - 0x1e, 0x85, 0xde, 0x32, 0xfb, 0x35, 0x98, 0x67, 0x89, 0xe0, 0xd8, 0xc8, 0xbe, 0x6e, 0xce, 0xe1, - 0xf7, 0x91, 0x4d, 0xb6, 0x60, 0x71, 0xe4, 0xbf, 0x68, 0xbf, 0x8a, 0xfb, 0xf5, 0xd1, 0xe2, 0x91, - 0x4d, 0x3e, 0x85, 0x55, 0x7c, 0x50, 0xda, 0xd4, 0xed, 0x78, 0xb6, 0xe3, 0x76, 0xe3, 0xda, 0xdf, - 0x98, 0xc1, 0x94, 0xda, 0x92, 0x94, 0x3d, 0x88, 0x88, 0x0f, 0x38, 0x2d, 0xaf, 0xaa, 0xe6, 0x0a, - 0x55, 0xac, 0x1a, 0x0f, 0xb1, 0xc2, 0x9e, 0x5c, 0x04, 0x21, 0xed, 0x2b, 0x2c, 0x49, 0x6b, 0xae, - 0x09, 0x9a, 0x1b, 0xbf, 0xd3, 0xe0, 0xa6, 0xfa, 0x68, 0xf4, 0xaa, 0x8d, 0x67, 0x50, 0x60, 0x55, - 0xe5, 0x4d, 0xad, 0xfa, 0x8b, 0x06, 0xd7, 0xc5, 0xd0, 0xec, 0x5f, 0x1c, 0xb9, 0x36, 0x7d, 0x5d, - 0x42, 0xad, 0x15, 0xb8, 0xe4, 0x44, 0xa4, 0xa8, 0xc5, 0xa2, 0xc9, 0x3e, 0x0a, 0x94, 0xad, 0xbe, - 0xa9, 0xb2, 0x5f, 0x6a, 0xb0, 0x29, 0x2a, 0x1b, 0xec, 0x5f, 0x60, 0x55, 0x18, 0x5d, 0xdd, 0xb7, - 0xe6, 0x46, 0x3d, 0x13, 0xd9, 0x20, 0xb9, 0x45, 0x3f, 0x84, 0xe5, 0xd4, 0x7d, 0xe3, 0xed, 0x4c, - 0xd0, 0xd0, 0x9a, 0xd5, 0xed, 0x85, 0xdd, 0xaf, 0xb5, 0x52, 0x8d, 0x59, 0x4b, 0x91, 0x1f, 0x8c, - 0x89, 0x49, 0xc2, 0x8c, 0x80, 0xe9, 0xae, 0xe3, 0x6f, 0x34, 0x58, 0x49, 0xfb, 0x30, 0x51, 0xf3, - 0xbb, 0x50, 0x4f, 0xc9, 0x88, 0xf5, 0x2b, 0x2a, 0x23, 0x02, 0xfd, 0x74, 0xda, 0xfc, 0x5a, 0x83, - 0x65, 0x55, 0xe5, 0x79, 0xa3, 0x92, 0x36, 0x9d, 0x2a, 0x7f, 0xab, 0xc2, 0x5a, 0xae, 0xff, 0xc9, - 0x43, 0x98, 0xe5, 0xcf, 0x93, 0x86, 0xe9, 0xd2, 0xcc, 0xd7, 0x85, 0x3f, 0x52, 0x9c, 0x9e, 0x6c, - 0xc2, 0x02, 0xfb, 0x57, 0xbb, 0xe3, 0xd9, 0x94, 0x5f, 0x17, 0x60, 0x4b, 0x8f, 0x3c, 0x9b, 0x46, - 0xb5, 0x8d, 0xfa, 0xbe, 0xe7, 0xb7, 0xfb, 0x34, 0x08, 0xac, 0x2e, 0xc5, 0xab, 0x52, 0x33, 0xeb, - 0xb8, 0xf8, 0x84, 0xad, 0x91, 0xfb, 0x30, 0x8b, 0xb9, 0x17, 0x34, 0x66, 0x30, 0x2e, 0x2b, 0xaa, - 0x74, 0x35, 0x39, 0x8d, 0x70, 0x0f, 0x2e, 0x89, 0xf7, 0xe0, 0x36, 0x2c, 0xa5, 0xb3, 0xd1, 0xb1, - 0x1b, 0xb3, 0x48, 0xb0, 0x98, 0x5a, 0x55, 0x15, 0xdc, 0x39, 0x45, 0xc1, 0xbd, 0x19, 0xbf, 0xdc, - 0xbc, 0x8b, 0x98, 0xc7, 0x2e, 0x82, 0xbd, 0xce, 0xac, 0xd3, 0x10, 0x42, 0x51, 0x2b, 0x19, 0x0a, - 0x72, 0x0f, 0xae, 0x76, 0xbc, 0xfe, 0x60, 0x18, 0x5a, 0x28, 0x7d, 0x88, 0x5e, 0x01, 0x64, 0x7e, - 0x25, 0xb5, 0xf1, 0x49, 0xb4, 0x6e, 0x7c, 0x1d, 0xae, 0x1e, 0xd2, 0x70, 0x8f, 0xcd, 0x30, 0x71, - 0x21, 0x68, 0xc0, 0x9c, 0x65, 0xdb, 0x3e, 0x0d, 0x82, 0xb8, 0x0e, 0xf0, 0x4f, 0xe3, 0x17, 0x40, - 0xd2, 0xe4, 0x49, 0x1f, 0x3a, 0xc7, 0xa7, 0x20, 0x9e, 0x6b, 0xab, 0x92, 0x96, 0xf1, 0x81, 0x98, - 0x6c, 0xba, 0x1c, 0xfb, 0x10, 0x6e, 0x8c, 0x84, 0xef, 0xa9, 0x3a, 0xca, 0x7c, 0xc5, 0x5f, 0xc3, - 0xe5, 0xb7, 0xa4, 0xf5, 0x67, 0xa2, 0xd6, 0xfb, 0xa3, 0xf0, 0x8e, 0xd5, 0x3a, 0x93, 0x22, 0x95, - 0x4c, 0x8a, 0x18, 0x9f, 0xc2, 0xcd, 0x03, 0x1c, 0xf6, 0xe8, 0x49, 0xc7, 0x77, 0x06, 0x6a, 0xbf, - 0xac, 0xc2, 0x6c, 0x80, 0xbb, 0x5c, 0x00, 0xff, 0x22, 0xd7, 0xa1, 0x66, 0xf9, 0xdd, 0x61, 0x1f, - 0xaf, 0x46, 0xa5, 0x59, 0xdd, 0xae, 0x9b, 0xa3, 0x05, 0x63, 0x00, 0x1b, 0x12, 0xeb, 0xf2, 0x0f, - 0xc6, 0x48, 0x62, 0x25, 0x5f, 0x62, 0x55, 0x96, 0xf8, 0xcb, 0x8c, 0x31, 0x0a, 0x77, 0xc9, 0x4e, - 0xd1, 0xb2, 0xf7, 0x66, 0x3a, 0xe9, 0xbf, 0xd5, 0xe0, 0x1d, 0x41, 0x7c, 0x92, 0x2a, 0x2b, 0x70, - 0xe9, 0xa5, 0xd5, 0x1b, 0x52, 0x6e, 0x25, 0xfb, 0x98, 0x2a, 0x1d, 0xd4, 0xb7, 0xb3, 0x9a, 0x73, - 0x3b, 0xff, 0xad, 0x61, 0xf2, 0x60, 0x79, 0x0a, 0x7e, 0xe0, 0xf9, 0xdc, 0x11, 0x96, 0xdb, 0xa5, - 0xb1, 0x37, 0x08, 0xcc, 0x84, 0x17, 0x03, 0xa6, 0x59, 0xcd, 0xc4, 0x7f, 0x47, 0x1e, 0x0a, 0x42, - 0xcb, 0x0f, 0xa5, 0xb4, 0xc1, 0x35, 0xee, 0xa1, 0x0d, 0x00, 0xea, 0xda, 0x31, 0x01, 0x93, 0x5f, - 0xa3, 0xae, 0xcd, 0xb7, 0xbf, 0xc2, 0x66, 0xf0, 0xcf, 0x1a, 0x76, 0x83, 0x89, 0x4d, 0x3c, 0xa7, - 0x82, 0x22, 0x83, 0xd6, 0xa1, 0x16, 0x27, 0x5a, 0x9c, 0xa7, 0xf3, 0x3c, 0xd3, 0x82, 0xaf, 0xb2, - 0x6b, 0xfa, 0x67, 0x05, 0x96, 0x98, 0xa2, 0xa9, 0xb7, 0x75, 0x4e, 0xec, 0x41, 0x0c, 0xa1, 0x07, - 0x11, 0xa9, 0x5b, 0xfc, 0x1d, 0x8c, 0x8f, 0x4c, 0x95, 0x32, 0xfa, 0xdf, 0x35, 0x98, 0x65, 0x8c, - 0x8a, 0x6e, 0xdc, 0xf8, 0x5a, 0x91, 0x7a, 0x06, 0xab, 0x25, 0x9e, 0xc1, 0x47, 0x70, 0x99, 0x31, - 0x4c, 0xe0, 0x1b, 0x0c, 0x7e, 0xd4, 0x49, 0x30, 0x80, 0xa7, 0x15, 0x03, 0x3c, 0xad, 0xa7, 0x31, - 0x85, 0xb9, 0x84, 0x47, 0x92, 0x6f, 0x63, 0x03, 0x83, 0xfd, 0x31, 0x0d, 0x5f, 0x79, 0xfe, 0x8b, - 0x63, 0xcb, 0xb7, 0xfa, 0x34, 0xa4, 0x7e, 0x1c, 0x6c, 0xe3, 0x03, 0x6c, 0xa1, 0x15, 0xdb, 0xdc, - 0xdb, 0x6b, 0x30, 0xdf, 0x39, 0xb7, 0x1c, 0x37, 0xb6, 0xb7, 0x66, 0xce, 0xe1, 0xf7, 0x91, 0x6d, - 0xdc, 0x81, 0xdb, 0x09, 0xac, 0x70, 0x1c, 0x29, 0xd2, 0xf1, 0x7a, 0x51, 0xf3, 0x40, 0x4f, 0x5c, - 0x6b, 0x10, 0x9c, 0x7b, 0x71, 0xbd, 0x30, 0x0e, 0x60, 0xfb, 0x90, 0xaa, 0x49, 0x26, 0x68, 0x81, - 0x8d, 0xc7, 0x70, 0x27, 0x9f, 0xcd, 0xa4, 0x15, 0x2a, 0x1a, 0x8b, 0x37, 0x72, 0xb4, 0xe6, 0xa6, - 0xb7, 0x80, 0x04, 0xd4, 0x77, 0xac, 0x9e, 0xf3, 0x73, 0x6a, 0xc7, 0xbb, 0x5c, 0x29, 0xc5, 0xce, - 0x74, 0x8f, 0xd3, 0xf7, 0x60, 0x2b, 0xba, 0x8b, 0x31, 0x5a, 0xc8, 0xb2, 0x6c, 0x74, 0x29, 0x4b, - 0xb8, 0xe5, 0x4f, 0x5a, 0x5c, 0xb3, 0x95, 0xe7, 0xb9, 0x31, 0x47, 0x70, 0x45, 0x86, 0x24, 0x73, - 0x30, 0x3a, 0x89, 0x97, 0x79, 0x99, 0x8a, 0x0b, 0xd3, 0xd9, 0xb9, 0x83, 0xd0, 0x9b, 0xc4, 0xbb, - 0x08, 0xb6, 0xf8, 0xa3, 0x06, 0xeb, 0x4a, 0xf2, 0xff, 0x13, 0x83, 0xfe, 0xa3, 0xc1, 0xea, 0xc9, - 0xf0, 0x34, 0x7a, 0xd7, 0x4e, 0x29, 0x7a, 0x3b, 0x29, 0xa0, 0xb7, 0x60, 0x89, 0x55, 0x7f, 0x29, - 0x64, 0xec, 0x4d, 0xd8, 0xe7, 0xe5, 0xe2, 0x3e, 0x90, 0x34, 0x95, 0x50, 0x34, 0xae, 0x8c, 0x28, - 0x79, 0xe5, 0x90, 0x51, 0xa6, 0xea, 0x64, 0x28, 0x53, 0x0e, 0x24, 0x36, 0x93, 0x07, 0x89, 0x1d, - 0xc0, 0xb5, 0x8c, 0x71, 0x93, 0x63, 0x63, 0xc6, 0x4f, 0xe1, 0xee, 0x09, 0x75, 0xed, 0x3d, 0xd7, - 0x4e, 0xb8, 0x65, 0x26, 0x0d, 0x1a, 0xfc, 0x6f, 0x80, 0xa0, 0x3f, 0x68, 0x70, 0xaf, 0x94, 0xb0, - 0x1c, 0x74, 0x68, 0x34, 0x22, 0x55, 0x26, 0x1c, 0x91, 0xb6, 0x60, 0x91, 0xcf, 0x3e, 0x6d, 0x86, - 0x29, 0xb0, 0xd7, 0xbc, 0xce, 0x17, 0x11, 0x92, 0xd8, 0xfd, 0x72, 0x1d, 0x6a, 0x7b, 0xf8, 0x44, - 0xed, 0x1d, 0x1f, 0x91, 0x6f, 0xc1, 0xcc, 0xb1, 0xe3, 0x76, 0x49, 0x43, 0x78, 0xbb, 0x52, 0x98, - 0xbc, 0xbe, 0xa6, 0xd8, 0xe1, 0x9a, 0x53, 0x9c, 0x01, 0x24, 0x2c, 0x9d, 0x88, 0xa3, 0x78, 0x2e, - 0x7e, 0xaf, 0xdf, 0x19, 0x4b, 0xc7, 0xc5, 0x9c, 0xc2, 0x8a, 0x0a, 0x96, 0x27, 0xdb, 0x32, 0x83, - 0x3c, 0xe4, 0x5e, 0x6f, 0x0a, 0x94, 0x2a, 0x00, 0xfd, 0x39, 0x9a, 0x22, 0xc1, 0xf7, 0x59, 0x53, - 0xd4, 0xf8, 0x7e, 0x09, 0xfe, 0x67, 0xb0, 0xaa, 0x46, 0xfc, 0xc9, 0xdd, 0x42, 0x19, 0xc2, 0x73, - 0x52, 0x42, 0xce, 0x31, 0x2c, 0x89, 0x8e, 0x20, 0x46, 0x81, 0x97, 0x62, 0xbe, 0x7a, 0x96, 0x6f, - 0xc2, 0xf1, 0x31, 0xd4, 0xd3, 0x70, 0x3a, 0x69, 0x2a, 0xf5, 0x4d, 0x7b, 0xa3, 0x88, 0xdb, 0x53, - 0xb8, 0x22, 0xa3, 0xe8, 0xe4, 0x56, 0x0e, 0x47, 0xd1, 0xf6, 0x22, 0xae, 0x3f, 0xc6, 0xd9, 0x55, - 0x84, 0xa1, 0xc9, 0x6d, 0x99, 0xad, 0x12, 0xa6, 0xd6, 0x37, 0x05, 0x32, 0x05, 0x40, 0xfd, 0x13, - 0xb8, 0x2c, 0x01, 0xbb, 0x64, 0x4b, 0x38, 0xa3, 0x86, 0x93, 0xf5, 0x5b, 0xc5, 0x44, 0x9c, 0xfb, - 0x33, 0x0c, 0x58, 0x9a, 0x79, 0x26, 0x60, 0x0a, 0xde, 0xcd, 0x02, 0xb8, 0x2b, 0x7d, 0x69, 0x32, - 0x40, 0x4c, 0x29, 0xee, 0x25, 0xc1, 0x34, 0x32, 0xc0, 0x96, 0x2e, 0xb3, 0xcf, 0xc1, 0x4f, 0xf2, - 0x6e, 0x81, 0x28, 0x11, 0x20, 0x2d, 0x2d, 0xf1, 0x15, 0x4e, 0x41, 0x59, 0x90, 0x30, 0x69, 0xdf, - 0xc8, 0xfd, 0x02, 0xa1, 0x19, 0xa0, 0x53, 0xaa, 0x41, 0x05, 0xe0, 0xe3, 0x0b, 0xfc, 0xa1, 0x43, - 0xc9, 0x6b, 0x42, 0x91, 0x37, 0xf3, 0x44, 0x06, 0x52, 0xec, 0x32, 0x50, 0x77, 0xb6, 0xe0, 0xe5, - 0x01, 0xe9, 0x25, 0xf2, 0x23, 0xc4, 0x5f, 0x4f, 0x73, 0xe0, 0x74, 0xd2, 0x2a, 0x21, 0x29, 0x85, - 0xbb, 0x97, 0x8e, 0xdf, 0x13, 0x80, 0x11, 0x04, 0x42, 0x6e, 0xc8, 0x52, 0x44, 0xf4, 0x49, 0xba, - 0x9a, 0x0a, 0xb8, 0xc9, 0xc6, 0xdf, 0xe4, 0x54, 0x38, 0x10, 0xb9, 0x97, 0x73, 0x56, 0x85, 0x8a, - 0xe8, 0xd7, 0x05, 0xe2, 0x31, 0x52, 0xd2, 0xdd, 0x50, 0xbe, 0x94, 0x2c, 0x5c, 0x31, 0x46, 0xca, - 0x00, 0xf4, 0x7c, 0xf8, 0x46, 0x0a, 0xc8, 0x58, 0x9c, 0x47, 0x37, 0xf2, 0xe9, 0x13, 0x89, 0xe7, - 0xb0, 0xaa, 0x46, 0x75, 0xa4, 0x37, 0xa9, 0x10, 0xfa, 0x29, 0x25, 0x29, 0x6b, 0x5b, 0xda, 0x89, - 0xad, 0xb1, 0xd2, 0x44, 0x3f, 0x96, 0x91, 0xd8, 0xc1, 0x98, 0xa9, 0xe0, 0x92, 0x6c, 0xcc, 0x0a, - 0x40, 0x15, 0x7d, 0xbd, 0x60, 0xa6, 0x27, 0x9f, 0xe1, 0x3d, 0xcd, 0xe0, 0x17, 0xd9, 0x7b, 0x9a, - 0x07, 0x71, 0x14, 0xb3, 0x7f, 0x81, 0xec, 0x33, 0x23, 0x71, 0x96, 0x7d, 0xde, 0x50, 0xad, 0xbf, - 0x5b, 0x82, 0x92, 0x0b, 0xfb, 0x9c, 0x01, 0x4c, 0x05, 0x53, 0x34, 0xd9, 0x55, 0x77, 0x12, 0x45, - 0x23, 0xb7, 0x2e, 0x66, 0x52, 0xf1, 0x9c, 0xfb, 0x2b, 0xf6, 0x13, 0x5f, 0xf1, 0x7c, 0x4e, 0xbe, - 0x29, 0x6b, 0x51, 0x6a, 0x9e, 0x9f, 0x48, 0x91, 0x2f, 0x34, 0x68, 0x8e, 0x9b, 0xf0, 0xc9, 0x37, - 0x4a, 0xea, 0x21, 0xe6, 0xee, 0x24, 0x6a, 0x7c, 0xce, 0x7e, 0x56, 0xcc, 0x9d, 0xa9, 0xc9, 0x83, - 0x4c, 0x9e, 0x8d, 0x19, 0xdf, 0x75, 0xd5, 0x55, 0x2b, 0x9a, 0xd6, 0x5d, 0x6c, 0x5b, 0x15, 0xe3, - 0x6f, 0xb6, 0x6d, 0xcd, 0x1f, 0xa9, 0xf5, 0xed, 0x22, 0xa9, 0xc2, 0x30, 0xfd, 0x1c, 0x2e, 0x4b, - 0xe3, 0x9e, 0xdc, 0x6b, 0x29, 0x27, 0x5d, 0xb9, 0xd7, 0x52, 0x4f, 0x8c, 0x0f, 0x34, 0xf2, 0x7b, - 0x0d, 0xb6, 0x4a, 0xcc, 0x66, 0xe4, 0xfd, 0x4c, 0xef, 0x56, 0x6e, 0x74, 0xd4, 0x1f, 0x4e, 0x7e, - 0x30, 0x56, 0x6e, 0xff, 0x31, 0xe8, 0x9e, 0xdf, 0x6d, 0x79, 0x2e, 0xb2, 0x48, 0x20, 0x35, 0xc6, - 0xeb, 0x47, 0xad, 0xae, 0x13, 0x9e, 0x0f, 0x4f, 0x5b, 0x1d, 0xaf, 0xbf, 0xc3, 0x48, 0x76, 0xf0, - 0x3f, 0xc9, 0xdf, 0x56, 0x75, 0xbd, 0x9d, 0xd4, 0x9f, 0xad, 0x9d, 0xce, 0xe2, 0xc6, 0x7b, 0xff, - 0x0d, 0x00, 0x00, 0xff, 0xff, 0x58, 0x30, 0x0f, 0x14, 0xcc, 0x26, 0x00, 0x00, + // 2238 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcd, 0x6f, 0x1c, 0x49, + 0x15, 0x57, 0xcf, 0x38, 0xfe, 0x78, 0x1e, 0xdb, 0x49, 0xd9, 0x71, 0xc6, 0x6d, 0x3b, 0x9e, 0xb4, + 0x13, 0xe2, 0x4d, 0xc2, 0x38, 0xf2, 0x82, 0x36, 0xbb, 0x7c, 0x08, 0x3b, 0x6b, 0xbc, 0x96, 0x92, + 0x95, 0xd5, 0x93, 0x0d, 0x5a, 0x60, 0x33, 0x6a, 0x4f, 0x97, 0xc7, 0x4d, 0x66, 0xba, 0x87, 0xae, + 0x9e, 0x24, 0x06, 0x0e, 0x7b, 0x58, 0x21, 0x24, 0x0e, 0x1c, 0x11, 0x08, 0x2e, 0x70, 0x82, 0x0b, + 0xe2, 0xc0, 0x01, 0x71, 0x40, 0xe2, 0x3f, 0xe0, 0xcc, 0x9f, 0xc2, 0x05, 0x75, 0x55, 0xf5, 0x47, + 0x55, 0x57, 0xf7, 0xf4, 0x4c, 0x58, 0x25, 0x97, 0xc4, 0x5d, 0xf5, 0xea, 0xbd, 0x57, 0xef, 0xbd, + 0x7a, 0xf5, 0xea, 0xf7, 0x06, 0xea, 0x67, 0x3d, 0xef, 0xe5, 0xae, 0xd5, 0xe9, 0x60, 0x42, 0xf8, + 0x7f, 0xcd, 0x81, 0xef, 0x05, 0x1e, 0x9a, 0x0f, 0x67, 0x9a, 0x6c, 0x48, 0x5f, 0xa7, 0x64, 0xd8, + 0x0d, 0x9c, 0xc0, 0xc1, 0x94, 0xd0, 0x1b, 0xba, 0x01, 0xa3, 0xd4, 0x1b, 0xe2, 0xe4, 0x69, 0xcf, + 0xeb, 0x3c, 0x6f, 0x9f, 0x63, 0xcb, 0xc6, 0x3e, 0xa7, 0x58, 0x53, 0x50, 0xf0, 0xa9, 0xeb, 0xe2, + 0x54, 0xc7, 0xeb, 0xf5, 0x70, 0x27, 0x70, 0x3c, 0x57, 0xbd, 0x14, 0xbf, 0xc0, 0xb1, 0xdc, 0x9b, + 0xd2, 0xd4, 0x2b, 0xdc, 0x19, 0x86, 0x2b, 0xdb, 0x3e, 0x26, 0xc3, 0x5e, 0x44, 0xb5, 0x21, 0x52, + 0xf5, 0x71, 0x60, 0xd9, 0x56, 0x60, 0xf1, 0xd9, 0x5b, 0xe2, 0xac, 0xeb, 0xd9, 0xb8, 0xfd, 0x02, + 0xfb, 0x24, 0x64, 0xe3, 0xb8, 0x67, 0x1e, 0x27, 0xdb, 0x12, 0xc9, 0x02, 0xdf, 0x72, 0x89, 0x95, + 0x56, 0x73, 0xab, 0xeb, 0x79, 0xdd, 0x1e, 0xde, 0xa5, 0x5f, 0xa7, 0xc3, 0xb3, 0xdd, 0xc0, 0xe9, + 0x63, 0x12, 0x58, 0xfd, 0x01, 0x23, 0x30, 0x16, 0x60, 0xfe, 0xc4, 0x71, 0xbb, 0x26, 0xfe, 0xf1, + 0x10, 0x93, 0xc0, 0x58, 0x84, 0x1a, 0xfb, 0x24, 0x03, 0xcf, 0x25, 0xd8, 0x58, 0x87, 0xb5, 0x23, + 0x1c, 0x7c, 0xec, 0xd9, 0xf8, 0x29, 0x93, 0x7e, 0xec, 0x9e, 0x79, 0x11, 0xf1, 0x09, 0xe8, 0xaa, + 0x49, 0xb6, 0x14, 0xed, 0xc1, 0x54, 0xa8, 0x69, 0x5d, 0x6b, 0x68, 0x3b, 0xf3, 0x7b, 0xd7, 0x9b, + 0xd4, 0x6f, 0x91, 0xaa, 0x4d, 0x79, 0x15, 0xa5, 0x35, 0x3e, 0x80, 0xf5, 0x23, 0x1c, 0x3c, 0xb2, + 0x02, 0x4c, 0x82, 0x83, 0xd0, 0x1b, 0x1f, 0x51, 0x77, 0x71, 0x81, 0x68, 0x1d, 0xe6, 0x1c, 0xd2, + 0x26, 0xd8, 0xea, 0x61, 0x9b, 0xf2, 0x9d, 0x35, 0x67, 0x1d, 0xd2, 0xa2, 0xdf, 0xc6, 0x5d, 0xaa, + 0x6a, 0x6a, 0xd5, 0xc1, 0xc5, 0xf1, 0x87, 0xd1, 0xca, 0x45, 0xa8, 0x38, 0x6c, 0x49, 0xcd, 0xac, + 0x38, 0xb6, 0xf1, 0x1e, 0x6c, 0xca, 0xc4, 0x1f, 0x61, 0xa7, 0x7b, 0x1e, 0x44, 0x0b, 0x56, 0x61, + 0xfa, 0x9c, 0x0e, 0xd0, 0x45, 0x53, 0x26, 0xff, 0x32, 0xfe, 0xa1, 0xc1, 0xb2, 0xa0, 0x19, 0xdf, + 0xed, 0x7d, 0xb8, 0x44, 0xc3, 0x87, 0x6f, 0x57, 0x97, 0xb6, 0x9b, 0x5e, 0xc2, 0x08, 0xd1, 0xb7, + 0xa0, 0xc6, 0x42, 0x92, 0x04, 0x56, 0x30, 0x24, 0xf5, 0x4a, 0x43, 0xdb, 0x59, 0x54, 0x2f, 0x6c, + 0x51, 0x0a, 0x73, 0xfe, 0x34, 0xf9, 0x40, 0xef, 0xc2, 0x6c, 0x14, 0x33, 0xf5, 0x2a, 0x95, 0x79, + 0x4d, 0x5a, 0xfa, 0x98, 0x4f, 0x9b, 0x31, 0xa1, 0x61, 0xc3, 0x55, 0xd1, 0xbe, 0x65, 0x2c, 0x8b, + 0x9a, 0xb0, 0x7c, 0x36, 0xec, 0xf5, 0xda, 0x4c, 0x5d, 0x9f, 0x6f, 0x99, 0x2a, 0x3c, 0x6b, 0x5e, + 0x09, 0xa7, 0x38, 0x2f, 0x1e, 0x34, 0x9f, 0xc0, 0x72, 0x64, 0xdc, 0x02, 0x1f, 0x8c, 0xcd, 0xd6, + 0x82, 0x6b, 0x09, 0xdb, 0x52, 0xde, 0x1a, 0x5b, 0xc4, 0x5f, 0x34, 0x58, 0x10, 0x46, 0xd0, 0x1d, + 0xd1, 0xaf, 0x2b, 0x2a, 0xf7, 0xbc, 0x49, 0x8f, 0xde, 0x81, 0xfa, 0x11, 0x0e, 0x1e, 0xc6, 0xe9, + 0xa9, 0x28, 0xe8, 0xbf, 0xd0, 0x00, 0x25, 0x94, 0xf1, 0x16, 0xdf, 0x07, 0x48, 0xd2, 0x1b, 0xdf, + 0xe7, 0x9a, 0x24, 0x39, 0xb5, 0x2c, 0x45, 0x2c, 0xa8, 0x5c, 0x29, 0xab, 0xf2, 0x53, 0x58, 0x6d, + 0x61, 0xd7, 0x7e, 0x92, 0x24, 0xab, 0x48, 0xe1, 0x6f, 0xc2, 0x7c, 0x2a, 0x85, 0xe5, 0x1c, 0xa5, + 0xf4, 0xba, 0x34, 0xb9, 0xf1, 0x0c, 0xae, 0x65, 0xf8, 0xf2, 0x2d, 0xca, 0xa1, 0x37, 0x91, 0xde, + 0xff, 0xd2, 0xe8, 0xe9, 0x51, 0xe8, 0x2d, 0xb3, 0x5f, 0x83, 0x59, 0x16, 0x08, 0x8e, 0x4d, 0xd9, + 0xd7, 0xcc, 0x19, 0xfa, 0x7d, 0x6c, 0xa3, 0x6d, 0x58, 0x48, 0xec, 0x17, 0xce, 0x57, 0xe9, 0x7c, + 0x2d, 0x19, 0x3c, 0xb6, 0xd1, 0xa7, 0xb0, 0x4a, 0x2f, 0x94, 0x36, 0x76, 0x3b, 0x9e, 0xed, 0xb8, + 0xdd, 0x28, 0xf7, 0xd7, 0xa7, 0x68, 0x48, 0x6d, 0x4b, 0xca, 0x1e, 0x86, 0xc4, 0x87, 0x9c, 0x96, + 0x67, 0x55, 0x73, 0x05, 0x2b, 0x46, 0x8d, 0x07, 0x34, 0xc3, 0xb6, 0x2e, 0x48, 0x80, 0xfb, 0x8a, + 0x9d, 0xa4, 0x35, 0xd7, 0x04, 0xcd, 0x8d, 0xdf, 0x68, 0x70, 0x43, 0xbd, 0x34, 0xbc, 0xd5, 0x46, + 0x33, 0x28, 0xd8, 0x55, 0xe5, 0x75, 0x77, 0xf5, 0x67, 0x0d, 0x36, 0x44, 0xd7, 0x1c, 0x5c, 0x1c, + 0xbb, 0x36, 0x7e, 0x55, 0x42, 0xad, 0x15, 0xb8, 0xe4, 0x84, 0xa4, 0x54, 0x8b, 0x05, 0x93, 0x7d, + 0x14, 0x28, 0x5b, 0x7d, 0x5d, 0x65, 0x7f, 0xad, 0xc1, 0x96, 0xa8, 0x2c, 0x39, 0xb8, 0xa0, 0x59, + 0x21, 0x39, 0xba, 0x6f, 0xcc, 0x8c, 0x7a, 0xc6, 0xb3, 0x24, 0x3e, 0x45, 0xdf, 0x83, 0xe5, 0xd4, + 0x79, 0xe3, 0xe5, 0x0c, 0xa9, 0x6b, 0x8d, 0xea, 0xce, 0xfc, 0xde, 0x57, 0x9a, 0xa9, 0xc2, 0xac, + 0xa9, 0x88, 0x0f, 0xc6, 0xc4, 0x44, 0x41, 0x46, 0xc0, 0x64, 0xc7, 0xf1, 0x97, 0x1a, 0xac, 0xa4, + 0x6d, 0x18, 0xab, 0xf9, 0x6d, 0xa8, 0xa5, 0x64, 0x44, 0xfa, 0x15, 0xa5, 0x11, 0x81, 0x7e, 0x32, + 0x6d, 0x7e, 0xa1, 0xc1, 0xb2, 0x2a, 0xf3, 0xbc, 0x56, 0x4a, 0x9b, 0x4c, 0x95, 0xbf, 0x55, 0x61, + 0x2d, 0xd7, 0xfe, 0xe8, 0x01, 0x4c, 0xf3, 0xeb, 0x49, 0xa3, 0xe1, 0xd2, 0xc8, 0xd7, 0x85, 0x5f, + 0x52, 0x9c, 0x1e, 0x6d, 0xc1, 0x3c, 0xfb, 0xab, 0xdd, 0xf1, 0x6c, 0xcc, 0x8f, 0x0b, 0xb0, 0xa1, + 0x87, 0x9e, 0x8d, 0xc3, 0xdc, 0x86, 0x7d, 0xdf, 0xf3, 0xdb, 0x7d, 0x4c, 0x88, 0xd5, 0xc5, 0xf4, + 0xa8, 0xcc, 0x99, 0x35, 0x3a, 0xf8, 0x98, 0x8d, 0xa1, 0x7b, 0x30, 0x4d, 0x63, 0x8f, 0xd4, 0xa7, + 0xa8, 0x5f, 0x56, 0x54, 0xe1, 0x6a, 0x72, 0x1a, 0xe1, 0x1c, 0x5c, 0x12, 0xcf, 0xc1, 0x2d, 0x58, + 0x4c, 0x47, 0xa3, 0x63, 0xd7, 0xa7, 0x29, 0xc1, 0x42, 0x6a, 0x54, 0x95, 0x70, 0x67, 0x14, 0x09, + 0xf7, 0x46, 0x74, 0x73, 0xf3, 0x2a, 0x62, 0x96, 0x56, 0x11, 0xec, 0x76, 0x66, 0x95, 0x86, 0xe0, + 0x8a, 0xb9, 0x92, 0xae, 0x40, 0x77, 0xe1, 0x4a, 0xc7, 0xeb, 0x0f, 0x86, 0x81, 0x45, 0xa5, 0x0f, + 0xa9, 0x55, 0x80, 0x32, 0xbf, 0x9c, 0x9a, 0xf8, 0x24, 0x1c, 0x37, 0xbe, 0x0a, 0x57, 0x8e, 0x70, + 0xb0, 0xcf, 0xde, 0x30, 0x51, 0x22, 0xa8, 0xc3, 0x8c, 0x65, 0xdb, 0x3e, 0x26, 0x24, 0xca, 0x03, + 0xfc, 0xd3, 0xf8, 0x29, 0xa0, 0x34, 0x79, 0x5c, 0x87, 0xce, 0xf0, 0x57, 0x10, 0x8f, 0xb5, 0x55, + 0x49, 0xcb, 0x68, 0x41, 0x44, 0x36, 0x59, 0x8c, 0x7d, 0x00, 0xd7, 0x13, 0xe1, 0xfb, 0xaa, 0x8a, + 0x32, 0x5f, 0xf1, 0x57, 0xb0, 0xf4, 0x86, 0xb4, 0xfe, 0x4c, 0xd4, 0xfa, 0x20, 0x71, 0xef, 0x48, + 0xad, 0x33, 0x21, 0x52, 0xc9, 0x84, 0x88, 0xf1, 0x29, 0xdc, 0x38, 0xa4, 0x8f, 0x3d, 0xdc, 0xea, + 0xf8, 0xce, 0x40, 0x6d, 0x97, 0x55, 0x98, 0x26, 0x74, 0x96, 0x0b, 0xe0, 0x5f, 0x68, 0x03, 0xe6, + 0x2c, 0xbf, 0x3b, 0xec, 0xd3, 0xa3, 0x51, 0x69, 0x54, 0x77, 0x6a, 0x66, 0x32, 0x60, 0x0c, 0x60, + 0x53, 0x62, 0x5d, 0xfe, 0xc2, 0x48, 0x24, 0x56, 0xf2, 0x25, 0x56, 0x65, 0x89, 0x3f, 0xcb, 0x6c, + 0x46, 0x61, 0x2e, 0xd9, 0x28, 0x5a, 0xf6, 0xdc, 0x4c, 0x26, 0xfd, 0x57, 0x1a, 0x5c, 0x15, 0xc4, + 0xc7, 0xa1, 0xb2, 0x02, 0x97, 0x5e, 0x58, 0xbd, 0x21, 0xe6, 0xbb, 0x64, 0x1f, 0x13, 0x85, 0x83, + 0xfa, 0x74, 0x56, 0x73, 0x4e, 0xe7, 0xbf, 0x35, 0x1a, 0x3c, 0x34, 0x3d, 0x91, 0xef, 0x7a, 0x3e, + 0x37, 0x84, 0xe5, 0x76, 0x71, 0x64, 0x0d, 0x04, 0x53, 0xc1, 0xc5, 0x80, 0x69, 0x36, 0x67, 0xd2, + 0xbf, 0x43, 0x0b, 0x91, 0xc0, 0xf2, 0x03, 0x29, 0x6c, 0xe8, 0x18, 0xb7, 0xd0, 0x26, 0x00, 0x76, + 0xed, 0x88, 0x80, 0xc9, 0x9f, 0xc3, 0xae, 0xcd, 0xa7, 0xbf, 0xc4, 0x62, 0xf0, 0x4f, 0x1a, 0xad, + 0x06, 0xe3, 0x3d, 0xf1, 0x98, 0x22, 0x45, 0x1b, 0x5a, 0x87, 0xb9, 0x28, 0xd0, 0xa2, 0x38, 0x9d, + 0xe5, 0x91, 0x46, 0xbe, 0xcc, 0xaa, 0xe9, 0x9f, 0x15, 0x58, 0x64, 0x8a, 0xa6, 0xee, 0xd6, 0x19, + 0xb1, 0x06, 0x31, 0x84, 0x1a, 0x44, 0xa4, 0x6e, 0xf2, 0x7b, 0x30, 0x5a, 0x32, 0x51, 0xc8, 0xe8, + 0x7f, 0xd7, 0x60, 0x9a, 0x31, 0x2a, 0x3a, 0x71, 0xa3, 0x73, 0x45, 0xea, 0x1a, 0xac, 0x96, 0xb8, + 0x06, 0x1f, 0xc2, 0x12, 0x63, 0x18, 0xc3, 0x37, 0xd4, 0xf9, 0x61, 0x25, 0xc1, 0x00, 0x9e, 0x66, + 0x04, 0xf0, 0x34, 0x9f, 0x44, 0x14, 0xe6, 0x22, 0x5d, 0x12, 0x7f, 0x1b, 0x9b, 0xd4, 0xd9, 0x1f, + 0xe3, 0xe0, 0xa5, 0xe7, 0x3f, 0x3f, 0xb1, 0x7c, 0xab, 0x8f, 0x03, 0xec, 0x47, 0xce, 0x36, 0xde, + 0xa7, 0x25, 0xb4, 0x62, 0x9a, 0x5b, 0x7b, 0x0d, 0x66, 0x3b, 0xe7, 0x96, 0xe3, 0x46, 0xfb, 0x9d, + 0x33, 0x67, 0xe8, 0xf7, 0xb1, 0x6d, 0xdc, 0x86, 0x5b, 0x31, 0xac, 0x70, 0x12, 0x2a, 0xd2, 0xf1, + 0x7a, 0x61, 0xf1, 0x80, 0x5b, 0xae, 0x35, 0x20, 0xe7, 0x5e, 0x94, 0x2f, 0x8c, 0x43, 0xd8, 0x39, + 0xc2, 0x6a, 0x92, 0x31, 0x4a, 0x60, 0xe3, 0x11, 0xdc, 0xce, 0x67, 0x33, 0x6e, 0x86, 0x0a, 0x9f, + 0xc5, 0x9b, 0x39, 0x5a, 0xf3, 0xad, 0x37, 0x01, 0x11, 0xec, 0x3b, 0x56, 0xcf, 0xf9, 0x09, 0xb6, + 0xa3, 0x59, 0xae, 0x94, 0x62, 0x66, 0xb2, 0xcb, 0xe9, 0x3b, 0xb0, 0x1d, 0x9e, 0xc5, 0x08, 0x2d, + 0x64, 0x51, 0x96, 0x1c, 0xca, 0x12, 0x66, 0xf9, 0xa3, 0x16, 0xe5, 0x6c, 0xe5, 0x7a, 0xbe, 0x99, + 0x63, 0xb8, 0x2c, 0x43, 0x92, 0x39, 0x18, 0x9d, 0xc4, 0xcb, 0x5c, 0xc2, 0xe2, 0xc0, 0x64, 0xfb, + 0xdc, 0xa5, 0xd0, 0x9b, 0xc4, 0xbb, 0x08, 0xb6, 0xf8, 0xbd, 0x06, 0xeb, 0x4a, 0xf2, 0xb7, 0x64, + 0x43, 0xff, 0xd1, 0x60, 0xb5, 0x35, 0x3c, 0x0d, 0xef, 0xb5, 0x53, 0x4c, 0xad, 0x1d, 0x27, 0xd0, + 0x9b, 0xb0, 0xc8, 0xb2, 0xbf, 0xe4, 0x32, 0x76, 0x27, 0x1c, 0xf0, 0x74, 0x71, 0x0f, 0x50, 0x9a, + 0x4a, 0x48, 0x1a, 0x97, 0x13, 0x4a, 0x9e, 0x39, 0x64, 0x94, 0xa9, 0x3a, 0x1e, 0xca, 0x94, 0x03, + 0x89, 0x4d, 0xe5, 0x41, 0x62, 0x87, 0x70, 0x2d, 0xb3, 0xb9, 0xf1, 0xb1, 0x31, 0xe3, 0xaf, 0x1a, + 0x6c, 0x88, 0x7c, 0x18, 0x1a, 0xfa, 0x16, 0x9b, 0xca, 0x68, 0xc1, 0x66, 0x8e, 0xca, 0x31, 0xc4, + 0x3d, 0xcd, 0xfa, 0x09, 0x25, 0x50, 0x5f, 0x4e, 0xa9, 0x30, 0xc4, 0x87, 0x4e, 0x17, 0x93, 0xe0, + 0x6d, 0x36, 0xc4, 0x1f, 0x34, 0xd9, 0x12, 0xb1, 0xce, 0xc9, 0xe5, 0xf0, 0x1a, 0x97, 0xa1, 0xe2, + 0x7a, 0xab, 0x8e, 0x7d, 0xbd, 0xfd, 0x08, 0xee, 0xb4, 0xb0, 0x6b, 0xef, 0xbb, 0x76, 0xac, 0x6a, + 0xe6, 0x2d, 0x8b, 0xc9, 0xff, 0x07, 0x6a, 0xfc, 0x9d, 0x06, 0x77, 0x4b, 0x09, 0xcb, 0xc1, 0x1f, + 0x93, 0x47, 0x78, 0x65, 0xcc, 0x47, 0xf8, 0x36, 0x2c, 0xf0, 0xd7, 0x75, 0x9b, 0xa1, 0x56, 0xac, + 0x5e, 0xac, 0xf1, 0x41, 0x0a, 0x7a, 0xed, 0xfd, 0x77, 0x03, 0xe6, 0xf6, 0x69, 0x11, 0xb4, 0x7f, + 0x72, 0x8c, 0xbe, 0x01, 0x53, 0x27, 0x8e, 0xdb, 0x45, 0x75, 0xa1, 0x3a, 0x4a, 0x75, 0x7d, 0xf4, + 0x35, 0xc5, 0x0c, 0xd7, 0x1c, 0xd3, 0x57, 0xa6, 0xd4, 0xad, 0x41, 0x22, 0xd8, 0x93, 0xdb, 0x21, + 0xd2, 0x6f, 0x8f, 0xa4, 0xe3, 0x62, 0x4e, 0x61, 0x45, 0xd5, 0xf8, 0x41, 0x3b, 0x32, 0x83, 0xbc, + 0xde, 0x90, 0xde, 0x10, 0x28, 0x55, 0x2d, 0x9a, 0x67, 0x74, 0x2b, 0x52, 0x83, 0x28, 0xbb, 0x15, + 0x75, 0x07, 0xa9, 0x04, 0xff, 0x33, 0x58, 0x55, 0xf7, 0x94, 0xd0, 0x9d, 0x42, 0x19, 0x42, 0xc1, + 0x52, 0x42, 0xce, 0x09, 0x2c, 0x8a, 0x86, 0x40, 0x46, 0x81, 0x95, 0x22, 0xbe, 0x7a, 0x96, 0x6f, + 0xcc, 0xf1, 0x11, 0xd4, 0xd2, 0x0d, 0x1b, 0xd4, 0x50, 0xea, 0x9b, 0xb6, 0x46, 0x11, 0xb7, 0x27, + 0x70, 0x59, 0xee, 0xd3, 0xa0, 0x9b, 0x39, 0x1c, 0xc5, 0xbd, 0x17, 0x71, 0xfd, 0x01, 0x45, 0x47, + 0xc4, 0x46, 0x07, 0xba, 0x25, 0xb3, 0x55, 0x36, 0x42, 0xf4, 0x2d, 0x81, 0x4c, 0xd1, 0x02, 0xf9, + 0x21, 0x2c, 0x49, 0xad, 0x03, 0xb4, 0x2d, 0xac, 0x51, 0x37, 0x2c, 0xf4, 0x9b, 0xc5, 0x44, 0x9c, + 0xfb, 0x53, 0xea, 0xb0, 0x34, 0xf3, 0x8c, 0xc3, 0x14, 0xbc, 0x1b, 0x05, 0x80, 0x6a, 0xfa, 0xd0, + 0x64, 0xa0, 0xbe, 0x52, 0xdc, 0x4b, 0xc2, 0xb5, 0x68, 0x40, 0x1f, 0x0d, 0x99, 0x79, 0x0e, 0xaf, + 0xa3, 0x77, 0x0a, 0x44, 0x89, 0x10, 0x7c, 0x69, 0x89, 0x2f, 0xe9, 0x3b, 0x3b, 0x0b, 0x43, 0xc7, + 0x0f, 0x04, 0x74, 0xaf, 0x40, 0x68, 0x06, 0x4a, 0x97, 0x72, 0x50, 0x01, 0xbc, 0xfd, 0x9c, 0xb6, + 0xd2, 0x94, 0xbc, 0xc6, 0x14, 0x79, 0x23, 0x4f, 0x24, 0x91, 0x7c, 0x97, 0x69, 0xa6, 0x64, 0x13, + 0x5e, 0x5e, 0xab, 0xa6, 0x44, 0x7c, 0x04, 0xb4, 0x3f, 0x9f, 0xd3, 0xb0, 0x41, 0xcd, 0x12, 0x92, + 0x52, 0x9d, 0x9d, 0xd2, 0xfe, 0x7b, 0x0c, 0x90, 0x80, 0x6c, 0xe8, 0xba, 0x2c, 0x45, 0xc4, 0x37, + 0xa5, 0xa3, 0xa9, 0x00, 0x34, 0x6d, 0xda, 0xf5, 0x55, 0x21, 0x8d, 0xe8, 0x6e, 0xce, 0x5a, 0x15, + 0xee, 0xa6, 0x6f, 0x08, 0xc4, 0x23, 0xa4, 0xa4, 0x6b, 0xa7, 0x7c, 0x29, 0x59, 0x40, 0x6c, 0x84, + 0x94, 0x01, 0xe8, 0xf9, 0x00, 0xa1, 0xe4, 0x90, 0x91, 0x48, 0xa2, 0x6e, 0xe4, 0xd3, 0xc7, 0x12, + 0xcf, 0x61, 0x55, 0x8d, 0x1b, 0x4a, 0x77, 0x52, 0x21, 0xb8, 0x58, 0x4a, 0x52, 0x76, 0x6f, 0x69, + 0x23, 0x36, 0x47, 0x4a, 0x13, 0xed, 0x58, 0x46, 0x62, 0x87, 0xfa, 0x4c, 0x05, 0xc8, 0x65, 0x7d, + 0x56, 0x00, 0xdb, 0xe9, 0xeb, 0x05, 0xa8, 0x11, 0xfa, 0x8c, 0x9e, 0xd3, 0x0c, 0x42, 0x96, 0x3d, + 0xa7, 0x79, 0x20, 0x5a, 0x31, 0xfb, 0xe7, 0x94, 0x7d, 0x06, 0x74, 0xc9, 0xb2, 0xcf, 0x83, 0x6d, + 0xf4, 0x77, 0x4a, 0x50, 0x72, 0x61, 0x9f, 0x33, 0x08, 0xb3, 0x00, 0xa7, 0x41, 0x7b, 0xea, 0x4a, + 0xa2, 0x08, 0xd4, 0xd1, 0xc5, 0x48, 0x2a, 0x46, 0x52, 0x7e, 0xce, 0x9a, 0xc8, 0xc5, 0x08, 0x10, + 0xfa, 0xba, 0xac, 0x45, 0x29, 0xc4, 0x68, 0x2c, 0x45, 0xbe, 0xd0, 0xa0, 0x31, 0x0a, 0x43, 0x42, + 0x5f, 0x2b, 0xa9, 0x87, 0x18, 0xbb, 0xe3, 0xa8, 0xf1, 0x39, 0x6b, 0x5c, 0xe7, 0xa2, 0x36, 0xe8, + 0x7e, 0x26, 0xce, 0x46, 0x00, 0x44, 0xba, 0xea, 0xa8, 0x15, 0xe1, 0x41, 0x2e, 0x2d, 0x5b, 0x15, + 0x00, 0x4b, 0xb6, 0x6c, 0xcd, 0x07, 0x6d, 0xf4, 0x9d, 0x22, 0xa9, 0x02, 0x5c, 0xf3, 0x0c, 0x96, + 0x24, 0x40, 0x41, 0xae, 0xb5, 0x94, 0x58, 0x8a, 0x5c, 0x6b, 0xa9, 0x31, 0x89, 0xfb, 0x1a, 0x1a, + 0xc0, 0x55, 0xe5, 0xab, 0x5d, 0xaa, 0x55, 0x8a, 0xc0, 0x08, 0xc9, 0x85, 0x85, 0x20, 0x80, 0x4a, + 0x22, 0x7f, 0x1d, 0x17, 0x4a, 0x14, 0x5f, 0xfd, 0x85, 0x12, 0xa5, 0xc7, 0xf6, 0x7d, 0x0d, 0xfd, + 0x56, 0x83, 0xed, 0x12, 0xef, 0x4f, 0xf4, 0x5e, 0xa6, 0x3e, 0x2d, 0xf7, 0x3c, 0xd6, 0x1f, 0x8c, + 0xbf, 0x30, 0x52, 0xee, 0xe0, 0x11, 0xe8, 0x9e, 0xdf, 0x6d, 0x7a, 0x2e, 0x65, 0x11, 0xbf, 0xdc, + 0x19, 0xaf, 0xef, 0x37, 0xbb, 0x4e, 0x70, 0x3e, 0x3c, 0x6d, 0x76, 0xbc, 0xfe, 0x2e, 0x23, 0xd9, + 0xa5, 0xff, 0xc4, 0xbf, 0x50, 0xec, 0x7a, 0xbb, 0xa9, 0x1f, 0x7f, 0x9e, 0x4e, 0xd3, 0x89, 0x77, + 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x22, 0x8c, 0x4a, 0xc2, 0x12, 0x2a, 0x00, 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index de2e0f9d3..7c2ea83e7 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -51,6 +51,8 @@ const ( AccessAPI_GetExecutionResultForBlockID_FullMethodName = "/flow.access.AccessAPI/GetExecutionResultForBlockID" AccessAPI_GetExecutionResultByID_FullMethodName = "/flow.access.AccessAPI/GetExecutionResultByID" AccessAPI_SubscribeBlocks_FullMethodName = "/flow.access.AccessAPI/SubscribeBlocks" + AccessAPI_SubscribeBlockHeaders_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockHeaders" + AccessAPI_SubscribeBlockDigests_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockDigests" AccessAPI_SendAndSubscribeTransactionStatuses_FullMethodName = "/flow.access.AccessAPI/SendAndSubscribeTransactionStatuses" ) @@ -151,6 +153,24 @@ type AccessAPIClient interface { // Each block are filtered by the provided block status, and only // those blocks that match the status are returned. SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksClient, error) + // SubscribeBlockHeaders streams finalized or sealed block headers starting at the requested + // start block, up until the latest available block header. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block header as it becomes available. + // + // Each block header are filtered by the provided block status, and only + // those block headers that match the status are returned. + // + // This is a lighter version of `SubscribeBlocks` as it will never include the heavy `BlockPayload`. + SubscribeBlockHeaders(ctx context.Context, in *SubscribeBlockHeadersRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersClient, error) + // SubscribeBlockDigests streams finalized or sealed lightweight block starting at the requested + // start block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Each lightweight block are filtered by the provided block status, and only + // those blocks that match the status are returned. + SubscribeBlockDigests(ctx context.Context, in *SubscribeBlockDigestsRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsClient, error) // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. SendAndSubscribeTransactionStatuses(ctx context.Context, in *SendAndSubscribeTransactionStatusesRequest, opts ...grpc.CallOption) (AccessAPI_SendAndSubscribeTransactionStatusesClient, error) @@ -475,8 +495,72 @@ func (x *accessAPISubscribeBlocksClient) Recv() (*SubscribeBlocksResponse, error return m, nil } +func (c *accessAPIClient) SubscribeBlockHeaders(ctx context.Context, in *SubscribeBlockHeadersRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[1], AccessAPI_SubscribeBlockHeaders_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &accessAPISubscribeBlockHeadersClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type AccessAPI_SubscribeBlockHeadersClient interface { + Recv() (*SubscribeBlockHeadersResponse, error) + grpc.ClientStream +} + +type accessAPISubscribeBlockHeadersClient struct { + grpc.ClientStream +} + +func (x *accessAPISubscribeBlockHeadersClient) Recv() (*SubscribeBlockHeadersResponse, error) { + m := new(SubscribeBlockHeadersResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *accessAPIClient) SubscribeBlockDigests(ctx context.Context, in *SubscribeBlockDigestsRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[2], AccessAPI_SubscribeBlockDigests_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &accessAPISubscribeBlockDigestsClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type AccessAPI_SubscribeBlockDigestsClient interface { + Recv() (*SubscribeBlockDigestsResponse, error) + grpc.ClientStream +} + +type accessAPISubscribeBlockDigestsClient struct { + grpc.ClientStream +} + +func (x *accessAPISubscribeBlockDigestsClient) Recv() (*SubscribeBlockDigestsResponse, error) { + m := new(SubscribeBlockDigestsResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + func (c *accessAPIClient) SendAndSubscribeTransactionStatuses(ctx context.Context, in *SendAndSubscribeTransactionStatusesRequest, opts ...grpc.CallOption) (AccessAPI_SendAndSubscribeTransactionStatusesClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[1], AccessAPI_SendAndSubscribeTransactionStatuses_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[3], AccessAPI_SendAndSubscribeTransactionStatuses_FullMethodName, opts...) if err != nil { return nil, err } @@ -604,6 +688,24 @@ type AccessAPIServer interface { // Each block are filtered by the provided block status, and only // those blocks that match the status are returned. SubscribeBlocks(*SubscribeBlocksRequest, AccessAPI_SubscribeBlocksServer) error + // SubscribeBlockHeaders streams finalized or sealed block headers starting at the requested + // start block, up until the latest available block header. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block header as it becomes available. + // + // Each block header are filtered by the provided block status, and only + // those block headers that match the status are returned. + // + // This is a lighter version of `SubscribeBlocks` as it will never include the heavy `BlockPayload`. + SubscribeBlockHeaders(*SubscribeBlockHeadersRequest, AccessAPI_SubscribeBlockHeadersServer) error + // SubscribeBlockDigests streams finalized or sealed lightweight block starting at the requested + // start block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Each lightweight block are filtered by the provided block status, and only + // those blocks that match the status are returned. + SubscribeBlockDigests(*SubscribeBlockDigestsRequest, AccessAPI_SubscribeBlockDigestsServer) error // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. SendAndSubscribeTransactionStatuses(*SendAndSubscribeTransactionStatusesRequest, AccessAPI_SendAndSubscribeTransactionStatusesServer) error @@ -709,6 +811,12 @@ func (UnimplementedAccessAPIServer) GetExecutionResultByID(context.Context, *Get func (UnimplementedAccessAPIServer) SubscribeBlocks(*SubscribeBlocksRequest, AccessAPI_SubscribeBlocksServer) error { return status.Errorf(codes.Unimplemented, "method SubscribeBlocks not implemented") } +func (UnimplementedAccessAPIServer) SubscribeBlockHeaders(*SubscribeBlockHeadersRequest, AccessAPI_SubscribeBlockHeadersServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlockHeaders not implemented") +} +func (UnimplementedAccessAPIServer) SubscribeBlockDigests(*SubscribeBlockDigestsRequest, AccessAPI_SubscribeBlockDigestsServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlockDigests not implemented") +} func (UnimplementedAccessAPIServer) SendAndSubscribeTransactionStatuses(*SendAndSubscribeTransactionStatusesRequest, AccessAPI_SendAndSubscribeTransactionStatusesServer) error { return status.Errorf(codes.Unimplemented, "method SendAndSubscribeTransactionStatuses not implemented") } @@ -1303,6 +1411,48 @@ func (x *accessAPISubscribeBlocksServer) Send(m *SubscribeBlocksResponse) error return x.ServerStream.SendMsg(m) } +func _AccessAPI_SubscribeBlockHeaders_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlockHeadersRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(AccessAPIServer).SubscribeBlockHeaders(m, &accessAPISubscribeBlockHeadersServer{stream}) +} + +type AccessAPI_SubscribeBlockHeadersServer interface { + Send(*SubscribeBlockHeadersResponse) error + grpc.ServerStream +} + +type accessAPISubscribeBlockHeadersServer struct { + grpc.ServerStream +} + +func (x *accessAPISubscribeBlockHeadersServer) Send(m *SubscribeBlockHeadersResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _AccessAPI_SubscribeBlockDigests_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlockDigestsRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(AccessAPIServer).SubscribeBlockDigests(m, &accessAPISubscribeBlockDigestsServer{stream}) +} + +type AccessAPI_SubscribeBlockDigestsServer interface { + Send(*SubscribeBlockDigestsResponse) error + grpc.ServerStream +} + +type accessAPISubscribeBlockDigestsServer struct { + grpc.ServerStream +} + +func (x *accessAPISubscribeBlockDigestsServer) Send(m *SubscribeBlockDigestsResponse) error { + return x.ServerStream.SendMsg(m) +} + func _AccessAPI_SendAndSubscribeTransactionStatuses_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(SendAndSubscribeTransactionStatusesRequest) if err := stream.RecvMsg(m); err != nil { @@ -1462,6 +1612,16 @@ var AccessAPI_ServiceDesc = grpc.ServiceDesc{ Handler: _AccessAPI_SubscribeBlocks_Handler, ServerStreams: true, }, + { + StreamName: "SubscribeBlockHeaders", + Handler: _AccessAPI_SubscribeBlockHeaders_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeBlockDigests", + Handler: _AccessAPI_SubscribeBlockDigests_Handler, + ServerStreams: true, + }, { StreamName: "SendAndSubscribeTransactionStatuses", Handler: _AccessAPI_SendAndSubscribeTransactionStatuses_Handler, From 16e920d4210e8723f31e759b66eee09648ec8ba7 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Thu, 22 Feb 2024 13:17:02 +0200 Subject: [PATCH 084/626] Updated according to comments --- protobuf/flow/access/access.proto | 18 ++++++++--------- protobuf/go/flow/access/access.pb.go | 6 +++--- protobuf/go/flow/access/access_grpc.pb.go | 24 +++++++++++------------ 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 5b27a4d12..ebde19ed4 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -165,8 +165,8 @@ service AccessAPI { // reached, the stream will remain open and responses are sent for each new // block as it becomes available. // - // Each block are filtered by the provided block status, and only - // those blocks that match the status are returned. + // Blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed blocks will be returned. rpc SubscribeBlocks(SubscribeBlocksRequest) returns (stream SubscribeBlocksResponse); @@ -175,8 +175,8 @@ service AccessAPI { // reached, the stream will remain open and responses are sent for each new // block header as it becomes available. // - // Each block header are filtered by the provided block status, and only - // those block headers that match the status are returned. + // Block headers are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed block headres will be returned. // // This is a lighter version of `SubscribeBlocks` as it will never include the heavy `BlockPayload`. rpc SubscribeBlockHeaders(SubscribeBlockHeadersRequest) @@ -187,8 +187,8 @@ service AccessAPI { // reached, the stream will remain open and responses are sent for each new // block as it becomes available. // - // Each lightweight block are filtered by the provided block status, and only - // those blocks that match the status are returned. + // Lightweight blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed lightweight blocks will be returned. rpc SubscribeBlockDigests(SubscribeBlockDigestsRequest) returns (stream SubscribeBlockDigestsResponse); @@ -465,7 +465,7 @@ message SubscribeBlocksRequest { // the latest sealed block is used. uint64 start_block_height = 2; - // Preferred block status of the block payload. + // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED @@ -496,7 +496,7 @@ message SubscribeBlockHeadersRequest { // the latest sealed block header is used. uint64 start_block_height = 2; - // Preferred block status of the block payload. + // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED @@ -524,7 +524,7 @@ message SubscribeBlockDigestsRequest { // the latest sealed lightweight block is used. uint64 start_block_height = 2; - // Preferred block status of the block payload. + // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index e12ae02f3..aea3a757e 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2270,7 +2270,7 @@ type SubscribeBlocksRequest struct { // otherwise an InvalidArgument error is returned. If neither are provided, // the latest sealed block is used. StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` - // Preferred block status of the block payload. + // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED @@ -2389,7 +2389,7 @@ type SubscribeBlockHeadersRequest struct { // otherwise an InvalidArgument error is returned. If neither are provided, // the latest sealed block header is used. StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` - // Preferred block status of the block payload. + // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED @@ -2499,7 +2499,7 @@ type SubscribeBlockDigestsRequest struct { // otherwise an InvalidArgument error is returned. If neither are provided, // the latest sealed lightweight block is used. StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` - // Preferred block status of the block payload. + // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index 7c2ea83e7..39d3a2a1b 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -150,16 +150,16 @@ type AccessAPIClient interface { // reached, the stream will remain open and responses are sent for each new // block as it becomes available. // - // Each block are filtered by the provided block status, and only - // those blocks that match the status are returned. + // Blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed blocks will be returned. SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksClient, error) // SubscribeBlockHeaders streams finalized or sealed block headers starting at the requested // start block, up until the latest available block header. Once the latest is // reached, the stream will remain open and responses are sent for each new // block header as it becomes available. // - // Each block header are filtered by the provided block status, and only - // those block headers that match the status are returned. + // Block headers are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed block headres will be returned. // // This is a lighter version of `SubscribeBlocks` as it will never include the heavy `BlockPayload`. SubscribeBlockHeaders(ctx context.Context, in *SubscribeBlockHeadersRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersClient, error) @@ -168,8 +168,8 @@ type AccessAPIClient interface { // reached, the stream will remain open and responses are sent for each new // block as it becomes available. // - // Each lightweight block are filtered by the provided block status, and only - // those blocks that match the status are returned. + // Lightweight blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed lightweight blocks will be returned. SubscribeBlockDigests(ctx context.Context, in *SubscribeBlockDigestsRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsClient, error) // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. @@ -685,16 +685,16 @@ type AccessAPIServer interface { // reached, the stream will remain open and responses are sent for each new // block as it becomes available. // - // Each block are filtered by the provided block status, and only - // those blocks that match the status are returned. + // Blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed blocks will be returned. SubscribeBlocks(*SubscribeBlocksRequest, AccessAPI_SubscribeBlocksServer) error // SubscribeBlockHeaders streams finalized or sealed block headers starting at the requested // start block, up until the latest available block header. Once the latest is // reached, the stream will remain open and responses are sent for each new // block header as it becomes available. // - // Each block header are filtered by the provided block status, and only - // those block headers that match the status are returned. + // Block headers are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed block headres will be returned. // // This is a lighter version of `SubscribeBlocks` as it will never include the heavy `BlockPayload`. SubscribeBlockHeaders(*SubscribeBlockHeadersRequest, AccessAPI_SubscribeBlockHeadersServer) error @@ -703,8 +703,8 @@ type AccessAPIServer interface { // reached, the stream will remain open and responses are sent for each new // block as it becomes available. // - // Each lightweight block are filtered by the provided block status, and only - // those blocks that match the status are returned. + // Lightweight blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed lightweight blocks will be returned. SubscribeBlockDigests(*SubscribeBlockDigestsRequest, AccessAPI_SubscribeBlockDigestsServer) error // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. From ef9ea68850e231d9e3b4a6dab8853ee9ddf2d90b Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 22 Feb 2024 08:21:48 -0800 Subject: [PATCH 085/626] Create 2024-02-22-Protocol-Product-Sync.md --- agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md diff --git a/agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md new file mode 100644 index 000000000..964760e2c --- /dev/null +++ b/agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md @@ -0,0 +1,4 @@ +## Please add agenda items below + +1. Passkey support - will this require a spork? + From 1483ed28352638938ec9818f32e1dcec7f3dbdf0 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 22 Feb 2024 09:45:15 -0800 Subject: [PATCH 086/626] Update 2024-02-22-Protocol-Product-Sync.md --- agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md index 964760e2c..7155ad181 100644 --- a/agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md @@ -1,4 +1,4 @@ ## Please add agenda items below 1. Passkey support - will this require a spork? - +2. Update on what is causing the slow (5 minute) finalization on PreviewNet From 9e6882a1019a776a255b7d1643435928af90c6f3 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 22 Feb 2024 13:37:50 -0800 Subject: [PATCH 087/626] Update 2024-02-22-Protocol-Product-Sync.md --- agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md index 7155ad181..5c23241e4 100644 --- a/agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-02-22-Protocol-Product-Sync.md @@ -1,4 +1,5 @@ ## Please add agenda items below 1. Passkey support - will this require a spork? -2. Update on what is causing the slow (5 minute) finalization on PreviewNet +2. Rosetta for FlowEVM + From ace7bed8a6694004fd43c990ebb1842de6b81f07 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Wed, 28 Feb 2024 11:59:05 +0200 Subject: [PATCH 088/626] Updated the access proto using oneof keyword --- protobuf/flow/access/access.proto | 60 ++-- protobuf/go/flow/access/access.pb.go | 463 ++++++++++++++++----------- 2 files changed, 304 insertions(+), 219 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index ebde19ed4..cebd29d79 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -453,17 +453,15 @@ message ExecutionResultByIDResponse { // The request for SubscribeBlocks message SubscribeBlocksRequest { - // Block ID of the first block to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block is used. - bytes start_block_id = 1; - - // Block height of the first block to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block is used. - uint64 start_block_height = 2; + // Only one of block_id and block_height may be provided, + // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. + // If neither are provided, the latest sealed block is used. + oneof start_block { + // Block ID of the first block to subscribe. + bytes block_id = 1; + // Block height of the first block to subscribe. + uint64 block_height = 2; + } // Required block status of the block payload. // Possible variants: @@ -484,17 +482,15 @@ message SubscribeBlocksResponse { // The request for SubscribeBlockHeaders message SubscribeBlockHeadersRequest { - // Block ID of the first block header to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block header is used. - bytes start_block_id = 1; - - // Block height of the first block header to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block header is used. - uint64 start_block_height = 2; + // Only one of block_id and block_height may be provided, + // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. + // If neither are provided, the latest sealed block header is used. + oneof start_block_header { + // Block ID of the first block header to subscribe. + bytes block_id = 1; + // Block height of the first block header to subscribe. + uint64 block_height = 2; + } // Required block status of the block payload. // Possible variants: @@ -512,17 +508,15 @@ message SubscribeBlockHeadersResponse { // The request for SubscribeBlockDigests message SubscribeBlockDigestsRequest { - // Block ID of the first block to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed lightweight block is used. - bytes start_block_id = 1; - - // Block height of the first block to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed lightweight block is used. - uint64 start_block_height = 2; + // Only one of block_id and block_height may be provided, + // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. + // If neither are provided, the latest sealed lightweight block is used. + oneof start_block { + // Block ID of the first block to subscribe. + bytes block_id = 1; + // Block height of the first block to subscribe. + uint64 block_height = 2; + } // Required block status of the block payload. // Possible variants: diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index aea3a757e..5f6613776 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2260,16 +2260,15 @@ func (m *ExecutionResultByIDResponse) GetMetadata() *entities.Metadata { // The request for SubscribeBlocks type SubscribeBlocksRequest struct { - // Block ID of the first block to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block is used. - StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` - // Block height of the first block to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block is used. - StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Only one of block_id and block_height may be provided, + // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. + // If neither are provided, the latest sealed block is used. + // + // Types that are valid to be assigned to StartBlock: + // + // *SubscribeBlocksRequest_BlockId + // *SubscribeBlocksRequest_BlockHeight + StartBlock isSubscribeBlocksRequest_StartBlock `protobuf_oneof:"start_block"` // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED @@ -2307,16 +2306,39 @@ func (m *SubscribeBlocksRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlocksRequest proto.InternalMessageInfo -func (m *SubscribeBlocksRequest) GetStartBlockId() []byte { +type isSubscribeBlocksRequest_StartBlock interface { + isSubscribeBlocksRequest_StartBlock() +} + +type SubscribeBlocksRequest_BlockId struct { + BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3,oneof"` +} + +type SubscribeBlocksRequest_BlockHeight struct { + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3,oneof"` +} + +func (*SubscribeBlocksRequest_BlockId) isSubscribeBlocksRequest_StartBlock() {} + +func (*SubscribeBlocksRequest_BlockHeight) isSubscribeBlocksRequest_StartBlock() {} + +func (m *SubscribeBlocksRequest) GetStartBlock() isSubscribeBlocksRequest_StartBlock { if m != nil { - return m.StartBlockId + return m.StartBlock } return nil } -func (m *SubscribeBlocksRequest) GetStartBlockHeight() uint64 { - if m != nil { - return m.StartBlockHeight +func (m *SubscribeBlocksRequest) GetBlockId() []byte { + if x, ok := m.GetStartBlock().(*SubscribeBlocksRequest_BlockId); ok { + return x.BlockId + } + return nil +} + +func (m *SubscribeBlocksRequest) GetBlockHeight() uint64 { + if x, ok := m.GetStartBlock().(*SubscribeBlocksRequest_BlockHeight); ok { + return x.BlockHeight } return 0 } @@ -2335,6 +2357,14 @@ func (m *SubscribeBlocksRequest) GetFullBlockResponse() bool { return false } +// XXX_OneofWrappers is for the internal use of the proto package. +func (*SubscribeBlocksRequest) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*SubscribeBlocksRequest_BlockId)(nil), + (*SubscribeBlocksRequest_BlockHeight)(nil), + } +} + // The response for SubscribeBlocks type SubscribeBlocksResponse struct { // The sealed or finalized blocks according to the block status @@ -2379,16 +2409,15 @@ func (m *SubscribeBlocksResponse) GetBlock() *entities.Block { // The request for SubscribeBlockHeaders type SubscribeBlockHeadersRequest struct { - // Block ID of the first block header to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block header is used. - StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` - // Block height of the first block header to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block header is used. - StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Only one of block_id and block_height may be provided, + // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. + // If neither are provided, the latest sealed block header is used. + // + // Types that are valid to be assigned to StartBlockHeader: + // + // *SubscribeBlockHeadersRequest_BlockId + // *SubscribeBlockHeadersRequest_BlockHeight + StartBlockHeader isSubscribeBlockHeadersRequest_StartBlockHeader `protobuf_oneof:"start_block_header"` // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED @@ -2424,16 +2453,39 @@ func (m *SubscribeBlockHeadersRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlockHeadersRequest proto.InternalMessageInfo -func (m *SubscribeBlockHeadersRequest) GetStartBlockId() []byte { +type isSubscribeBlockHeadersRequest_StartBlockHeader interface { + isSubscribeBlockHeadersRequest_StartBlockHeader() +} + +type SubscribeBlockHeadersRequest_BlockId struct { + BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3,oneof"` +} + +type SubscribeBlockHeadersRequest_BlockHeight struct { + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3,oneof"` +} + +func (*SubscribeBlockHeadersRequest_BlockId) isSubscribeBlockHeadersRequest_StartBlockHeader() {} + +func (*SubscribeBlockHeadersRequest_BlockHeight) isSubscribeBlockHeadersRequest_StartBlockHeader() {} + +func (m *SubscribeBlockHeadersRequest) GetStartBlockHeader() isSubscribeBlockHeadersRequest_StartBlockHeader { if m != nil { - return m.StartBlockId + return m.StartBlockHeader } return nil } -func (m *SubscribeBlockHeadersRequest) GetStartBlockHeight() uint64 { - if m != nil { - return m.StartBlockHeight +func (m *SubscribeBlockHeadersRequest) GetBlockId() []byte { + if x, ok := m.GetStartBlockHeader().(*SubscribeBlockHeadersRequest_BlockId); ok { + return x.BlockId + } + return nil +} + +func (m *SubscribeBlockHeadersRequest) GetBlockHeight() uint64 { + if x, ok := m.GetStartBlockHeader().(*SubscribeBlockHeadersRequest_BlockHeight); ok { + return x.BlockHeight } return 0 } @@ -2445,6 +2497,14 @@ func (m *SubscribeBlockHeadersRequest) GetBlockStatus() entities.BlockStatus { return entities.BlockStatus_BLOCK_UNKNOWN } +// XXX_OneofWrappers is for the internal use of the proto package. +func (*SubscribeBlockHeadersRequest) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*SubscribeBlockHeadersRequest_BlockId)(nil), + (*SubscribeBlockHeadersRequest_BlockHeight)(nil), + } +} + // The response for SubscribeBlockHeaders type SubscribeBlockHeadersResponse struct { // The sealed or finalized block headers according to the block status @@ -2489,16 +2549,15 @@ func (m *SubscribeBlockHeadersResponse) GetHeader() *entities.BlockHeader { // The request for SubscribeBlockDigests type SubscribeBlockDigestsRequest struct { - // Block ID of the first block to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed lightweight block is used. - StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` - // Block height of the first block to subscribe. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed lightweight block is used. - StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Only one of block_id and block_height may be provided, + // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. + // If neither are provided, the latest sealed lightweight block is used. + // + // Types that are valid to be assigned to StartBlock: + // + // *SubscribeBlockDigestsRequest_BlockId + // *SubscribeBlockDigestsRequest_BlockHeight + StartBlock isSubscribeBlockDigestsRequest_StartBlock `protobuf_oneof:"start_block"` // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED @@ -2534,16 +2593,39 @@ func (m *SubscribeBlockDigestsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlockDigestsRequest proto.InternalMessageInfo -func (m *SubscribeBlockDigestsRequest) GetStartBlockId() []byte { +type isSubscribeBlockDigestsRequest_StartBlock interface { + isSubscribeBlockDigestsRequest_StartBlock() +} + +type SubscribeBlockDigestsRequest_BlockId struct { + BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3,oneof"` +} + +type SubscribeBlockDigestsRequest_BlockHeight struct { + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3,oneof"` +} + +func (*SubscribeBlockDigestsRequest_BlockId) isSubscribeBlockDigestsRequest_StartBlock() {} + +func (*SubscribeBlockDigestsRequest_BlockHeight) isSubscribeBlockDigestsRequest_StartBlock() {} + +func (m *SubscribeBlockDigestsRequest) GetStartBlock() isSubscribeBlockDigestsRequest_StartBlock { if m != nil { - return m.StartBlockId + return m.StartBlock } return nil } -func (m *SubscribeBlockDigestsRequest) GetStartBlockHeight() uint64 { - if m != nil { - return m.StartBlockHeight +func (m *SubscribeBlockDigestsRequest) GetBlockId() []byte { + if x, ok := m.GetStartBlock().(*SubscribeBlockDigestsRequest_BlockId); ok { + return x.BlockId + } + return nil +} + +func (m *SubscribeBlockDigestsRequest) GetBlockHeight() uint64 { + if x, ok := m.GetStartBlock().(*SubscribeBlockDigestsRequest_BlockHeight); ok { + return x.BlockHeight } return 0 } @@ -2555,6 +2637,14 @@ func (m *SubscribeBlockDigestsRequest) GetBlockStatus() entities.BlockStatus { return entities.BlockStatus_BLOCK_UNKNOWN } +// XXX_OneofWrappers is for the internal use of the proto package. +func (*SubscribeBlockDigestsRequest) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*SubscribeBlockDigestsRequest_BlockId)(nil), + (*SubscribeBlockDigestsRequest_BlockHeight)(nil), + } +} + // The response for SubscribeBlockDigests type SubscribeBlockDigestsResponse struct { // The block ID of the new sealed or finalized block according to the block status @@ -2793,145 +2883,146 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2238 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcd, 0x6f, 0x1c, 0x49, - 0x15, 0x57, 0xcf, 0x38, 0xfe, 0x78, 0x1e, 0xdb, 0x49, 0xd9, 0x71, 0xc6, 0x6d, 0x3b, 0x9e, 0xb4, - 0x13, 0xe2, 0x4d, 0xc2, 0x38, 0xf2, 0x82, 0x36, 0xbb, 0x7c, 0x08, 0x3b, 0x6b, 0xbc, 0x96, 0x92, - 0x95, 0xd5, 0x93, 0x0d, 0x5a, 0x60, 0x33, 0x6a, 0x4f, 0x97, 0xc7, 0x4d, 0x66, 0xba, 0x87, 0xae, - 0x9e, 0x24, 0x06, 0x0e, 0x7b, 0x58, 0x21, 0x24, 0x0e, 0x1c, 0x11, 0x08, 0x2e, 0x70, 0x82, 0x0b, - 0xe2, 0xc0, 0x01, 0x71, 0x40, 0xe2, 0x3f, 0xe0, 0xcc, 0x9f, 0xc2, 0x05, 0x75, 0x55, 0xf5, 0x47, - 0x55, 0x57, 0xf7, 0xf4, 0x4c, 0x58, 0x25, 0x97, 0xc4, 0x5d, 0xf5, 0xea, 0xbd, 0x57, 0xef, 0xbd, - 0x7a, 0xf5, 0xea, 0xf7, 0x06, 0xea, 0x67, 0x3d, 0xef, 0xe5, 0xae, 0xd5, 0xe9, 0x60, 0x42, 0xf8, - 0x7f, 0xcd, 0x81, 0xef, 0x05, 0x1e, 0x9a, 0x0f, 0x67, 0x9a, 0x6c, 0x48, 0x5f, 0xa7, 0x64, 0xd8, - 0x0d, 0x9c, 0xc0, 0xc1, 0x94, 0xd0, 0x1b, 0xba, 0x01, 0xa3, 0xd4, 0x1b, 0xe2, 0xe4, 0x69, 0xcf, - 0xeb, 0x3c, 0x6f, 0x9f, 0x63, 0xcb, 0xc6, 0x3e, 0xa7, 0x58, 0x53, 0x50, 0xf0, 0xa9, 0xeb, 0xe2, - 0x54, 0xc7, 0xeb, 0xf5, 0x70, 0x27, 0x70, 0x3c, 0x57, 0xbd, 0x14, 0xbf, 0xc0, 0xb1, 0xdc, 0x9b, - 0xd2, 0xd4, 0x2b, 0xdc, 0x19, 0x86, 0x2b, 0xdb, 0x3e, 0x26, 0xc3, 0x5e, 0x44, 0xb5, 0x21, 0x52, - 0xf5, 0x71, 0x60, 0xd9, 0x56, 0x60, 0xf1, 0xd9, 0x5b, 0xe2, 0xac, 0xeb, 0xd9, 0xb8, 0xfd, 0x02, - 0xfb, 0x24, 0x64, 0xe3, 0xb8, 0x67, 0x1e, 0x27, 0xdb, 0x12, 0xc9, 0x02, 0xdf, 0x72, 0x89, 0x95, - 0x56, 0x73, 0xab, 0xeb, 0x79, 0xdd, 0x1e, 0xde, 0xa5, 0x5f, 0xa7, 0xc3, 0xb3, 0xdd, 0xc0, 0xe9, - 0x63, 0x12, 0x58, 0xfd, 0x01, 0x23, 0x30, 0x16, 0x60, 0xfe, 0xc4, 0x71, 0xbb, 0x26, 0xfe, 0xf1, - 0x10, 0x93, 0xc0, 0x58, 0x84, 0x1a, 0xfb, 0x24, 0x03, 0xcf, 0x25, 0xd8, 0x58, 0x87, 0xb5, 0x23, - 0x1c, 0x7c, 0xec, 0xd9, 0xf8, 0x29, 0x93, 0x7e, 0xec, 0x9e, 0x79, 0x11, 0xf1, 0x09, 0xe8, 0xaa, - 0x49, 0xb6, 0x14, 0xed, 0xc1, 0x54, 0xa8, 0x69, 0x5d, 0x6b, 0x68, 0x3b, 0xf3, 0x7b, 0xd7, 0x9b, - 0xd4, 0x6f, 0x91, 0xaa, 0x4d, 0x79, 0x15, 0xa5, 0x35, 0x3e, 0x80, 0xf5, 0x23, 0x1c, 0x3c, 0xb2, - 0x02, 0x4c, 0x82, 0x83, 0xd0, 0x1b, 0x1f, 0x51, 0x77, 0x71, 0x81, 0x68, 0x1d, 0xe6, 0x1c, 0xd2, - 0x26, 0xd8, 0xea, 0x61, 0x9b, 0xf2, 0x9d, 0x35, 0x67, 0x1d, 0xd2, 0xa2, 0xdf, 0xc6, 0x5d, 0xaa, - 0x6a, 0x6a, 0xd5, 0xc1, 0xc5, 0xf1, 0x87, 0xd1, 0xca, 0x45, 0xa8, 0x38, 0x6c, 0x49, 0xcd, 0xac, - 0x38, 0xb6, 0xf1, 0x1e, 0x6c, 0xca, 0xc4, 0x1f, 0x61, 0xa7, 0x7b, 0x1e, 0x44, 0x0b, 0x56, 0x61, - 0xfa, 0x9c, 0x0e, 0xd0, 0x45, 0x53, 0x26, 0xff, 0x32, 0xfe, 0xa1, 0xc1, 0xb2, 0xa0, 0x19, 0xdf, - 0xed, 0x7d, 0xb8, 0x44, 0xc3, 0x87, 0x6f, 0x57, 0x97, 0xb6, 0x9b, 0x5e, 0xc2, 0x08, 0xd1, 0xb7, - 0xa0, 0xc6, 0x42, 0x92, 0x04, 0x56, 0x30, 0x24, 0xf5, 0x4a, 0x43, 0xdb, 0x59, 0x54, 0x2f, 0x6c, - 0x51, 0x0a, 0x73, 0xfe, 0x34, 0xf9, 0x40, 0xef, 0xc2, 0x6c, 0x14, 0x33, 0xf5, 0x2a, 0x95, 0x79, - 0x4d, 0x5a, 0xfa, 0x98, 0x4f, 0x9b, 0x31, 0xa1, 0x61, 0xc3, 0x55, 0xd1, 0xbe, 0x65, 0x2c, 0x8b, - 0x9a, 0xb0, 0x7c, 0x36, 0xec, 0xf5, 0xda, 0x4c, 0x5d, 0x9f, 0x6f, 0x99, 0x2a, 0x3c, 0x6b, 0x5e, - 0x09, 0xa7, 0x38, 0x2f, 0x1e, 0x34, 0x9f, 0xc0, 0x72, 0x64, 0xdc, 0x02, 0x1f, 0x8c, 0xcd, 0xd6, - 0x82, 0x6b, 0x09, 0xdb, 0x52, 0xde, 0x1a, 0x5b, 0xc4, 0x5f, 0x34, 0x58, 0x10, 0x46, 0xd0, 0x1d, - 0xd1, 0xaf, 0x2b, 0x2a, 0xf7, 0xbc, 0x49, 0x8f, 0xde, 0x81, 0xfa, 0x11, 0x0e, 0x1e, 0xc6, 0xe9, - 0xa9, 0x28, 0xe8, 0xbf, 0xd0, 0x00, 0x25, 0x94, 0xf1, 0x16, 0xdf, 0x07, 0x48, 0xd2, 0x1b, 0xdf, - 0xe7, 0x9a, 0x24, 0x39, 0xb5, 0x2c, 0x45, 0x2c, 0xa8, 0x5c, 0x29, 0xab, 0xf2, 0x53, 0x58, 0x6d, - 0x61, 0xd7, 0x7e, 0x92, 0x24, 0xab, 0x48, 0xe1, 0x6f, 0xc2, 0x7c, 0x2a, 0x85, 0xe5, 0x1c, 0xa5, - 0xf4, 0xba, 0x34, 0xb9, 0xf1, 0x0c, 0xae, 0x65, 0xf8, 0xf2, 0x2d, 0xca, 0xa1, 0x37, 0x91, 0xde, - 0xff, 0xd2, 0xe8, 0xe9, 0x51, 0xe8, 0x2d, 0xb3, 0x5f, 0x83, 0x59, 0x16, 0x08, 0x8e, 0x4d, 0xd9, - 0xd7, 0xcc, 0x19, 0xfa, 0x7d, 0x6c, 0xa3, 0x6d, 0x58, 0x48, 0xec, 0x17, 0xce, 0x57, 0xe9, 0x7c, - 0x2d, 0x19, 0x3c, 0xb6, 0xd1, 0xa7, 0xb0, 0x4a, 0x2f, 0x94, 0x36, 0x76, 0x3b, 0x9e, 0xed, 0xb8, - 0xdd, 0x28, 0xf7, 0xd7, 0xa7, 0x68, 0x48, 0x6d, 0x4b, 0xca, 0x1e, 0x86, 0xc4, 0x87, 0x9c, 0x96, - 0x67, 0x55, 0x73, 0x05, 0x2b, 0x46, 0x8d, 0x07, 0x34, 0xc3, 0xb6, 0x2e, 0x48, 0x80, 0xfb, 0x8a, - 0x9d, 0xa4, 0x35, 0xd7, 0x04, 0xcd, 0x8d, 0xdf, 0x68, 0x70, 0x43, 0xbd, 0x34, 0xbc, 0xd5, 0x46, - 0x33, 0x28, 0xd8, 0x55, 0xe5, 0x75, 0x77, 0xf5, 0x67, 0x0d, 0x36, 0x44, 0xd7, 0x1c, 0x5c, 0x1c, - 0xbb, 0x36, 0x7e, 0x55, 0x42, 0xad, 0x15, 0xb8, 0xe4, 0x84, 0xa4, 0x54, 0x8b, 0x05, 0x93, 0x7d, - 0x14, 0x28, 0x5b, 0x7d, 0x5d, 0x65, 0x7f, 0xad, 0xc1, 0x96, 0xa8, 0x2c, 0x39, 0xb8, 0xa0, 0x59, - 0x21, 0x39, 0xba, 0x6f, 0xcc, 0x8c, 0x7a, 0xc6, 0xb3, 0x24, 0x3e, 0x45, 0xdf, 0x83, 0xe5, 0xd4, - 0x79, 0xe3, 0xe5, 0x0c, 0xa9, 0x6b, 0x8d, 0xea, 0xce, 0xfc, 0xde, 0x57, 0x9a, 0xa9, 0xc2, 0xac, - 0xa9, 0x88, 0x0f, 0xc6, 0xc4, 0x44, 0x41, 0x46, 0xc0, 0x64, 0xc7, 0xf1, 0x97, 0x1a, 0xac, 0xa4, - 0x6d, 0x18, 0xab, 0xf9, 0x6d, 0xa8, 0xa5, 0x64, 0x44, 0xfa, 0x15, 0xa5, 0x11, 0x81, 0x7e, 0x32, - 0x6d, 0x7e, 0xa1, 0xc1, 0xb2, 0x2a, 0xf3, 0xbc, 0x56, 0x4a, 0x9b, 0x4c, 0x95, 0xbf, 0x55, 0x61, - 0x2d, 0xd7, 0xfe, 0xe8, 0x01, 0x4c, 0xf3, 0xeb, 0x49, 0xa3, 0xe1, 0xd2, 0xc8, 0xd7, 0x85, 0x5f, - 0x52, 0x9c, 0x1e, 0x6d, 0xc1, 0x3c, 0xfb, 0xab, 0xdd, 0xf1, 0x6c, 0xcc, 0x8f, 0x0b, 0xb0, 0xa1, - 0x87, 0x9e, 0x8d, 0xc3, 0xdc, 0x86, 0x7d, 0xdf, 0xf3, 0xdb, 0x7d, 0x4c, 0x88, 0xd5, 0xc5, 0xf4, - 0xa8, 0xcc, 0x99, 0x35, 0x3a, 0xf8, 0x98, 0x8d, 0xa1, 0x7b, 0x30, 0x4d, 0x63, 0x8f, 0xd4, 0xa7, - 0xa8, 0x5f, 0x56, 0x54, 0xe1, 0x6a, 0x72, 0x1a, 0xe1, 0x1c, 0x5c, 0x12, 0xcf, 0xc1, 0x2d, 0x58, - 0x4c, 0x47, 0xa3, 0x63, 0xd7, 0xa7, 0x29, 0xc1, 0x42, 0x6a, 0x54, 0x95, 0x70, 0x67, 0x14, 0x09, - 0xf7, 0x46, 0x74, 0x73, 0xf3, 0x2a, 0x62, 0x96, 0x56, 0x11, 0xec, 0x76, 0x66, 0x95, 0x86, 0xe0, - 0x8a, 0xb9, 0x92, 0xae, 0x40, 0x77, 0xe1, 0x4a, 0xc7, 0xeb, 0x0f, 0x86, 0x81, 0x45, 0xa5, 0x0f, - 0xa9, 0x55, 0x80, 0x32, 0xbf, 0x9c, 0x9a, 0xf8, 0x24, 0x1c, 0x37, 0xbe, 0x0a, 0x57, 0x8e, 0x70, - 0xb0, 0xcf, 0xde, 0x30, 0x51, 0x22, 0xa8, 0xc3, 0x8c, 0x65, 0xdb, 0x3e, 0x26, 0x24, 0xca, 0x03, - 0xfc, 0xd3, 0xf8, 0x29, 0xa0, 0x34, 0x79, 0x5c, 0x87, 0xce, 0xf0, 0x57, 0x10, 0x8f, 0xb5, 0x55, - 0x49, 0xcb, 0x68, 0x41, 0x44, 0x36, 0x59, 0x8c, 0x7d, 0x00, 0xd7, 0x13, 0xe1, 0xfb, 0xaa, 0x8a, - 0x32, 0x5f, 0xf1, 0x57, 0xb0, 0xf4, 0x86, 0xb4, 0xfe, 0x4c, 0xd4, 0xfa, 0x20, 0x71, 0xef, 0x48, - 0xad, 0x33, 0x21, 0x52, 0xc9, 0x84, 0x88, 0xf1, 0x29, 0xdc, 0x38, 0xa4, 0x8f, 0x3d, 0xdc, 0xea, - 0xf8, 0xce, 0x40, 0x6d, 0x97, 0x55, 0x98, 0x26, 0x74, 0x96, 0x0b, 0xe0, 0x5f, 0x68, 0x03, 0xe6, - 0x2c, 0xbf, 0x3b, 0xec, 0xd3, 0xa3, 0x51, 0x69, 0x54, 0x77, 0x6a, 0x66, 0x32, 0x60, 0x0c, 0x60, - 0x53, 0x62, 0x5d, 0xfe, 0xc2, 0x48, 0x24, 0x56, 0xf2, 0x25, 0x56, 0x65, 0x89, 0x3f, 0xcb, 0x6c, - 0x46, 0x61, 0x2e, 0xd9, 0x28, 0x5a, 0xf6, 0xdc, 0x4c, 0x26, 0xfd, 0x57, 0x1a, 0x5c, 0x15, 0xc4, - 0xc7, 0xa1, 0xb2, 0x02, 0x97, 0x5e, 0x58, 0xbd, 0x21, 0xe6, 0xbb, 0x64, 0x1f, 0x13, 0x85, 0x83, - 0xfa, 0x74, 0x56, 0x73, 0x4e, 0xe7, 0xbf, 0x35, 0x1a, 0x3c, 0x34, 0x3d, 0x91, 0xef, 0x7a, 0x3e, - 0x37, 0x84, 0xe5, 0x76, 0x71, 0x64, 0x0d, 0x04, 0x53, 0xc1, 0xc5, 0x80, 0x69, 0x36, 0x67, 0xd2, - 0xbf, 0x43, 0x0b, 0x91, 0xc0, 0xf2, 0x03, 0x29, 0x6c, 0xe8, 0x18, 0xb7, 0xd0, 0x26, 0x00, 0x76, - 0xed, 0x88, 0x80, 0xc9, 0x9f, 0xc3, 0xae, 0xcd, 0xa7, 0xbf, 0xc4, 0x62, 0xf0, 0x4f, 0x1a, 0xad, - 0x06, 0xe3, 0x3d, 0xf1, 0x98, 0x22, 0x45, 0x1b, 0x5a, 0x87, 0xb9, 0x28, 0xd0, 0xa2, 0x38, 0x9d, - 0xe5, 0x91, 0x46, 0xbe, 0xcc, 0xaa, 0xe9, 0x9f, 0x15, 0x58, 0x64, 0x8a, 0xa6, 0xee, 0xd6, 0x19, - 0xb1, 0x06, 0x31, 0x84, 0x1a, 0x44, 0xa4, 0x6e, 0xf2, 0x7b, 0x30, 0x5a, 0x32, 0x51, 0xc8, 0xe8, - 0x7f, 0xd7, 0x60, 0x9a, 0x31, 0x2a, 0x3a, 0x71, 0xa3, 0x73, 0x45, 0xea, 0x1a, 0xac, 0x96, 0xb8, - 0x06, 0x1f, 0xc2, 0x12, 0x63, 0x18, 0xc3, 0x37, 0xd4, 0xf9, 0x61, 0x25, 0xc1, 0x00, 0x9e, 0x66, - 0x04, 0xf0, 0x34, 0x9f, 0x44, 0x14, 0xe6, 0x22, 0x5d, 0x12, 0x7f, 0x1b, 0x9b, 0xd4, 0xd9, 0x1f, - 0xe3, 0xe0, 0xa5, 0xe7, 0x3f, 0x3f, 0xb1, 0x7c, 0xab, 0x8f, 0x03, 0xec, 0x47, 0xce, 0x36, 0xde, - 0xa7, 0x25, 0xb4, 0x62, 0x9a, 0x5b, 0x7b, 0x0d, 0x66, 0x3b, 0xe7, 0x96, 0xe3, 0x46, 0xfb, 0x9d, - 0x33, 0x67, 0xe8, 0xf7, 0xb1, 0x6d, 0xdc, 0x86, 0x5b, 0x31, 0xac, 0x70, 0x12, 0x2a, 0xd2, 0xf1, - 0x7a, 0x61, 0xf1, 0x80, 0x5b, 0xae, 0x35, 0x20, 0xe7, 0x5e, 0x94, 0x2f, 0x8c, 0x43, 0xd8, 0x39, - 0xc2, 0x6a, 0x92, 0x31, 0x4a, 0x60, 0xe3, 0x11, 0xdc, 0xce, 0x67, 0x33, 0x6e, 0x86, 0x0a, 0x9f, - 0xc5, 0x9b, 0x39, 0x5a, 0xf3, 0xad, 0x37, 0x01, 0x11, 0xec, 0x3b, 0x56, 0xcf, 0xf9, 0x09, 0xb6, - 0xa3, 0x59, 0xae, 0x94, 0x62, 0x66, 0xb2, 0xcb, 0xe9, 0x3b, 0xb0, 0x1d, 0x9e, 0xc5, 0x08, 0x2d, - 0x64, 0x51, 0x96, 0x1c, 0xca, 0x12, 0x66, 0xf9, 0xa3, 0x16, 0xe5, 0x6c, 0xe5, 0x7a, 0xbe, 0x99, - 0x63, 0xb8, 0x2c, 0x43, 0x92, 0x39, 0x18, 0x9d, 0xc4, 0xcb, 0x5c, 0xc2, 0xe2, 0xc0, 0x64, 0xfb, - 0xdc, 0xa5, 0xd0, 0x9b, 0xc4, 0xbb, 0x08, 0xb6, 0xf8, 0xbd, 0x06, 0xeb, 0x4a, 0xf2, 0xb7, 0x64, - 0x43, 0xff, 0xd1, 0x60, 0xb5, 0x35, 0x3c, 0x0d, 0xef, 0xb5, 0x53, 0x4c, 0xad, 0x1d, 0x27, 0xd0, - 0x9b, 0xb0, 0xc8, 0xb2, 0xbf, 0xe4, 0x32, 0x76, 0x27, 0x1c, 0xf0, 0x74, 0x71, 0x0f, 0x50, 0x9a, - 0x4a, 0x48, 0x1a, 0x97, 0x13, 0x4a, 0x9e, 0x39, 0x64, 0x94, 0xa9, 0x3a, 0x1e, 0xca, 0x94, 0x03, - 0x89, 0x4d, 0xe5, 0x41, 0x62, 0x87, 0x70, 0x2d, 0xb3, 0xb9, 0xf1, 0xb1, 0x31, 0xe3, 0xaf, 0x1a, - 0x6c, 0x88, 0x7c, 0x18, 0x1a, 0xfa, 0x16, 0x9b, 0xca, 0x68, 0xc1, 0x66, 0x8e, 0xca, 0x31, 0xc4, - 0x3d, 0xcd, 0xfa, 0x09, 0x25, 0x50, 0x5f, 0x4e, 0xa9, 0x30, 0xc4, 0x87, 0x4e, 0x17, 0x93, 0xe0, - 0x6d, 0x36, 0xc4, 0x1f, 0x34, 0xd9, 0x12, 0xb1, 0xce, 0xc9, 0xe5, 0xf0, 0x1a, 0x97, 0xa1, 0xe2, - 0x7a, 0xab, 0x8e, 0x7d, 0xbd, 0xfd, 0x08, 0xee, 0xb4, 0xb0, 0x6b, 0xef, 0xbb, 0x76, 0xac, 0x6a, - 0xe6, 0x2d, 0x8b, 0xc9, 0xff, 0x07, 0x6a, 0xfc, 0x9d, 0x06, 0x77, 0x4b, 0x09, 0xcb, 0xc1, 0x1f, - 0x93, 0x47, 0x78, 0x65, 0xcc, 0x47, 0xf8, 0x36, 0x2c, 0xf0, 0xd7, 0x75, 0x9b, 0xa1, 0x56, 0xac, - 0x5e, 0xac, 0xf1, 0x41, 0x0a, 0x7a, 0xed, 0xfd, 0x77, 0x03, 0xe6, 0xf6, 0x69, 0x11, 0xb4, 0x7f, - 0x72, 0x8c, 0xbe, 0x01, 0x53, 0x27, 0x8e, 0xdb, 0x45, 0x75, 0xa1, 0x3a, 0x4a, 0x75, 0x7d, 0xf4, - 0x35, 0xc5, 0x0c, 0xd7, 0x1c, 0xd3, 0x57, 0xa6, 0xd4, 0xad, 0x41, 0x22, 0xd8, 0x93, 0xdb, 0x21, - 0xd2, 0x6f, 0x8f, 0xa4, 0xe3, 0x62, 0x4e, 0x61, 0x45, 0xd5, 0xf8, 0x41, 0x3b, 0x32, 0x83, 0xbc, - 0xde, 0x90, 0xde, 0x10, 0x28, 0x55, 0x2d, 0x9a, 0x67, 0x74, 0x2b, 0x52, 0x83, 0x28, 0xbb, 0x15, - 0x75, 0x07, 0xa9, 0x04, 0xff, 0x33, 0x58, 0x55, 0xf7, 0x94, 0xd0, 0x9d, 0x42, 0x19, 0x42, 0xc1, - 0x52, 0x42, 0xce, 0x09, 0x2c, 0x8a, 0x86, 0x40, 0x46, 0x81, 0x95, 0x22, 0xbe, 0x7a, 0x96, 0x6f, - 0xcc, 0xf1, 0x11, 0xd4, 0xd2, 0x0d, 0x1b, 0xd4, 0x50, 0xea, 0x9b, 0xb6, 0x46, 0x11, 0xb7, 0x27, - 0x70, 0x59, 0xee, 0xd3, 0xa0, 0x9b, 0x39, 0x1c, 0xc5, 0xbd, 0x17, 0x71, 0xfd, 0x01, 0x45, 0x47, - 0xc4, 0x46, 0x07, 0xba, 0x25, 0xb3, 0x55, 0x36, 0x42, 0xf4, 0x2d, 0x81, 0x4c, 0xd1, 0x02, 0xf9, - 0x21, 0x2c, 0x49, 0xad, 0x03, 0xb4, 0x2d, 0xac, 0x51, 0x37, 0x2c, 0xf4, 0x9b, 0xc5, 0x44, 0x9c, - 0xfb, 0x53, 0xea, 0xb0, 0x34, 0xf3, 0x8c, 0xc3, 0x14, 0xbc, 0x1b, 0x05, 0x80, 0x6a, 0xfa, 0xd0, - 0x64, 0xa0, 0xbe, 0x52, 0xdc, 0x4b, 0xc2, 0xb5, 0x68, 0x40, 0x1f, 0x0d, 0x99, 0x79, 0x0e, 0xaf, - 0xa3, 0x77, 0x0a, 0x44, 0x89, 0x10, 0x7c, 0x69, 0x89, 0x2f, 0xe9, 0x3b, 0x3b, 0x0b, 0x43, 0xc7, - 0x0f, 0x04, 0x74, 0xaf, 0x40, 0x68, 0x06, 0x4a, 0x97, 0x72, 0x50, 0x01, 0xbc, 0xfd, 0x9c, 0xb6, - 0xd2, 0x94, 0xbc, 0xc6, 0x14, 0x79, 0x23, 0x4f, 0x24, 0x91, 0x7c, 0x97, 0x69, 0xa6, 0x64, 0x13, - 0x5e, 0x5e, 0xab, 0xa6, 0x44, 0x7c, 0x04, 0xb4, 0x3f, 0x9f, 0xd3, 0xb0, 0x41, 0xcd, 0x12, 0x92, - 0x52, 0x9d, 0x9d, 0xd2, 0xfe, 0x7b, 0x0c, 0x90, 0x80, 0x6c, 0xe8, 0xba, 0x2c, 0x45, 0xc4, 0x37, - 0xa5, 0xa3, 0xa9, 0x00, 0x34, 0x6d, 0xda, 0xf5, 0x55, 0x21, 0x8d, 0xe8, 0x6e, 0xce, 0x5a, 0x15, - 0xee, 0xa6, 0x6f, 0x08, 0xc4, 0x23, 0xa4, 0xa4, 0x6b, 0xa7, 0x7c, 0x29, 0x59, 0x40, 0x6c, 0x84, - 0x94, 0x01, 0xe8, 0xf9, 0x00, 0xa1, 0xe4, 0x90, 0x91, 0x48, 0xa2, 0x6e, 0xe4, 0xd3, 0xc7, 0x12, - 0xcf, 0x61, 0x55, 0x8d, 0x1b, 0x4a, 0x77, 0x52, 0x21, 0xb8, 0x58, 0x4a, 0x52, 0x76, 0x6f, 0x69, - 0x23, 0x36, 0x47, 0x4a, 0x13, 0xed, 0x58, 0x46, 0x62, 0x87, 0xfa, 0x4c, 0x05, 0xc8, 0x65, 0x7d, - 0x56, 0x00, 0xdb, 0xe9, 0xeb, 0x05, 0xa8, 0x11, 0xfa, 0x8c, 0x9e, 0xd3, 0x0c, 0x42, 0x96, 0x3d, - 0xa7, 0x79, 0x20, 0x5a, 0x31, 0xfb, 0xe7, 0x94, 0x7d, 0x06, 0x74, 0xc9, 0xb2, 0xcf, 0x83, 0x6d, - 0xf4, 0x77, 0x4a, 0x50, 0x72, 0x61, 0x9f, 0x33, 0x08, 0xb3, 0x00, 0xa7, 0x41, 0x7b, 0xea, 0x4a, - 0xa2, 0x08, 0xd4, 0xd1, 0xc5, 0x48, 0x2a, 0x46, 0x52, 0x7e, 0xce, 0x9a, 0xc8, 0xc5, 0x08, 0x10, - 0xfa, 0xba, 0xac, 0x45, 0x29, 0xc4, 0x68, 0x2c, 0x45, 0xbe, 0xd0, 0xa0, 0x31, 0x0a, 0x43, 0x42, - 0x5f, 0x2b, 0xa9, 0x87, 0x18, 0xbb, 0xe3, 0xa8, 0xf1, 0x39, 0x6b, 0x5c, 0xe7, 0xa2, 0x36, 0xe8, - 0x7e, 0x26, 0xce, 0x46, 0x00, 0x44, 0xba, 0xea, 0xa8, 0x15, 0xe1, 0x41, 0x2e, 0x2d, 0x5b, 0x15, - 0x00, 0x4b, 0xb6, 0x6c, 0xcd, 0x07, 0x6d, 0xf4, 0x9d, 0x22, 0xa9, 0x02, 0x5c, 0xf3, 0x0c, 0x96, - 0x24, 0x40, 0x41, 0xae, 0xb5, 0x94, 0x58, 0x8a, 0x5c, 0x6b, 0xa9, 0x31, 0x89, 0xfb, 0x1a, 0x1a, - 0xc0, 0x55, 0xe5, 0xab, 0x5d, 0xaa, 0x55, 0x8a, 0xc0, 0x08, 0xc9, 0x85, 0x85, 0x20, 0x80, 0x4a, - 0x22, 0x7f, 0x1d, 0x17, 0x4a, 0x14, 0x5f, 0xfd, 0x85, 0x12, 0xa5, 0xc7, 0xf6, 0x7d, 0x0d, 0xfd, - 0x56, 0x83, 0xed, 0x12, 0xef, 0x4f, 0xf4, 0x5e, 0xa6, 0x3e, 0x2d, 0xf7, 0x3c, 0xd6, 0x1f, 0x8c, - 0xbf, 0x30, 0x52, 0xee, 0xe0, 0x11, 0xe8, 0x9e, 0xdf, 0x6d, 0x7a, 0x2e, 0x65, 0x11, 0xbf, 0xdc, - 0x19, 0xaf, 0xef, 0x37, 0xbb, 0x4e, 0x70, 0x3e, 0x3c, 0x6d, 0x76, 0xbc, 0xfe, 0x2e, 0x23, 0xd9, - 0xa5, 0xff, 0xc4, 0xbf, 0x50, 0xec, 0x7a, 0xbb, 0xa9, 0x1f, 0x7f, 0x9e, 0x4e, 0xd3, 0x89, 0x77, - 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x22, 0x8c, 0x4a, 0xc2, 0x12, 0x2a, 0x00, 0x00, + // 2249 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8, + 0x15, 0x5f, 0x4a, 0x8e, 0x6d, 0x3d, 0xcb, 0x76, 0x32, 0x76, 0x1c, 0x99, 0xb6, 0x63, 0x85, 0x4e, + 0x1a, 0x6f, 0xb2, 0x95, 0x03, 0x6f, 0x8b, 0xcd, 0x6e, 0xff, 0xa0, 0x76, 0xd6, 0x75, 0x0c, 0x24, + 0x0b, 0x83, 0xca, 0xa6, 0xd8, 0xb6, 0x1b, 0x81, 0x16, 0xc7, 0x32, 0x1b, 0x89, 0x54, 0x39, 0x54, + 0x12, 0xb7, 0x3d, 0xec, 0x61, 0x51, 0x14, 0xe8, 0xa1, 0xc7, 0xa2, 0x45, 0x7b, 0x69, 0x4f, 0xed, + 0xa1, 0x3d, 0xed, 0xa1, 0xe8, 0xa1, 0x40, 0xbf, 0x41, 0x6f, 0xfd, 0x2e, 0xbd, 0x14, 0x9c, 0x19, + 0x52, 0x9c, 0xe1, 0x90, 0xa2, 0xe4, 0x5d, 0x24, 0x97, 0xc4, 0x9c, 0x79, 0xf3, 0xde, 0x9b, 0xf7, + 0xde, 0xbc, 0x79, 0xf3, 0x7b, 0x82, 0xda, 0x69, 0xd7, 0x7b, 0xb9, 0x63, 0xb5, 0xdb, 0x98, 0x10, + 0xfe, 0x5f, 0xa3, 0xef, 0x7b, 0x81, 0x87, 0xe6, 0xc2, 0x99, 0x06, 0x1b, 0xd2, 0xd7, 0x28, 0x19, + 0x76, 0x03, 0x27, 0x70, 0x30, 0x25, 0xf4, 0x06, 0x6e, 0xc0, 0x28, 0xf5, 0xba, 0x38, 0x79, 0xd2, + 0xf5, 0xda, 0xcf, 0x5b, 0x67, 0xd8, 0xb2, 0xb1, 0xcf, 0x29, 0x56, 0x15, 0x14, 0x7c, 0xea, 0xba, + 0x38, 0xd5, 0xf6, 0xba, 0x5d, 0xdc, 0x0e, 0x1c, 0xcf, 0x55, 0x2f, 0xc5, 0x2f, 0x70, 0x2c, 0xf7, + 0xa6, 0x34, 0xf5, 0x0a, 0xb7, 0x07, 0xe1, 0xca, 0x96, 0x8f, 0xc9, 0xa0, 0x1b, 0x51, 0xad, 0x8b, + 0x54, 0x3d, 0x1c, 0x58, 0xb6, 0x15, 0x58, 0x7c, 0xf6, 0x96, 0x38, 0xeb, 0x7a, 0x36, 0x6e, 0xbd, + 0xc0, 0x3e, 0x09, 0xd9, 0x38, 0xee, 0xa9, 0xc7, 0xc9, 0x36, 0x45, 0xb2, 0xc0, 0xb7, 0x5c, 0x62, + 0x25, 0xd5, 0xdc, 0xec, 0x78, 0x5e, 0xa7, 0x8b, 0x77, 0xe8, 0xd7, 0xc9, 0xe0, 0x74, 0x27, 0x70, + 0x7a, 0x98, 0x04, 0x56, 0xaf, 0xcf, 0x08, 0x8c, 0x79, 0x98, 0x3b, 0x76, 0xdc, 0x8e, 0x89, 0x7f, + 0x3a, 0xc0, 0x24, 0x30, 0x16, 0xa0, 0xca, 0x3e, 0x49, 0xdf, 0x73, 0x09, 0x36, 0xd6, 0x60, 0xf5, + 0x10, 0x07, 0x1f, 0x79, 0x36, 0x7e, 0xca, 0xa4, 0x1f, 0xb9, 0xa7, 0x5e, 0x44, 0x7c, 0x0c, 0xba, + 0x6a, 0x92, 0x2d, 0x45, 0xbb, 0x30, 0x15, 0x6a, 0x5a, 0xd3, 0xea, 0xda, 0xf6, 0xdc, 0xee, 0xf5, + 0x06, 0xf5, 0x5b, 0xa4, 0x6a, 0x43, 0x5e, 0x45, 0x69, 0x8d, 0x0f, 0x60, 0xed, 0x10, 0x07, 0x8f, + 0xac, 0x00, 0x93, 0x60, 0x3f, 0xf4, 0xc6, 0x43, 0xea, 0x2e, 0x2e, 0x10, 0xad, 0x41, 0xc5, 0x21, + 0x2d, 0x82, 0xad, 0x2e, 0xb6, 0x29, 0xdf, 0x59, 0x73, 0xd6, 0x21, 0x4d, 0xfa, 0x6d, 0xdc, 0xa5, + 0xaa, 0x26, 0x56, 0xed, 0x9f, 0x1f, 0x7d, 0x18, 0xad, 0x5c, 0x80, 0x92, 0xc3, 0x96, 0x54, 0xcd, + 0x92, 0x63, 0x1b, 0xef, 0xc1, 0x86, 0x4c, 0xfc, 0x10, 0x3b, 0x9d, 0xb3, 0x20, 0x5a, 0xb0, 0x02, + 0xd3, 0x67, 0x74, 0x80, 0x2e, 0x9a, 0x32, 0xf9, 0x97, 0xf1, 0x4f, 0x0d, 0x96, 0x04, 0xcd, 0xf8, + 0x6e, 0xef, 0xc1, 0x25, 0x1a, 0x3e, 0x7c, 0xbb, 0xba, 0xb4, 0xdd, 0xe4, 0x12, 0x46, 0x88, 0xbe, + 0x03, 0x55, 0x16, 0x92, 0x24, 0xb0, 0x82, 0x01, 0xa9, 0x95, 0xea, 0xda, 0xf6, 0x82, 0x7a, 0x61, + 0x93, 0x52, 0x98, 0x73, 0x27, 0xc3, 0x0f, 0xf4, 0x2e, 0xcc, 0x46, 0x31, 0x53, 0x2b, 0x53, 0x99, + 0xd7, 0xa4, 0xa5, 0x8f, 0xf9, 0xb4, 0x19, 0x13, 0x1a, 0x36, 0x5c, 0x15, 0xed, 0x5b, 0xc4, 0xb2, + 0xa8, 0x01, 0x4b, 0xa7, 0x83, 0x6e, 0xb7, 0xc5, 0xd4, 0xf5, 0xf9, 0x96, 0xa9, 0xc2, 0xb3, 0xe6, + 0x95, 0x70, 0x8a, 0xf3, 0xe2, 0x41, 0xf3, 0x31, 0x2c, 0x45, 0xc6, 0xcd, 0xf1, 0xc1, 0xd8, 0x6c, + 0x2d, 0xb8, 0x36, 0x64, 0x5b, 0xc8, 0x5b, 0x63, 0x8b, 0xf8, 0xbb, 0x06, 0xf3, 0xc2, 0x08, 0xba, + 0x23, 0xfa, 0x75, 0x59, 0xe5, 0x9e, 0xd7, 0xe9, 0xd1, 0x3b, 0x50, 0x3b, 0xc4, 0xc1, 0x83, 0x38, + 0x3d, 0xe5, 0x05, 0xfd, 0xe7, 0x1a, 0xa0, 0x21, 0x65, 0xbc, 0xc5, 0xf7, 0x01, 0x86, 0xe9, 0x8d, + 0xef, 0x73, 0x55, 0x92, 0x9c, 0x58, 0x96, 0x20, 0x16, 0x54, 0x2e, 0x15, 0x55, 0xf9, 0x29, 0xac, + 0x34, 0xb1, 0x6b, 0x3f, 0x19, 0x26, 0xab, 0x48, 0xe1, 0x6f, 0xc3, 0x5c, 0x22, 0x85, 0x65, 0x1c, + 0xa5, 0xe4, 0xba, 0x24, 0xb9, 0xf1, 0x0c, 0xae, 0xa5, 0xf8, 0xf2, 0x2d, 0xca, 0xa1, 0x37, 0x91, + 0xde, 0xff, 0xd6, 0xe8, 0xe9, 0x51, 0xe8, 0x2d, 0xb3, 0x5f, 0x85, 0x59, 0x16, 0x08, 0x8e, 0x4d, + 0xd9, 0x57, 0xcd, 0x19, 0xfa, 0x7d, 0x64, 0xa3, 0x2d, 0x98, 0x1f, 0xda, 0x2f, 0x9c, 0x2f, 0xd3, + 0xf9, 0xea, 0x70, 0xf0, 0xc8, 0x46, 0x9f, 0xc0, 0x0a, 0xbd, 0x50, 0x5a, 0xd8, 0x6d, 0x7b, 0xb6, + 0xe3, 0x76, 0xa2, 0xdc, 0x5f, 0x9b, 0xa2, 0x21, 0xb5, 0x25, 0x29, 0x7b, 0x10, 0x12, 0x1f, 0x70, + 0x5a, 0x9e, 0x55, 0xcd, 0x65, 0xac, 0x18, 0x35, 0xee, 0xd3, 0x0c, 0xdb, 0x3c, 0x27, 0x01, 0xee, + 0x29, 0x76, 0x92, 0xd4, 0x5c, 0x13, 0x34, 0x37, 0x7e, 0xa7, 0xc1, 0x0d, 0xf5, 0xd2, 0xf0, 0x56, + 0x1b, 0xcd, 0x20, 0x67, 0x57, 0xa5, 0x8b, 0xee, 0xea, 0xaf, 0x1a, 0xac, 0x8b, 0xae, 0xd9, 0x3f, + 0x3f, 0x72, 0x6d, 0xfc, 0xaa, 0x80, 0x5a, 0xcb, 0x70, 0xc9, 0x09, 0x49, 0xa9, 0x16, 0xf3, 0x26, + 0xfb, 0xc8, 0x51, 0xb6, 0x7c, 0x51, 0x65, 0x7f, 0xab, 0xc1, 0xa6, 0xa8, 0x2c, 0xd9, 0x3f, 0xa7, + 0x59, 0x61, 0x78, 0x74, 0x5f, 0x9b, 0x19, 0xf5, 0x94, 0x67, 0x49, 0x7c, 0x8a, 0x7e, 0x00, 0x4b, + 0x89, 0xf3, 0xc6, 0xcb, 0x19, 0x52, 0xd3, 0xea, 0xe5, 0xed, 0xb9, 0xdd, 0xaf, 0x35, 0x12, 0x85, + 0x59, 0x43, 0x11, 0x1f, 0x8c, 0x89, 0x89, 0x82, 0x94, 0x80, 0xc9, 0x8e, 0xe3, 0xaf, 0x35, 0x58, + 0x4e, 0xda, 0x30, 0x56, 0xf3, 0xbb, 0x50, 0x4d, 0xc8, 0x88, 0xf4, 0xcb, 0x4b, 0x23, 0x02, 0xfd, + 0x64, 0xda, 0xfc, 0x4a, 0x83, 0x25, 0x55, 0xe6, 0xb9, 0x50, 0x4a, 0x9b, 0x4c, 0x95, 0x2f, 0xca, + 0xb0, 0x9a, 0x69, 0x7f, 0x74, 0x1f, 0xa6, 0xf9, 0xf5, 0xa4, 0xd1, 0x70, 0xa9, 0x67, 0xeb, 0xc2, + 0x2f, 0x29, 0x4e, 0x8f, 0x36, 0x61, 0x8e, 0xfd, 0xd5, 0x6a, 0x7b, 0x36, 0xe6, 0xc7, 0x05, 0xd8, + 0xd0, 0x03, 0xcf, 0xc6, 0x61, 0x6e, 0xc3, 0xbe, 0xef, 0xf9, 0xad, 0x1e, 0x26, 0xc4, 0xea, 0x60, + 0x7a, 0x54, 0x2a, 0x66, 0x95, 0x0e, 0x3e, 0x66, 0x63, 0xe8, 0x1d, 0x98, 0xa6, 0xb1, 0x47, 0x6a, + 0x53, 0xd4, 0x2f, 0xcb, 0xaa, 0x70, 0x35, 0x39, 0x8d, 0x70, 0x0e, 0x2e, 0x89, 0xe7, 0xe0, 0x16, + 0x2c, 0x24, 0xa3, 0xd1, 0xb1, 0x6b, 0xd3, 0x94, 0x60, 0x3e, 0x31, 0xaa, 0x4a, 0xb8, 0x33, 0x8a, + 0x84, 0x7b, 0x23, 0xba, 0xb9, 0x79, 0x15, 0x31, 0x4b, 0xab, 0x08, 0x76, 0x3b, 0xb3, 0x4a, 0x43, + 0x70, 0x45, 0xa5, 0xa0, 0x2b, 0xd0, 0x5d, 0xb8, 0xd2, 0xf6, 0x7a, 0xfd, 0x41, 0x60, 0x51, 0xe9, + 0x03, 0x6a, 0x15, 0xa0, 0xcc, 0x2f, 0x27, 0x26, 0x3e, 0x0e, 0xc7, 0x8d, 0xaf, 0xc3, 0x95, 0x43, + 0x1c, 0xec, 0xb1, 0x37, 0x4c, 0x94, 0x08, 0x6a, 0x30, 0x63, 0xd9, 0xb6, 0x8f, 0x09, 0x89, 0xf2, + 0x00, 0xff, 0x34, 0x7e, 0x0e, 0x28, 0x49, 0x1e, 0xd7, 0xa1, 0x33, 0xfc, 0x15, 0xc4, 0x63, 0x6d, + 0x45, 0xd2, 0x32, 0x5a, 0x10, 0x91, 0x4d, 0x16, 0x63, 0x1f, 0xc0, 0xf5, 0xa1, 0xf0, 0x3d, 0x55, + 0x45, 0x99, 0xad, 0xf8, 0x2b, 0x58, 0x7c, 0x4d, 0x5a, 0x7f, 0x2a, 0x6a, 0xbd, 0x3f, 0x74, 0xef, + 0x48, 0xad, 0x53, 0x21, 0x52, 0x4a, 0x85, 0x88, 0xf1, 0x09, 0xdc, 0x38, 0xa0, 0x8f, 0x3d, 0xdc, + 0x6c, 0xfb, 0x4e, 0x5f, 0x6d, 0x97, 0x15, 0x98, 0x26, 0x74, 0x96, 0x0b, 0xe0, 0x5f, 0x68, 0x1d, + 0x2a, 0x96, 0xdf, 0x19, 0xf4, 0xe8, 0xd1, 0x28, 0xd5, 0xcb, 0xdb, 0x55, 0x73, 0x38, 0x60, 0xf4, + 0x61, 0x43, 0x62, 0x5d, 0xfc, 0xc2, 0x18, 0x4a, 0x2c, 0x65, 0x4b, 0x2c, 0xcb, 0x12, 0x7f, 0x91, + 0xda, 0x8c, 0xc2, 0x5c, 0xb2, 0x51, 0xb4, 0xf4, 0xb9, 0x99, 0x4c, 0xfa, 0x6f, 0x34, 0xb8, 0x2a, + 0x88, 0x8f, 0x43, 0x65, 0x19, 0x2e, 0xbd, 0xb0, 0xba, 0x03, 0xcc, 0x77, 0xc9, 0x3e, 0x26, 0x0a, + 0x07, 0xf5, 0xe9, 0x2c, 0x67, 0x9c, 0xce, 0xff, 0x68, 0x34, 0x78, 0x68, 0x7a, 0x22, 0xdf, 0xf7, + 0x7c, 0x6e, 0x08, 0xcb, 0xed, 0xe0, 0xc8, 0x1a, 0x08, 0xa6, 0x82, 0xf3, 0x3e, 0xd3, 0xac, 0x62, + 0xd2, 0xbf, 0x43, 0x0b, 0x91, 0xc0, 0xf2, 0x03, 0x29, 0x6c, 0xe8, 0x18, 0xb7, 0xd0, 0x06, 0x00, + 0x76, 0xed, 0x88, 0x80, 0xc9, 0xaf, 0x60, 0xd7, 0xe6, 0xd3, 0x5f, 0x61, 0x31, 0xf8, 0x17, 0x8d, + 0x56, 0x83, 0xf1, 0x9e, 0x78, 0x4c, 0x91, 0xbc, 0x0d, 0xad, 0x41, 0x25, 0x0a, 0xb4, 0x28, 0x4e, + 0x67, 0x79, 0xa4, 0x91, 0xaf, 0xb2, 0x6a, 0xfa, 0x57, 0x09, 0x16, 0x98, 0xa2, 0x89, 0xbb, 0x75, + 0x46, 0xac, 0x41, 0x0c, 0xa1, 0x06, 0x11, 0xa9, 0x1b, 0xfc, 0x1e, 0x8c, 0x96, 0x4c, 0x14, 0x32, + 0xfa, 0x3f, 0x34, 0x98, 0x66, 0x8c, 0xf2, 0x4e, 0xdc, 0xe8, 0x5c, 0x91, 0xb8, 0x06, 0xcb, 0x05, + 0xae, 0xc1, 0x07, 0xb0, 0xc8, 0x18, 0xc6, 0xf0, 0x0d, 0x75, 0x7e, 0x58, 0x49, 0x30, 0x80, 0xa7, + 0x11, 0x01, 0x3c, 0x8d, 0x27, 0x11, 0x85, 0xb9, 0x40, 0x97, 0xc4, 0xdf, 0xc6, 0x06, 0x75, 0xf6, + 0x47, 0x38, 0x78, 0xe9, 0xf9, 0xcf, 0x8f, 0x2d, 0xdf, 0xea, 0xe1, 0x00, 0xfb, 0x91, 0xb3, 0x8d, + 0xf7, 0x69, 0x09, 0xad, 0x98, 0xe6, 0xd6, 0x5e, 0x85, 0xd9, 0xf6, 0x99, 0xe5, 0xb8, 0xd1, 0x7e, + 0x2b, 0xe6, 0x0c, 0xfd, 0x3e, 0xb2, 0x8d, 0xdb, 0x70, 0x2b, 0x86, 0x15, 0x8e, 0x43, 0x45, 0xda, + 0x5e, 0x37, 0x2c, 0x1e, 0x70, 0xd3, 0xb5, 0xfa, 0xe4, 0xcc, 0x8b, 0xf2, 0x85, 0x71, 0x00, 0xdb, + 0x87, 0x58, 0x4d, 0x32, 0x46, 0x09, 0x6c, 0x3c, 0x82, 0xdb, 0xd9, 0x6c, 0xc6, 0xcd, 0x50, 0xe1, + 0xb3, 0x78, 0x23, 0x43, 0x6b, 0xbe, 0xf5, 0x06, 0x20, 0x82, 0x7d, 0xc7, 0xea, 0x3a, 0x3f, 0xc3, + 0x76, 0x34, 0xcb, 0x95, 0x52, 0xcc, 0x4c, 0x76, 0x39, 0x7d, 0x0f, 0xb6, 0xc2, 0xb3, 0x18, 0xa1, + 0x85, 0x2c, 0xca, 0x86, 0x87, 0xb2, 0x80, 0x59, 0xfe, 0xac, 0x45, 0x39, 0x5b, 0xb9, 0x9e, 0x6f, + 0xe6, 0x08, 0x2e, 0xcb, 0x90, 0x64, 0x06, 0x46, 0x27, 0xf1, 0x32, 0x17, 0xb1, 0x38, 0x30, 0xd9, + 0x3e, 0x77, 0x28, 0xf4, 0x26, 0xf1, 0xce, 0x83, 0x2d, 0xfe, 0xa8, 0xc1, 0x9a, 0x92, 0xfc, 0x0d, + 0xd9, 0xd0, 0x7f, 0x35, 0x58, 0x69, 0x0e, 0x4e, 0xc2, 0x7b, 0xed, 0x04, 0x53, 0x6b, 0x93, 0x21, + 0xac, 0x26, 0x39, 0xeb, 0xe1, 0x5b, 0x49, 0x28, 0x40, 0x91, 0x25, 0x1e, 0xbe, 0x25, 0xe6, 0x09, + 0x19, 0x53, 0x2a, 0x8f, 0x87, 0x29, 0x65, 0x00, 0x60, 0x53, 0x19, 0x00, 0xd8, 0xfe, 0x3c, 0xb0, + 0xab, 0x89, 0x2d, 0x30, 0x0e, 0xe0, 0x5a, 0x6a, 0x67, 0xe3, 0x03, 0x63, 0xc6, 0x17, 0x1a, 0xac, + 0x8b, 0x7c, 0x18, 0x14, 0xfa, 0xc6, 0xd8, 0x69, 0x7f, 0x19, 0x50, 0x62, 0xdf, 0xbc, 0x4b, 0x60, + 0x34, 0x61, 0x23, 0x43, 0xed, 0x18, 0xe3, 0x9e, 0x66, 0xa4, 0x05, 0x60, 0x5f, 0x4e, 0x69, 0xfc, + 0x2d, 0x65, 0x8c, 0x0f, 0x9d, 0x0e, 0x26, 0xc1, 0x9b, 0x63, 0x0c, 0x29, 0x08, 0xfe, 0xa4, 0xc9, + 0x66, 0x88, 0x15, 0x1e, 0x5e, 0x0d, 0x17, 0xb8, 0x0a, 0x15, 0x97, 0x5b, 0x79, 0xec, 0xcb, 0xed, + 0x27, 0x70, 0xa7, 0x89, 0x5d, 0x7b, 0xcf, 0xb5, 0x63, 0x55, 0x53, 0x2f, 0x59, 0x4c, 0xbe, 0x1c, + 0xa0, 0xf1, 0x0f, 0x1a, 0xdc, 0x2d, 0x24, 0x2c, 0x03, 0x7d, 0x1c, 0x3e, 0xc1, 0x4b, 0x63, 0x3e, + 0xc1, 0xb7, 0x60, 0x9e, 0xbf, 0xad, 0x5b, 0x0c, 0xb3, 0x62, 0xd5, 0x62, 0x95, 0x0f, 0x52, 0xc8, + 0x6b, 0xf7, 0x7f, 0xeb, 0x50, 0xd9, 0xa3, 0x25, 0xd0, 0xde, 0xf1, 0x11, 0xfa, 0x16, 0x4c, 0x1d, + 0x3b, 0x6e, 0x07, 0xd5, 0x84, 0xda, 0x28, 0xd1, 0xf3, 0xd1, 0x57, 0x15, 0x33, 0x5c, 0x73, 0x4c, + 0xdf, 0x98, 0x52, 0xaf, 0x06, 0x89, 0x50, 0x4f, 0x66, 0x7f, 0x48, 0xbf, 0x3d, 0x92, 0x8e, 0x8b, + 0x39, 0x81, 0x65, 0x55, 0xdb, 0x07, 0x6d, 0xcb, 0x0c, 0xb2, 0x3a, 0x43, 0x7a, 0x5d, 0xa0, 0x54, + 0x35, 0x68, 0x9e, 0xd1, 0xad, 0x48, 0xed, 0xa1, 0xf4, 0x56, 0xd4, 0xfd, 0xa3, 0x02, 0xfc, 0x4f, + 0x61, 0x45, 0xdd, 0x51, 0x42, 0x77, 0x72, 0x65, 0x08, 0xe5, 0x4a, 0x01, 0x39, 0xc7, 0xb0, 0x20, + 0x1a, 0x02, 0x19, 0x39, 0x56, 0x8a, 0xf8, 0xea, 0x69, 0xbe, 0x31, 0xc7, 0x47, 0x50, 0x4d, 0xb6, + 0x6b, 0x50, 0x5d, 0xa9, 0x6f, 0xd2, 0x1a, 0x79, 0xdc, 0x9e, 0xc0, 0x65, 0xb9, 0x4b, 0x83, 0x6e, + 0x66, 0x70, 0x14, 0xf7, 0x9e, 0xc7, 0xf5, 0x47, 0x14, 0x1b, 0x11, 0xdb, 0x1c, 0xe8, 0x96, 0xcc, + 0x56, 0xd9, 0x06, 0xd1, 0x37, 0x05, 0x32, 0x45, 0x03, 0xe4, 0xc7, 0xb0, 0x28, 0x35, 0x0e, 0xd0, + 0x96, 0xb0, 0x46, 0xdd, 0xae, 0xd0, 0x6f, 0xe6, 0x13, 0x71, 0xee, 0x4f, 0xa9, 0xc3, 0x92, 0xcc, + 0x53, 0x0e, 0x53, 0xf0, 0xae, 0xe7, 0xc0, 0xa9, 0xc9, 0x43, 0x93, 0x02, 0xfa, 0x0a, 0x71, 0x2f, + 0x08, 0xd6, 0xa2, 0x3e, 0x7d, 0x32, 0xa4, 0xe6, 0x39, 0xb8, 0x8e, 0xde, 0xce, 0x11, 0x25, 0x02, + 0xf0, 0x85, 0x25, 0xbe, 0xa4, 0xaf, 0xec, 0x34, 0x08, 0x1d, 0x3f, 0x0f, 0xd0, 0x3b, 0x39, 0x42, + 0x53, 0x40, 0xba, 0x94, 0x83, 0x72, 0xc0, 0xed, 0xe7, 0xb4, 0x91, 0xa6, 0xe4, 0x35, 0xa6, 0xc8, + 0x1b, 0x59, 0x22, 0x89, 0xe4, 0xbb, 0x54, 0x2b, 0x25, 0x9d, 0xf0, 0xb2, 0x1a, 0x35, 0x05, 0xe2, + 0x23, 0xa0, 0xdd, 0xf9, 0x8c, 0x76, 0x0d, 0x6a, 0x14, 0x90, 0x94, 0xe8, 0xeb, 0x14, 0xf6, 0xdf, + 0x63, 0x80, 0x21, 0xc4, 0x86, 0xae, 0xcb, 0x52, 0x44, 0x74, 0x53, 0x3a, 0x9a, 0x0a, 0x38, 0xd3, + 0xa6, 0x3d, 0x5f, 0x15, 0xce, 0x88, 0xee, 0x66, 0xac, 0x55, 0xa1, 0x6e, 0xfa, 0xba, 0x40, 0x3c, + 0x42, 0x4a, 0x02, 0xe8, 0xca, 0x91, 0x92, 0x86, 0xc3, 0x46, 0x48, 0xe9, 0x83, 0x9e, 0x0d, 0x0f, + 0x4a, 0x0e, 0x19, 0x89, 0x23, 0xea, 0x46, 0x36, 0x7d, 0x2c, 0xf1, 0x0c, 0x56, 0xd4, 0xa8, 0xa1, + 0x74, 0x27, 0xe5, 0x42, 0x8b, 0x85, 0x24, 0xa5, 0xf7, 0x96, 0x34, 0x62, 0x63, 0xa4, 0x34, 0xd1, + 0x8e, 0x45, 0x24, 0xb6, 0xa9, 0xcf, 0x54, 0x70, 0x5c, 0xda, 0x67, 0x39, 0xa0, 0x9d, 0xbe, 0x96, + 0x83, 0x19, 0xa1, 0x4f, 0xe9, 0x39, 0x4d, 0xe1, 0x63, 0xe9, 0x73, 0x9a, 0x05, 0xa1, 0xe5, 0xb3, + 0x7f, 0x4e, 0xd9, 0xa7, 0x20, 0x97, 0x34, 0xfb, 0x2c, 0xd0, 0x46, 0x7f, 0xbb, 0x00, 0x25, 0x17, + 0xf6, 0x19, 0x03, 0x30, 0x73, 0x50, 0x1a, 0xb4, 0xab, 0xae, 0x24, 0xf2, 0x20, 0x1d, 0x5d, 0x8c, + 0xa4, 0x7c, 0x1c, 0xe5, 0x97, 0xac, 0x85, 0x9c, 0x8f, 0xff, 0xa0, 0x6f, 0xca, 0x5a, 0x14, 0xc2, + 0x8b, 0xc6, 0x52, 0xe4, 0x73, 0x0d, 0xea, 0xa3, 0x10, 0x24, 0xf4, 0x8d, 0x82, 0x7a, 0x88, 0xb1, + 0x3b, 0x8e, 0x1a, 0x9f, 0xb1, 0xb6, 0x75, 0x26, 0x66, 0x83, 0xee, 0xa5, 0xe2, 0x6c, 0x04, 0x3c, + 0xa4, 0xab, 0x8e, 0x5a, 0x1e, 0x1a, 0xe4, 0xd2, 0xb2, 0x55, 0x01, 0xaf, 0xa4, 0xcb, 0xd6, 0x6c, + 0xc8, 0x46, 0xdf, 0xce, 0x93, 0x2a, 0x80, 0x35, 0xcf, 0x60, 0x51, 0x42, 0x14, 0xe4, 0x5a, 0x4b, + 0x89, 0xa4, 0xc8, 0xb5, 0x96, 0x1a, 0x94, 0xb8, 0xa7, 0xa1, 0x3e, 0x5c, 0x55, 0x3e, 0xd9, 0xa5, + 0x5a, 0x25, 0x0f, 0x8d, 0x90, 0x5c, 0x98, 0x8b, 0x00, 0xa8, 0x24, 0xf2, 0xd7, 0x71, 0xae, 0x44, + 0xf1, 0xc9, 0x9f, 0x2b, 0x51, 0x7a, 0x6c, 0xdf, 0xd3, 0xd0, 0xef, 0x35, 0xd8, 0x2a, 0xf0, 0xfe, + 0x44, 0xef, 0xa5, 0xea, 0xd3, 0x62, 0xcf, 0x63, 0xfd, 0xfe, 0xf8, 0x0b, 0x23, 0xe5, 0xf6, 0x1f, + 0x81, 0xee, 0xf9, 0x9d, 0x86, 0xe7, 0x52, 0x16, 0xf1, 0xcb, 0x9d, 0xf1, 0xfa, 0x61, 0xa3, 0xe3, + 0x04, 0x67, 0x83, 0x93, 0x46, 0xdb, 0xeb, 0xed, 0x30, 0x92, 0x1d, 0xfa, 0x4f, 0xfc, 0xfb, 0xc4, + 0x8e, 0xb7, 0x93, 0xf8, 0xe9, 0xe7, 0xc9, 0x34, 0x9d, 0x78, 0xf7, 0xff, 0x01, 0x00, 0x00, 0xff, + 0xff, 0xcd, 0xbd, 0xe1, 0x85, 0x10, 0x2a, 0x00, 0x00, } From fe36ffaf9a7c0ce5905e70e5b9664deb32d7257f Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Wed, 28 Feb 2024 12:38:26 +0200 Subject: [PATCH 089/626] Updated last commit --- protobuf/flow/access/access.proto | 35 +- protobuf/go/flow/access/access.pb.go | 536 ++++++++++++--------------- 2 files changed, 263 insertions(+), 308 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index cebd29d79..f2b690c97 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -451,26 +451,33 @@ message ExecutionResultByIDResponse { // Subscriptions -// The request for SubscribeBlocks -message SubscribeBlocksRequest { +// Define StartBlock as a start point to subscribe. +message StartBlock { // Only one of block_id and block_height may be provided, // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. - // If neither are provided, the latest sealed block is used. oneof start_block { // Block ID of the first block to subscribe. bytes block_id = 1; // Block height of the first block to subscribe. uint64 block_height = 2; } +} + +// The request for SubscribeBlocks +message SubscribeBlocksRequest { + // Only one of block_id and block_height may be provided, + // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. + // If neither are provided, the latest sealed block is used. + StartBlock start_block = 1; // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED - entities.BlockStatus block_status = 3; + entities.BlockStatus block_status = 2; // Boolean value determining the response: 'full' if `true`, 'light' otherwise. - bool full_block_response = 4; + bool full_block_response = 3; } // The response for SubscribeBlocks @@ -485,18 +492,13 @@ message SubscribeBlockHeadersRequest { // Only one of block_id and block_height may be provided, // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. // If neither are provided, the latest sealed block header is used. - oneof start_block_header { - // Block ID of the first block header to subscribe. - bytes block_id = 1; - // Block height of the first block header to subscribe. - uint64 block_height = 2; - } + StartBlock start_block_header = 1; // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED - entities.BlockStatus block_status = 3; + entities.BlockStatus block_status = 2; } // The response for SubscribeBlockHeaders @@ -511,18 +513,13 @@ message SubscribeBlockDigestsRequest { // Only one of block_id and block_height may be provided, // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. // If neither are provided, the latest sealed lightweight block is used. - oneof start_block { - // Block ID of the first block to subscribe. - bytes block_id = 1; - // Block height of the first block to subscribe. - uint64 block_height = 2; - } + StartBlock start_block = 1; // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED - entities.BlockStatus block_status = 3; + entities.BlockStatus block_status = 2; } // The response for SubscribeBlockDigests diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 5f6613776..6160c36b5 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2258,24 +2258,104 @@ func (m *ExecutionResultByIDResponse) GetMetadata() *entities.Metadata { return nil } -// The request for SubscribeBlocks -type SubscribeBlocksRequest struct { +// Define StartBlock as a start point to subscribe. +type StartBlock struct { // Only one of block_id and block_height may be provided, // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. - // If neither are provided, the latest sealed block is used. // // Types that are valid to be assigned to StartBlock: // - // *SubscribeBlocksRequest_BlockId - // *SubscribeBlocksRequest_BlockHeight - StartBlock isSubscribeBlocksRequest_StartBlock `protobuf_oneof:"start_block"` + // *StartBlock_BlockId + // *StartBlock_BlockHeight + StartBlock isStartBlock_StartBlock `protobuf_oneof:"start_block"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StartBlock) Reset() { *m = StartBlock{} } +func (m *StartBlock) String() string { return proto.CompactTextString(m) } +func (*StartBlock) ProtoMessage() {} +func (*StartBlock) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{47} +} + +func (m *StartBlock) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StartBlock.Unmarshal(m, b) +} +func (m *StartBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StartBlock.Marshal(b, m, deterministic) +} +func (m *StartBlock) XXX_Merge(src proto.Message) { + xxx_messageInfo_StartBlock.Merge(m, src) +} +func (m *StartBlock) XXX_Size() int { + return xxx_messageInfo_StartBlock.Size(m) +} +func (m *StartBlock) XXX_DiscardUnknown() { + xxx_messageInfo_StartBlock.DiscardUnknown(m) +} + +var xxx_messageInfo_StartBlock proto.InternalMessageInfo + +type isStartBlock_StartBlock interface { + isStartBlock_StartBlock() +} + +type StartBlock_BlockId struct { + BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3,oneof"` +} + +type StartBlock_BlockHeight struct { + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3,oneof"` +} + +func (*StartBlock_BlockId) isStartBlock_StartBlock() {} + +func (*StartBlock_BlockHeight) isStartBlock_StartBlock() {} + +func (m *StartBlock) GetStartBlock() isStartBlock_StartBlock { + if m != nil { + return m.StartBlock + } + return nil +} + +func (m *StartBlock) GetBlockId() []byte { + if x, ok := m.GetStartBlock().(*StartBlock_BlockId); ok { + return x.BlockId + } + return nil +} + +func (m *StartBlock) GetBlockHeight() uint64 { + if x, ok := m.GetStartBlock().(*StartBlock_BlockHeight); ok { + return x.BlockHeight + } + return 0 +} + +// XXX_OneofWrappers is for the internal use of the proto package. +func (*StartBlock) XXX_OneofWrappers() []interface{} { + return []interface{}{ + (*StartBlock_BlockId)(nil), + (*StartBlock_BlockHeight)(nil), + } +} + +// The request for SubscribeBlocks +type SubscribeBlocksRequest struct { + // Only one of block_id and block_height may be provided, + // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. + // If neither are provided, the latest sealed block is used. + StartBlock *StartBlock `protobuf:"bytes,1,opt,name=start_block,json=startBlock,proto3" json:"start_block,omitempty"` // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED - BlockStatus entities.BlockStatus `protobuf:"varint,3,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + BlockStatus entities.BlockStatus `protobuf:"varint,2,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` // Boolean value determining the response: 'full' if `true`, 'light' otherwise. - FullBlockResponse bool `protobuf:"varint,4,opt,name=full_block_response,json=fullBlockResponse,proto3" json:"full_block_response,omitempty"` + FullBlockResponse bool `protobuf:"varint,3,opt,name=full_block_response,json=fullBlockResponse,proto3" json:"full_block_response,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2285,7 +2365,7 @@ func (m *SubscribeBlocksRequest) Reset() { *m = SubscribeBlocksRequest{} func (m *SubscribeBlocksRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksRequest) ProtoMessage() {} func (*SubscribeBlocksRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{47} + return fileDescriptor_4382e32bb8e3e8e5, []int{48} } func (m *SubscribeBlocksRequest) XXX_Unmarshal(b []byte) error { @@ -2306,43 +2386,13 @@ func (m *SubscribeBlocksRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlocksRequest proto.InternalMessageInfo -type isSubscribeBlocksRequest_StartBlock interface { - isSubscribeBlocksRequest_StartBlock() -} - -type SubscribeBlocksRequest_BlockId struct { - BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3,oneof"` -} - -type SubscribeBlocksRequest_BlockHeight struct { - BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3,oneof"` -} - -func (*SubscribeBlocksRequest_BlockId) isSubscribeBlocksRequest_StartBlock() {} - -func (*SubscribeBlocksRequest_BlockHeight) isSubscribeBlocksRequest_StartBlock() {} - -func (m *SubscribeBlocksRequest) GetStartBlock() isSubscribeBlocksRequest_StartBlock { +func (m *SubscribeBlocksRequest) GetStartBlock() *StartBlock { if m != nil { return m.StartBlock } return nil } -func (m *SubscribeBlocksRequest) GetBlockId() []byte { - if x, ok := m.GetStartBlock().(*SubscribeBlocksRequest_BlockId); ok { - return x.BlockId - } - return nil -} - -func (m *SubscribeBlocksRequest) GetBlockHeight() uint64 { - if x, ok := m.GetStartBlock().(*SubscribeBlocksRequest_BlockHeight); ok { - return x.BlockHeight - } - return 0 -} - func (m *SubscribeBlocksRequest) GetBlockStatus() entities.BlockStatus { if m != nil { return m.BlockStatus @@ -2357,14 +2407,6 @@ func (m *SubscribeBlocksRequest) GetFullBlockResponse() bool { return false } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*SubscribeBlocksRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*SubscribeBlocksRequest_BlockId)(nil), - (*SubscribeBlocksRequest_BlockHeight)(nil), - } -} - // The response for SubscribeBlocks type SubscribeBlocksResponse struct { // The sealed or finalized blocks according to the block status @@ -2379,7 +2421,7 @@ func (m *SubscribeBlocksResponse) Reset() { *m = SubscribeBlocksResponse func (m *SubscribeBlocksResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksResponse) ProtoMessage() {} func (*SubscribeBlocksResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{48} + return fileDescriptor_4382e32bb8e3e8e5, []int{49} } func (m *SubscribeBlocksResponse) XXX_Unmarshal(b []byte) error { @@ -2412,17 +2454,12 @@ type SubscribeBlockHeadersRequest struct { // Only one of block_id and block_height may be provided, // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. // If neither are provided, the latest sealed block header is used. - // - // Types that are valid to be assigned to StartBlockHeader: - // - // *SubscribeBlockHeadersRequest_BlockId - // *SubscribeBlockHeadersRequest_BlockHeight - StartBlockHeader isSubscribeBlockHeadersRequest_StartBlockHeader `protobuf_oneof:"start_block_header"` + StartBlockHeader *StartBlock `protobuf:"bytes,1,opt,name=start_block_header,json=startBlockHeader,proto3" json:"start_block_header,omitempty"` // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED - BlockStatus entities.BlockStatus `protobuf:"varint,3,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + BlockStatus entities.BlockStatus `protobuf:"varint,2,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2432,7 +2469,7 @@ func (m *SubscribeBlockHeadersRequest) Reset() { *m = SubscribeBlockHead func (m *SubscribeBlockHeadersRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockHeadersRequest) ProtoMessage() {} func (*SubscribeBlockHeadersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{49} + return fileDescriptor_4382e32bb8e3e8e5, []int{50} } func (m *SubscribeBlockHeadersRequest) XXX_Unmarshal(b []byte) error { @@ -2453,43 +2490,13 @@ func (m *SubscribeBlockHeadersRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlockHeadersRequest proto.InternalMessageInfo -type isSubscribeBlockHeadersRequest_StartBlockHeader interface { - isSubscribeBlockHeadersRequest_StartBlockHeader() -} - -type SubscribeBlockHeadersRequest_BlockId struct { - BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3,oneof"` -} - -type SubscribeBlockHeadersRequest_BlockHeight struct { - BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3,oneof"` -} - -func (*SubscribeBlockHeadersRequest_BlockId) isSubscribeBlockHeadersRequest_StartBlockHeader() {} - -func (*SubscribeBlockHeadersRequest_BlockHeight) isSubscribeBlockHeadersRequest_StartBlockHeader() {} - -func (m *SubscribeBlockHeadersRequest) GetStartBlockHeader() isSubscribeBlockHeadersRequest_StartBlockHeader { +func (m *SubscribeBlockHeadersRequest) GetStartBlockHeader() *StartBlock { if m != nil { return m.StartBlockHeader } return nil } -func (m *SubscribeBlockHeadersRequest) GetBlockId() []byte { - if x, ok := m.GetStartBlockHeader().(*SubscribeBlockHeadersRequest_BlockId); ok { - return x.BlockId - } - return nil -} - -func (m *SubscribeBlockHeadersRequest) GetBlockHeight() uint64 { - if x, ok := m.GetStartBlockHeader().(*SubscribeBlockHeadersRequest_BlockHeight); ok { - return x.BlockHeight - } - return 0 -} - func (m *SubscribeBlockHeadersRequest) GetBlockStatus() entities.BlockStatus { if m != nil { return m.BlockStatus @@ -2497,14 +2504,6 @@ func (m *SubscribeBlockHeadersRequest) GetBlockStatus() entities.BlockStatus { return entities.BlockStatus_BLOCK_UNKNOWN } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*SubscribeBlockHeadersRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*SubscribeBlockHeadersRequest_BlockId)(nil), - (*SubscribeBlockHeadersRequest_BlockHeight)(nil), - } -} - // The response for SubscribeBlockHeaders type SubscribeBlockHeadersResponse struct { // The sealed or finalized block headers according to the block status @@ -2519,7 +2518,7 @@ func (m *SubscribeBlockHeadersResponse) Reset() { *m = SubscribeBlockHea func (m *SubscribeBlockHeadersResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockHeadersResponse) ProtoMessage() {} func (*SubscribeBlockHeadersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{50} + return fileDescriptor_4382e32bb8e3e8e5, []int{51} } func (m *SubscribeBlockHeadersResponse) XXX_Unmarshal(b []byte) error { @@ -2552,17 +2551,12 @@ type SubscribeBlockDigestsRequest struct { // Only one of block_id and block_height may be provided, // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. // If neither are provided, the latest sealed lightweight block is used. - // - // Types that are valid to be assigned to StartBlock: - // - // *SubscribeBlockDigestsRequest_BlockId - // *SubscribeBlockDigestsRequest_BlockHeight - StartBlock isSubscribeBlockDigestsRequest_StartBlock `protobuf_oneof:"start_block"` + StartBlock *StartBlock `protobuf:"bytes,1,opt,name=start_block,json=startBlock,proto3" json:"start_block,omitempty"` // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED // 2. BLOCK_SEALED - BlockStatus entities.BlockStatus `protobuf:"varint,3,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + BlockStatus entities.BlockStatus `protobuf:"varint,2,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2572,7 +2566,7 @@ func (m *SubscribeBlockDigestsRequest) Reset() { *m = SubscribeBlockDige func (m *SubscribeBlockDigestsRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockDigestsRequest) ProtoMessage() {} func (*SubscribeBlockDigestsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{51} + return fileDescriptor_4382e32bb8e3e8e5, []int{52} } func (m *SubscribeBlockDigestsRequest) XXX_Unmarshal(b []byte) error { @@ -2593,43 +2587,13 @@ func (m *SubscribeBlockDigestsRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlockDigestsRequest proto.InternalMessageInfo -type isSubscribeBlockDigestsRequest_StartBlock interface { - isSubscribeBlockDigestsRequest_StartBlock() -} - -type SubscribeBlockDigestsRequest_BlockId struct { - BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3,oneof"` -} - -type SubscribeBlockDigestsRequest_BlockHeight struct { - BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3,oneof"` -} - -func (*SubscribeBlockDigestsRequest_BlockId) isSubscribeBlockDigestsRequest_StartBlock() {} - -func (*SubscribeBlockDigestsRequest_BlockHeight) isSubscribeBlockDigestsRequest_StartBlock() {} - -func (m *SubscribeBlockDigestsRequest) GetStartBlock() isSubscribeBlockDigestsRequest_StartBlock { +func (m *SubscribeBlockDigestsRequest) GetStartBlock() *StartBlock { if m != nil { return m.StartBlock } return nil } -func (m *SubscribeBlockDigestsRequest) GetBlockId() []byte { - if x, ok := m.GetStartBlock().(*SubscribeBlockDigestsRequest_BlockId); ok { - return x.BlockId - } - return nil -} - -func (m *SubscribeBlockDigestsRequest) GetBlockHeight() uint64 { - if x, ok := m.GetStartBlock().(*SubscribeBlockDigestsRequest_BlockHeight); ok { - return x.BlockHeight - } - return 0 -} - func (m *SubscribeBlockDigestsRequest) GetBlockStatus() entities.BlockStatus { if m != nil { return m.BlockStatus @@ -2637,14 +2601,6 @@ func (m *SubscribeBlockDigestsRequest) GetBlockStatus() entities.BlockStatus { return entities.BlockStatus_BLOCK_UNKNOWN } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*SubscribeBlockDigestsRequest) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*SubscribeBlockDigestsRequest_BlockId)(nil), - (*SubscribeBlockDigestsRequest_BlockHeight)(nil), - } -} - // The response for SubscribeBlockDigests type SubscribeBlockDigestsResponse struct { // The block ID of the new sealed or finalized block according to the block status @@ -2665,7 +2621,7 @@ func (m *SubscribeBlockDigestsResponse) Reset() { *m = SubscribeBlockDig func (m *SubscribeBlockDigestsResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockDigestsResponse) ProtoMessage() {} func (*SubscribeBlockDigestsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{52} + return fileDescriptor_4382e32bb8e3e8e5, []int{53} } func (m *SubscribeBlockDigestsResponse) XXX_Unmarshal(b []byte) error { @@ -2724,7 +2680,7 @@ func (m *SendAndSubscribeTransactionStatusesRequest) String() string { } func (*SendAndSubscribeTransactionStatusesRequest) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{53} + return fileDescriptor_4382e32bb8e3e8e5, []int{54} } func (m *SendAndSubscribeTransactionStatusesRequest) XXX_Unmarshal(b []byte) error { @@ -2779,7 +2735,7 @@ func (m *SendAndSubscribeTransactionStatusesResponse) String() string { } func (*SendAndSubscribeTransactionStatusesResponse) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{54} + return fileDescriptor_4382e32bb8e3e8e5, []int{55} } func (m *SendAndSubscribeTransactionStatusesResponse) XXX_Unmarshal(b []byte) error { @@ -2870,6 +2826,7 @@ func init() { proto.RegisterType((*ExecutionResultForBlockIDResponse)(nil), "flow.access.ExecutionResultForBlockIDResponse") proto.RegisterType((*GetExecutionResultByIDRequest)(nil), "flow.access.GetExecutionResultByIDRequest") proto.RegisterType((*ExecutionResultByIDResponse)(nil), "flow.access.ExecutionResultByIDResponse") + proto.RegisterType((*StartBlock)(nil), "flow.access.StartBlock") proto.RegisterType((*SubscribeBlocksRequest)(nil), "flow.access.SubscribeBlocksRequest") proto.RegisterType((*SubscribeBlocksResponse)(nil), "flow.access.SubscribeBlocksResponse") proto.RegisterType((*SubscribeBlockHeadersRequest)(nil), "flow.access.SubscribeBlockHeadersRequest") @@ -2883,146 +2840,147 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2249 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x6f, 0xdb, 0xc8, - 0x15, 0x5f, 0x4a, 0x8e, 0x6d, 0x3d, 0xcb, 0x76, 0x32, 0x76, 0x1c, 0x99, 0xb6, 0x63, 0x85, 0x4e, - 0x1a, 0x6f, 0xb2, 0x95, 0x03, 0x6f, 0x8b, 0xcd, 0x6e, 0xff, 0xa0, 0x76, 0xd6, 0x75, 0x0c, 0x24, - 0x0b, 0x83, 0xca, 0xa6, 0xd8, 0xb6, 0x1b, 0x81, 0x16, 0xc7, 0x32, 0x1b, 0x89, 0x54, 0x39, 0x54, - 0x12, 0xb7, 0x3d, 0xec, 0x61, 0x51, 0x14, 0xe8, 0xa1, 0xc7, 0xa2, 0x45, 0x7b, 0x69, 0x4f, 0xed, - 0xa1, 0x3d, 0xed, 0xa1, 0xe8, 0xa1, 0x40, 0xbf, 0x41, 0x6f, 0xfd, 0x2e, 0xbd, 0x14, 0x9c, 0x19, - 0x52, 0x9c, 0xe1, 0x90, 0xa2, 0xe4, 0x5d, 0x24, 0x97, 0xc4, 0x9c, 0x79, 0xf3, 0xde, 0x9b, 0xf7, - 0xde, 0xbc, 0x79, 0xf3, 0x7b, 0x82, 0xda, 0x69, 0xd7, 0x7b, 0xb9, 0x63, 0xb5, 0xdb, 0x98, 0x10, - 0xfe, 0x5f, 0xa3, 0xef, 0x7b, 0x81, 0x87, 0xe6, 0xc2, 0x99, 0x06, 0x1b, 0xd2, 0xd7, 0x28, 0x19, - 0x76, 0x03, 0x27, 0x70, 0x30, 0x25, 0xf4, 0x06, 0x6e, 0xc0, 0x28, 0xf5, 0xba, 0x38, 0x79, 0xd2, - 0xf5, 0xda, 0xcf, 0x5b, 0x67, 0xd8, 0xb2, 0xb1, 0xcf, 0x29, 0x56, 0x15, 0x14, 0x7c, 0xea, 0xba, - 0x38, 0xd5, 0xf6, 0xba, 0x5d, 0xdc, 0x0e, 0x1c, 0xcf, 0x55, 0x2f, 0xc5, 0x2f, 0x70, 0x2c, 0xf7, - 0xa6, 0x34, 0xf5, 0x0a, 0xb7, 0x07, 0xe1, 0xca, 0x96, 0x8f, 0xc9, 0xa0, 0x1b, 0x51, 0xad, 0x8b, - 0x54, 0x3d, 0x1c, 0x58, 0xb6, 0x15, 0x58, 0x7c, 0xf6, 0x96, 0x38, 0xeb, 0x7a, 0x36, 0x6e, 0xbd, - 0xc0, 0x3e, 0x09, 0xd9, 0x38, 0xee, 0xa9, 0xc7, 0xc9, 0x36, 0x45, 0xb2, 0xc0, 0xb7, 0x5c, 0x62, - 0x25, 0xd5, 0xdc, 0xec, 0x78, 0x5e, 0xa7, 0x8b, 0x77, 0xe8, 0xd7, 0xc9, 0xe0, 0x74, 0x27, 0x70, - 0x7a, 0x98, 0x04, 0x56, 0xaf, 0xcf, 0x08, 0x8c, 0x79, 0x98, 0x3b, 0x76, 0xdc, 0x8e, 0x89, 0x7f, - 0x3a, 0xc0, 0x24, 0x30, 0x16, 0xa0, 0xca, 0x3e, 0x49, 0xdf, 0x73, 0x09, 0x36, 0xd6, 0x60, 0xf5, - 0x10, 0x07, 0x1f, 0x79, 0x36, 0x7e, 0xca, 0xa4, 0x1f, 0xb9, 0xa7, 0x5e, 0x44, 0x7c, 0x0c, 0xba, - 0x6a, 0x92, 0x2d, 0x45, 0xbb, 0x30, 0x15, 0x6a, 0x5a, 0xd3, 0xea, 0xda, 0xf6, 0xdc, 0xee, 0xf5, - 0x06, 0xf5, 0x5b, 0xa4, 0x6a, 0x43, 0x5e, 0x45, 0x69, 0x8d, 0x0f, 0x60, 0xed, 0x10, 0x07, 0x8f, - 0xac, 0x00, 0x93, 0x60, 0x3f, 0xf4, 0xc6, 0x43, 0xea, 0x2e, 0x2e, 0x10, 0xad, 0x41, 0xc5, 0x21, - 0x2d, 0x82, 0xad, 0x2e, 0xb6, 0x29, 0xdf, 0x59, 0x73, 0xd6, 0x21, 0x4d, 0xfa, 0x6d, 0xdc, 0xa5, - 0xaa, 0x26, 0x56, 0xed, 0x9f, 0x1f, 0x7d, 0x18, 0xad, 0x5c, 0x80, 0x92, 0xc3, 0x96, 0x54, 0xcd, - 0x92, 0x63, 0x1b, 0xef, 0xc1, 0x86, 0x4c, 0xfc, 0x10, 0x3b, 0x9d, 0xb3, 0x20, 0x5a, 0xb0, 0x02, - 0xd3, 0x67, 0x74, 0x80, 0x2e, 0x9a, 0x32, 0xf9, 0x97, 0xf1, 0x4f, 0x0d, 0x96, 0x04, 0xcd, 0xf8, - 0x6e, 0xef, 0xc1, 0x25, 0x1a, 0x3e, 0x7c, 0xbb, 0xba, 0xb4, 0xdd, 0xe4, 0x12, 0x46, 0x88, 0xbe, - 0x03, 0x55, 0x16, 0x92, 0x24, 0xb0, 0x82, 0x01, 0xa9, 0x95, 0xea, 0xda, 0xf6, 0x82, 0x7a, 0x61, - 0x93, 0x52, 0x98, 0x73, 0x27, 0xc3, 0x0f, 0xf4, 0x2e, 0xcc, 0x46, 0x31, 0x53, 0x2b, 0x53, 0x99, - 0xd7, 0xa4, 0xa5, 0x8f, 0xf9, 0xb4, 0x19, 0x13, 0x1a, 0x36, 0x5c, 0x15, 0xed, 0x5b, 0xc4, 0xb2, - 0xa8, 0x01, 0x4b, 0xa7, 0x83, 0x6e, 0xb7, 0xc5, 0xd4, 0xf5, 0xf9, 0x96, 0xa9, 0xc2, 0xb3, 0xe6, - 0x95, 0x70, 0x8a, 0xf3, 0xe2, 0x41, 0xf3, 0x31, 0x2c, 0x45, 0xc6, 0xcd, 0xf1, 0xc1, 0xd8, 0x6c, - 0x2d, 0xb8, 0x36, 0x64, 0x5b, 0xc8, 0x5b, 0x63, 0x8b, 0xf8, 0xbb, 0x06, 0xf3, 0xc2, 0x08, 0xba, - 0x23, 0xfa, 0x75, 0x59, 0xe5, 0x9e, 0xd7, 0xe9, 0xd1, 0x3b, 0x50, 0x3b, 0xc4, 0xc1, 0x83, 0x38, - 0x3d, 0xe5, 0x05, 0xfd, 0xe7, 0x1a, 0xa0, 0x21, 0x65, 0xbc, 0xc5, 0xf7, 0x01, 0x86, 0xe9, 0x8d, - 0xef, 0x73, 0x55, 0x92, 0x9c, 0x58, 0x96, 0x20, 0x16, 0x54, 0x2e, 0x15, 0x55, 0xf9, 0x29, 0xac, - 0x34, 0xb1, 0x6b, 0x3f, 0x19, 0x26, 0xab, 0x48, 0xe1, 0x6f, 0xc3, 0x5c, 0x22, 0x85, 0x65, 0x1c, - 0xa5, 0xe4, 0xba, 0x24, 0xb9, 0xf1, 0x0c, 0xae, 0xa5, 0xf8, 0xf2, 0x2d, 0xca, 0xa1, 0x37, 0x91, - 0xde, 0xff, 0xd6, 0xe8, 0xe9, 0x51, 0xe8, 0x2d, 0xb3, 0x5f, 0x85, 0x59, 0x16, 0x08, 0x8e, 0x4d, - 0xd9, 0x57, 0xcd, 0x19, 0xfa, 0x7d, 0x64, 0xa3, 0x2d, 0x98, 0x1f, 0xda, 0x2f, 0x9c, 0x2f, 0xd3, - 0xf9, 0xea, 0x70, 0xf0, 0xc8, 0x46, 0x9f, 0xc0, 0x0a, 0xbd, 0x50, 0x5a, 0xd8, 0x6d, 0x7b, 0xb6, - 0xe3, 0x76, 0xa2, 0xdc, 0x5f, 0x9b, 0xa2, 0x21, 0xb5, 0x25, 0x29, 0x7b, 0x10, 0x12, 0x1f, 0x70, - 0x5a, 0x9e, 0x55, 0xcd, 0x65, 0xac, 0x18, 0x35, 0xee, 0xd3, 0x0c, 0xdb, 0x3c, 0x27, 0x01, 0xee, - 0x29, 0x76, 0x92, 0xd4, 0x5c, 0x13, 0x34, 0x37, 0x7e, 0xa7, 0xc1, 0x0d, 0xf5, 0xd2, 0xf0, 0x56, - 0x1b, 0xcd, 0x20, 0x67, 0x57, 0xa5, 0x8b, 0xee, 0xea, 0xaf, 0x1a, 0xac, 0x8b, 0xae, 0xd9, 0x3f, - 0x3f, 0x72, 0x6d, 0xfc, 0xaa, 0x80, 0x5a, 0xcb, 0x70, 0xc9, 0x09, 0x49, 0xa9, 0x16, 0xf3, 0x26, - 0xfb, 0xc8, 0x51, 0xb6, 0x7c, 0x51, 0x65, 0x7f, 0xab, 0xc1, 0xa6, 0xa8, 0x2c, 0xd9, 0x3f, 0xa7, - 0x59, 0x61, 0x78, 0x74, 0x5f, 0x9b, 0x19, 0xf5, 0x94, 0x67, 0x49, 0x7c, 0x8a, 0x7e, 0x00, 0x4b, - 0x89, 0xf3, 0xc6, 0xcb, 0x19, 0x52, 0xd3, 0xea, 0xe5, 0xed, 0xb9, 0xdd, 0xaf, 0x35, 0x12, 0x85, - 0x59, 0x43, 0x11, 0x1f, 0x8c, 0x89, 0x89, 0x82, 0x94, 0x80, 0xc9, 0x8e, 0xe3, 0xaf, 0x35, 0x58, - 0x4e, 0xda, 0x30, 0x56, 0xf3, 0xbb, 0x50, 0x4d, 0xc8, 0x88, 0xf4, 0xcb, 0x4b, 0x23, 0x02, 0xfd, - 0x64, 0xda, 0xfc, 0x4a, 0x83, 0x25, 0x55, 0xe6, 0xb9, 0x50, 0x4a, 0x9b, 0x4c, 0x95, 0x2f, 0xca, - 0xb0, 0x9a, 0x69, 0x7f, 0x74, 0x1f, 0xa6, 0xf9, 0xf5, 0xa4, 0xd1, 0x70, 0xa9, 0x67, 0xeb, 0xc2, - 0x2f, 0x29, 0x4e, 0x8f, 0x36, 0x61, 0x8e, 0xfd, 0xd5, 0x6a, 0x7b, 0x36, 0xe6, 0xc7, 0x05, 0xd8, - 0xd0, 0x03, 0xcf, 0xc6, 0x61, 0x6e, 0xc3, 0xbe, 0xef, 0xf9, 0xad, 0x1e, 0x26, 0xc4, 0xea, 0x60, - 0x7a, 0x54, 0x2a, 0x66, 0x95, 0x0e, 0x3e, 0x66, 0x63, 0xe8, 0x1d, 0x98, 0xa6, 0xb1, 0x47, 0x6a, - 0x53, 0xd4, 0x2f, 0xcb, 0xaa, 0x70, 0x35, 0x39, 0x8d, 0x70, 0x0e, 0x2e, 0x89, 0xe7, 0xe0, 0x16, - 0x2c, 0x24, 0xa3, 0xd1, 0xb1, 0x6b, 0xd3, 0x94, 0x60, 0x3e, 0x31, 0xaa, 0x4a, 0xb8, 0x33, 0x8a, - 0x84, 0x7b, 0x23, 0xba, 0xb9, 0x79, 0x15, 0x31, 0x4b, 0xab, 0x08, 0x76, 0x3b, 0xb3, 0x4a, 0x43, - 0x70, 0x45, 0xa5, 0xa0, 0x2b, 0xd0, 0x5d, 0xb8, 0xd2, 0xf6, 0x7a, 0xfd, 0x41, 0x60, 0x51, 0xe9, - 0x03, 0x6a, 0x15, 0xa0, 0xcc, 0x2f, 0x27, 0x26, 0x3e, 0x0e, 0xc7, 0x8d, 0xaf, 0xc3, 0x95, 0x43, - 0x1c, 0xec, 0xb1, 0x37, 0x4c, 0x94, 0x08, 0x6a, 0x30, 0x63, 0xd9, 0xb6, 0x8f, 0x09, 0x89, 0xf2, - 0x00, 0xff, 0x34, 0x7e, 0x0e, 0x28, 0x49, 0x1e, 0xd7, 0xa1, 0x33, 0xfc, 0x15, 0xc4, 0x63, 0x6d, - 0x45, 0xd2, 0x32, 0x5a, 0x10, 0x91, 0x4d, 0x16, 0x63, 0x1f, 0xc0, 0xf5, 0xa1, 0xf0, 0x3d, 0x55, - 0x45, 0x99, 0xad, 0xf8, 0x2b, 0x58, 0x7c, 0x4d, 0x5a, 0x7f, 0x2a, 0x6a, 0xbd, 0x3f, 0x74, 0xef, - 0x48, 0xad, 0x53, 0x21, 0x52, 0x4a, 0x85, 0x88, 0xf1, 0x09, 0xdc, 0x38, 0xa0, 0x8f, 0x3d, 0xdc, - 0x6c, 0xfb, 0x4e, 0x5f, 0x6d, 0x97, 0x15, 0x98, 0x26, 0x74, 0x96, 0x0b, 0xe0, 0x5f, 0x68, 0x1d, - 0x2a, 0x96, 0xdf, 0x19, 0xf4, 0xe8, 0xd1, 0x28, 0xd5, 0xcb, 0xdb, 0x55, 0x73, 0x38, 0x60, 0xf4, - 0x61, 0x43, 0x62, 0x5d, 0xfc, 0xc2, 0x18, 0x4a, 0x2c, 0x65, 0x4b, 0x2c, 0xcb, 0x12, 0x7f, 0x91, - 0xda, 0x8c, 0xc2, 0x5c, 0xb2, 0x51, 0xb4, 0xf4, 0xb9, 0x99, 0x4c, 0xfa, 0x6f, 0x34, 0xb8, 0x2a, - 0x88, 0x8f, 0x43, 0x65, 0x19, 0x2e, 0xbd, 0xb0, 0xba, 0x03, 0xcc, 0x77, 0xc9, 0x3e, 0x26, 0x0a, - 0x07, 0xf5, 0xe9, 0x2c, 0x67, 0x9c, 0xce, 0xff, 0x68, 0x34, 0x78, 0x68, 0x7a, 0x22, 0xdf, 0xf7, - 0x7c, 0x6e, 0x08, 0xcb, 0xed, 0xe0, 0xc8, 0x1a, 0x08, 0xa6, 0x82, 0xf3, 0x3e, 0xd3, 0xac, 0x62, - 0xd2, 0xbf, 0x43, 0x0b, 0x91, 0xc0, 0xf2, 0x03, 0x29, 0x6c, 0xe8, 0x18, 0xb7, 0xd0, 0x06, 0x00, - 0x76, 0xed, 0x88, 0x80, 0xc9, 0xaf, 0x60, 0xd7, 0xe6, 0xd3, 0x5f, 0x61, 0x31, 0xf8, 0x17, 0x8d, - 0x56, 0x83, 0xf1, 0x9e, 0x78, 0x4c, 0x91, 0xbc, 0x0d, 0xad, 0x41, 0x25, 0x0a, 0xb4, 0x28, 0x4e, - 0x67, 0x79, 0xa4, 0x91, 0xaf, 0xb2, 0x6a, 0xfa, 0x57, 0x09, 0x16, 0x98, 0xa2, 0x89, 0xbb, 0x75, - 0x46, 0xac, 0x41, 0x0c, 0xa1, 0x06, 0x11, 0xa9, 0x1b, 0xfc, 0x1e, 0x8c, 0x96, 0x4c, 0x14, 0x32, - 0xfa, 0x3f, 0x34, 0x98, 0x66, 0x8c, 0xf2, 0x4e, 0xdc, 0xe8, 0x5c, 0x91, 0xb8, 0x06, 0xcb, 0x05, - 0xae, 0xc1, 0x07, 0xb0, 0xc8, 0x18, 0xc6, 0xf0, 0x0d, 0x75, 0x7e, 0x58, 0x49, 0x30, 0x80, 0xa7, - 0x11, 0x01, 0x3c, 0x8d, 0x27, 0x11, 0x85, 0xb9, 0x40, 0x97, 0xc4, 0xdf, 0xc6, 0x06, 0x75, 0xf6, - 0x47, 0x38, 0x78, 0xe9, 0xf9, 0xcf, 0x8f, 0x2d, 0xdf, 0xea, 0xe1, 0x00, 0xfb, 0x91, 0xb3, 0x8d, - 0xf7, 0x69, 0x09, 0xad, 0x98, 0xe6, 0xd6, 0x5e, 0x85, 0xd9, 0xf6, 0x99, 0xe5, 0xb8, 0xd1, 0x7e, - 0x2b, 0xe6, 0x0c, 0xfd, 0x3e, 0xb2, 0x8d, 0xdb, 0x70, 0x2b, 0x86, 0x15, 0x8e, 0x43, 0x45, 0xda, - 0x5e, 0x37, 0x2c, 0x1e, 0x70, 0xd3, 0xb5, 0xfa, 0xe4, 0xcc, 0x8b, 0xf2, 0x85, 0x71, 0x00, 0xdb, - 0x87, 0x58, 0x4d, 0x32, 0x46, 0x09, 0x6c, 0x3c, 0x82, 0xdb, 0xd9, 0x6c, 0xc6, 0xcd, 0x50, 0xe1, - 0xb3, 0x78, 0x23, 0x43, 0x6b, 0xbe, 0xf5, 0x06, 0x20, 0x82, 0x7d, 0xc7, 0xea, 0x3a, 0x3f, 0xc3, - 0x76, 0x34, 0xcb, 0x95, 0x52, 0xcc, 0x4c, 0x76, 0x39, 0x7d, 0x0f, 0xb6, 0xc2, 0xb3, 0x18, 0xa1, - 0x85, 0x2c, 0xca, 0x86, 0x87, 0xb2, 0x80, 0x59, 0xfe, 0xac, 0x45, 0x39, 0x5b, 0xb9, 0x9e, 0x6f, - 0xe6, 0x08, 0x2e, 0xcb, 0x90, 0x64, 0x06, 0x46, 0x27, 0xf1, 0x32, 0x17, 0xb1, 0x38, 0x30, 0xd9, - 0x3e, 0x77, 0x28, 0xf4, 0x26, 0xf1, 0xce, 0x83, 0x2d, 0xfe, 0xa8, 0xc1, 0x9a, 0x92, 0xfc, 0x0d, - 0xd9, 0xd0, 0x7f, 0x35, 0x58, 0x69, 0x0e, 0x4e, 0xc2, 0x7b, 0xed, 0x04, 0x53, 0x6b, 0x93, 0x21, - 0xac, 0x26, 0x39, 0xeb, 0xe1, 0x5b, 0x49, 0x28, 0x40, 0x91, 0x25, 0x1e, 0xbe, 0x25, 0xe6, 0x09, - 0x19, 0x53, 0x2a, 0x8f, 0x87, 0x29, 0x65, 0x00, 0x60, 0x53, 0x19, 0x00, 0xd8, 0xfe, 0x3c, 0xb0, - 0xab, 0x89, 0x2d, 0x30, 0x0e, 0xe0, 0x5a, 0x6a, 0x67, 0xe3, 0x03, 0x63, 0xc6, 0x17, 0x1a, 0xac, - 0x8b, 0x7c, 0x18, 0x14, 0xfa, 0xc6, 0xd8, 0x69, 0x7f, 0x19, 0x50, 0x62, 0xdf, 0xbc, 0x4b, 0x60, - 0x34, 0x61, 0x23, 0x43, 0xed, 0x18, 0xe3, 0x9e, 0x66, 0xa4, 0x05, 0x60, 0x5f, 0x4e, 0x69, 0xfc, - 0x2d, 0x65, 0x8c, 0x0f, 0x9d, 0x0e, 0x26, 0xc1, 0x9b, 0x63, 0x0c, 0x29, 0x08, 0xfe, 0xa4, 0xc9, - 0x66, 0x88, 0x15, 0x1e, 0x5e, 0x0d, 0x17, 0xb8, 0x0a, 0x15, 0x97, 0x5b, 0x79, 0xec, 0xcb, 0xed, - 0x27, 0x70, 0xa7, 0x89, 0x5d, 0x7b, 0xcf, 0xb5, 0x63, 0x55, 0x53, 0x2f, 0x59, 0x4c, 0xbe, 0x1c, - 0xa0, 0xf1, 0x0f, 0x1a, 0xdc, 0x2d, 0x24, 0x2c, 0x03, 0x7d, 0x1c, 0x3e, 0xc1, 0x4b, 0x63, 0x3e, - 0xc1, 0xb7, 0x60, 0x9e, 0xbf, 0xad, 0x5b, 0x0c, 0xb3, 0x62, 0xd5, 0x62, 0x95, 0x0f, 0x52, 0xc8, - 0x6b, 0xf7, 0x7f, 0xeb, 0x50, 0xd9, 0xa3, 0x25, 0xd0, 0xde, 0xf1, 0x11, 0xfa, 0x16, 0x4c, 0x1d, - 0x3b, 0x6e, 0x07, 0xd5, 0x84, 0xda, 0x28, 0xd1, 0xf3, 0xd1, 0x57, 0x15, 0x33, 0x5c, 0x73, 0x4c, - 0xdf, 0x98, 0x52, 0xaf, 0x06, 0x89, 0x50, 0x4f, 0x66, 0x7f, 0x48, 0xbf, 0x3d, 0x92, 0x8e, 0x8b, - 0x39, 0x81, 0x65, 0x55, 0xdb, 0x07, 0x6d, 0xcb, 0x0c, 0xb2, 0x3a, 0x43, 0x7a, 0x5d, 0xa0, 0x54, - 0x35, 0x68, 0x9e, 0xd1, 0xad, 0x48, 0xed, 0xa1, 0xf4, 0x56, 0xd4, 0xfd, 0xa3, 0x02, 0xfc, 0x4f, - 0x61, 0x45, 0xdd, 0x51, 0x42, 0x77, 0x72, 0x65, 0x08, 0xe5, 0x4a, 0x01, 0x39, 0xc7, 0xb0, 0x20, - 0x1a, 0x02, 0x19, 0x39, 0x56, 0x8a, 0xf8, 0xea, 0x69, 0xbe, 0x31, 0xc7, 0x47, 0x50, 0x4d, 0xb6, - 0x6b, 0x50, 0x5d, 0xa9, 0x6f, 0xd2, 0x1a, 0x79, 0xdc, 0x9e, 0xc0, 0x65, 0xb9, 0x4b, 0x83, 0x6e, - 0x66, 0x70, 0x14, 0xf7, 0x9e, 0xc7, 0xf5, 0x47, 0x14, 0x1b, 0x11, 0xdb, 0x1c, 0xe8, 0x96, 0xcc, - 0x56, 0xd9, 0x06, 0xd1, 0x37, 0x05, 0x32, 0x45, 0x03, 0xe4, 0xc7, 0xb0, 0x28, 0x35, 0x0e, 0xd0, - 0x96, 0xb0, 0x46, 0xdd, 0xae, 0xd0, 0x6f, 0xe6, 0x13, 0x71, 0xee, 0x4f, 0xa9, 0xc3, 0x92, 0xcc, - 0x53, 0x0e, 0x53, 0xf0, 0xae, 0xe7, 0xc0, 0xa9, 0xc9, 0x43, 0x93, 0x02, 0xfa, 0x0a, 0x71, 0x2f, - 0x08, 0xd6, 0xa2, 0x3e, 0x7d, 0x32, 0xa4, 0xe6, 0x39, 0xb8, 0x8e, 0xde, 0xce, 0x11, 0x25, 0x02, - 0xf0, 0x85, 0x25, 0xbe, 0xa4, 0xaf, 0xec, 0x34, 0x08, 0x1d, 0x3f, 0x0f, 0xd0, 0x3b, 0x39, 0x42, - 0x53, 0x40, 0xba, 0x94, 0x83, 0x72, 0xc0, 0xed, 0xe7, 0xb4, 0x91, 0xa6, 0xe4, 0x35, 0xa6, 0xc8, - 0x1b, 0x59, 0x22, 0x89, 0xe4, 0xbb, 0x54, 0x2b, 0x25, 0x9d, 0xf0, 0xb2, 0x1a, 0x35, 0x05, 0xe2, - 0x23, 0xa0, 0xdd, 0xf9, 0x8c, 0x76, 0x0d, 0x6a, 0x14, 0x90, 0x94, 0xe8, 0xeb, 0x14, 0xf6, 0xdf, - 0x63, 0x80, 0x21, 0xc4, 0x86, 0xae, 0xcb, 0x52, 0x44, 0x74, 0x53, 0x3a, 0x9a, 0x0a, 0x38, 0xd3, - 0xa6, 0x3d, 0x5f, 0x15, 0xce, 0x88, 0xee, 0x66, 0xac, 0x55, 0xa1, 0x6e, 0xfa, 0xba, 0x40, 0x3c, - 0x42, 0x4a, 0x02, 0xe8, 0xca, 0x91, 0x92, 0x86, 0xc3, 0x46, 0x48, 0xe9, 0x83, 0x9e, 0x0d, 0x0f, - 0x4a, 0x0e, 0x19, 0x89, 0x23, 0xea, 0x46, 0x36, 0x7d, 0x2c, 0xf1, 0x0c, 0x56, 0xd4, 0xa8, 0xa1, - 0x74, 0x27, 0xe5, 0x42, 0x8b, 0x85, 0x24, 0xa5, 0xf7, 0x96, 0x34, 0x62, 0x63, 0xa4, 0x34, 0xd1, - 0x8e, 0x45, 0x24, 0xb6, 0xa9, 0xcf, 0x54, 0x70, 0x5c, 0xda, 0x67, 0x39, 0xa0, 0x9d, 0xbe, 0x96, - 0x83, 0x19, 0xa1, 0x4f, 0xe9, 0x39, 0x4d, 0xe1, 0x63, 0xe9, 0x73, 0x9a, 0x05, 0xa1, 0xe5, 0xb3, - 0x7f, 0x4e, 0xd9, 0xa7, 0x20, 0x97, 0x34, 0xfb, 0x2c, 0xd0, 0x46, 0x7f, 0xbb, 0x00, 0x25, 0x17, - 0xf6, 0x19, 0x03, 0x30, 0x73, 0x50, 0x1a, 0xb4, 0xab, 0xae, 0x24, 0xf2, 0x20, 0x1d, 0x5d, 0x8c, - 0xa4, 0x7c, 0x1c, 0xe5, 0x97, 0xac, 0x85, 0x9c, 0x8f, 0xff, 0xa0, 0x6f, 0xca, 0x5a, 0x14, 0xc2, - 0x8b, 0xc6, 0x52, 0xe4, 0x73, 0x0d, 0xea, 0xa3, 0x10, 0x24, 0xf4, 0x8d, 0x82, 0x7a, 0x88, 0xb1, - 0x3b, 0x8e, 0x1a, 0x9f, 0xb1, 0xb6, 0x75, 0x26, 0x66, 0x83, 0xee, 0xa5, 0xe2, 0x6c, 0x04, 0x3c, - 0xa4, 0xab, 0x8e, 0x5a, 0x1e, 0x1a, 0xe4, 0xd2, 0xb2, 0x55, 0x01, 0xaf, 0xa4, 0xcb, 0xd6, 0x6c, - 0xc8, 0x46, 0xdf, 0xce, 0x93, 0x2a, 0x80, 0x35, 0xcf, 0x60, 0x51, 0x42, 0x14, 0xe4, 0x5a, 0x4b, - 0x89, 0xa4, 0xc8, 0xb5, 0x96, 0x1a, 0x94, 0xb8, 0xa7, 0xa1, 0x3e, 0x5c, 0x55, 0x3e, 0xd9, 0xa5, - 0x5a, 0x25, 0x0f, 0x8d, 0x90, 0x5c, 0x98, 0x8b, 0x00, 0xa8, 0x24, 0xf2, 0xd7, 0x71, 0xae, 0x44, - 0xf1, 0xc9, 0x9f, 0x2b, 0x51, 0x7a, 0x6c, 0xdf, 0xd3, 0xd0, 0xef, 0x35, 0xd8, 0x2a, 0xf0, 0xfe, - 0x44, 0xef, 0xa5, 0xea, 0xd3, 0x62, 0xcf, 0x63, 0xfd, 0xfe, 0xf8, 0x0b, 0x23, 0xe5, 0xf6, 0x1f, - 0x81, 0xee, 0xf9, 0x9d, 0x86, 0xe7, 0x52, 0x16, 0xf1, 0xcb, 0x9d, 0xf1, 0xfa, 0x61, 0xa3, 0xe3, - 0x04, 0x67, 0x83, 0x93, 0x46, 0xdb, 0xeb, 0xed, 0x30, 0x92, 0x1d, 0xfa, 0x4f, 0xfc, 0xfb, 0xc4, - 0x8e, 0xb7, 0x93, 0xf8, 0xe9, 0xe7, 0xc9, 0x34, 0x9d, 0x78, 0xf7, 0xff, 0x01, 0x00, 0x00, 0xff, - 0xff, 0xcd, 0xbd, 0xe1, 0x85, 0x10, 0x2a, 0x00, 0x00, + // 2271 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcd, 0x73, 0x1b, 0x49, + 0x15, 0xdf, 0x91, 0x1c, 0xdb, 0x7a, 0x96, 0xed, 0xa4, 0xed, 0xd8, 0xf2, 0xd8, 0x8e, 0x95, 0x71, + 0x42, 0xbc, 0xc9, 0x22, 0xa7, 0xbc, 0x50, 0x9b, 0x5d, 0x3e, 0x0a, 0x3b, 0x6b, 0x1c, 0x57, 0x25, + 0x5b, 0xae, 0x51, 0x36, 0xd4, 0x02, 0x89, 0x6a, 0xa4, 0x69, 0xcb, 0x43, 0xa4, 0x19, 0x31, 0x33, + 0x4a, 0x62, 0xe0, 0xb0, 0x87, 0x2d, 0x8a, 0x2a, 0x0e, 0x1c, 0xb7, 0xa0, 0xe0, 0x02, 0x5c, 0xe0, + 0xc2, 0x89, 0x03, 0xc5, 0x81, 0x82, 0xff, 0x80, 0xbf, 0x87, 0x0b, 0x35, 0xdd, 0x3d, 0x1f, 0xdd, + 0xd3, 0x33, 0x1a, 0xc9, 0xa4, 0xcc, 0x25, 0xf1, 0x74, 0xbf, 0x7e, 0xdf, 0xfd, 0xfa, 0xf5, 0xaf, + 0x05, 0xb5, 0xd3, 0x9e, 0xf3, 0x7a, 0xd7, 0xe8, 0x74, 0xb0, 0xe7, 0xb1, 0xff, 0x1a, 0x03, 0xd7, + 0xf1, 0x1d, 0x34, 0x17, 0xcc, 0x34, 0xe8, 0x90, 0xba, 0x4e, 0xc8, 0xb0, 0xed, 0x5b, 0xbe, 0x85, + 0x09, 0xa1, 0x33, 0xb4, 0x7d, 0x4a, 0xa9, 0xd6, 0xf9, 0xc9, 0x76, 0xcf, 0xe9, 0xbc, 0x6c, 0x9d, + 0x61, 0xc3, 0xc4, 0x2e, 0xa3, 0x58, 0x93, 0x50, 0xb0, 0xa9, 0x1b, 0xfc, 0x54, 0xc7, 0xe9, 0xf5, + 0x70, 0xc7, 0xb7, 0x1c, 0x5b, 0xbe, 0x14, 0xbf, 0xc2, 0x91, 0xdc, 0x5b, 0xc2, 0xd4, 0x1b, 0xdc, + 0x19, 0x06, 0x2b, 0x5b, 0x2e, 0xf6, 0x86, 0xbd, 0x90, 0x6a, 0x83, 0xa7, 0xea, 0x63, 0xdf, 0x30, + 0x0d, 0xdf, 0x60, 0xb3, 0xb7, 0xf9, 0x59, 0xdb, 0x31, 0x71, 0xeb, 0x15, 0x76, 0xbd, 0x80, 0x8d, + 0x65, 0x9f, 0x3a, 0x8c, 0x6c, 0x8b, 0x27, 0xf3, 0x5d, 0xc3, 0xf6, 0x8c, 0xa4, 0x9a, 0x5b, 0x5d, + 0xc7, 0xe9, 0xf6, 0xf0, 0x2e, 0xf9, 0x6a, 0x0f, 0x4f, 0x77, 0x7d, 0xab, 0x8f, 0x3d, 0xdf, 0xe8, + 0x0f, 0x28, 0x81, 0x36, 0x0f, 0x73, 0x27, 0x96, 0xdd, 0xd5, 0xf1, 0x8f, 0x87, 0xd8, 0xf3, 0xb5, + 0x05, 0xa8, 0xd2, 0x4f, 0x6f, 0xe0, 0xd8, 0x1e, 0xd6, 0xd6, 0x61, 0xed, 0x08, 0xfb, 0x9f, 0x38, + 0x26, 0x7e, 0x46, 0xa5, 0x1f, 0xdb, 0xa7, 0x4e, 0x48, 0x7c, 0x02, 0xaa, 0x6c, 0x92, 0x2e, 0x45, + 0x7b, 0x30, 0x15, 0x68, 0x5a, 0x53, 0xea, 0xca, 0xce, 0xdc, 0xde, 0x8d, 0x06, 0x89, 0x5b, 0xa8, + 0x6a, 0x43, 0x5c, 0x45, 0x68, 0xb5, 0x8f, 0x60, 0xfd, 0x08, 0xfb, 0x8f, 0x0d, 0x1f, 0x7b, 0xfe, + 0x41, 0x10, 0x8d, 0x47, 0x24, 0x5c, 0x4c, 0x20, 0x5a, 0x87, 0x8a, 0xe5, 0xb5, 0x3c, 0x6c, 0xf4, + 0xb0, 0x49, 0xf8, 0xce, 0xea, 0xb3, 0x96, 0xd7, 0x24, 0xdf, 0xda, 0x3d, 0xa2, 0x6a, 0x62, 0xd5, + 0xc1, 0xf9, 0xf1, 0xc7, 0xe1, 0xca, 0x05, 0x28, 0x59, 0x74, 0x49, 0x55, 0x2f, 0x59, 0xa6, 0xf6, + 0x01, 0x6c, 0x8a, 0xc4, 0x8f, 0xb0, 0xd5, 0x3d, 0xf3, 0xc3, 0x05, 0x2b, 0x30, 0x7d, 0x46, 0x06, + 0xc8, 0xa2, 0x29, 0x9d, 0x7d, 0x69, 0x7f, 0x57, 0x60, 0x89, 0xd3, 0x8c, 0x59, 0x7b, 0x1f, 0xae, + 0x90, 0xf4, 0x61, 0xe6, 0xaa, 0x82, 0xb9, 0xc9, 0x25, 0x94, 0x10, 0x7d, 0x0b, 0xaa, 0x34, 0x25, + 0x3d, 0xdf, 0xf0, 0x87, 0x5e, 0xad, 0x54, 0x57, 0x76, 0x16, 0xe4, 0x0b, 0x9b, 0x84, 0x42, 0x9f, + 0x6b, 0xc7, 0x1f, 0xe8, 0x7d, 0x98, 0x0d, 0x73, 0xa6, 0x56, 0x26, 0x32, 0x57, 0x85, 0xa5, 0x4f, + 0xd8, 0xb4, 0x1e, 0x11, 0x6a, 0x26, 0x5c, 0xe7, 0xfd, 0x5b, 0xc4, 0xb3, 0xa8, 0x01, 0x4b, 0xa7, + 0xc3, 0x5e, 0xaf, 0x45, 0xd5, 0x75, 0x99, 0xc9, 0x44, 0xe1, 0x59, 0xfd, 0x5a, 0x30, 0xc5, 0x78, + 0xb1, 0xa4, 0xf9, 0x14, 0x96, 0x42, 0xe7, 0xe6, 0xc4, 0x60, 0x6c, 0xb6, 0x06, 0xac, 0xc6, 0x6c, + 0x0b, 0x45, 0x6b, 0x6c, 0x11, 0x7f, 0x51, 0x60, 0x9e, 0x1b, 0x41, 0x77, 0xf9, 0xb8, 0x2e, 0xcb, + 0xc2, 0x73, 0x99, 0x11, 0xbd, 0x0b, 0xb5, 0x23, 0xec, 0x3f, 0x8c, 0xca, 0x53, 0x5e, 0xd2, 0x7f, + 0xa1, 0x00, 0x8a, 0x29, 0x23, 0x13, 0x3f, 0x04, 0x88, 0xcb, 0x1b, 0xb3, 0x73, 0x4d, 0x90, 0x9c, + 0x58, 0x96, 0x20, 0xe6, 0x54, 0x2e, 0x15, 0x55, 0xf9, 0x19, 0xac, 0x34, 0xb1, 0x6d, 0x3e, 0x8d, + 0x8b, 0x55, 0xa8, 0xf0, 0x37, 0x61, 0x2e, 0x51, 0xc2, 0x32, 0xb6, 0x52, 0x72, 0x5d, 0x92, 0x5c, + 0x7b, 0x01, 0xab, 0x29, 0xbe, 0xcc, 0x44, 0x31, 0xf5, 0x26, 0xd2, 0xfb, 0x5f, 0x0a, 0xd9, 0x3d, + 0x12, 0xbd, 0x45, 0xf6, 0x6b, 0x30, 0x4b, 0x13, 0xc1, 0x32, 0x09, 0xfb, 0xaa, 0x3e, 0x43, 0xbe, + 0x8f, 0x4d, 0xb4, 0x0d, 0xf3, 0xb1, 0xff, 0x82, 0xf9, 0x32, 0x99, 0xaf, 0xc6, 0x83, 0xc7, 0x26, + 0xfa, 0x0c, 0x56, 0xc8, 0x81, 0xd2, 0xc2, 0x76, 0xc7, 0x31, 0x2d, 0xbb, 0x1b, 0xd6, 0xfe, 0xda, + 0x14, 0x49, 0xa9, 0x6d, 0x41, 0xd9, 0xc3, 0x80, 0xf8, 0x90, 0xd1, 0xb2, 0xaa, 0xaa, 0x2f, 0x63, + 0xc9, 0xa8, 0xf6, 0x80, 0x54, 0xd8, 0xe6, 0xb9, 0xe7, 0xe3, 0xbe, 0xc4, 0x92, 0xa4, 0xe6, 0x0a, + 0xa7, 0xb9, 0xf6, 0x6b, 0x05, 0x6e, 0xca, 0x97, 0x06, 0xa7, 0xda, 0x68, 0x06, 0x39, 0x56, 0x95, + 0x2e, 0x6a, 0xd5, 0x9f, 0x15, 0xd8, 0xe0, 0x43, 0x73, 0x70, 0x7e, 0x6c, 0x9b, 0xf8, 0x4d, 0x01, + 0xb5, 0x96, 0xe1, 0x8a, 0x15, 0x90, 0x12, 0x2d, 0xe6, 0x75, 0xfa, 0x91, 0xa3, 0x6c, 0xf9, 0xa2, + 0xca, 0x7e, 0xa9, 0xc0, 0x16, 0xaf, 0xac, 0x77, 0x70, 0x4e, 0xaa, 0x42, 0xbc, 0x75, 0x2f, 0xcd, + 0x8d, 0x6a, 0x2a, 0xb2, 0x5e, 0xb4, 0x8b, 0xbe, 0x07, 0x4b, 0x89, 0xfd, 0xc6, 0xda, 0x19, 0xaf, + 0xa6, 0xd4, 0xcb, 0x3b, 0x73, 0x7b, 0x5f, 0x69, 0x24, 0x1a, 0xb3, 0x86, 0x24, 0x3f, 0x28, 0x13, + 0x1d, 0xf9, 0x29, 0x01, 0x93, 0x6d, 0xc7, 0x5f, 0x2a, 0xb0, 0x9c, 0xf4, 0x61, 0xa4, 0xe6, 0xb7, + 0xa1, 0x9a, 0x90, 0x11, 0xea, 0x97, 0x57, 0x46, 0x38, 0xfa, 0xc9, 0xb4, 0xf9, 0x85, 0x02, 0x4b, + 0xb2, 0xca, 0x73, 0xa1, 0x92, 0x36, 0x99, 0x2a, 0x7f, 0x2d, 0xc3, 0x5a, 0xa6, 0xff, 0xd1, 0x03, + 0x98, 0x66, 0xc7, 0x93, 0x42, 0xd2, 0xa5, 0x9e, 0xad, 0x0b, 0x3b, 0xa4, 0x18, 0x3d, 0xda, 0x82, + 0x39, 0xfa, 0x57, 0xab, 0xe3, 0x98, 0x98, 0x6d, 0x17, 0xa0, 0x43, 0x0f, 0x1d, 0x13, 0x07, 0xb5, + 0x0d, 0xbb, 0xae, 0xe3, 0xb6, 0xfa, 0xd8, 0xf3, 0x8c, 0x2e, 0x26, 0x5b, 0xa5, 0xa2, 0x57, 0xc9, + 0xe0, 0x13, 0x3a, 0x86, 0xde, 0x83, 0x69, 0x92, 0x7b, 0x5e, 0x6d, 0x8a, 0xc4, 0x65, 0x59, 0x96, + 0xae, 0x3a, 0xa3, 0xe1, 0xf6, 0xc1, 0x15, 0x7e, 0x1f, 0xdc, 0x86, 0x85, 0x64, 0x36, 0x5a, 0x66, + 0x6d, 0x9a, 0x10, 0xcc, 0x27, 0x46, 0x65, 0x05, 0x77, 0x46, 0x52, 0x70, 0x6f, 0x86, 0x27, 0x37, + 0xeb, 0x22, 0x66, 0x49, 0x17, 0x41, 0x4f, 0x67, 0xda, 0x69, 0x70, 0xa1, 0xa8, 0x14, 0x0c, 0x05, + 0xba, 0x07, 0xd7, 0x3a, 0x4e, 0x7f, 0x30, 0xf4, 0x0d, 0x22, 0x7d, 0x48, 0xbc, 0x02, 0x84, 0xf9, + 0xd5, 0xc4, 0xc4, 0xa7, 0xc1, 0xb8, 0xf6, 0x55, 0xb8, 0x76, 0x84, 0xfd, 0x7d, 0x7a, 0x87, 0x09, + 0x0b, 0x41, 0x0d, 0x66, 0x0c, 0xd3, 0x74, 0xb1, 0xe7, 0x85, 0x75, 0x80, 0x7d, 0x6a, 0x3f, 0x05, + 0x94, 0x24, 0x8f, 0xfa, 0xd0, 0x19, 0x76, 0x0b, 0x62, 0xb9, 0xb6, 0x22, 0x68, 0x19, 0x2e, 0x08, + 0xc9, 0x26, 0xcb, 0xb1, 0x8f, 0xe0, 0x46, 0x2c, 0x7c, 0x5f, 0xd6, 0x51, 0x66, 0x2b, 0xfe, 0x06, + 0x16, 0x2f, 0x49, 0xeb, 0xe7, 0xbc, 0xd6, 0x07, 0x71, 0x78, 0x47, 0x6a, 0x9d, 0x4a, 0x91, 0x52, + 0x2a, 0x45, 0xb4, 0xcf, 0xe0, 0xe6, 0x21, 0xb9, 0xec, 0xe1, 0x66, 0xc7, 0xb5, 0x06, 0x72, 0xbf, + 0xac, 0xc0, 0xb4, 0x47, 0x66, 0x99, 0x00, 0xf6, 0x85, 0x36, 0xa0, 0x62, 0xb8, 0xdd, 0x61, 0x9f, + 0x6c, 0x8d, 0x52, 0xbd, 0xbc, 0x53, 0xd5, 0xe3, 0x01, 0x6d, 0x00, 0x9b, 0x02, 0xeb, 0xe2, 0x07, + 0x46, 0x2c, 0xb1, 0x94, 0x2d, 0xb1, 0x2c, 0x4a, 0xfc, 0x59, 0xca, 0x18, 0x89, 0xbb, 0x44, 0xa7, + 0x28, 0xe9, 0x7d, 0x33, 0x99, 0xf4, 0x5f, 0x29, 0x70, 0x9d, 0x13, 0x1f, 0xa5, 0xca, 0x32, 0x5c, + 0x79, 0x65, 0xf4, 0x86, 0x98, 0x59, 0x49, 0x3f, 0x26, 0x4a, 0x07, 0xf9, 0xee, 0x2c, 0x67, 0xec, + 0xce, 0x7f, 0x2b, 0x24, 0x79, 0x48, 0x79, 0xf2, 0xbe, 0xeb, 0xb8, 0xcc, 0x11, 0x86, 0xdd, 0xc5, + 0xa1, 0x37, 0x10, 0x4c, 0xf9, 0xe7, 0x03, 0xaa, 0x59, 0x45, 0x27, 0x7f, 0x07, 0x1e, 0xf2, 0x7c, + 0xc3, 0xf5, 0x85, 0xb4, 0x21, 0x63, 0xcc, 0x43, 0x9b, 0x00, 0xd8, 0x36, 0x43, 0x02, 0x2a, 0xbf, + 0x82, 0x6d, 0x93, 0x4d, 0xbf, 0xc5, 0x66, 0xf0, 0x4f, 0x0a, 0xe9, 0x06, 0x23, 0x9b, 0x58, 0x4e, + 0x79, 0x79, 0x06, 0xad, 0x43, 0x25, 0x4c, 0xb4, 0x30, 0x4f, 0x67, 0x59, 0xa6, 0x79, 0x6f, 0xb3, + 0x6b, 0xfa, 0x47, 0x09, 0x16, 0xa8, 0xa2, 0x89, 0xb3, 0x75, 0x86, 0xef, 0x41, 0x34, 0xae, 0x07, + 0xe1, 0xa9, 0x1b, 0xec, 0x1c, 0x0c, 0x97, 0x4c, 0x94, 0x32, 0xea, 0xdf, 0x14, 0x98, 0xa6, 0x8c, + 0xf2, 0x76, 0xdc, 0xe8, 0x5a, 0x91, 0x38, 0x06, 0xcb, 0x05, 0x8e, 0xc1, 0x87, 0xb0, 0x48, 0x19, + 0x46, 0xf0, 0x0d, 0x09, 0x7e, 0xd0, 0x49, 0x50, 0x80, 0xa7, 0x11, 0x02, 0x3c, 0x8d, 0xa7, 0x21, + 0x85, 0xbe, 0x40, 0x96, 0x44, 0xdf, 0xda, 0x26, 0x09, 0xf6, 0x27, 0xd8, 0x7f, 0xed, 0xb8, 0x2f, + 0x4f, 0x0c, 0xd7, 0xe8, 0x63, 0x1f, 0xbb, 0x61, 0xb0, 0xb5, 0x0f, 0x49, 0x0b, 0x2d, 0x99, 0x66, + 0xde, 0x5e, 0x83, 0xd9, 0xce, 0x99, 0x61, 0xd9, 0xa1, 0xbd, 0x15, 0x7d, 0x86, 0x7c, 0x1f, 0x9b, + 0xda, 0x1d, 0xb8, 0x1d, 0xc1, 0x0a, 0x27, 0x81, 0x22, 0x1d, 0xa7, 0x17, 0x34, 0x0f, 0xb8, 0x69, + 0x1b, 0x03, 0xef, 0xcc, 0x09, 0xeb, 0x85, 0x76, 0x08, 0x3b, 0x47, 0x58, 0x4e, 0x32, 0x46, 0x0b, + 0xac, 0x3d, 0x86, 0x3b, 0xd9, 0x6c, 0xc6, 0xad, 0x50, 0xc1, 0xb5, 0x78, 0x33, 0x43, 0x6b, 0x66, + 0x7a, 0x03, 0x90, 0x87, 0x5d, 0xcb, 0xe8, 0x59, 0x3f, 0xc1, 0x66, 0x38, 0xcb, 0x94, 0x92, 0xcc, + 0x4c, 0x76, 0x38, 0x7d, 0x07, 0xb6, 0x83, 0xbd, 0x18, 0xa2, 0x85, 0x34, 0xcb, 0xe2, 0x4d, 0x59, + 0xc0, 0x2d, 0x7f, 0x50, 0xc2, 0x9a, 0x2d, 0x5d, 0xcf, 0x8c, 0x39, 0x86, 0xab, 0x22, 0x24, 0x99, + 0x81, 0xd1, 0x09, 0xbc, 0xf4, 0x45, 0xcc, 0x0f, 0x4c, 0x66, 0xe7, 0x2e, 0x81, 0xde, 0x04, 0xde, + 0x79, 0xb0, 0xc5, 0xef, 0x14, 0x58, 0x97, 0x92, 0xff, 0x9f, 0x18, 0xf4, 0x1c, 0xa0, 0x19, 0x94, + 0x73, 0xe2, 0x68, 0xb4, 0x2e, 0xc6, 0xe7, 0xd1, 0x3b, 0xc9, 0xdb, 0xbf, 0xa4, 0x30, 0x3c, 0x7a, + 0x87, 0xcb, 0xc7, 0x83, 0x79, 0xa0, 0xc7, 0x03, 0x45, 0xad, 0xb4, 0x7f, 0x2a, 0xb0, 0xd2, 0x1c, + 0xb6, 0x83, 0x63, 0xb3, 0x8d, 0x89, 0x8c, 0xa8, 0x3e, 0x3f, 0xe0, 0x28, 0x99, 0xd1, 0xab, 0x5c, + 0x11, 0x8c, 0x35, 0x23, 0xad, 0x7a, 0xa8, 0xe5, 0x05, 0xa1, 0xaa, 0x0c, 0x5c, 0xad, 0x9c, 0x85, + 0xab, 0x1d, 0xc2, 0x6a, 0xca, 0x84, 0xf1, 0x01, 0x36, 0xed, 0x8f, 0x0a, 0x6c, 0xf0, 0x7c, 0x28, + 0xa4, 0x1a, 0x39, 0xe4, 0x10, 0x50, 0xc2, 0x21, 0x0c, 0xec, 0x1f, 0xe5, 0x97, 0xab, 0xb1, 0x5f, + 0x28, 0xbb, 0x0b, 0x7a, 0x47, 0x6b, 0xc2, 0x66, 0x86, 0x96, 0x11, 0x34, 0x3e, 0xcd, 0xa9, 0x96, + 0x87, 0x16, 0x33, 0x4a, 0xed, 0xcb, 0x94, 0xed, 0x1f, 0x5b, 0x5d, 0xec, 0xf9, 0x97, 0x9e, 0x0c, + 0xda, 0xef, 0x15, 0xd1, 0xde, 0x48, 0xb3, 0xf8, 0xe8, 0xb8, 0xc0, 0x51, 0x29, 0x39, 0xfc, 0xca, + 0x63, 0x1f, 0x7e, 0x3f, 0x82, 0xbb, 0x4d, 0x6c, 0x9b, 0xfb, 0xb6, 0x19, 0xa9, 0x9a, 0xba, 0xe9, + 0x62, 0xef, 0x7f, 0x03, 0x44, 0xfe, 0x56, 0x81, 0x7b, 0x85, 0x84, 0x65, 0xa0, 0x93, 0xf1, 0x15, + 0xbd, 0x34, 0xe6, 0x15, 0x7d, 0x1b, 0xe6, 0xd9, 0xdd, 0xbb, 0x45, 0x31, 0x2d, 0xda, 0x4d, 0x56, + 0xd9, 0x20, 0x81, 0xc4, 0xf6, 0xfe, 0xb3, 0x01, 0x95, 0x7d, 0x92, 0x10, 0xfb, 0x27, 0xc7, 0xe8, + 0x1b, 0x30, 0x75, 0x62, 0xd9, 0x5d, 0x54, 0xe3, 0x32, 0x25, 0xf1, 0x26, 0xa4, 0xae, 0x49, 0x66, + 0x98, 0xe6, 0x98, 0xdc, 0x41, 0x85, 0xb7, 0x1c, 0xc4, 0x43, 0x41, 0x99, 0xef, 0x47, 0xea, 0x9d, + 0x91, 0x74, 0x4c, 0x4c, 0x1b, 0x96, 0x65, 0xcf, 0x42, 0x68, 0x47, 0x64, 0x90, 0xf5, 0x72, 0xa4, + 0xd6, 0x39, 0x4a, 0xd9, 0x03, 0xce, 0x0b, 0x62, 0x8a, 0xf0, 0x7c, 0x94, 0x36, 0x45, 0xfe, 0xbe, + 0x54, 0x80, 0xff, 0x29, 0xac, 0xc8, 0x5f, 0x9c, 0xd0, 0xdd, 0x5c, 0x19, 0x5c, 0x3b, 0x53, 0x40, + 0xce, 0x09, 0x2c, 0xf0, 0x8e, 0x40, 0x5a, 0x8e, 0x97, 0x42, 0xbe, 0x6a, 0x9a, 0x6f, 0xc4, 0xf1, + 0x31, 0x54, 0x93, 0xcf, 0x39, 0xa8, 0x2e, 0xd5, 0x37, 0xe9, 0x8d, 0x3c, 0x6e, 0x4f, 0xe1, 0xaa, + 0xf8, 0x8a, 0x83, 0x6e, 0x65, 0x70, 0xe4, 0x6d, 0xcf, 0xe3, 0xfa, 0x03, 0x82, 0x9d, 0xf0, 0xcf, + 0x20, 0xe8, 0xb6, 0xc8, 0x56, 0xfa, 0x4c, 0xa2, 0x6e, 0x71, 0x64, 0x92, 0x07, 0x92, 0x1f, 0xc2, + 0xa2, 0xf0, 0xb0, 0x80, 0xb6, 0xf9, 0xba, 0x2a, 0x7d, 0xce, 0x50, 0x6f, 0xe5, 0x13, 0x31, 0xee, + 0xcf, 0x48, 0xc0, 0x92, 0xcc, 0x53, 0x01, 0x93, 0xf0, 0xae, 0xe7, 0xc0, 0xad, 0xc9, 0x4d, 0x93, + 0x02, 0x02, 0x0b, 0x71, 0x2f, 0x08, 0xe6, 0xa2, 0x01, 0xb9, 0x52, 0xa4, 0xe6, 0x19, 0xf8, 0x8e, + 0xde, 0xcd, 0x11, 0xc5, 0x03, 0xf4, 0x85, 0x25, 0xbe, 0x26, 0xb7, 0xf0, 0x34, 0x48, 0x1d, 0x5d, + 0x1f, 0xd0, 0x7b, 0x39, 0x42, 0x53, 0x40, 0xbb, 0x50, 0x83, 0x72, 0xc0, 0xef, 0x97, 0xe4, 0xa1, + 0x4d, 0xca, 0x6b, 0x4c, 0x91, 0x37, 0xb3, 0x44, 0x7a, 0x42, 0xec, 0x52, 0x4f, 0x2d, 0xe9, 0x82, + 0x97, 0xf5, 0x90, 0x53, 0x20, 0x3f, 0x7c, 0xf2, 0x7a, 0x9f, 0xf1, 0x9c, 0x83, 0x1a, 0x05, 0x24, + 0x25, 0xde, 0x7d, 0x0a, 0xc7, 0xef, 0x09, 0x40, 0x0c, 0xc1, 0xa1, 0x1b, 0xa2, 0x14, 0x1e, 0xfd, + 0x14, 0xb6, 0xa6, 0x04, 0xee, 0x34, 0xc9, 0x9b, 0xb0, 0x0c, 0x87, 0x44, 0xf7, 0x32, 0xd6, 0xca, + 0x50, 0x39, 0x75, 0x83, 0x23, 0x1e, 0x21, 0x25, 0x01, 0x84, 0xe5, 0x48, 0x49, 0xc3, 0x65, 0x23, + 0xa4, 0x0c, 0x40, 0xcd, 0x86, 0x0f, 0x85, 0x80, 0x8c, 0xc4, 0x19, 0x55, 0x2d, 0x9b, 0x3e, 0x92, + 0x78, 0x06, 0x2b, 0x72, 0x54, 0x51, 0x38, 0x93, 0x72, 0xa1, 0xc7, 0x42, 0x92, 0xd2, 0xb6, 0x25, + 0x9d, 0xd8, 0x18, 0x29, 0x8d, 0xf7, 0x63, 0x11, 0x89, 0x1d, 0x12, 0x33, 0x19, 0x5c, 0x97, 0x8e, + 0x59, 0x0e, 0xa8, 0xa7, 0xae, 0xe7, 0x60, 0x4a, 0xe8, 0x39, 0xd9, 0xa7, 0x29, 0xfc, 0x2c, 0xbd, + 0x4f, 0xb3, 0x20, 0xb6, 0x7c, 0xf6, 0x2f, 0x09, 0xfb, 0x14, 0x24, 0x93, 0x66, 0x9f, 0x05, 0xea, + 0xa8, 0xef, 0x16, 0xa0, 0x64, 0xc2, 0x3e, 0xa7, 0x00, 0x67, 0x0e, 0x8a, 0x83, 0xf6, 0xe4, 0x9d, + 0x44, 0x1e, 0xe4, 0xa3, 0xf2, 0x99, 0x94, 0x8f, 0xb3, 0xfc, 0x9c, 0x3e, 0x31, 0xe7, 0xe3, 0x43, + 0xe8, 0xeb, 0xa2, 0x16, 0x85, 0xf0, 0xa4, 0xb1, 0x14, 0xf9, 0x42, 0x81, 0xfa, 0x28, 0x84, 0x09, + 0x7d, 0xad, 0xa0, 0x1e, 0x7c, 0xee, 0x8e, 0xa3, 0xc6, 0xe7, 0xf4, 0x59, 0x3b, 0x13, 0xd3, 0x41, + 0xf7, 0x53, 0x79, 0x36, 0x02, 0x3e, 0x52, 0x65, 0x5b, 0x2d, 0x0f, 0x2d, 0xb2, 0x49, 0xdb, 0x2a, + 0x81, 0x5f, 0xd2, 0x6d, 0x6b, 0x36, 0xa4, 0xa3, 0xee, 0xe4, 0x49, 0xe5, 0xc0, 0x9c, 0x17, 0xb0, + 0x28, 0x20, 0x05, 0x62, 0xaf, 0x25, 0x85, 0x42, 0xc4, 0x5e, 0x4b, 0x0e, 0x36, 0xdc, 0x57, 0xd0, + 0x00, 0xae, 0x4b, 0xef, 0xe6, 0x42, 0xaf, 0x92, 0x87, 0x32, 0x08, 0x21, 0xcc, 0xbd, 0xea, 0xcb, + 0x24, 0xb2, 0xdb, 0x71, 0xae, 0x44, 0xfe, 0x6e, 0x9f, 0x2b, 0x51, 0xb8, 0x6c, 0xdf, 0x57, 0xd0, + 0x6f, 0x14, 0xd8, 0x2e, 0x70, 0xff, 0x44, 0x1f, 0xa4, 0xfa, 0xd3, 0x62, 0xd7, 0x63, 0xf5, 0xc1, + 0xf8, 0x0b, 0x43, 0xe5, 0x0e, 0x1e, 0x83, 0xea, 0xb8, 0xdd, 0x86, 0x63, 0x13, 0x16, 0xd1, 0xcd, + 0x9d, 0xf2, 0xfa, 0x7e, 0xa3, 0x6b, 0xf9, 0x67, 0xc3, 0x76, 0xa3, 0xe3, 0xf4, 0x77, 0x29, 0xc9, + 0x2e, 0xf9, 0x27, 0xfa, 0xfd, 0x62, 0xd7, 0xd9, 0x4d, 0xfc, 0x34, 0xb4, 0x3d, 0x4d, 0x26, 0xde, + 0xff, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x26, 0x33, 0x97, 0x36, 0x30, 0x2a, 0x00, 0x00, } From 1cfc3adda41e632feba6b21a793d2ea83771d80c Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Wed, 28 Feb 2024 12:44:23 +0200 Subject: [PATCH 090/626] Updated docs for messages --- protobuf/flow/access/access.proto | 13 ++++--------- protobuf/go/flow/access/access.pb.go | 13 ++++--------- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index f2b690c97..800584d49 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -455,6 +455,7 @@ message ExecutionResultByIDResponse { message StartBlock { // Only one of block_id and block_height may be provided, // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. + // If neither are provided, the latest sealed block is used. oneof start_block { // Block ID of the first block to subscribe. bytes block_id = 1; @@ -465,9 +466,7 @@ message StartBlock { // The request for SubscribeBlocks message SubscribeBlocksRequest { - // Only one of block_id and block_height may be provided, - // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. - // If neither are provided, the latest sealed block is used. + // The first block to subscribe. StartBlock start_block = 1; // Required block status of the block payload. @@ -489,9 +488,7 @@ message SubscribeBlocksResponse { // The request for SubscribeBlockHeaders message SubscribeBlockHeadersRequest { - // Only one of block_id and block_height may be provided, - // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. - // If neither are provided, the latest sealed block header is used. + // The first block header to subscribe. StartBlock start_block_header = 1; // Required block status of the block payload. @@ -510,9 +507,7 @@ message SubscribeBlockHeadersResponse { // The request for SubscribeBlockDigests message SubscribeBlockDigestsRequest { - // Only one of block_id and block_height may be provided, - // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. - // If neither are provided, the latest sealed lightweight block is used. + // The first block to subscribe. StartBlock start_block = 1; // Required block status of the block payload. diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 6160c36b5..7492004fd 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2262,6 +2262,7 @@ func (m *ExecutionResultByIDResponse) GetMetadata() *entities.Metadata { type StartBlock struct { // Only one of block_id and block_height may be provided, // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. + // If neither are provided, the latest sealed block is used. // // Types that are valid to be assigned to StartBlock: // @@ -2345,9 +2346,7 @@ func (*StartBlock) XXX_OneofWrappers() []interface{} { // The request for SubscribeBlocks type SubscribeBlocksRequest struct { - // Only one of block_id and block_height may be provided, - // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. - // If neither are provided, the latest sealed block is used. + // The first block to subscribe. StartBlock *StartBlock `protobuf:"bytes,1,opt,name=start_block,json=startBlock,proto3" json:"start_block,omitempty"` // Required block status of the block payload. // Possible variants: @@ -2451,9 +2450,7 @@ func (m *SubscribeBlocksResponse) GetBlock() *entities.Block { // The request for SubscribeBlockHeaders type SubscribeBlockHeadersRequest struct { - // Only one of block_id and block_height may be provided, - // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. - // If neither are provided, the latest sealed block header is used. + // The first block header to subscribe. StartBlockHeader *StartBlock `protobuf:"bytes,1,opt,name=start_block_header,json=startBlockHeader,proto3" json:"start_block_header,omitempty"` // Required block status of the block payload. // Possible variants: @@ -2548,9 +2545,7 @@ func (m *SubscribeBlockHeadersResponse) GetHeader() *entities.BlockHeader { // The request for SubscribeBlockDigests type SubscribeBlockDigestsRequest struct { - // Only one of block_id and block_height may be provided, - // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. - // If neither are provided, the latest sealed lightweight block is used. + // The first block to subscribe. StartBlock *StartBlock `protobuf:"bytes,1,opt,name=start_block,json=startBlock,proto3" json:"start_block,omitempty"` // Required block status of the block payload. // Possible variants: From ac28a02e177e8b36a05d0341ddbae655c0b9a8ab Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 28 Feb 2024 12:41:29 -0800 Subject: [PATCH 091/626] Create base doc from template --- .../2024-03-01-Flow-Sprint-Kickoff.md | 265 ++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..a377fa2af --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -0,0 +1,265 @@ +# Overview + + ### Team Wins 🎉 + + * + +--- + +### Mainnet Uptime - Last 14 days (xx/xx/24 to xx/xx/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.97% | 32.2% | + +#### Incidents +* + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 7 | 6 | 0 | 5 | **18** | +| Proposed | 3 | 1 | 2 | 1 | **7** | +| Accepted | 2 | 1 | 1 | 2 | **6** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 1 | 19 | 1 | 0 | **21** | +| Released | 4 | 0 | 2 | 4 | **10** | +| Total | **17** | **27** | **7** | **12** | **63** | + +- Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) +- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. +(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): End of Feb - Crescendo update, Testnet and mainnet sporks TBD. +- Next Mainnet/Testnet HCU: Testnet HCU - Monday, 5th Feb, Mainnet HCU - Wednesday, 7th Feb. +- End of Cycle: + +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + +* + +**This sprint** + +* + +**On Hold** + +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) + + +**Active Epics** + +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR2: Launch Cadence 1.0 on Crescendo Testnet +- KR3: Launch EVM on Crescendo Testnet +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Translate crypto performance improvements to consensus block rate increase +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue BFT mitigations to enable 10 permissionless ANs +* Continue design of Dynamic Protocol + +**Done last sprint** + +* + +**This sprint** + +* + +**On Hold** +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- DEX Prep - IncrementFi +- Bridge Prep - Axelar + +**Done last sprint** + +* + +**This sprint** + +* + +**On Hold** +- N/A + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + +* + +**This sprint** + +**Sprint goal focusing on adding docs and tool support for Crescendo network and Cadence 1.0** + +- [Add Crescendo network support to FCL Discovery](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50332654) +- [Add Crescendo Network to CLI (config, cmds, docs, etc)](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50297186) +- [Add/Publish Initial EVM Docs](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952883) +- [Docs Revamp v3](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49327073) +- [Add C1.0 Rules to Cadence Linter](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952640) +- [Update Playground to support Cadence 1.0](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49844013) +- [Stable Cadence Installation Workflow](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51951905) + + +**On Hold** + +- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +- N/A + +**This sprint** + +- Begin creating developer documentation highlighting FlowEVM +- Updating cadence transactions / scripts for Cadence 1.0 +- Begin executing on FlowEVM updates to Flow Wallet +- Scheduled calls with MetaMask and Coinbase Wallet teams to intro FlowEVM and gather their requirements. + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Migrate Flow metrics & logs to Flow Foundation grafana account to reduce cost on DapperLabs + +**Done last sprint** + +* + +**This sprint** + +**Goal of Sprint is to migrate from DapperLabs account to FlowFoundation account** + +* + +**On Hold** +**Active Epics** + +--- + +### **Governance and Tokenomics** \[Vishal] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** + +* + +**This sprint** + +- Research transaction fees on other L1s +- Research Transaction fees for Flow EVM. + + +**On Hold** + +- N/A + + +**Active Epics** + +- N/A From d62d4d22f98b11136941e427a622957e0f66b4e8 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Wed, 28 Feb 2024 15:03:46 -0800 Subject: [PATCH 092/626] Update 2024-03-01-Flow-Sprint-Kickoff.md Adding latest FLIPs data --- .../2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index a377fa2af..a9a8a7587 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -29,11 +29,11 @@ | Proposed | 3 | 1 | 2 | 1 | **7** | | Accepted | 2 | 1 | 1 | 2 | **6** | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 1 | 19 | 1 | 0 | **21** | +| Implemented | 1 | 19 | 2 | 0 | **22** | | Released | 4 | 0 | 2 | 4 | **10** | -| Total | **17** | **27** | **7** | **12** | **63** | +| Total | **17** | **27** | **7** | **12** | **64** | -- Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) +- Overall, 1 new governance FLIP was published and implementated. - Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) From 7d233004c82b316dfbcfb9380f6041990acfffaa Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 28 Feb 2024 15:28:57 -0800 Subject: [PATCH 093/626] Add some DeFi updates --- .../2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index a9a8a7587..7b6154e46 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -127,11 +127,12 @@ Cycle Objective(s): **Done last sprint** -* +* Completed milestones #3 & #4 for Flow JVM SDK updates. Missing tests and previously reported issues now resolved. GH actions automation to build release also completed +* Completed initial draft revision of USDC Cadence 1.0 update. Waiting for further confirmation from Circle for next steps **This sprint** -* +* Start milestones 5 and 6 of Flow JVM SDK **On Hold** - N/A From a7962fdfc5b108a14fbccdb0e9fcd346401f23eb Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 28 Feb 2024 15:31:10 -0800 Subject: [PATCH 094/626] Fix incorrect details --- .../2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 7b6154e46..90ff93f04 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -127,12 +127,14 @@ Cycle Objective(s): **Done last sprint** -* Completed milestones #3 & #4 for Flow JVM SDK updates. Missing tests and previously reported issues now resolved. GH actions automation to build release also completed +* Completed milestones #3 for Flow JVM SDK updates + * Missing unit tests and previously reported issues now resolved. + * Updated GH workflows to run integration tests and publish test results (pull request, snapshot, release workflows * Completed initial draft revision of USDC Cadence 1.0 update. Waiting for further confirmation from Circle for next steps **This sprint** -* Start milestones 5 and 6 of Flow JVM SDK +* Start milestones 4 & 5 of Flow JVM SDK update **On Hold** - N/A From f586b12c561d526b9e7464e5e47ac3798d2dbf11 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 28 Feb 2024 15:32:16 -0800 Subject: [PATCH 095/626] Small edits --- agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 90ff93f04..6722f1a08 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -127,7 +127,7 @@ Cycle Objective(s): **Done last sprint** -* Completed milestones #3 for Flow JVM SDK updates +* Completed milestone #3 for Flow JVM SDK updates * Missing unit tests and previously reported issues now resolved. * Updated GH workflows to run integration tests and publish test results (pull request, snapshot, release workflows * Completed initial draft revision of USDC Cadence 1.0 update. Waiting for further confirmation from Circle for next steps @@ -137,7 +137,7 @@ Cycle Objective(s): * Start milestones 4 & 5 of Flow JVM SDK update **On Hold** -- N/A +- Final work on USDC on hold pending confirmation from Circle on migration plan **Active Epics** From bb47236b3834ada71c5ba68736741bbe1e613bbf Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 28 Feb 2024 15:34:18 -0800 Subject: [PATCH 096/626] Minor updates --- .../2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 6722f1a08..f14425e83 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -127,17 +127,18 @@ Cycle Objective(s): **Done last sprint** -* Completed milestone #3 for Flow JVM SDK updates +* Completed milestone #3 for Flow JVM SDK updates (@lealobanov) * Missing unit tests and previously reported issues now resolved. * Updated GH workflows to run integration tests and publish test results (pull request, snapshot, release workflows * Completed initial draft revision of USDC Cadence 1.0 update. Waiting for further confirmation from Circle for next steps **This sprint** -* Start milestones 4 & 5 of Flow JVM SDK update +* Start milestones 4 & 5 of Flow JVM SDK update (@lealobanov) +* Start Axelar Cadence 1.0 upgrades (AnChain team) **On Hold** -- Final work on USDC on hold pending confirmation from Circle on migration plan +- Remaining work on USDC on hold pending confirmation from Circle on migration plan **Active Epics** From b1cfa1bb731d5c7ad62c8cd1d68b4605af0b4f61 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Wed, 28 Feb 2024 16:54:20 -0800 Subject: [PATCH 097/626] Create 2024-02-29-Protocol-Product-Sync.md --- agendas/2024/product-sync/2024-02-29-Protocol-Product-Sync.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 agendas/2024/product-sync/2024-02-29-Protocol-Product-Sync.md diff --git a/agendas/2024/product-sync/2024-02-29-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-02-29-Protocol-Product-Sync.md new file mode 100644 index 000000000..ed7ba8c0e --- /dev/null +++ b/agendas/2024/product-sync/2024-02-29-Protocol-Product-Sync.md @@ -0,0 +1 @@ +# Please add agenda items below From 433239546708018b21867459dc686f47b654dba7 Mon Sep 17 00:00:00 2001 From: Uliana Andrukhiv Date: Thu, 29 Feb 2024 11:11:12 +0200 Subject: [PATCH 098/626] Updated SubscribeBlockHeadersRequest Co-authored-by: Yurii Oleksyshyn --- protobuf/flow/access/access.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 800584d49..90eeeb71f 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -489,7 +489,7 @@ message SubscribeBlocksResponse { // The request for SubscribeBlockHeaders message SubscribeBlockHeadersRequest { // The first block header to subscribe. - StartBlock start_block_header = 1; + StartBlock start_block = 1; // Required block status of the block payload. // Possible variants: From 71d2d335407c1aa0d448042337b0b6c047e7451a Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Thu, 29 Feb 2024 11:21:29 +0200 Subject: [PATCH 099/626] Generated access protobuf according to comment --- protobuf/go/flow/access/access.pb.go | 291 +++++++++++++-------------- 1 file changed, 145 insertions(+), 146 deletions(-) diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 7492004fd..adde017dd 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2451,7 +2451,7 @@ func (m *SubscribeBlocksResponse) GetBlock() *entities.Block { // The request for SubscribeBlockHeaders type SubscribeBlockHeadersRequest struct { // The first block header to subscribe. - StartBlockHeader *StartBlock `protobuf:"bytes,1,opt,name=start_block_header,json=startBlockHeader,proto3" json:"start_block_header,omitempty"` + StartBlock *StartBlock `protobuf:"bytes,1,opt,name=start_block,json=startBlock,proto3" json:"start_block,omitempty"` // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED @@ -2487,9 +2487,9 @@ func (m *SubscribeBlockHeadersRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlockHeadersRequest proto.InternalMessageInfo -func (m *SubscribeBlockHeadersRequest) GetStartBlockHeader() *StartBlock { +func (m *SubscribeBlockHeadersRequest) GetStartBlock() *StartBlock { if m != nil { - return m.StartBlockHeader + return m.StartBlock } return nil } @@ -2835,147 +2835,146 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2271 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xcd, 0x73, 0x1b, 0x49, - 0x15, 0xdf, 0x91, 0x1c, 0xdb, 0x7a, 0x96, 0xed, 0xa4, 0xed, 0xd8, 0xf2, 0xd8, 0x8e, 0x95, 0x71, - 0x42, 0xbc, 0xc9, 0x22, 0xa7, 0xbc, 0x50, 0x9b, 0x5d, 0x3e, 0x0a, 0x3b, 0x6b, 0x1c, 0x57, 0x25, - 0x5b, 0xae, 0x51, 0x36, 0xd4, 0x02, 0x89, 0x6a, 0xa4, 0x69, 0xcb, 0x43, 0xa4, 0x19, 0x31, 0x33, - 0x4a, 0x62, 0xe0, 0xb0, 0x87, 0x2d, 0x8a, 0x2a, 0x0e, 0x1c, 0xb7, 0xa0, 0xe0, 0x02, 0x5c, 0xe0, - 0xc2, 0x89, 0x03, 0xc5, 0x81, 0x82, 0xff, 0x80, 0xbf, 0x87, 0x0b, 0x35, 0xdd, 0x3d, 0x1f, 0xdd, - 0xd3, 0x33, 0x1a, 0xc9, 0xa4, 0xcc, 0x25, 0xf1, 0x74, 0xbf, 0x7e, 0xdf, 0xfd, 0xfa, 0xf5, 0xaf, - 0x05, 0xb5, 0xd3, 0x9e, 0xf3, 0x7a, 0xd7, 0xe8, 0x74, 0xb0, 0xe7, 0xb1, 0xff, 0x1a, 0x03, 0xd7, - 0xf1, 0x1d, 0x34, 0x17, 0xcc, 0x34, 0xe8, 0x90, 0xba, 0x4e, 0xc8, 0xb0, 0xed, 0x5b, 0xbe, 0x85, - 0x09, 0xa1, 0x33, 0xb4, 0x7d, 0x4a, 0xa9, 0xd6, 0xf9, 0xc9, 0x76, 0xcf, 0xe9, 0xbc, 0x6c, 0x9d, - 0x61, 0xc3, 0xc4, 0x2e, 0xa3, 0x58, 0x93, 0x50, 0xb0, 0xa9, 0x1b, 0xfc, 0x54, 0xc7, 0xe9, 0xf5, - 0x70, 0xc7, 0xb7, 0x1c, 0x5b, 0xbe, 0x14, 0xbf, 0xc2, 0x91, 0xdc, 0x5b, 0xc2, 0xd4, 0x1b, 0xdc, - 0x19, 0x06, 0x2b, 0x5b, 0x2e, 0xf6, 0x86, 0xbd, 0x90, 0x6a, 0x83, 0xa7, 0xea, 0x63, 0xdf, 0x30, - 0x0d, 0xdf, 0x60, 0xb3, 0xb7, 0xf9, 0x59, 0xdb, 0x31, 0x71, 0xeb, 0x15, 0x76, 0xbd, 0x80, 0x8d, - 0x65, 0x9f, 0x3a, 0x8c, 0x6c, 0x8b, 0x27, 0xf3, 0x5d, 0xc3, 0xf6, 0x8c, 0xa4, 0x9a, 0x5b, 0x5d, - 0xc7, 0xe9, 0xf6, 0xf0, 0x2e, 0xf9, 0x6a, 0x0f, 0x4f, 0x77, 0x7d, 0xab, 0x8f, 0x3d, 0xdf, 0xe8, - 0x0f, 0x28, 0x81, 0x36, 0x0f, 0x73, 0x27, 0x96, 0xdd, 0xd5, 0xf1, 0x8f, 0x87, 0xd8, 0xf3, 0xb5, - 0x05, 0xa8, 0xd2, 0x4f, 0x6f, 0xe0, 0xd8, 0x1e, 0xd6, 0xd6, 0x61, 0xed, 0x08, 0xfb, 0x9f, 0x38, - 0x26, 0x7e, 0x46, 0xa5, 0x1f, 0xdb, 0xa7, 0x4e, 0x48, 0x7c, 0x02, 0xaa, 0x6c, 0x92, 0x2e, 0x45, - 0x7b, 0x30, 0x15, 0x68, 0x5a, 0x53, 0xea, 0xca, 0xce, 0xdc, 0xde, 0x8d, 0x06, 0x89, 0x5b, 0xa8, - 0x6a, 0x43, 0x5c, 0x45, 0x68, 0xb5, 0x8f, 0x60, 0xfd, 0x08, 0xfb, 0x8f, 0x0d, 0x1f, 0x7b, 0xfe, - 0x41, 0x10, 0x8d, 0x47, 0x24, 0x5c, 0x4c, 0x20, 0x5a, 0x87, 0x8a, 0xe5, 0xb5, 0x3c, 0x6c, 0xf4, - 0xb0, 0x49, 0xf8, 0xce, 0xea, 0xb3, 0x96, 0xd7, 0x24, 0xdf, 0xda, 0x3d, 0xa2, 0x6a, 0x62, 0xd5, - 0xc1, 0xf9, 0xf1, 0xc7, 0xe1, 0xca, 0x05, 0x28, 0x59, 0x74, 0x49, 0x55, 0x2f, 0x59, 0xa6, 0xf6, - 0x01, 0x6c, 0x8a, 0xc4, 0x8f, 0xb0, 0xd5, 0x3d, 0xf3, 0xc3, 0x05, 0x2b, 0x30, 0x7d, 0x46, 0x06, - 0xc8, 0xa2, 0x29, 0x9d, 0x7d, 0x69, 0x7f, 0x57, 0x60, 0x89, 0xd3, 0x8c, 0x59, 0x7b, 0x1f, 0xae, - 0x90, 0xf4, 0x61, 0xe6, 0xaa, 0x82, 0xb9, 0xc9, 0x25, 0x94, 0x10, 0x7d, 0x0b, 0xaa, 0x34, 0x25, - 0x3d, 0xdf, 0xf0, 0x87, 0x5e, 0xad, 0x54, 0x57, 0x76, 0x16, 0xe4, 0x0b, 0x9b, 0x84, 0x42, 0x9f, - 0x6b, 0xc7, 0x1f, 0xe8, 0x7d, 0x98, 0x0d, 0x73, 0xa6, 0x56, 0x26, 0x32, 0x57, 0x85, 0xa5, 0x4f, - 0xd8, 0xb4, 0x1e, 0x11, 0x6a, 0x26, 0x5c, 0xe7, 0xfd, 0x5b, 0xc4, 0xb3, 0xa8, 0x01, 0x4b, 0xa7, - 0xc3, 0x5e, 0xaf, 0x45, 0xd5, 0x75, 0x99, 0xc9, 0x44, 0xe1, 0x59, 0xfd, 0x5a, 0x30, 0xc5, 0x78, - 0xb1, 0xa4, 0xf9, 0x14, 0x96, 0x42, 0xe7, 0xe6, 0xc4, 0x60, 0x6c, 0xb6, 0x06, 0xac, 0xc6, 0x6c, - 0x0b, 0x45, 0x6b, 0x6c, 0x11, 0x7f, 0x51, 0x60, 0x9e, 0x1b, 0x41, 0x77, 0xf9, 0xb8, 0x2e, 0xcb, - 0xc2, 0x73, 0x99, 0x11, 0xbd, 0x0b, 0xb5, 0x23, 0xec, 0x3f, 0x8c, 0xca, 0x53, 0x5e, 0xd2, 0x7f, - 0xa1, 0x00, 0x8a, 0x29, 0x23, 0x13, 0x3f, 0x04, 0x88, 0xcb, 0x1b, 0xb3, 0x73, 0x4d, 0x90, 0x9c, - 0x58, 0x96, 0x20, 0xe6, 0x54, 0x2e, 0x15, 0x55, 0xf9, 0x19, 0xac, 0x34, 0xb1, 0x6d, 0x3e, 0x8d, - 0x8b, 0x55, 0xa8, 0xf0, 0x37, 0x61, 0x2e, 0x51, 0xc2, 0x32, 0xb6, 0x52, 0x72, 0x5d, 0x92, 0x5c, - 0x7b, 0x01, 0xab, 0x29, 0xbe, 0xcc, 0x44, 0x31, 0xf5, 0x26, 0xd2, 0xfb, 0x5f, 0x0a, 0xd9, 0x3d, - 0x12, 0xbd, 0x45, 0xf6, 0x6b, 0x30, 0x4b, 0x13, 0xc1, 0x32, 0x09, 0xfb, 0xaa, 0x3e, 0x43, 0xbe, - 0x8f, 0x4d, 0xb4, 0x0d, 0xf3, 0xb1, 0xff, 0x82, 0xf9, 0x32, 0x99, 0xaf, 0xc6, 0x83, 0xc7, 0x26, - 0xfa, 0x0c, 0x56, 0xc8, 0x81, 0xd2, 0xc2, 0x76, 0xc7, 0x31, 0x2d, 0xbb, 0x1b, 0xd6, 0xfe, 0xda, - 0x14, 0x49, 0xa9, 0x6d, 0x41, 0xd9, 0xc3, 0x80, 0xf8, 0x90, 0xd1, 0xb2, 0xaa, 0xaa, 0x2f, 0x63, - 0xc9, 0xa8, 0xf6, 0x80, 0x54, 0xd8, 0xe6, 0xb9, 0xe7, 0xe3, 0xbe, 0xc4, 0x92, 0xa4, 0xe6, 0x0a, - 0xa7, 0xb9, 0xf6, 0x6b, 0x05, 0x6e, 0xca, 0x97, 0x06, 0xa7, 0xda, 0x68, 0x06, 0x39, 0x56, 0x95, - 0x2e, 0x6a, 0xd5, 0x9f, 0x15, 0xd8, 0xe0, 0x43, 0x73, 0x70, 0x7e, 0x6c, 0x9b, 0xf8, 0x4d, 0x01, - 0xb5, 0x96, 0xe1, 0x8a, 0x15, 0x90, 0x12, 0x2d, 0xe6, 0x75, 0xfa, 0x91, 0xa3, 0x6c, 0xf9, 0xa2, - 0xca, 0x7e, 0xa9, 0xc0, 0x16, 0xaf, 0xac, 0x77, 0x70, 0x4e, 0xaa, 0x42, 0xbc, 0x75, 0x2f, 0xcd, - 0x8d, 0x6a, 0x2a, 0xb2, 0x5e, 0xb4, 0x8b, 0xbe, 0x07, 0x4b, 0x89, 0xfd, 0xc6, 0xda, 0x19, 0xaf, - 0xa6, 0xd4, 0xcb, 0x3b, 0x73, 0x7b, 0x5f, 0x69, 0x24, 0x1a, 0xb3, 0x86, 0x24, 0x3f, 0x28, 0x13, - 0x1d, 0xf9, 0x29, 0x01, 0x93, 0x6d, 0xc7, 0x5f, 0x2a, 0xb0, 0x9c, 0xf4, 0x61, 0xa4, 0xe6, 0xb7, - 0xa1, 0x9a, 0x90, 0x11, 0xea, 0x97, 0x57, 0x46, 0x38, 0xfa, 0xc9, 0xb4, 0xf9, 0x85, 0x02, 0x4b, - 0xb2, 0xca, 0x73, 0xa1, 0x92, 0x36, 0x99, 0x2a, 0x7f, 0x2d, 0xc3, 0x5a, 0xa6, 0xff, 0xd1, 0x03, - 0x98, 0x66, 0xc7, 0x93, 0x42, 0xd2, 0xa5, 0x9e, 0xad, 0x0b, 0x3b, 0xa4, 0x18, 0x3d, 0xda, 0x82, - 0x39, 0xfa, 0x57, 0xab, 0xe3, 0x98, 0x98, 0x6d, 0x17, 0xa0, 0x43, 0x0f, 0x1d, 0x13, 0x07, 0xb5, - 0x0d, 0xbb, 0xae, 0xe3, 0xb6, 0xfa, 0xd8, 0xf3, 0x8c, 0x2e, 0x26, 0x5b, 0xa5, 0xa2, 0x57, 0xc9, - 0xe0, 0x13, 0x3a, 0x86, 0xde, 0x83, 0x69, 0x92, 0x7b, 0x5e, 0x6d, 0x8a, 0xc4, 0x65, 0x59, 0x96, - 0xae, 0x3a, 0xa3, 0xe1, 0xf6, 0xc1, 0x15, 0x7e, 0x1f, 0xdc, 0x86, 0x85, 0x64, 0x36, 0x5a, 0x66, - 0x6d, 0x9a, 0x10, 0xcc, 0x27, 0x46, 0x65, 0x05, 0x77, 0x46, 0x52, 0x70, 0x6f, 0x86, 0x27, 0x37, - 0xeb, 0x22, 0x66, 0x49, 0x17, 0x41, 0x4f, 0x67, 0xda, 0x69, 0x70, 0xa1, 0xa8, 0x14, 0x0c, 0x05, - 0xba, 0x07, 0xd7, 0x3a, 0x4e, 0x7f, 0x30, 0xf4, 0x0d, 0x22, 0x7d, 0x48, 0xbc, 0x02, 0x84, 0xf9, - 0xd5, 0xc4, 0xc4, 0xa7, 0xc1, 0xb8, 0xf6, 0x55, 0xb8, 0x76, 0x84, 0xfd, 0x7d, 0x7a, 0x87, 0x09, - 0x0b, 0x41, 0x0d, 0x66, 0x0c, 0xd3, 0x74, 0xb1, 0xe7, 0x85, 0x75, 0x80, 0x7d, 0x6a, 0x3f, 0x05, - 0x94, 0x24, 0x8f, 0xfa, 0xd0, 0x19, 0x76, 0x0b, 0x62, 0xb9, 0xb6, 0x22, 0x68, 0x19, 0x2e, 0x08, - 0xc9, 0x26, 0xcb, 0xb1, 0x8f, 0xe0, 0x46, 0x2c, 0x7c, 0x5f, 0xd6, 0x51, 0x66, 0x2b, 0xfe, 0x06, - 0x16, 0x2f, 0x49, 0xeb, 0xe7, 0xbc, 0xd6, 0x07, 0x71, 0x78, 0x47, 0x6a, 0x9d, 0x4a, 0x91, 0x52, - 0x2a, 0x45, 0xb4, 0xcf, 0xe0, 0xe6, 0x21, 0xb9, 0xec, 0xe1, 0x66, 0xc7, 0xb5, 0x06, 0x72, 0xbf, - 0xac, 0xc0, 0xb4, 0x47, 0x66, 0x99, 0x00, 0xf6, 0x85, 0x36, 0xa0, 0x62, 0xb8, 0xdd, 0x61, 0x9f, - 0x6c, 0x8d, 0x52, 0xbd, 0xbc, 0x53, 0xd5, 0xe3, 0x01, 0x6d, 0x00, 0x9b, 0x02, 0xeb, 0xe2, 0x07, - 0x46, 0x2c, 0xb1, 0x94, 0x2d, 0xb1, 0x2c, 0x4a, 0xfc, 0x59, 0xca, 0x18, 0x89, 0xbb, 0x44, 0xa7, - 0x28, 0xe9, 0x7d, 0x33, 0x99, 0xf4, 0x5f, 0x29, 0x70, 0x9d, 0x13, 0x1f, 0xa5, 0xca, 0x32, 0x5c, - 0x79, 0x65, 0xf4, 0x86, 0x98, 0x59, 0x49, 0x3f, 0x26, 0x4a, 0x07, 0xf9, 0xee, 0x2c, 0x67, 0xec, - 0xce, 0x7f, 0x2b, 0x24, 0x79, 0x48, 0x79, 0xf2, 0xbe, 0xeb, 0xb8, 0xcc, 0x11, 0x86, 0xdd, 0xc5, - 0xa1, 0x37, 0x10, 0x4c, 0xf9, 0xe7, 0x03, 0xaa, 0x59, 0x45, 0x27, 0x7f, 0x07, 0x1e, 0xf2, 0x7c, - 0xc3, 0xf5, 0x85, 0xb4, 0x21, 0x63, 0xcc, 0x43, 0x9b, 0x00, 0xd8, 0x36, 0x43, 0x02, 0x2a, 0xbf, - 0x82, 0x6d, 0x93, 0x4d, 0xbf, 0xc5, 0x66, 0xf0, 0x4f, 0x0a, 0xe9, 0x06, 0x23, 0x9b, 0x58, 0x4e, - 0x79, 0x79, 0x06, 0xad, 0x43, 0x25, 0x4c, 0xb4, 0x30, 0x4f, 0x67, 0x59, 0xa6, 0x79, 0x6f, 0xb3, - 0x6b, 0xfa, 0x47, 0x09, 0x16, 0xa8, 0xa2, 0x89, 0xb3, 0x75, 0x86, 0xef, 0x41, 0x34, 0xae, 0x07, - 0xe1, 0xa9, 0x1b, 0xec, 0x1c, 0x0c, 0x97, 0x4c, 0x94, 0x32, 0xea, 0xdf, 0x14, 0x98, 0xa6, 0x8c, - 0xf2, 0x76, 0xdc, 0xe8, 0x5a, 0x91, 0x38, 0x06, 0xcb, 0x05, 0x8e, 0xc1, 0x87, 0xb0, 0x48, 0x19, - 0x46, 0xf0, 0x0d, 0x09, 0x7e, 0xd0, 0x49, 0x50, 0x80, 0xa7, 0x11, 0x02, 0x3c, 0x8d, 0xa7, 0x21, - 0x85, 0xbe, 0x40, 0x96, 0x44, 0xdf, 0xda, 0x26, 0x09, 0xf6, 0x27, 0xd8, 0x7f, 0xed, 0xb8, 0x2f, - 0x4f, 0x0c, 0xd7, 0xe8, 0x63, 0x1f, 0xbb, 0x61, 0xb0, 0xb5, 0x0f, 0x49, 0x0b, 0x2d, 0x99, 0x66, - 0xde, 0x5e, 0x83, 0xd9, 0xce, 0x99, 0x61, 0xd9, 0xa1, 0xbd, 0x15, 0x7d, 0x86, 0x7c, 0x1f, 0x9b, - 0xda, 0x1d, 0xb8, 0x1d, 0xc1, 0x0a, 0x27, 0x81, 0x22, 0x1d, 0xa7, 0x17, 0x34, 0x0f, 0xb8, 0x69, - 0x1b, 0x03, 0xef, 0xcc, 0x09, 0xeb, 0x85, 0x76, 0x08, 0x3b, 0x47, 0x58, 0x4e, 0x32, 0x46, 0x0b, - 0xac, 0x3d, 0x86, 0x3b, 0xd9, 0x6c, 0xc6, 0xad, 0x50, 0xc1, 0xb5, 0x78, 0x33, 0x43, 0x6b, 0x66, - 0x7a, 0x03, 0x90, 0x87, 0x5d, 0xcb, 0xe8, 0x59, 0x3f, 0xc1, 0x66, 0x38, 0xcb, 0x94, 0x92, 0xcc, - 0x4c, 0x76, 0x38, 0x7d, 0x07, 0xb6, 0x83, 0xbd, 0x18, 0xa2, 0x85, 0x34, 0xcb, 0xe2, 0x4d, 0x59, - 0xc0, 0x2d, 0x7f, 0x50, 0xc2, 0x9a, 0x2d, 0x5d, 0xcf, 0x8c, 0x39, 0x86, 0xab, 0x22, 0x24, 0x99, - 0x81, 0xd1, 0x09, 0xbc, 0xf4, 0x45, 0xcc, 0x0f, 0x4c, 0x66, 0xe7, 0x2e, 0x81, 0xde, 0x04, 0xde, - 0x79, 0xb0, 0xc5, 0xef, 0x14, 0x58, 0x97, 0x92, 0xff, 0x9f, 0x18, 0xf4, 0x1c, 0xa0, 0x19, 0x94, - 0x73, 0xe2, 0x68, 0xb4, 0x2e, 0xc6, 0xe7, 0xd1, 0x3b, 0xc9, 0xdb, 0xbf, 0xa4, 0x30, 0x3c, 0x7a, - 0x87, 0xcb, 0xc7, 0x83, 0x79, 0xa0, 0xc7, 0x03, 0x45, 0xad, 0xb4, 0x7f, 0x2a, 0xb0, 0xd2, 0x1c, - 0xb6, 0x83, 0x63, 0xb3, 0x8d, 0x89, 0x8c, 0xa8, 0x3e, 0x3f, 0xe0, 0x28, 0x99, 0xd1, 0xab, 0x5c, - 0x11, 0x8c, 0x35, 0x23, 0xad, 0x7a, 0xa8, 0xe5, 0x05, 0xa1, 0xaa, 0x0c, 0x5c, 0xad, 0x9c, 0x85, - 0xab, 0x1d, 0xc2, 0x6a, 0xca, 0x84, 0xf1, 0x01, 0x36, 0xed, 0x8f, 0x0a, 0x6c, 0xf0, 0x7c, 0x28, - 0xa4, 0x1a, 0x39, 0xe4, 0x10, 0x50, 0xc2, 0x21, 0x0c, 0xec, 0x1f, 0xe5, 0x97, 0xab, 0xb1, 0x5f, - 0x28, 0xbb, 0x0b, 0x7a, 0x47, 0x6b, 0xc2, 0x66, 0x86, 0x96, 0x11, 0x34, 0x3e, 0xcd, 0xa9, 0x96, - 0x87, 0x16, 0x33, 0x4a, 0xed, 0xcb, 0x94, 0xed, 0x1f, 0x5b, 0x5d, 0xec, 0xf9, 0x97, 0x9e, 0x0c, - 0xda, 0xef, 0x15, 0xd1, 0xde, 0x48, 0xb3, 0xf8, 0xe8, 0xb8, 0xc0, 0x51, 0x29, 0x39, 0xfc, 0xca, - 0x63, 0x1f, 0x7e, 0x3f, 0x82, 0xbb, 0x4d, 0x6c, 0x9b, 0xfb, 0xb6, 0x19, 0xa9, 0x9a, 0xba, 0xe9, - 0x62, 0xef, 0x7f, 0x03, 0x44, 0xfe, 0x56, 0x81, 0x7b, 0x85, 0x84, 0x65, 0xa0, 0x93, 0xf1, 0x15, - 0xbd, 0x34, 0xe6, 0x15, 0x7d, 0x1b, 0xe6, 0xd9, 0xdd, 0xbb, 0x45, 0x31, 0x2d, 0xda, 0x4d, 0x56, - 0xd9, 0x20, 0x81, 0xc4, 0xf6, 0xfe, 0xb3, 0x01, 0x95, 0x7d, 0x92, 0x10, 0xfb, 0x27, 0xc7, 0xe8, - 0x1b, 0x30, 0x75, 0x62, 0xd9, 0x5d, 0x54, 0xe3, 0x32, 0x25, 0xf1, 0x26, 0xa4, 0xae, 0x49, 0x66, - 0x98, 0xe6, 0x98, 0xdc, 0x41, 0x85, 0xb7, 0x1c, 0xc4, 0x43, 0x41, 0x99, 0xef, 0x47, 0xea, 0x9d, - 0x91, 0x74, 0x4c, 0x4c, 0x1b, 0x96, 0x65, 0xcf, 0x42, 0x68, 0x47, 0x64, 0x90, 0xf5, 0x72, 0xa4, - 0xd6, 0x39, 0x4a, 0xd9, 0x03, 0xce, 0x0b, 0x62, 0x8a, 0xf0, 0x7c, 0x94, 0x36, 0x45, 0xfe, 0xbe, - 0x54, 0x80, 0xff, 0x29, 0xac, 0xc8, 0x5f, 0x9c, 0xd0, 0xdd, 0x5c, 0x19, 0x5c, 0x3b, 0x53, 0x40, - 0xce, 0x09, 0x2c, 0xf0, 0x8e, 0x40, 0x5a, 0x8e, 0x97, 0x42, 0xbe, 0x6a, 0x9a, 0x6f, 0xc4, 0xf1, - 0x31, 0x54, 0x93, 0xcf, 0x39, 0xa8, 0x2e, 0xd5, 0x37, 0xe9, 0x8d, 0x3c, 0x6e, 0x4f, 0xe1, 0xaa, - 0xf8, 0x8a, 0x83, 0x6e, 0x65, 0x70, 0xe4, 0x6d, 0xcf, 0xe3, 0xfa, 0x03, 0x82, 0x9d, 0xf0, 0xcf, - 0x20, 0xe8, 0xb6, 0xc8, 0x56, 0xfa, 0x4c, 0xa2, 0x6e, 0x71, 0x64, 0x92, 0x07, 0x92, 0x1f, 0xc2, - 0xa2, 0xf0, 0xb0, 0x80, 0xb6, 0xf9, 0xba, 0x2a, 0x7d, 0xce, 0x50, 0x6f, 0xe5, 0x13, 0x31, 0xee, - 0xcf, 0x48, 0xc0, 0x92, 0xcc, 0x53, 0x01, 0x93, 0xf0, 0xae, 0xe7, 0xc0, 0xad, 0xc9, 0x4d, 0x93, - 0x02, 0x02, 0x0b, 0x71, 0x2f, 0x08, 0xe6, 0xa2, 0x01, 0xb9, 0x52, 0xa4, 0xe6, 0x19, 0xf8, 0x8e, - 0xde, 0xcd, 0x11, 0xc5, 0x03, 0xf4, 0x85, 0x25, 0xbe, 0x26, 0xb7, 0xf0, 0x34, 0x48, 0x1d, 0x5d, - 0x1f, 0xd0, 0x7b, 0x39, 0x42, 0x53, 0x40, 0xbb, 0x50, 0x83, 0x72, 0xc0, 0xef, 0x97, 0xe4, 0xa1, - 0x4d, 0xca, 0x6b, 0x4c, 0x91, 0x37, 0xb3, 0x44, 0x7a, 0x42, 0xec, 0x52, 0x4f, 0x2d, 0xe9, 0x82, - 0x97, 0xf5, 0x90, 0x53, 0x20, 0x3f, 0x7c, 0xf2, 0x7a, 0x9f, 0xf1, 0x9c, 0x83, 0x1a, 0x05, 0x24, - 0x25, 0xde, 0x7d, 0x0a, 0xc7, 0xef, 0x09, 0x40, 0x0c, 0xc1, 0xa1, 0x1b, 0xa2, 0x14, 0x1e, 0xfd, - 0x14, 0xb6, 0xa6, 0x04, 0xee, 0x34, 0xc9, 0x9b, 0xb0, 0x0c, 0x87, 0x44, 0xf7, 0x32, 0xd6, 0xca, - 0x50, 0x39, 0x75, 0x83, 0x23, 0x1e, 0x21, 0x25, 0x01, 0x84, 0xe5, 0x48, 0x49, 0xc3, 0x65, 0x23, - 0xa4, 0x0c, 0x40, 0xcd, 0x86, 0x0f, 0x85, 0x80, 0x8c, 0xc4, 0x19, 0x55, 0x2d, 0x9b, 0x3e, 0x92, - 0x78, 0x06, 0x2b, 0x72, 0x54, 0x51, 0x38, 0x93, 0x72, 0xa1, 0xc7, 0x42, 0x92, 0xd2, 0xb6, 0x25, - 0x9d, 0xd8, 0x18, 0x29, 0x8d, 0xf7, 0x63, 0x11, 0x89, 0x1d, 0x12, 0x33, 0x19, 0x5c, 0x97, 0x8e, - 0x59, 0x0e, 0xa8, 0xa7, 0xae, 0xe7, 0x60, 0x4a, 0xe8, 0x39, 0xd9, 0xa7, 0x29, 0xfc, 0x2c, 0xbd, - 0x4f, 0xb3, 0x20, 0xb6, 0x7c, 0xf6, 0x2f, 0x09, 0xfb, 0x14, 0x24, 0x93, 0x66, 0x9f, 0x05, 0xea, - 0xa8, 0xef, 0x16, 0xa0, 0x64, 0xc2, 0x3e, 0xa7, 0x00, 0x67, 0x0e, 0x8a, 0x83, 0xf6, 0xe4, 0x9d, - 0x44, 0x1e, 0xe4, 0xa3, 0xf2, 0x99, 0x94, 0x8f, 0xb3, 0xfc, 0x9c, 0x3e, 0x31, 0xe7, 0xe3, 0x43, - 0xe8, 0xeb, 0xa2, 0x16, 0x85, 0xf0, 0xa4, 0xb1, 0x14, 0xf9, 0x42, 0x81, 0xfa, 0x28, 0x84, 0x09, - 0x7d, 0xad, 0xa0, 0x1e, 0x7c, 0xee, 0x8e, 0xa3, 0xc6, 0xe7, 0xf4, 0x59, 0x3b, 0x13, 0xd3, 0x41, - 0xf7, 0x53, 0x79, 0x36, 0x02, 0x3e, 0x52, 0x65, 0x5b, 0x2d, 0x0f, 0x2d, 0xb2, 0x49, 0xdb, 0x2a, - 0x81, 0x5f, 0xd2, 0x6d, 0x6b, 0x36, 0xa4, 0xa3, 0xee, 0xe4, 0x49, 0xe5, 0xc0, 0x9c, 0x17, 0xb0, - 0x28, 0x20, 0x05, 0x62, 0xaf, 0x25, 0x85, 0x42, 0xc4, 0x5e, 0x4b, 0x0e, 0x36, 0xdc, 0x57, 0xd0, - 0x00, 0xae, 0x4b, 0xef, 0xe6, 0x42, 0xaf, 0x92, 0x87, 0x32, 0x08, 0x21, 0xcc, 0xbd, 0xea, 0xcb, - 0x24, 0xb2, 0xdb, 0x71, 0xae, 0x44, 0xfe, 0x6e, 0x9f, 0x2b, 0x51, 0xb8, 0x6c, 0xdf, 0x57, 0xd0, - 0x6f, 0x14, 0xd8, 0x2e, 0x70, 0xff, 0x44, 0x1f, 0xa4, 0xfa, 0xd3, 0x62, 0xd7, 0x63, 0xf5, 0xc1, - 0xf8, 0x0b, 0x43, 0xe5, 0x0e, 0x1e, 0x83, 0xea, 0xb8, 0xdd, 0x86, 0x63, 0x13, 0x16, 0xd1, 0xcd, - 0x9d, 0xf2, 0xfa, 0x7e, 0xa3, 0x6b, 0xf9, 0x67, 0xc3, 0x76, 0xa3, 0xe3, 0xf4, 0x77, 0x29, 0xc9, - 0x2e, 0xf9, 0x27, 0xfa, 0xfd, 0x62, 0xd7, 0xd9, 0x4d, 0xfc, 0x34, 0xb4, 0x3d, 0x4d, 0x26, 0xde, - 0xff, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x26, 0x33, 0x97, 0x36, 0x30, 0x2a, 0x00, 0x00, + // 2253 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x73, 0x1b, 0x49, + 0x15, 0xdf, 0x91, 0x1c, 0xdb, 0x7a, 0x96, 0x9d, 0xa4, 0xed, 0xd8, 0xf2, 0xd8, 0x8e, 0x95, 0x71, + 0x42, 0xbc, 0xc9, 0x22, 0xa7, 0xbc, 0x50, 0x9b, 0x5d, 0xfe, 0x14, 0x76, 0xd6, 0x38, 0xae, 0x4a, + 0xb6, 0x5c, 0xa3, 0x6c, 0xa8, 0x05, 0x12, 0xd5, 0x58, 0xd3, 0x96, 0x87, 0x48, 0x33, 0x62, 0x7a, + 0x94, 0xc4, 0xc0, 0x61, 0x0f, 0x5b, 0x14, 0x55, 0x1c, 0x38, 0x52, 0x50, 0x70, 0x81, 0x13, 0x5c, + 0x38, 0x71, 0xa0, 0x38, 0x50, 0xf0, 0x0d, 0xf8, 0x3c, 0x5c, 0xa8, 0xe9, 0xee, 0x19, 0x4d, 0xf7, + 0xf4, 0x8c, 0x46, 0x32, 0x5b, 0xe6, 0x92, 0x78, 0xba, 0x5f, 0xbf, 0x3f, 0xfd, 0x5e, 0xbf, 0x7e, + 0xfd, 0x7b, 0x82, 0xda, 0x69, 0xd7, 0x7b, 0xb3, 0x63, 0xb5, 0xdb, 0x98, 0x10, 0xfe, 0x5f, 0xa3, + 0xef, 0x7b, 0x81, 0x87, 0xe6, 0xc2, 0x99, 0x06, 0x1b, 0xd2, 0xd7, 0x28, 0x19, 0x76, 0x03, 0x27, + 0x70, 0x30, 0x25, 0xf4, 0x06, 0x6e, 0xc0, 0x28, 0xf5, 0xba, 0x38, 0x79, 0xd2, 0xf5, 0xda, 0xaf, + 0x5a, 0x67, 0xd8, 0xb2, 0xb1, 0xcf, 0x29, 0x56, 0x15, 0x14, 0x7c, 0xea, 0xa6, 0x38, 0xd5, 0xf6, + 0xba, 0x5d, 0xdc, 0x0e, 0x1c, 0xcf, 0x55, 0x2f, 0xc5, 0xaf, 0x71, 0x2c, 0xf7, 0xb6, 0x34, 0xf5, + 0x16, 0xb7, 0x07, 0xe1, 0xca, 0x96, 0x8f, 0xc9, 0xa0, 0x1b, 0x51, 0xad, 0x8b, 0x54, 0x3d, 0x1c, + 0x58, 0xb6, 0x15, 0x58, 0x7c, 0xf6, 0x8e, 0x38, 0xeb, 0x7a, 0x36, 0x6e, 0xbd, 0xc6, 0x3e, 0x09, + 0xd9, 0x38, 0xee, 0xa9, 0xc7, 0xc9, 0x36, 0x45, 0xb2, 0xc0, 0xb7, 0x5c, 0x62, 0x25, 0xd5, 0xdc, + 0xec, 0x78, 0x5e, 0xa7, 0x8b, 0x77, 0xe8, 0xd7, 0xc9, 0xe0, 0x74, 0x27, 0x70, 0x7a, 0x98, 0x04, + 0x56, 0xaf, 0xcf, 0x08, 0x8c, 0x79, 0x98, 0x3b, 0x76, 0xdc, 0x8e, 0x89, 0x7f, 0x3c, 0xc0, 0x24, + 0x30, 0x16, 0xa0, 0xca, 0x3e, 0x49, 0xdf, 0x73, 0x09, 0x36, 0xd6, 0x60, 0xf5, 0x10, 0x07, 0x9f, + 0x78, 0x36, 0x7e, 0xce, 0xa4, 0x1f, 0xb9, 0xa7, 0x5e, 0x44, 0x7c, 0x0c, 0xba, 0x6a, 0x92, 0x2d, + 0x45, 0xbb, 0x30, 0x15, 0x6a, 0x5a, 0xd3, 0xea, 0xda, 0xf6, 0xdc, 0xee, 0xcd, 0x06, 0xf5, 0x5b, + 0xa4, 0x6a, 0x43, 0x5e, 0x45, 0x69, 0x8d, 0x8f, 0x60, 0xed, 0x10, 0x07, 0x4f, 0xac, 0x00, 0x93, + 0x60, 0x3f, 0xf4, 0xc6, 0x63, 0xea, 0x2e, 0x2e, 0x10, 0xad, 0x41, 0xc5, 0x21, 0x2d, 0x82, 0xad, + 0x2e, 0xb6, 0x29, 0xdf, 0x59, 0x73, 0xd6, 0x21, 0x4d, 0xfa, 0x6d, 0xdc, 0xa7, 0xaa, 0x26, 0x56, + 0xed, 0x9f, 0x1f, 0x7d, 0x1c, 0xad, 0x5c, 0x80, 0x92, 0xc3, 0x96, 0x54, 0xcd, 0x92, 0x63, 0x1b, + 0x1f, 0xc0, 0x86, 0x4c, 0xfc, 0x18, 0x3b, 0x9d, 0xb3, 0x20, 0x5a, 0xb0, 0x0c, 0xd3, 0x67, 0x74, + 0x80, 0x2e, 0x9a, 0x32, 0xf9, 0x97, 0xf1, 0x77, 0x0d, 0x16, 0x05, 0xcd, 0xb8, 0xb5, 0x0f, 0xe0, + 0x0a, 0x0d, 0x1f, 0x6e, 0xae, 0x2e, 0x99, 0x9b, 0x5c, 0xc2, 0x08, 0xd1, 0xb7, 0xa0, 0xca, 0x42, + 0x92, 0x04, 0x56, 0x30, 0x20, 0xb5, 0x52, 0x5d, 0xdb, 0x5e, 0x50, 0x2f, 0x6c, 0x52, 0x0a, 0x73, + 0xee, 0x64, 0xf8, 0x81, 0xde, 0x87, 0xd9, 0x28, 0x66, 0x6a, 0x65, 0x2a, 0x73, 0x45, 0x5a, 0xfa, + 0x94, 0x4f, 0x9b, 0x31, 0xa1, 0x61, 0xc3, 0x0d, 0x71, 0x7f, 0x8b, 0xec, 0x2c, 0x6a, 0xc0, 0xe2, + 0xe9, 0xa0, 0xdb, 0x6d, 0x31, 0x75, 0x7d, 0x6e, 0x32, 0x55, 0x78, 0xd6, 0xbc, 0x1e, 0x4e, 0x71, + 0x5e, 0x3c, 0x68, 0x3e, 0x85, 0xc5, 0x68, 0x73, 0x73, 0x7c, 0x30, 0x36, 0x5b, 0x0b, 0x56, 0x86, + 0x6c, 0x0b, 0x79, 0x6b, 0x6c, 0x11, 0x7f, 0xd1, 0x60, 0x5e, 0x18, 0x41, 0xf7, 0x44, 0xbf, 0x2e, + 0xa9, 0xdc, 0x73, 0x99, 0x1e, 0xbd, 0x07, 0xb5, 0x43, 0x1c, 0x3c, 0x8a, 0xd3, 0x53, 0x5e, 0xd0, + 0x7f, 0xa1, 0x01, 0x1a, 0x52, 0xc6, 0x26, 0x7e, 0x08, 0x30, 0x4c, 0x6f, 0xdc, 0xce, 0x55, 0x49, + 0x72, 0x62, 0x59, 0x82, 0x58, 0x50, 0xb9, 0x54, 0x54, 0xe5, 0xe7, 0xb0, 0xdc, 0xc4, 0xae, 0xfd, + 0x6c, 0x98, 0xac, 0x22, 0x85, 0xbf, 0x09, 0x73, 0x89, 0x14, 0x96, 0x71, 0x94, 0x92, 0xeb, 0x92, + 0xe4, 0xc6, 0x4b, 0x58, 0x49, 0xf1, 0xe5, 0x26, 0xca, 0xa1, 0x37, 0x91, 0xde, 0xff, 0xd2, 0xe8, + 0xe9, 0x51, 0xe8, 0x2d, 0xb3, 0x5f, 0x85, 0x59, 0x16, 0x08, 0x8e, 0x4d, 0xd9, 0x57, 0xcd, 0x19, + 0xfa, 0x7d, 0x64, 0xa3, 0x2d, 0x98, 0x1f, 0xee, 0x5f, 0x38, 0x5f, 0xa6, 0xf3, 0xd5, 0xe1, 0xe0, + 0x91, 0x8d, 0x3e, 0x83, 0x65, 0x7a, 0xa1, 0xb4, 0xb0, 0xdb, 0xf6, 0x6c, 0xc7, 0xed, 0x44, 0xb9, + 0xbf, 0x36, 0x45, 0x43, 0x6a, 0x4b, 0x52, 0xf6, 0x20, 0x24, 0x3e, 0xe0, 0xb4, 0x3c, 0xab, 0x9a, + 0x4b, 0x58, 0x31, 0x6a, 0x3c, 0xa4, 0x19, 0xb6, 0x79, 0x4e, 0x02, 0xdc, 0x53, 0x58, 0x92, 0xd4, + 0x5c, 0x13, 0x34, 0x37, 0x7e, 0xa3, 0xc1, 0x2d, 0xf5, 0xd2, 0xf0, 0x56, 0x1b, 0xcd, 0x20, 0xc7, + 0xaa, 0xd2, 0x45, 0xad, 0xfa, 0xb3, 0x06, 0xeb, 0xa2, 0x6b, 0xf6, 0xcf, 0x8f, 0x5c, 0x1b, 0xbf, + 0x2d, 0xa0, 0xd6, 0x12, 0x5c, 0x71, 0x42, 0x52, 0xaa, 0xc5, 0xbc, 0xc9, 0x3e, 0x72, 0x94, 0x2d, + 0x5f, 0x54, 0xd9, 0x5f, 0x6b, 0xb0, 0x29, 0x2a, 0x4b, 0xf6, 0xcf, 0x69, 0x56, 0x18, 0x1e, 0xdd, + 0x4b, 0xdb, 0x46, 0x3d, 0xe5, 0x59, 0x12, 0x9f, 0xa2, 0xef, 0xc1, 0x62, 0xe2, 0xbc, 0xf1, 0x72, + 0x86, 0xd4, 0xb4, 0x7a, 0x79, 0x7b, 0x6e, 0xf7, 0x2b, 0x8d, 0x44, 0x61, 0xd6, 0x50, 0xc4, 0x07, + 0x63, 0x62, 0xa2, 0x20, 0x25, 0x60, 0xb2, 0xe3, 0xf8, 0x4b, 0x0d, 0x96, 0x92, 0x7b, 0x18, 0xab, + 0xf9, 0x6d, 0xa8, 0x26, 0x64, 0x44, 0xfa, 0xe5, 0xa5, 0x11, 0x81, 0x7e, 0x32, 0x6d, 0x7e, 0xa1, + 0xc1, 0xa2, 0x2a, 0xf3, 0x5c, 0x28, 0xa5, 0x4d, 0xa6, 0xca, 0x5f, 0xcb, 0xb0, 0x9a, 0xb9, 0xff, + 0xe8, 0x21, 0x4c, 0xf3, 0xeb, 0x49, 0xa3, 0xe1, 0x52, 0xcf, 0xd6, 0x85, 0x5f, 0x52, 0x9c, 0x1e, + 0x6d, 0xc2, 0x1c, 0xfb, 0xab, 0xd5, 0xf6, 0x6c, 0xcc, 0x8f, 0x0b, 0xb0, 0xa1, 0x47, 0x9e, 0x8d, + 0xc3, 0xdc, 0x86, 0x7d, 0xdf, 0xf3, 0x5b, 0x3d, 0x4c, 0x88, 0xd5, 0xc1, 0xf4, 0xa8, 0x54, 0xcc, + 0x2a, 0x1d, 0x7c, 0xca, 0xc6, 0xd0, 0x7b, 0x30, 0x4d, 0x63, 0x8f, 0xd4, 0xa6, 0xa8, 0x5f, 0x96, + 0x54, 0xe1, 0x6a, 0x72, 0x1a, 0xe1, 0x1c, 0x5c, 0x11, 0xcf, 0xc1, 0x1d, 0x58, 0x48, 0x46, 0xa3, + 0x63, 0xd7, 0xa6, 0x29, 0xc1, 0x7c, 0x62, 0x54, 0x95, 0x70, 0x67, 0x14, 0x09, 0xf7, 0x56, 0x74, + 0x73, 0xf3, 0x2a, 0x62, 0x96, 0x56, 0x11, 0xec, 0x76, 0x66, 0x95, 0x86, 0xe0, 0x8a, 0x4a, 0x41, + 0x57, 0xa0, 0xfb, 0x70, 0xbd, 0xed, 0xf5, 0xfa, 0x83, 0xc0, 0xa2, 0xd2, 0x07, 0x74, 0x57, 0x80, + 0x32, 0xbf, 0x96, 0x98, 0xf8, 0x34, 0x1c, 0x37, 0xbe, 0x0a, 0xd7, 0x0f, 0x71, 0xb0, 0xc7, 0xde, + 0x30, 0x51, 0x22, 0xa8, 0xc1, 0x8c, 0x65, 0xdb, 0x3e, 0x26, 0x24, 0xca, 0x03, 0xfc, 0xd3, 0xf8, + 0x29, 0xa0, 0x24, 0x79, 0x5c, 0x87, 0xce, 0xf0, 0x57, 0x10, 0x8f, 0xb5, 0x65, 0x49, 0xcb, 0x68, + 0x41, 0x44, 0x36, 0x59, 0x8c, 0x7d, 0x04, 0x37, 0x87, 0xc2, 0xf7, 0x54, 0x15, 0x65, 0xb6, 0xe2, + 0x6f, 0xe1, 0xea, 0x25, 0x69, 0xfd, 0x42, 0xd4, 0x7a, 0x7f, 0xe8, 0xde, 0x91, 0x5a, 0xa7, 0x42, + 0xa4, 0x94, 0x0a, 0x11, 0xe3, 0x33, 0xb8, 0x75, 0x40, 0x1f, 0x7b, 0xb8, 0xd9, 0xf6, 0x9d, 0xbe, + 0x7a, 0x5f, 0x96, 0x61, 0x9a, 0xd0, 0x59, 0x2e, 0x80, 0x7f, 0xa1, 0x75, 0xa8, 0x58, 0x7e, 0x67, + 0xd0, 0xa3, 0x47, 0xa3, 0x54, 0x2f, 0x6f, 0x57, 0xcd, 0xe1, 0x80, 0xd1, 0x87, 0x0d, 0x89, 0x75, + 0xf1, 0x0b, 0x63, 0x28, 0xb1, 0x94, 0x2d, 0xb1, 0x2c, 0x4b, 0xfc, 0x59, 0xca, 0x18, 0xc5, 0x76, + 0xc9, 0x9b, 0xa2, 0xa5, 0xcf, 0xcd, 0x64, 0xd2, 0x7f, 0xa5, 0xc1, 0x0d, 0x41, 0x7c, 0x1c, 0x2a, + 0x4b, 0x70, 0xe5, 0xb5, 0xd5, 0x1d, 0x60, 0x6e, 0x25, 0xfb, 0x98, 0x28, 0x1c, 0xd4, 0xa7, 0xb3, + 0x9c, 0x71, 0x3a, 0xff, 0xad, 0xd1, 0xe0, 0xa1, 0xe9, 0x89, 0x7c, 0xd7, 0xf3, 0xf9, 0x46, 0x58, + 0x6e, 0x07, 0x47, 0xbb, 0x81, 0x60, 0x2a, 0x38, 0xef, 0x33, 0xcd, 0x2a, 0x26, 0xfd, 0x3b, 0xdc, + 0x21, 0x12, 0x58, 0x7e, 0x20, 0x85, 0x0d, 0x1d, 0xe3, 0x3b, 0xb4, 0x01, 0x80, 0x5d, 0x3b, 0x22, + 0x60, 0xf2, 0x2b, 0xd8, 0xb5, 0xf9, 0xf4, 0x97, 0x58, 0x0c, 0xfe, 0x49, 0xa3, 0xd5, 0x60, 0x6c, + 0x13, 0x8f, 0x29, 0x92, 0x67, 0xd0, 0x1a, 0x54, 0xa2, 0x40, 0x8b, 0xe2, 0x74, 0x96, 0x47, 0x1a, + 0xf9, 0x32, 0xab, 0xa6, 0x7f, 0x94, 0x60, 0x81, 0x29, 0x9a, 0xb8, 0x5b, 0x67, 0xc4, 0x1a, 0xc4, + 0x10, 0x6a, 0x10, 0x91, 0xba, 0xc1, 0xef, 0xc1, 0x68, 0xc9, 0x44, 0x21, 0xa3, 0xff, 0x4d, 0x83, + 0x69, 0xc6, 0x28, 0xef, 0xc4, 0x8d, 0xce, 0x15, 0x89, 0x6b, 0xb0, 0x5c, 0xe0, 0x1a, 0x7c, 0x04, + 0x57, 0x19, 0xc3, 0x18, 0xbe, 0xa1, 0xce, 0x0f, 0x2b, 0x09, 0x06, 0xf0, 0x34, 0x22, 0x80, 0xa7, + 0xf1, 0x2c, 0xa2, 0x30, 0x17, 0xe8, 0x92, 0xf8, 0xdb, 0xd8, 0xa0, 0xce, 0xfe, 0x04, 0x07, 0x6f, + 0x3c, 0xff, 0xd5, 0xb1, 0xe5, 0x5b, 0x3d, 0x1c, 0x60, 0x3f, 0x72, 0xb6, 0xf1, 0x21, 0x2d, 0xa1, + 0x15, 0xd3, 0x7c, 0xb7, 0x57, 0x61, 0xb6, 0x7d, 0x66, 0x39, 0x6e, 0x64, 0x6f, 0xc5, 0x9c, 0xa1, + 0xdf, 0x47, 0xb6, 0x71, 0x17, 0xee, 0xc4, 0xb0, 0xc2, 0x71, 0xa8, 0x48, 0xdb, 0xeb, 0x86, 0xc5, + 0x03, 0x6e, 0xba, 0x56, 0x9f, 0x9c, 0x79, 0x51, 0xbe, 0x30, 0x0e, 0x60, 0xfb, 0x10, 0xab, 0x49, + 0xc6, 0x28, 0x81, 0x8d, 0x27, 0x70, 0x37, 0x9b, 0xcd, 0xb8, 0x19, 0x2a, 0x7c, 0x16, 0x6f, 0x64, + 0x68, 0xcd, 0x4d, 0x6f, 0x00, 0x22, 0xd8, 0x77, 0xac, 0xae, 0xf3, 0x13, 0x6c, 0x47, 0xb3, 0x5c, + 0x29, 0xc5, 0xcc, 0x64, 0x97, 0xd3, 0x77, 0x60, 0x2b, 0x3c, 0x8b, 0x11, 0x5a, 0xc8, 0xa2, 0x6c, + 0x78, 0x28, 0x0b, 0x6c, 0xcb, 0x1f, 0xb5, 0x28, 0x67, 0x2b, 0xd7, 0x73, 0x63, 0x8e, 0xe0, 0x9a, + 0x0c, 0x49, 0x66, 0x60, 0x74, 0x12, 0x2f, 0xf3, 0x2a, 0x16, 0x07, 0x26, 0xb3, 0x73, 0x87, 0x42, + 0x6f, 0x12, 0xef, 0x3c, 0xd8, 0xe2, 0xf7, 0x1a, 0xac, 0x29, 0xc9, 0xff, 0x4f, 0x0c, 0x7a, 0x01, + 0xd0, 0x0c, 0xd3, 0x39, 0xdd, 0x68, 0xb4, 0x26, 0xfb, 0xe7, 0xf1, 0x3b, 0xc9, 0xd7, 0xbf, 0x22, + 0x31, 0x3c, 0x7e, 0x47, 0x88, 0xc7, 0xfd, 0x79, 0x60, 0xd7, 0x03, 0x43, 0xad, 0x8c, 0x7f, 0x6a, + 0xb0, 0xdc, 0x1c, 0x9c, 0x84, 0xd7, 0xe6, 0x09, 0xa6, 0x32, 0xe2, 0xfc, 0xfc, 0x50, 0xa0, 0xe4, + 0x46, 0xaf, 0x08, 0x49, 0x70, 0xa8, 0x19, 0x2d, 0xd5, 0x23, 0x2d, 0x2f, 0x08, 0x55, 0x65, 0xe0, + 0x6a, 0xe5, 0x2c, 0x5c, 0xed, 0x00, 0x56, 0x52, 0x26, 0x8c, 0x0f, 0xb0, 0x85, 0x2f, 0xe7, 0x75, + 0x91, 0x0f, 0x83, 0x54, 0x2f, 0x7d, 0x43, 0x8c, 0x26, 0x6c, 0x64, 0x28, 0x16, 0xa3, 0xe1, 0xd3, + 0xac, 0xf5, 0x50, 0x00, 0x20, 0xe6, 0x94, 0x0a, 0x73, 0x3f, 0x76, 0x3a, 0x98, 0x04, 0x97, 0x6f, + 0xee, 0x1f, 0x34, 0xd9, 0xde, 0x58, 0xb3, 0xe1, 0x6d, 0x71, 0x81, 0xdb, 0x51, 0x71, 0xdf, 0x95, + 0xc7, 0xbe, 0xef, 0x7e, 0x04, 0xf7, 0x9a, 0xd8, 0xb5, 0xf7, 0x5c, 0x3b, 0x56, 0x35, 0xf5, 0xb8, + 0xc5, 0xe4, 0x7f, 0x83, 0x3d, 0xfe, 0x4e, 0x83, 0xfb, 0x85, 0x84, 0x65, 0x00, 0x92, 0xc3, 0x57, + 0x79, 0x69, 0xcc, 0x57, 0xf9, 0x16, 0xcc, 0xf3, 0xe7, 0x76, 0x8b, 0xc1, 0x58, 0xac, 0x80, 0xac, + 0xf2, 0x41, 0x8a, 0x82, 0xed, 0xfe, 0x67, 0x1d, 0x2a, 0x7b, 0x34, 0x20, 0xf6, 0x8e, 0x8f, 0xd0, + 0x37, 0x60, 0xea, 0xd8, 0x71, 0x3b, 0xa8, 0x26, 0x44, 0x4a, 0xa2, 0x0d, 0xa4, 0xaf, 0x2a, 0x66, + 0xb8, 0xe6, 0x98, 0x3e, 0x3b, 0xa5, 0xf6, 0x0d, 0x12, 0xd1, 0x9f, 0xcc, 0x96, 0x91, 0x7e, 0x77, + 0x24, 0x1d, 0x17, 0x73, 0x02, 0x4b, 0xaa, 0x4e, 0x10, 0xda, 0x96, 0x19, 0x64, 0x35, 0x8b, 0xf4, + 0xba, 0x40, 0xa9, 0xea, 0xd9, 0xbc, 0xa4, 0xa6, 0x48, 0x1d, 0xa3, 0xb4, 0x29, 0xea, 0x96, 0x52, + 0x01, 0xfe, 0xa7, 0xb0, 0xac, 0x6e, 0x32, 0xa1, 0x7b, 0xb9, 0x32, 0x84, 0x0a, 0xa6, 0x80, 0x9c, + 0x63, 0x58, 0x10, 0x37, 0x02, 0x19, 0x39, 0xbb, 0x14, 0xf1, 0xd5, 0xd3, 0x7c, 0x63, 0x8e, 0x4f, + 0xa0, 0x9a, 0xec, 0xe0, 0xa0, 0xba, 0x52, 0xdf, 0xe4, 0x6e, 0xe4, 0x71, 0x7b, 0x06, 0xd7, 0xe4, + 0xc6, 0x0d, 0xba, 0x9d, 0xc1, 0x51, 0xb4, 0x3d, 0x8f, 0xeb, 0x0f, 0x28, 0x5c, 0x22, 0x76, 0x3e, + 0xd0, 0x1d, 0x99, 0xad, 0xb2, 0x33, 0xa2, 0x6f, 0x0a, 0x64, 0x8a, 0x9e, 0xc8, 0x0f, 0xe1, 0xaa, + 0xd4, 0x4b, 0x40, 0x5b, 0x62, 0x5e, 0x55, 0x76, 0x30, 0xf4, 0xdb, 0xf9, 0x44, 0x9c, 0xfb, 0x73, + 0xea, 0xb0, 0x24, 0xf3, 0x94, 0xc3, 0x14, 0xbc, 0xeb, 0x39, 0x08, 0x6b, 0xf2, 0xd0, 0xa4, 0xb0, + 0xbf, 0x42, 0xdc, 0x0b, 0xe2, 0xb7, 0xa8, 0x4f, 0x5f, 0x11, 0xa9, 0x79, 0x8e, 0xb7, 0xa3, 0x77, + 0x73, 0x44, 0x89, 0x98, 0x7c, 0x61, 0x89, 0x6f, 0xe8, 0xc3, 0x3b, 0x8d, 0x4b, 0xc7, 0x2f, 0x06, + 0xf4, 0x5e, 0x8e, 0xd0, 0x14, 0xb6, 0x2e, 0xe5, 0xa0, 0x1c, 0xbc, 0xfb, 0x15, 0xed, 0xad, 0x29, + 0x79, 0x8d, 0x29, 0xf2, 0x56, 0x96, 0x48, 0x22, 0xf9, 0x2e, 0xd5, 0x5d, 0x49, 0x27, 0xbc, 0xac, + 0xde, 0x4d, 0x81, 0xf8, 0x08, 0x68, 0xc3, 0x3e, 0xa3, 0x83, 0x83, 0x1a, 0x05, 0x24, 0x25, 0x5a, + 0x3d, 0x85, 0xfd, 0xf7, 0x14, 0x60, 0x88, 0xba, 0xa1, 0x9b, 0xb2, 0x14, 0x11, 0xf0, 0x94, 0x8e, + 0xa6, 0x02, 0xe1, 0xb4, 0x69, 0x1b, 0x58, 0x05, 0x3d, 0xa2, 0xfb, 0x19, 0x6b, 0x55, 0x40, 0x9c, + 0xbe, 0x2e, 0x10, 0x8f, 0x90, 0x92, 0xc0, 0xbe, 0x72, 0xa4, 0xa4, 0x11, 0xb2, 0x11, 0x52, 0xfa, + 0xa0, 0x67, 0x23, 0x86, 0x92, 0x43, 0x46, 0x42, 0x8b, 0xba, 0x91, 0x4d, 0x1f, 0x4b, 0x3c, 0x83, + 0x65, 0x35, 0x90, 0x28, 0xdd, 0x49, 0xb9, 0x68, 0x63, 0x21, 0x49, 0x69, 0xdb, 0x92, 0x9b, 0xd8, + 0x18, 0x29, 0x4d, 0xdc, 0xc7, 0x22, 0x12, 0xdb, 0xd4, 0x67, 0x2a, 0x84, 0x2e, 0xed, 0xb3, 0x1c, + 0x1c, 0x4f, 0x5f, 0xcb, 0x81, 0x91, 0xd0, 0x0b, 0x7a, 0x4e, 0x53, 0x90, 0x59, 0xfa, 0x9c, 0x66, + 0xa1, 0x6a, 0xf9, 0xec, 0x5f, 0x51, 0xf6, 0x29, 0x14, 0x26, 0xcd, 0x3e, 0x0b, 0xc7, 0xd1, 0xdf, + 0x2d, 0x40, 0xc9, 0x85, 0x7d, 0xce, 0x30, 0xcd, 0x1c, 0xe0, 0x06, 0xed, 0xaa, 0x2b, 0x89, 0x3c, + 0x94, 0x47, 0x17, 0x23, 0x29, 0x1f, 0x5a, 0xf9, 0x39, 0xeb, 0x2a, 0xe7, 0x43, 0x42, 0xe8, 0xeb, + 0xb2, 0x16, 0x85, 0x20, 0xa4, 0xb1, 0x14, 0xf9, 0x42, 0x83, 0xfa, 0x28, 0x50, 0x09, 0x7d, 0xad, + 0xa0, 0x1e, 0x62, 0xec, 0x8e, 0xa3, 0xc6, 0xe7, 0xac, 0x93, 0x9d, 0x09, 0xe3, 0xa0, 0x07, 0xa9, + 0x38, 0x1b, 0x81, 0x18, 0xe9, 0xaa, 0xa3, 0x96, 0x07, 0x10, 0xb9, 0xb4, 0x6c, 0x55, 0x20, 0x2e, + 0xe9, 0xb2, 0x35, 0x1b, 0xc5, 0xd1, 0xb7, 0xf3, 0xa4, 0x0a, 0xf8, 0xcd, 0x4b, 0xb8, 0x2a, 0x81, + 0x03, 0x72, 0xad, 0xa5, 0x44, 0x3f, 0xe4, 0x5a, 0x4b, 0x8d, 0x2f, 0x3c, 0xd0, 0x50, 0x1f, 0x6e, + 0x28, 0xdf, 0xe6, 0x52, 0xad, 0x92, 0x07, 0x2c, 0x48, 0x2e, 0xcc, 0x7d, 0xea, 0xab, 0x24, 0xf2, + 0xd7, 0x71, 0xae, 0x44, 0xf1, 0x6d, 0x9f, 0x2b, 0x51, 0x7a, 0x6c, 0x3f, 0xd0, 0xd0, 0x6f, 0x35, + 0xd8, 0x2a, 0xf0, 0xfe, 0x44, 0x1f, 0xa4, 0xea, 0xd3, 0x62, 0xcf, 0x63, 0xfd, 0xe1, 0xf8, 0x0b, + 0x23, 0xe5, 0xf6, 0x9f, 0x80, 0xee, 0xf9, 0x9d, 0x86, 0xe7, 0x52, 0x16, 0xf1, 0xcb, 0x9d, 0xf1, + 0xfa, 0x7e, 0xa3, 0xe3, 0x04, 0x67, 0x83, 0x93, 0x46, 0xdb, 0xeb, 0xed, 0x30, 0x92, 0x1d, 0xfa, + 0x4f, 0xfc, 0x93, 0xc5, 0x8e, 0xb7, 0x93, 0xf8, 0x35, 0xe8, 0xc9, 0x34, 0x9d, 0x78, 0xff, 0xbf, + 0x01, 0x00, 0x00, 0xff, 0xff, 0x7d, 0x81, 0xda, 0xf1, 0x23, 0x2a, 0x00, 0x00, } From 720a5feedcd02b428c0dc7e5ebd936da6baa4380 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 29 Feb 2024 08:30:56 -0800 Subject: [PATCH 100/626] Update protocol sprint section --- .../sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index f14425e83..681b293d8 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -98,12 +98,16 @@ Cycle Objective(s): **Done last sprint** -* - +* Networking project handover w/ Yahya + **This sprint** -* - +* Merge open PRs from previous sprint + * [Reject Gossipsub RPC from unstaked peers](https://github.com/onflow/flow-go/pull/5449) + * [Herostore message entity nonce](https://github.com/onflow/flow-go/pull/5452) +* [Update github actions improve networking test runners](https://github.com/dapperlabs/flow-go/issues/6949) +* Continue to ramp up EFM recovery and dynamic protocol state. + **On Hold** * Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. From 4e6f12ea17b744f5a48f3741e8619a06d8e70b28 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 29 Feb 2024 08:33:32 -0800 Subject: [PATCH 101/626] Tidy scetion --- .../sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 681b293d8..cdcd56079 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -131,14 +131,17 @@ Cycle Objective(s): **Done last sprint** -* Completed milestone #3 for Flow JVM SDK updates (@lealobanov) - * Missing unit tests and previously reported issues now resolved. - * Updated GH workflows to run integration tests and publish test results (pull request, snapshot, release workflows +* Flow JVM SDK updates (@lealobanov) + * Completed milestone #3 + * Missing unit tests and previously reported issues now resolved. + * Updated GH workflows to triger integration tests and publish test results (pull request, snapshot, release workflows) + * Started milestone #4 + * Implement CI + test automation, add integration testing * Completed initial draft revision of USDC Cadence 1.0 update. Waiting for further confirmation from Circle for next steps **This sprint** -* Start milestones 4 & 5 of Flow JVM SDK update (@lealobanov) +* Continue milestone 4 & and start milestone 5 (documentation updates) of Flow JVM SDK update (@lealobanov) * Start Axelar Cadence 1.0 upgrades (AnChain team) **On Hold** From 8b2d55c71d2c91e97aaa293a4753f1b441cf08e9 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 29 Feb 2024 10:45:05 -0800 Subject: [PATCH 102/626] Updates to protocol section --- .../2024-03-01-Flow-Sprint-Kickoff.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index cdcd56079..317270e97 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -99,14 +99,20 @@ Cycle Objective(s): **Done last sprint** * Networking project handover w/ Yahya +* Dynamic Protocol + * [Implemented storage layer types and capabilities for Key-Value Store](https://github.com/onflow/flow-go/issues/5292) + * [Partially implemented of state machine for Key-Value Store](https://github.com/onflow/flow-go/issues/5312) **This sprint** -* Merge open PRs from previous sprint - * [Reject Gossipsub RPC from unstaked peers](https://github.com/onflow/flow-go/pull/5449) - * [Herostore message entity nonce](https://github.com/onflow/flow-go/pull/5452) -* [Update github actions improve networking test runners](https://github.com/dapperlabs/flow-go/issues/6949) -* Continue to ramp up EFM recovery and dynamic protocol state. +* Networking + * Merge open PRs from previous sprint + * [Reject Gossipsub RPC from unstaked peers](https://github.com/onflow/flow-go/pull/5449) + * [Herostore message entity nonce](https://github.com/onflow/flow-go/pull/5452) + * [Update github actions improve networking test runners](https://github.com/dapperlabs/flow-go/issues/6949) +* Dynamic Protocol + * Continue to ramp up EFM recovery and dynamic protocol state + * Finish implementation of state machine and continue with development of next issues **On Hold** * Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. @@ -134,7 +140,7 @@ Cycle Objective(s): * Flow JVM SDK updates (@lealobanov) * Completed milestone #3 * Missing unit tests and previously reported issues now resolved. - * Updated GH workflows to triger integration tests and publish test results (pull request, snapshot, release workflows) + * Updated GH workflows to trigger integration tests and publish test results (pull request, snapshot, release workflows) * Started milestone #4 * Implement CI + test automation, add integration testing * Completed initial draft revision of USDC Cadence 1.0 update. Waiting for further confirmation from Circle for next steps From abc5d68688f2d15c279a44e7b097cb440dc0fba5 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 29 Feb 2024 11:50:23 -0800 Subject: [PATCH 103/626] More protocol section updates --- .../2024-03-01-Flow-Sprint-Kickoff.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 317270e97..13d37dfe1 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -93,7 +93,6 @@ Cycle Objective(s): * Translate crypto performance improvements to consensus block rate increase * Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node * Reduce CPU usage on Execution node by 30% -* Continue BFT mitigations to enable 10 permissionless ANs * Continue design of Dynamic Protocol **Done last sprint** @@ -102,6 +101,11 @@ Cycle Objective(s): * Dynamic Protocol * [Implemented storage layer types and capabilities for Key-Value Store](https://github.com/onflow/flow-go/issues/5292) * [Partially implemented of state machine for Key-Value Store](https://github.com/onflow/flow-go/issues/5312) +* New crypto lib + * Transition of repos emulator/sdk/core-contract to use the new crypto lib (CLI is partially transitioned) + * Fix emulator build with cross-compilation - fix CLI build with cross compilation (with help of 4d-ux) + * Investigate issues with partner nodes +* Randomness-on chain contract: investigate issue caused by epoch contract update - issues and solution discussed **This sprint** @@ -113,9 +117,14 @@ Cycle Objective(s): * Dynamic Protocol * Continue to ramp up EFM recovery and dynamic protocol state * Finish implementation of state machine and continue with development of next issues +* New crypto lib + * Continue testing ArtBlocks node image (requires BN2) + * Work with IT for node access to troubleshoot problematic CPU type and investigate the issue +* Randomness-on chain contract: implement the contract fix (with @bluesign) **On Hold** -* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. +* BFT mitigations to enable 20 permissionless ANs +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow **Active Epics** From 9446efedad7695d1083500ce07b9713dfe28056a Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 29 Feb 2024 12:36:48 -0800 Subject: [PATCH 104/626] Update 2024-02-29-Protocol-Product-Sync.md --- .../2024/product-sync/2024-02-29-Protocol-Product-Sync.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/agendas/2024/product-sync/2024-02-29-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-02-29-Protocol-Product-Sync.md index ed7ba8c0e..c9d725c50 100644 --- a/agendas/2024/product-sync/2024-02-29-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-02-29-Protocol-Product-Sync.md @@ -1 +1,8 @@ # Please add agenda items below + +1. Event Streaming - @vishal + - Should this be its own KR? + +2. Rosetta for FlowEVM - @vishal + +3. QuickNode support for FlowEVM - @vishal From 65082dc4772e8a4c4f6fffc8624ec838757826a4 Mon Sep 17 00:00:00 2001 From: Kan Zhang Date: Thu, 29 Feb 2024 14:01:36 -0800 Subject: [PATCH 105/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 13d37dfe1..5c50f6d0d 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -2,7 +2,7 @@ ### Team Wins 🎉 - * + * PreviewNet Launch of the Crescendo Release! Cadence 1.0 + EVM --- @@ -39,9 +39,9 @@ ### Key Release Dates & Breaking Changes -- Next Mainnet/Testnet network upgrade (spork): End of Feb - Crescendo update, Testnet and mainnet sporks TBD. -- Next Mainnet/Testnet HCU: Testnet HCU - Monday, 5th Feb, Mainnet HCU - Wednesday, 7th Feb. -- End of Cycle: +- Next Mainnet/Testnet network upgrade (spork): Testnet and mainnet sporks TBD. +- Next Mainnet/Testnet HCU: TBD +- End of Cycle: TBD --- From 9903b2eff6ebf3a37bee0385110bfe2fd3627ff7 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 29 Feb 2024 14:11:47 -0800 Subject: [PATCH 106/626] Last protocol updates --- .../2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 5c50f6d0d..e855ce57c 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -101,6 +101,9 @@ Cycle Objective(s): * Dynamic Protocol * [Implemented storage layer types and capabilities for Key-Value Store](https://github.com/onflow/flow-go/issues/5292) * [Partially implemented of state machine for Key-Value Store](https://github.com/onflow/flow-go/issues/5312) + * Create protocol version upgrade service event + * Wrapping up [KV Store - ProtocolStateVersionUpgrade Service Event](https://github.com/onflow/flow-go/pull/5428) + * Started [Add ProtocolStateVersionUpgrade service event](https://github.com/onflow/flow-core-contracts/pull/411) * New crypto lib * Transition of repos emulator/sdk/core-contract to use the new crypto lib (CLI is partially transitioned) * Fix emulator build with cross-compilation - fix CLI build with cross compilation (with help of 4d-ux) @@ -117,6 +120,10 @@ Cycle Objective(s): * Dynamic Protocol * Continue to ramp up EFM recovery and dynamic protocol state * Finish implementation of state machine and continue with development of next issues + * Continue [Add ProtocolStateVersionUpgrade service event](https://github.com/onflow/flow-core-contracts/pull/411) + * Continue [integration test for protocol version upgrade](https://github.com/onflow/flow-go/pull/5477) + * Once state machine is done, continue with version upgrade integration +Some time helping with Previewnet setup * New crypto lib * Continue testing ArtBlocks node image (requires BN2) * Work with IT for node access to troubleshoot problematic CPU type and investigate the issue From 6968b69ca1622aa06101b949603100ccbd062f5d Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Thu, 29 Feb 2024 14:16:58 -0800 Subject: [PATCH 107/626] Update 2024-03-01-Flow-Sprint-Kickoff.md Governance updates --- .../2024-03-01-Flow-Sprint-Kickoff.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 5c50f6d0d..1a6153b14 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -273,12 +273,21 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf **Done last sprint** -* +* EVM to gas computation ratio set at 1000:1 for PreviewNet launch. Evaluating a higher 3000:1 ratio based on Flow's ability to execute higher gas transactions. +* Built developer docs (and internal doc) on FlowEVM gas fee +* Evaluated Flow fee for 5 key txn types +* Drafted note on inflation and levers to pull +* Higher level governance overarching strategy +* Computation limit increase impact being evaluated **This sprint** -- Research transaction fees on other L1s -- Research Transaction fees for Flow EVM. +- Execution effort estimation for FlowEVM transactions; determine ratios/ differences between Flow cadence & FlowEVM txn fee +- Decide on computation limit increase +- GWG meeting and community updates on changes +- Publish forum post for computation limit and transaction fee increase +- Partner outreach for upcoming transaction fee increase +- Research on Storage fee on EVM **On Hold** From bddf6964c2825baecb94b7e4ccd3426ee203e593 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 29 Feb 2024 14:19:34 -0800 Subject: [PATCH 108/626] EVM updates --- agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index e855ce57c..583a68d32 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -63,11 +63,12 @@ Cycle Objective(s): **Done last sprint** +* Launched Cadence 1.0 & EVM into PreviewNet! * **This sprint** -* +* Continue with EVM Gateway development for testnet readiness **On Hold** From 901c9b806ae46c5518dea2097e3b1547b274b0aa Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 29 Feb 2024 14:34:11 -0800 Subject: [PATCH 109/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index ad268c2fa..823b9a7a5 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -6,7 +6,7 @@ --- -### Mainnet Uptime - Last 14 days (xx/xx/24 to xx/xx/24) \[Vishal] +### Mainnet Uptime - Last 14 days (2/16/24 to 3/1/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -14,10 +14,12 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.97% | 32.2% | +| Access API Liveness | 99.9% | 99.895% | 105% | + +#### YTD SLA: [99.99%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) #### Incidents -* +* No incidents --- From 8021a0a6dd17320b7a7a9a595e189e326fdbedc9 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Thu, 29 Feb 2024 14:43:01 -0800 Subject: [PATCH 110/626] Update 2024-03-01-Flow-Sprint-Kickoff.md Governance updates (adding details) --- .../2024-03-01-Flow-Sprint-Kickoff.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 823b9a7a5..ce089e01c 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -283,21 +283,21 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf **Done last sprint** -* EVM to gas computation ratio set at 1000:1 for PreviewNet launch. Evaluating a higher 3000:1 ratio based on Flow's ability to execute higher gas transactions. -* Built developer docs (and internal doc) on FlowEVM gas fee -* Evaluated Flow fee for 5 key txn types -* Drafted note on inflation and levers to pull -* Higher level governance overarching strategy -* Computation limit increase impact being evaluated +* Gas to computation ratio set at 1000:1 for the PreviewNet launch, with a consideration for evaluating a higher ratio of 3000:1 based on Flow's capacity to handle higher gas transactions. See [internal doc](https://www.notion.so/dapperlabs/Gas-fees-on-Flow-EVM-b7419203c5054562a0be7fd91fc9fc66#c43bbd475a6b44b7a8bc25f9e357e720) for more explanation. +* Developer documentation (including internal documentation) for FlowEVM gas fees created. +* Flow fees for five key transaction types have been evaluated. See [worksheet 3](https://docs.google.com/spreadsheets/d/1PPxxAotsIYLzydAnuBAgQe1BmEcamiuSQUmsDtrpaKs/edit#gid=0) +* Drove research on inflation and levers to reduce it via a combination of reward rate and transaction fee increase, with the goal of keeping APY comeptitive. The ideas will be presented to the GWG in the coming sprint. See [draft note](https://www.notion.so/dapperlabs/FLOW-Inflation-forum-post-for-community-ideation-3f256d4e1b5b48b6adaabb22d6b22567) +* WIP - A high-level governance strategy is under development +* WIP - The impact of increasing the computation limit is being assessed **This sprint** -- Execution effort estimation for FlowEVM transactions; determine ratios/ differences between Flow cadence & FlowEVM txn fee -- Decide on computation limit increase -- GWG meeting and community updates on changes -- Publish forum post for computation limit and transaction fee increase -- Partner outreach for upcoming transaction fee increase -- Research on Storage fee on EVM +* Estimation of execution effort for FlowEVM transactions and determining the ratios and differences between Flow Cadence and FlowEVM transaction fees (for better comms) +* Finalize the decision regarding increasing the computation limit +* Drive GWG meeting and provide community updates on recent changes +* Publish forum post detailing the computation limit and transaction fee increases and invite feedback +* Outreach to partners regarding the upcoming transaction fee increase +* Conduct research on storage fees related to EVM **On Hold** From 9b4e378742d081eb82c42686ff07c951438b49f0 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Thu, 29 Feb 2024 14:46:23 -0800 Subject: [PATCH 111/626] add updates for 4DUX --- .../2024-03-01-Flow-Sprint-Kickoff.md | 48 ++++++++++++------- 1 file changed, 32 insertions(+), 16 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 13d37dfe1..f849a41f8 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -2,9 +2,11 @@ ### Team Wins 🎉 - * +* Guides added for deploying Solidity to Flow Previewnet (Hardhat, Remix) +* Previewnet support (CLI, Faucet, FCL Discovery) +* FT/NFT Migration Guides (Cadence 1.0) ---- +--- ### Mainnet Uptime - Last 14 days (xx/xx/24 to xx/xx/24) \[Vishal] @@ -172,31 +174,45 @@ Cycle Objective(s): ### **User Experience** \[Greg] -Cycle Objective(s): -- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort -- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network -- Use the Crescendo Release grow Flow's developer base and network activity +**Cycle Objective(s):** + +* Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +* Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +* Use the Crescendo Release to grow Flow's developer base and network activity **Done last sprint** -* +* CLI Preview Release using Emulator v1.0.0-M3 with latest Cadence 1.0 and EVM updates [CLI v1.12.0-cadence-v1.0.0-M8-2 Pre-release](https://github.com/onflow/flow-cli/releases/tag/v1.12.0-cadence-v1.0.0-M8-2) +* Add Guides and Reference documentation for deploying Solidity to Flow Previewnet (Connecting to FlowEVM, Guides: Hardhat HelloWorld, Remix (+video tutorial)) Launch +* Stable Cadence Installation Workflow to allow multiple binaries [#1374](https://github.com/onflow/flow-cli/issues/1374) +* [Add FT/NFT Migration Guides and Best Practices Docs](https://cadence-lang.org/docs/cadence_migration_guide/nft-guide) +* Updated first few Cadence tutorials for Cadence 1.0 +* Faucet setup to support funding Previewnet +* Build improved to support cross compilation with new crypto library on Stable Cadence CLI +* Discovery setup for Previewnet support +* CLI Previewnet support +* CLI cheatsheet docs and help menu **This sprint** +**Sprint goal focusing on unblocking and documenting Dev Path for Cadence 1.0 staging and migration** -**Sprint goal focusing on adding docs and tool support for Crescendo network and Cadence 1.0** +* Add Guides and Reference documentation for FlowEVM (Clients: web3.js, ethers.js, viem) +* Hardhat video tutorial +* Release Contract Migration Manager and support documentation for local contract staging and migration (Cadence 1.0) +* Add Cadence Linter to [#1395](https://github.com/onflow/flow-cli/issues/1395) +* Urgent SEO issues - Fix developer docs broken links, markup and errors from Flow.com +* Audit and Update Docs for Cadence 1.0 [#531](https://github.com/onflow/docs/issues/531) +* CLI bugfixes and top issues -- [Add Crescendo network support to FCL Discovery](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50332654) -- [Add Crescendo Network to CLI (config, cmds, docs, etc)](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50297186) -- [Add/Publish Initial EVM Docs](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952883) -- [Docs Revamp v3](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49327073) -- [Add C1.0 Rules to Cadence Linter](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952640) -- [Update Playground to support Cadence 1.0](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49844013) -- [Stable Cadence Installation Workflow](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51951905) +**Active Epics** +* [Contract Migration Manager](https://github.com/onflow/flow-cli/issues/1375) +* [FlowEVM Docs for Launch](https://github.com/onflow/docs/issues/568) **On Hold** -- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) +* [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) +* Update Playground for Cadence 1.0 --- From d1333283089f41a53d6e20ddc6de647abf095771 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 29 Feb 2024 14:48:49 -0800 Subject: [PATCH 112/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index ce089e01c..9a26a1a74 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -278,7 +278,7 @@ Cycle Objective(s): --- -### **Governance and Tokenomics** \[Vishal] +### **Governance and Tokenomics** \[Kshitij] Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** From 7a7a88c04eef41e260cc5272d136d77c0f3c5d61 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 29 Feb 2024 19:18:49 -0700 Subject: [PATCH 113/626] Add infra section to flow sprint kickoff --- .../2024-03-01-Flow-Sprint-Kickoff.md | 37 ++++++++++++------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 56d9d8f67..52cccbb21 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -279,22 +279,33 @@ Cycle Objective(s): ### **Infra - JP** Cycle Objective(s): - Migrate Flow metrics & logs to Flow Foundation grafana account to reduce cost on DapperLabs +- Support launch of PreviewNet (Crescendo) and EVM +- Reduce observability costs **Done last sprint** - -* - -**This sprint** - -**Goal of Sprint is to migrate from DapperLabs account to FlowFoundation account** - -* - -**On Hold** -**Active Epics** - +- EVM Gateway + - [Create EVM Gateway Infrastructure](https://github.com/dapperlabs/terraform/pull/4163) + - [Create EVM Gateway Configuration](https://github.com/dapperlabs/dapper-flow-hosting/pull/1461) + - [Create faucet record for previewnet](https://github.com/dapperlabs/terraform/pull/4162) + - [Create EVM Gateway workflow for builds](https://github.com/onflow/flow-evm-gateway/pull/106) + - [Delete EVM Gateway workflow for deploys](https://github.com/onflow/flow-evm-gateway/pull/120) + - [Create public repository for EVM Gateway](https://github.com/dapperlabs/flow-devex-infrastructure/pull/129) +- Node Hosting Support + - [Delete Crescendo Network](https://github.com/dapperlabs/terraform/pull/4157) + - [Delete Crescendo Configuration](https://github.com/dapperlabs/dapper-flow-hosting/pull/1459) +- Observability Cost Reduction + - Turn off Canary VMs + - [Configure Prometheus to Drop unnecessary metrics](https://github.com/dapperlabs/dapper-flow-hosting/pull/1457) + - [Migrate DL nodes to error logging](https://github.com/dapperlabs/dapper-flow-hosting/pull/1458) +- FF GCP Migration + - Migrated single project & validate migration process + - Identify all resources/projects to be moved +**Goal of Sprint is to prepare for GCP migration to FF account** +**This Sprint** +- Assist with Previewnet & EVM Gateway +- Monitor Observability +- Begin preparing for GCP migration of project --- - ### **Governance and Tokenomics** \[Kshitij] Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. From eecb8381b6727c8306502d38d2cec34d25aa6fe8 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 1 Mar 2024 10:25:21 +0100 Subject: [PATCH 114/626] Updating Cadence wg section --- .../2024-03-01-Flow-Sprint-Kickoff.md | 89 ++++++++++++++++++- 1 file changed, 88 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 52cccbb21..80907e3c7 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -6,6 +6,9 @@ * Previewnet support (CLI, Faucet, FCL Discovery) * FT/NFT Migration Guides (Cadence 1.0) * PreviewNet Launch of the Crescendo Release! Cadence 1.0 + EVM +* [Performance benchmark](https://dapperlabs.grafana.net/d/BLSHi8ZVz/flow-performance-benchmarks?orgId=1&var-branch=All&var-env=All&var-type=All&from=now-90d&to=now&viewPanel=4) now includes account creation, EVM token swap and ledger-heavy loads +* CCF supports all Cadence 1.0 values +* Found and fixed an issue with data pruner in EN, which reduced startup time by ~50 seconds --- @@ -69,11 +72,95 @@ Cycle Objective(s): **Done last sprint** * Launched Cadence 1.0 & EVM into PreviewNet! -* + +Cadence 1.0 +- [Testnet state migration](https://github.com/onflow/cadence/issues/3096) + - [Add logs to merge](https://github.com/onflow/flow-go/pull/5484) + - [Add test for nested container value migration](https://github.com/onflow/cadence/pull/3142) + - [Migrate static types of arrays and dictionaries](https://github.com/onflow/cadence/pull/3141) + - flow-go utility [Add sub-command to generate addresses for a chain](https://github.com/onflow/flow-go/pull/5453) + - Prevent accidental use of partial state for network upgrade [Add version, checksum, and partial state indicator to intermediate migration payload file](https://github.com/onflow/flow-go/issues/5437) + - [Add value migration test for untyped capabilities](https://github.com/onflow/flow-go/pull/5434) + - [Migration needs to convert untyped path capability values](https://github.com/onflow/cadence/issues/3119) + - [handle references to optionals](https://github.com/onflow/cadence/issues/3122) + - [Improve migration of intersection types](https://github.com/onflow/cadence/issues/3112) + - [Improve account-based migration error handling](https://github.com/onflow/flow-go/issues/5364) + - [Improve migration](https://github.com/onflow/cadence/pull/3110) + - [Improve Cadence 1.0 migration](https://github.com/onflow/flow-go/pull/5388) + - Migration optimization [Add flag to state extraction program to output intermediate format instead of migrated checkpoint](https://github.com/onflow/flow-go/issues/5231) +- Emulator contract migration testing + - [Export migrator runtime constructor](https://github.com/onflow/flow-go/pull/5475) + - [Restrict the entitlements allowed by the contract update validator](https://github.com/onflow/cadence/issues/3128) + - [Integrate staged contract migration with the on-chain logic](https://github.com/onflow/cadence/issues/3050) + - [Add FT/NFT type change rules for contract update validator](https://github.com/onflow/flow-go/pull/5415) + - [More permissive contract upgrade checker for 1.0 network upgrade](https://github.com/onflow/cadence/issues/2865) +- Features + - Language breaking change: [Reject container mutation while iterating](https://github.com/onflow/cadence/issues/2961) + - Language breaking change: [Reject container mutation while iterating](https://github.com/onflow/cadence/issues/2961) + - CCF now supports all Cadence 1.0 values [Update CCF codec to support recently added types/values](https://github.com/onflow/cadence/issues/2379) + - [Support function-purity annotations in CCF](https://github.com/onflow/cadence/issues/2457) +- Bugfix + - [EntitlementSetAuthorization.Equal() should ignore the order of elements](https://github.com/onflow/cadence/issues/3136) +- Tooling + - Cadence update tool [Improve update tool: Allow releasing a particular branch](https://github.com/onflow/cadence/pull/3124) + +EVM Core +- [expose code/codeHash and nonce for the EVM account](https://github.com/onflow/flow-go/issues/5458) +- [return empty string when deployed address is empty](https://github.com/onflow/flow-go/pull/5456) +- [fix tx hash bug for direct calls: deposit, withdraw](https://github.com/onflow/flow-go/pull/5454) +- [implement tryRun endpoint](https://github.com/onflow/flow-go/issues/5268) +- [add blockHash and txHash to tx executed events](https://github.com/onflow/flow-go/pull/5387) +- [rename all reference of bridged account to COA](https://github.com/onflow/flow-go/issues/5380) +- [improvements to COA proof verification](https://github.com/onflow/flow-go/pull/5379) +- [investigate ways to allow the cadence env handle evm errors](https://github.com/onflow/flow-go/issues/5225) +- [Fix return type](https://github.com/onflow/flow-go/pull/5450) +- [Fix block hash calculation](https://github.com/onflow/flow-go/issues/5407) +- [Change direct call hash calculation](https://github.com/onflow/flow-go/issues/5370) +- [add an intergration test for selfdestruct contract call](https://github.com/onflow/flow-go/issues/5224) + +EVM GW +- [Implement a key-rotation mechanism to allow parallel calls of eth_sendRawTransaction](https://github.com/onflow/flow-evm-gateway/issues/61) +- [Improve bootstrap](https://github.com/onflow/flow-evm-gateway/issues/107) +- [Use nonce from the network](https://github.com/onflow/flow-evm-gateway/pull/105) +- [Reboot config](https://github.com/onflow/flow-evm-gateway/pull/103) +- [Bootstrap previewnet](https://github.com/onflow/flow-evm-gateway/pull/100) +- [Fix gas estimation with configured account](https://github.com/onflow/flow-evm-gateway/pull/99) +- [Revert "Populate COAKey config value"](https://github.com/onflow/flow-evm-gateway/pull/98) +- [Configure key-rotation deployment](https://github.com/onflow/flow-evm-gateway/pull/92) +- [General improvements and fixes found during testing](https://github.com/onflow/flow-evm-gateway/issues/72) +- [Indexer - Track and map Cadence and EVM heights](https://github.com/onflow/flow-evm-gateway/issues/69) +- CLI: [Add a command that starts up the Flow EVM Gateway](https://github.com/onflow/flow-cli/issues/1419) +- [Indexer - General improvements and fixes](https://github.com/onflow/flow-evm-gateway/issues/66) +- [Indexer - E2E API testing](https://github.com/onflow/flow-evm-gateway/issues/55) +- [Indexer - nonce tracking](https://github.com/onflow/flow-evm-gateway/issues/54) +- [Indexer - Refactor Flow interactions](https://github.com/onflow/flow-evm-gateway/issues/59) +- [Indexer - Pebble storage implementation](https://github.com/onflow/flow-evm-gateway/issues/17) +- [Decode the events into relevant types](https://github.com/onflow/flow-evm-gateway/issues/16) +- [Implement event consumer](https://github.com/onflow/flow-evm-gateway/issues/15) +- [Implement querying events by topic](https://github.com/onflow/flow-evm-gateway/issues/28) + +Cadence Execution + +- Data Pruner fix - reduces EN boot time by ~50 secs + - [Execution Data storage tracker blocks startup](https://github.com/onflow/flow-go/issues/5457) +- [Add checkpoint size metrics](https://github.com/onflow/flow-go/issues/5395) +- [Add logs for EN startup monitoring](https://github.com/onflow/flow-go/issues/5435) +- Performance benchmark now includes account creation and EVM token swap [Add additional loads to the load generator](https://github.com/onflow/flow-go/issues/5394) +- Improve our ability to analyze anomalies / utliers in execution operation metering [Add normalised time per computation logs to transaction execution](https://github.com/onflow/flow-go/pull/5385) +- Bugix: [remove duplicate definitions of default FVM context options per chain](https://github.com/onflow/flow-go/issues/5249) +- Testing + - [improvement - Adding "failfast" flag to fail the integration tests on the first failure](https://github.com/onflow/flow-go/pull/5474) + - Prevent infinite loop in tests: [Remove db close in execution state sync tests](https://github.com/onflow/flow-go/pull/5465) + - [Add system TX hash to test](https://github.com/onflow/flow-go/pull/5466) + **This sprint** +* Complete emulator release with contract upgrade testing enabled (blocker: [Loading values from a migrated emulator state fails](https://github.com/onflow/cadence/issues/3143)) +* Continue debugging [ full Cadence 1.0 migration run on TN state](https://github.com/onflow/cadence/issues/3096) * Continue with EVM Gateway development for testnet readiness +* Complete Atree optimization: [Reduce RAM and persistent storage by deduplicating inlined dict type info](https://github.com/onflow/atree/pull/369) +* Continue refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) **On Hold** From ea169098c7d6bed4802c929357373807001b7899 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 1 Mar 2024 13:42:03 +0100 Subject: [PATCH 115/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 1 - 1 file changed, 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 80907e3c7..ec349aecf 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -95,7 +95,6 @@ Cadence 1.0 - [Add FT/NFT type change rules for contract update validator](https://github.com/onflow/flow-go/pull/5415) - [More permissive contract upgrade checker for 1.0 network upgrade](https://github.com/onflow/cadence/issues/2865) - Features - - Language breaking change: [Reject container mutation while iterating](https://github.com/onflow/cadence/issues/2961) - Language breaking change: [Reject container mutation while iterating](https://github.com/onflow/cadence/issues/2961) - CCF now supports all Cadence 1.0 values [Update CCF codec to support recently added types/values](https://github.com/onflow/cadence/issues/2379) - [Support function-purity annotations in CCF](https://github.com/onflow/cadence/issues/2457) From 71e0abdc5d2cecd48f552571bac40fa5af28c906 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 1 Mar 2024 13:43:05 +0100 Subject: [PATCH 116/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index ec349aecf..4d5d99efa 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -145,7 +145,7 @@ Cadence Execution - [Add checkpoint size metrics](https://github.com/onflow/flow-go/issues/5395) - [Add logs for EN startup monitoring](https://github.com/onflow/flow-go/issues/5435) - Performance benchmark now includes account creation and EVM token swap [Add additional loads to the load generator](https://github.com/onflow/flow-go/issues/5394) -- Improve our ability to analyze anomalies / utliers in execution operation metering [Add normalised time per computation logs to transaction execution](https://github.com/onflow/flow-go/pull/5385) +- Improve our ability to analyze anomalies / outliers in execution operation metering [Add normalised time per computation logs to transaction execution](https://github.com/onflow/flow-go/pull/5385) - Bugix: [remove duplicate definitions of default FVM context options per chain](https://github.com/onflow/flow-go/issues/5249) - Testing - [improvement - Adding "failfast" flag to fail the integration tests on the first failure](https://github.com/onflow/flow-go/pull/5474) From dc88028359c6575ef04ab6396d832e0cb63bd528 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 1 Mar 2024 13:57:33 +0100 Subject: [PATCH 117/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- .../2024-03-01-Flow-Sprint-Kickoff.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 4d5d99efa..2eac2a328 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -72,6 +72,8 @@ Cycle Objective(s): **Done last sprint** * Launched Cadence 1.0 & EVM into PreviewNet! +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR2: Launch Cadence 1.0 on Crescendo Testnet Cadence 1.0 - [Testnet state migration](https://github.com/onflow/cadence/issues/3096) @@ -152,15 +154,20 @@ Cadence Execution - Prevent infinite loop in tests: [Remove db close in execution state sync tests](https://github.com/onflow/flow-go/pull/5465) - [Add system TX hash to test](https://github.com/onflow/flow-go/pull/5466) - **This sprint** +Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades * Complete emulator release with contract upgrade testing enabled (blocker: [Loading values from a migrated emulator state fails](https://github.com/onflow/cadence/issues/3143)) * Continue debugging [ full Cadence 1.0 migration run on TN state](https://github.com/onflow/cadence/issues/3096) + +Objective 1, KR4: Testnet Upgrade to Crescendo Release * Continue with EVM Gateway development for testnet readiness -* Complete Atree optimization: [Reduce RAM and persistent storage by deduplicating inlined dict type info](https://github.com/onflow/atree/pull/369) + +Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind * Continue refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) +* Complete Atree optimization: [Reduce RAM and persistent storage by deduplicating inlined dict type info](https://github.com/onflow/atree/pull/369) + **On Hold** Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption @@ -172,11 +179,15 @@ Objective 2: Calibrate Transaction fees so that they accurately reflect resource Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow - KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades -- KR2: Launch Cadence 1.0 on Crescendo Testnet -- KR3: Launch EVM on Crescendo Testnet +- KR4: Testnet Upgrade to Crescendo Release + Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs - KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency +Objective 4: Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +- KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind +- KR2: Execution node can execute live data without impacting the network (i.e. execution fork) + --- ### **Core Protocol** \[Jerome] From 85f07fb50ff3d1f2a29433f966d558b51c3a1fb9 Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 1 Mar 2024 06:10:57 -0800 Subject: [PATCH 118/626] Add data availability updates 2024-03-01 --- .../2024-03-01-Flow-Sprint-Kickoff.md | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 2eac2a328..a469fa7ff 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -212,7 +212,14 @@ Cycle Objective(s): * Fix emulator build with cross-compilation - fix CLI build with cross compilation (with help of 4d-ux) * Investigate issues with partner nodes * Randomness-on chain contract: investigate issue caused by epoch contract update - issues and solution discussed - +* Data Availability + * Fixed sorting bug in streamed events ([PR 5404](https://github.com/onflow/flow-go/pull/5404)) + * Rolled out local event queries to 35% of QN ANs + * Deployed register caching on devnet, 1 FF mainnet AN ([Issue 5277](https://github.com/onflow/flow-go/issues/5277)) + * Fixed race condition in AN connection cache ([PR 5334](https://github.com/onflow/flow-go/pull/5334)) + * Implemented local transaction result queries on ANs (KROK) ([PR 5306](https://github.com/onflow/flow-go/pull/5306)) + * Defined proto changes for streaming blocks and tx statuses (KROK) ([PR 1422](https://github.com/onflow/flow/pull/1422)) + **This sprint** * Networking @@ -231,6 +238,16 @@ Some time helping with Previewnet setup * Continue testing ArtBlocks node image (requires BN2) * Work with IT for node access to troubleshoot problematic CPU type and investigate the issue * Randomness-on chain contract: implement the contract fix (with @bluesign) +* Data Availability + * Deploy register caching to QN AN ([Issue 5277](https://github.com/onflow/flow-go/issues/5277)) + * Add programs cache ([Issue 5278](https://github.com/onflow/flow-go/issues/5278)) + * Continue work on in-progress PRs from KROK: + * Indexing execution data on Observers ([PR 5256](https://github.com/onflow/flow-go/pull/5256)) + * Add state streaming APIs on Observers ([PR 5368](https://github.com/onflow/flow-go/pull/5368)) + * Add support for serving queries from local data on Observers ([PR 5358](https://github.com/onflow/flow-go/pull/5358)) + * Streaming Blocks ([PR 5307](https://github.com/onflow/flow-go/pull/5307)) + * Streaming TX statuses ([PR 5310](https://github.com/onflow/flow-go/pull/5310)) + * Streaming Account statuses ([PR 5406](https://github.com/onflow/flow-go/pull/5406)) **On Hold** * BFT mitigations to enable 20 permissionless ANs From dad4a200b7b18c485262e26f09746a90f145f24d Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 1 Mar 2024 06:12:09 -0800 Subject: [PATCH 119/626] Add data availability updates 2024-03-01 - update 1 --- agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index a469fa7ff..ea10df337 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -239,6 +239,7 @@ Some time helping with Previewnet setup * Work with IT for node access to troubleshoot problematic CPU type and investigate the issue * Randomness-on chain contract: implement the contract fix (with @bluesign) * Data Availability + * Rollout local event queries to remaining QN ANs * Deploy register caching to QN AN ([Issue 5277](https://github.com/onflow/flow-go/issues/5277)) * Add programs cache ([Issue 5278](https://github.com/onflow/flow-go/issues/5278)) * Continue work on in-progress PRs from KROK: From 77f4a016482a1a85f61bc1cff0b03379653be4ae Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 1 Mar 2024 07:38:51 -0800 Subject: [PATCH 120/626] ux wg updates --- .../2024-03-01-Flow-Sprint-Kickoff.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index ea10df337..e3bb32ba0 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -2,10 +2,10 @@ ### Team Wins 🎉 -* Guides added for deploying Solidity to Flow Previewnet (Hardhat, Remix) +* Published Guides for deploying Solidity to Flow Previewnet (Hardhat, Remix) * Previewnet support (CLI, Faucet, FCL Discovery) * FT/NFT Migration Guides (Cadence 1.0) - * PreviewNet Launch of the Crescendo Release! Cadence 1.0 + EVM +* PreviewNet Launch of the Crescendo Release! Cadence 1.0 + EVM * [Performance benchmark](https://dapperlabs.grafana.net/d/BLSHi8ZVz/flow-performance-benchmarks?orgId=1&var-branch=All&var-env=All&var-type=All&from=now-90d&to=now&viewPanel=4) now includes account creation, EVM token swap and ledger-heavy loads * CCF supports all Cadence 1.0 values * Found and fixed an issue with data pruner in EN, which reduced startup time by ~50 seconds @@ -312,7 +312,7 @@ Cycle Objective(s): * Add Guides and Reference documentation for deploying Solidity to Flow Previewnet (Connecting to FlowEVM, Guides: Hardhat HelloWorld, Remix (+video tutorial)) Launch * Stable Cadence Installation Workflow to allow multiple binaries [#1374](https://github.com/onflow/flow-cli/issues/1374) * [Add FT/NFT Migration Guides and Best Practices Docs](https://cadence-lang.org/docs/cadence_migration_guide/nft-guide) -* Updated first few Cadence tutorials for Cadence 1.0 +* Updated Cadence tutorials for Cadence 1.0 * Faucet setup to support funding Previewnet * Build improved to support cross compilation with new crypto library on Stable Cadence CLI * Discovery setup for Previewnet support @@ -322,11 +322,16 @@ Cycle Objective(s): **This sprint** **Sprint goal focusing on unblocking and documenting Dev Path for Cadence 1.0 staging and migration** +**Education and Adoption Working Group** * Add Guides and Reference documentation for FlowEVM (Clients: web3.js, ethers.js, viem) -* Hardhat video tutorial +* Hardhat video tutorials +* Urgent SEO issues - Fix developer docs broken links, markup and errors from Flow.com +* Audit and Update Docs for Cadence 1.0 [#531](https://github.com/onflow/docs/issues/531) +* [USDC Fiat Token Contract](https://github.com/flow-usdc/flow-usdc) Update for Cadence 1.0 + +**Dev Tools Working Group** * Release Contract Migration Manager and support documentation for local contract staging and migration (Cadence 1.0) * Add Cadence Linter to [#1395](https://github.com/onflow/flow-cli/issues/1395) -* Urgent SEO issues - Fix developer docs broken links, markup and errors from Flow.com * Audit and Update Docs for Cadence 1.0 [#531](https://github.com/onflow/docs/issues/531) * CLI bugfixes and top issues From b7eb0489aeea77a53dec925435b9722cad473f48 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 1 Mar 2024 18:18:26 +0100 Subject: [PATCH 121/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index e3bb32ba0..3432b48c1 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -9,6 +9,7 @@ * [Performance benchmark](https://dapperlabs.grafana.net/d/BLSHi8ZVz/flow-performance-benchmarks?orgId=1&var-branch=All&var-env=All&var-type=All&from=now-90d&to=now&viewPanel=4) now includes account creation, EVM token swap and ledger-heavy loads * CCF supports all Cadence 1.0 values * Found and fixed an issue with data pruner in EN, which reduced startup time by ~50 seconds +* Completed Execution node test environment (pulling data from data sync and executing latest blocks without affecting network) --- @@ -75,6 +76,9 @@ Cycle Objective(s): Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow - KR2: Launch Cadence 1.0 on Crescendo Testnet +Objective 4: Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +- KR2: [Execution node can execute live data without impacting the network (i.e. execution fork)](https://github.com/onflow/flow-go/issues/5118) + Cadence 1.0 - [Testnet state migration](https://github.com/onflow/cadence/issues/3096) - [Add logs to merge](https://github.com/onflow/flow-go/pull/5484) @@ -142,6 +146,7 @@ EVM GW Cadence Execution +- [Creating test environment for execution node that can follow and execute latest blocks](https://github.com/onflow/flow-go/issues/5118) - Data Pruner fix - reduces EN boot time by ~50 secs - [Execution Data storage tracker blocks startup](https://github.com/onflow/flow-go/issues/5457) - [Add checkpoint size metrics](https://github.com/onflow/flow-go/issues/5395) From e1203bf9a09169c9922ecc53367ffb45ae698f2e Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 1 Mar 2024 18:19:06 +0100 Subject: [PATCH 122/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 3432b48c1..a30d0fdc6 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -57,7 +57,7 @@ # Working Group Updates -### **Cadence and Virtual Machine** \[Jan] +### **Cadence Language and Execution** \[Jan] Cycle Objective(s): 1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow From bae65e0dd9447943f66ae1e52aa00877ddec87eb Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 1 Mar 2024 18:19:57 +0100 Subject: [PATCH 123/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index a30d0fdc6..60d0b9860 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -73,6 +73,7 @@ Cycle Objective(s): **Done last sprint** * Launched Cadence 1.0 & EVM into PreviewNet! + Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow - KR2: Launch Cadence 1.0 on Crescendo Testnet From 4f17db830c6bbc8cc4ad56884c8b15e599585c97 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 1 Mar 2024 18:20:36 +0100 Subject: [PATCH 124/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 60d0b9860..2290dac86 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -73,12 +73,10 @@ Cycle Objective(s): **Done last sprint** * Launched Cadence 1.0 & EVM into PreviewNet! - -Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow -- KR2: Launch Cadence 1.0 on Crescendo Testnet - -Objective 4: Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data -- KR2: [Execution node can execute live data without impacting the network (i.e. execution fork)](https://github.com/onflow/flow-go/issues/5118) +* Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow + * KR2: Launch Cadence 1.0 on Crescendo Testnet +* Objective 4: Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data + * KR2: [Execution node can execute live data without impacting the network (i.e. execution fork)](https://github.com/onflow/flow-go/issues/5118) Cadence 1.0 - [Testnet state migration](https://github.com/onflow/cadence/issues/3096) From dcc6f8ee628ecd61555431250de9228a39b18791 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 1 Mar 2024 18:21:07 +0100 Subject: [PATCH 125/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 1 - 1 file changed, 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 2290dac86..d254b5116 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -72,7 +72,6 @@ Cycle Objective(s): **Done last sprint** -* Launched Cadence 1.0 & EVM into PreviewNet! * Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow * KR2: Launch Cadence 1.0 on Crescendo Testnet * Objective 4: Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data From 42c95c14ab521c85fc28792cf8861cbbf7456221 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 1 Mar 2024 18:22:47 +0100 Subject: [PATCH 126/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- .../2024-03-01-Flow-Sprint-Kickoff.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index d254b5116..2d63e2550 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -60,15 +60,15 @@ ### **Cadence Language and Execution** \[Jan] Cycle Objective(s): -1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow -2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. -3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. +1) [In Progress] Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) [In Progress] Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) [In Progress] Analyze execution runtime trends and risks to plan next set of scalability OKRs. * Stretch-goals: -4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data -5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. -6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) -7) Improve execution performance to mitigate the impact of adding metadata to token standards +4) [In Progress] Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) [Not Started] Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) [Not Started] Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) [Not Started] Improve execution performance to mitigate the impact of adding metadata to token standards **Done last sprint** From a855e52e637478dd1c5772b4fda7a9265e293c07 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 1 Mar 2024 18:26:21 +0100 Subject: [PATCH 127/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- .../2024-03-01-Flow-Sprint-Kickoff.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 2d63e2550..25a9ebf1b 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -60,22 +60,22 @@ ### **Cadence Language and Execution** \[Jan] Cycle Objective(s): -1) [In Progress] Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow -2) [In Progress] Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. -3) [In Progress] Analyze execution runtime trends and risks to plan next set of scalability OKRs. +1) **[In Progress]** Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) **[In Progress]** Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) **[In Progress]** Analyze execution runtime trends and risks to plan next set of scalability OKRs. * Stretch-goals: -4) [In Progress] Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data -5) [Not Started] Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. -6) [Not Started] Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) -7) [Not Started] Improve execution performance to mitigate the impact of adding metadata to token standards +4) **[In Progress]** Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) **[Not Started]** Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) **[Not Started]** Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) **[Not Started]** Improve execution performance to mitigate the impact of adding metadata to token standards **Done last sprint** * Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow - * KR2: Launch Cadence 1.0 on Crescendo Testnet + - KR2: Launch Cadence 1.0 on Crescendo Testnet * Objective 4: Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data - * KR2: [Execution node can execute live data without impacting the network (i.e. execution fork)](https://github.com/onflow/flow-go/issues/5118) + - KR2: [Execution node can execute live data without impacting the network (i.e. execution fork)](https://github.com/onflow/flow-go/issues/5118) Cadence 1.0 - [Testnet state migration](https://github.com/onflow/cadence/issues/3096) @@ -162,6 +162,7 @@ Cadence Execution Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades * Complete emulator release with contract upgrade testing enabled (blocker: [Loading values from a migrated emulator state fails](https://github.com/onflow/cadence/issues/3143)) * Continue debugging [ full Cadence 1.0 migration run on TN state](https://github.com/onflow/cadence/issues/3096) +* Build migration diff utility to help debug migration issues Objective 1, KR4: Testnet Upgrade to Crescendo Release * Continue with EVM Gateway development for testnet readiness From bee3a9e7320f6da701261797b0952692dc3dfddc Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 1 Mar 2024 09:40:10 -0800 Subject: [PATCH 128/626] Update 2024-03-01-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md index 25a9ebf1b..d8d2184f0 100644 --- a/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-01-Flow-Sprint-Kickoff.md @@ -28,6 +28,12 @@ #### Incidents * No incidents +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): Testnet and mainnet sporks TBD. +- Next Mainnet/Testnet HCU: TBD +- End of Cycle: TBD + --- ### FLIPs Tracker \[Kshitij] @@ -46,12 +52,6 @@ - Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) -### Key Release Dates & Breaking Changes - -- Next Mainnet/Testnet network upgrade (spork): Testnet and mainnet sporks TBD. -- Next Mainnet/Testnet HCU: TBD -- End of Cycle: TBD - --- From b5b0851284c5e8961bd5ec52202d68427f1a6b03 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Mon, 4 Mar 2024 16:02:22 +0200 Subject: [PATCH 129/626] Splitted subscribe blocks, headers and block digests into separated rpc calls --- protobuf/flow/access/access.proto | 266 ++++- protobuf/go/flow/access/access.pb.go | 1265 +++++++++++++++------ protobuf/go/flow/access/access_grpc.pb.go | 686 +++++++++-- 3 files changed, 1716 insertions(+), 501 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 90eeeb71f..7a109dd74 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -159,38 +159,98 @@ service AccessAPI { returns (ExecutionResultByIDResponse); // Subscriptions - - // SubscribeBlocks streams finalized or sealed blocks starting at the requested - // start block, up until the latest available block. Once the latest is + + // Subscribe blocks + + // SubscribeBlocksFromStartBlockID streams finalized or sealed blocks starting at the requested + // start block id, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed blocks will be returned. + rpc SubscribeBlocksFromStartBlockID(SubscribeBlocksFromStartBlockIDRequest) + returns (stream SubscribeBlocksFromStartBlockIDResponse); + + // SubscribeBlocksFromStartHeight streams finalized or sealed blocks starting at the requested + // start block height, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new // block as it becomes available. // // Blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed blocks will be returned. - rpc SubscribeBlocks(SubscribeBlocksRequest) - returns (stream SubscribeBlocksResponse); + rpc SubscribeBlocksFromStartHeight(SubscribeBlocksFromStartHeightRequest) + returns (stream SubscribeBlocksFromStartHeightResponse); + + // SubscribeBlocksFromLatest streams finalized or sealed blocks starting from the latest finalized or sealed + // block. The stream will remain open and responses are sent for each new block as it becomes available. + // + // Blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed blocks will be returned. + rpc SubscribeBlocksFromLatest(SubscribeBlocksFromLatestRequest) + returns (stream SubscribeBlocksFromLatestResponse); + + // Subscribe block headers + + // SubscribeBlockHeadersFromStartBlockID streams finalized or sealed block headers starting at the requested + // start block id, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block header as it becomes available. + // + // Block headers are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed block headers will be returned. + rpc SubscribeBlockHeadersFromStartBlockID(SubscribeBlockHeadersFromStartBlockIDRequest) + returns (stream SubscribeBlockHeadersFromStartBlockIDResponse); - // SubscribeBlockHeaders streams finalized or sealed block headers starting at the requested - // start block, up until the latest available block header. Once the latest is + // SubscribeBlockHeadersFromStartHeight streams finalized or sealed block headers starting at the requested + // start block height, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new // block header as it becomes available. // // Block headers are only returned when they have reached the provided block status. For example, - // if the status is "sealed", only sealed block headres will be returned. + // if the status is "sealed", only sealed block headers will be returned. + rpc SubscribeBlockHeadersFromStartHeight(SubscribeBlockHeadersFromStartHeightRequest) + returns (stream SubscribeBlockHeadersFromStartHeightResponse); + + // SubscribeBlockHeadersFromLatest streams finalized or sealed block headers starting from the latest finalized or sealed + // block. The stream will remain open and responses are sent for each new block header as it becomes available. // - // This is a lighter version of `SubscribeBlocks` as it will never include the heavy `BlockPayload`. - rpc SubscribeBlockHeaders(SubscribeBlockHeadersRequest) - returns (stream SubscribeBlockHeadersResponse); + // Block headers are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed block headers will be returned. + rpc SubscribeBlockHeadersFromLatest(SubscribeBlockHeadersFromLatestRequest) + returns (stream SubscribeBlockHeadersFromLatestResponse); + + // Subscribe block digests - // SubscribeBlockDigests streams finalized or sealed lightweight block starting at the requested - // start block, up until the latest available block. Once the latest is + // SubscribeBlockDigestsFromStartBlockID streams finalized or sealed lightweight block starting at the requested + // start block id, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new - // block as it becomes available. + // lightweight block as it becomes available. + // + // Lightweight blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed lightweight blocks will be returned. + rpc SubscribeBlockDigestsFromStartBlockID(SubscribeBlockDigestsFromStartBlockIDRequest) + returns (stream SubscribeBlockDigestsFromStartBlockIDResponse); + + // SubscribeBlockDigestsFromStartHeight streams finalized or sealed lightweight block starting at the requested + // start block height, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // lightweight block as it becomes available. + // + // Lightweight blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed lightweight blocks will be returned. + rpc SubscribeBlockDigestsFromStartHeight(SubscribeBlockDigestsFromStartHeightRequest) + returns (stream SubscribeBlockDigestsFromStartHeightResponse); + + // SubscribeBlockDigestsFromLatest streams finalized or sealed lightweight block headers starting of the latest finalized or sealed + // block. The stream will remain open and responses are sent for each new lightweight block as it becomes available. // // Lightweight blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed lightweight blocks will be returned. - rpc SubscribeBlockDigests(SubscribeBlockDigestsRequest) - returns (stream SubscribeBlockDigestsResponse); + rpc SubscribeBlockDigestsFromLatest(SubscribeBlockDigestsFromLatestRequest) + returns (stream SubscribeBlockDigestsFromLatestResponse); + + // Subscribe transaction statuses // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. @@ -451,23 +511,34 @@ message ExecutionResultByIDResponse { // Subscriptions -// Define StartBlock as a start point to subscribe. -message StartBlock { - // Only one of block_id and block_height may be provided, - // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. - // If neither are provided, the latest sealed block is used. - oneof start_block { - // Block ID of the first block to subscribe. - bytes block_id = 1; - // Block height of the first block to subscribe. - uint64 block_height = 2; - } +// Subscribe blocks + +// The request for SubscribeBlocksFromStartBlockID +message SubscribeBlocksFromStartBlockIDRequest { + // Block ID of the first block to subscribe. + bytes start_block_id = 1; + + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 2; + + // Boolean value determining the response: 'full' if `true`, 'light' otherwise. + bool full_block_response = 3; +} + +// The response for SubscribeBlocksFromStartBlockID +message SubscribeBlocksFromStartBlockIDResponse { + // The sealed or finalized blocks according to the block status + // in the request. + entities.Block block = 1; } -// The request for SubscribeBlocks -message SubscribeBlocksRequest { - // The first block to subscribe. - StartBlock start_block = 1; +// The request for SubscribeBlocksFromStartHeight +message SubscribeBlocksFromStartHeightRequest { + // Block height of the first block to subscribe. + uint64 start_block_height = 1; // Required block status of the block payload. // Possible variants: @@ -479,17 +550,57 @@ message SubscribeBlocksRequest { bool full_block_response = 3; } -// The response for SubscribeBlocks -message SubscribeBlocksResponse { +// The response for SubscribeBlocksFromStartHeight +message SubscribeBlocksFromStartHeightResponse { + // The sealed or finalized blocks according to the block status + // in the request. + entities.Block block = 1; +} + +// The request for SubscribeBlocksFromLatest +message SubscribeBlocksFromLatestRequest { + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 1; + + // Boolean value determining the response: 'full' if `true`, 'light' otherwise. + bool full_block_response = 2; +} + +// The response for SubscribeBlocksFromLatest +message SubscribeBlocksFromLatestResponse { // The sealed or finalized blocks according to the block status // in the request. entities.Block block = 1; } -// The request for SubscribeBlockHeaders -message SubscribeBlockHeadersRequest { - // The first block header to subscribe. - StartBlock start_block = 1; +// Subscribe block headers + +// The request for SubscribeBlockHeadersFromStartBlockID +message SubscribeBlockHeadersFromStartBlockIDRequest { + // Block ID of the first block header to subscribe. + bytes start_block_id = 1; + + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 2; +} + +// The response for SubscribeBlockHeadersFromStartBlockID +message SubscribeBlockHeadersFromStartBlockIDResponse { + // The sealed or finalized block headers according to the block status + // in the request. + entities.BlockHeader header = 1; +} + +// The request for SubscribeBlockHeadersFromStartHeight +message SubscribeBlockHeadersFromStartHeightRequest { + // Block height of the first block header to subscribe. + uint64 start_block_height = 1; // Required block status of the block payload. // Possible variants: @@ -498,18 +609,83 @@ message SubscribeBlockHeadersRequest { entities.BlockStatus block_status = 2; } -// The response for SubscribeBlockHeaders -message SubscribeBlockHeadersResponse { +// The response for SubscribeBlockHeadersFromStartHeight +message SubscribeBlockHeadersFromStartHeightResponse { + // The sealed or finalized block headers according to the block status + // in the request. + entities.BlockHeader header = 1; +} + +// The request for SubscribeBlockHeadersFromLatest +message SubscribeBlockHeadersFromLatestRequest { + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 1; +} + +// The response for SubscribeBlockHeadersFromLatest +message SubscribeBlockHeadersFromLatestResponse { // The sealed or finalized block headers according to the block status // in the request. entities.BlockHeader header = 1; } -// The request for SubscribeBlockDigests -message SubscribeBlockDigestsRequest { - // The first block to subscribe. - StartBlock start_block = 1; +// Subscribe block digests + +// The request for SubscribeBlockDigestsFromStartBlockID +message SubscribeBlockDigestsFromStartBlockIDRequest { + // Block ID of the first block to subscribe. + bytes start_block_id = 1; + + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 2; +} + +// The response for SubscribeBlockDigestsFromStartBlockID +message SubscribeBlockDigestsFromStartBlockIDResponse { + // The block ID of the new sealed or finalized block according to the block status + // in the request. + bytes block_id = 1; + // The block height of the new sealed or finalized block according to the block status + // in the request. + uint64 block_height = 2; + // The timestamp of the new sealed or finalized block according to the block status + // in the request. + google.protobuf.Timestamp block_timestamp = 3; +} + +// The request for SubscribeBlockDigestsFromStartHeight +message SubscribeBlockDigestsFromStartHeightRequest { + // Block height of the first block to subscribe. + uint64 start_block_height = 1; + + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 2; +} + +// The response for SubscribeBlockDigestsFromStartHeight +message SubscribeBlockDigestsFromStartHeightResponse { + // The block ID of the new sealed or finalized block according to the block status + // in the request. + bytes block_id = 1; + // The block height of the new sealed or finalized block according to the block status + // in the request. + uint64 block_height = 2; + // The timestamp of the new sealed or finalized block according to the block status + // in the request. + google.protobuf.Timestamp block_timestamp = 3; +} +// The request for SubscribeBlockDigestsFromLatest +message SubscribeBlockDigestsFromLatestRequest { // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED @@ -517,8 +693,8 @@ message SubscribeBlockDigestsRequest { entities.BlockStatus block_status = 2; } -// The response for SubscribeBlockDigests -message SubscribeBlockDigestsResponse { +// The response for SubscribeBlockDigestsFromLatest +message SubscribeBlockDigestsFromLatestResponse { // The block ID of the new sealed or finalized block according to the block status // in the request. bytes block_id = 1; diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index adde017dd..7d32cdce3 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2258,96 +2258,118 @@ func (m *ExecutionResultByIDResponse) GetMetadata() *entities.Metadata { return nil } -// Define StartBlock as a start point to subscribe. -type StartBlock struct { - // Only one of block_id and block_height may be provided, - // otherwise the last set value as determined by the order in the proto will overwrite all previous ones. - // If neither are provided, the latest sealed block is used. - // - // Types that are valid to be assigned to StartBlock: - // - // *StartBlock_BlockId - // *StartBlock_BlockHeight - StartBlock isStartBlock_StartBlock `protobuf_oneof:"start_block"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +// The request for SubscribeBlocksFromStartBlockID +type SubscribeBlocksFromStartBlockIDRequest struct { + // Block ID of the first block to subscribe. + StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,2,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + // Boolean value determining the response: 'full' if `true`, 'light' otherwise. + FullBlockResponse bool `protobuf:"varint,3,opt,name=full_block_response,json=fullBlockResponse,proto3" json:"full_block_response,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *StartBlock) Reset() { *m = StartBlock{} } -func (m *StartBlock) String() string { return proto.CompactTextString(m) } -func (*StartBlock) ProtoMessage() {} -func (*StartBlock) Descriptor() ([]byte, []int) { +func (m *SubscribeBlocksFromStartBlockIDRequest) Reset() { + *m = SubscribeBlocksFromStartBlockIDRequest{} +} +func (m *SubscribeBlocksFromStartBlockIDRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlocksFromStartBlockIDRequest) ProtoMessage() {} +func (*SubscribeBlocksFromStartBlockIDRequest) Descriptor() ([]byte, []int) { return fileDescriptor_4382e32bb8e3e8e5, []int{47} } -func (m *StartBlock) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_StartBlock.Unmarshal(m, b) +func (m *SubscribeBlocksFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlocksFromStartBlockIDRequest.Unmarshal(m, b) } -func (m *StartBlock) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_StartBlock.Marshal(b, m, deterministic) +func (m *SubscribeBlocksFromStartBlockIDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlocksFromStartBlockIDRequest.Marshal(b, m, deterministic) } -func (m *StartBlock) XXX_Merge(src proto.Message) { - xxx_messageInfo_StartBlock.Merge(m, src) +func (m *SubscribeBlocksFromStartBlockIDRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlocksFromStartBlockIDRequest.Merge(m, src) } -func (m *StartBlock) XXX_Size() int { - return xxx_messageInfo_StartBlock.Size(m) +func (m *SubscribeBlocksFromStartBlockIDRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlocksFromStartBlockIDRequest.Size(m) } -func (m *StartBlock) XXX_DiscardUnknown() { - xxx_messageInfo_StartBlock.DiscardUnknown(m) +func (m *SubscribeBlocksFromStartBlockIDRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlocksFromStartBlockIDRequest.DiscardUnknown(m) } -var xxx_messageInfo_StartBlock proto.InternalMessageInfo - -type isStartBlock_StartBlock interface { - isStartBlock_StartBlock() -} +var xxx_messageInfo_SubscribeBlocksFromStartBlockIDRequest proto.InternalMessageInfo -type StartBlock_BlockId struct { - BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3,oneof"` +func (m *SubscribeBlocksFromStartBlockIDRequest) GetStartBlockId() []byte { + if m != nil { + return m.StartBlockId + } + return nil } -type StartBlock_BlockHeight struct { - BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3,oneof"` +func (m *SubscribeBlocksFromStartBlockIDRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN } -func (*StartBlock_BlockId) isStartBlock_StartBlock() {} - -func (*StartBlock_BlockHeight) isStartBlock_StartBlock() {} - -func (m *StartBlock) GetStartBlock() isStartBlock_StartBlock { +func (m *SubscribeBlocksFromStartBlockIDRequest) GetFullBlockResponse() bool { if m != nil { - return m.StartBlock + return m.FullBlockResponse } - return nil + return false } -func (m *StartBlock) GetBlockId() []byte { - if x, ok := m.GetStartBlock().(*StartBlock_BlockId); ok { - return x.BlockId - } - return nil +// The response for SubscribeBlocksFromStartBlockID +type SubscribeBlocksFromStartBlockIDResponse struct { + // The sealed or finalized blocks according to the block status + // in the request. + Block *entities.Block `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *StartBlock) GetBlockHeight() uint64 { - if x, ok := m.GetStartBlock().(*StartBlock_BlockHeight); ok { - return x.BlockHeight - } - return 0 +func (m *SubscribeBlocksFromStartBlockIDResponse) Reset() { + *m = SubscribeBlocksFromStartBlockIDResponse{} +} +func (m *SubscribeBlocksFromStartBlockIDResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlocksFromStartBlockIDResponse) ProtoMessage() {} +func (*SubscribeBlocksFromStartBlockIDResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{48} +} + +func (m *SubscribeBlocksFromStartBlockIDResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlocksFromStartBlockIDResponse.Unmarshal(m, b) +} +func (m *SubscribeBlocksFromStartBlockIDResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlocksFromStartBlockIDResponse.Marshal(b, m, deterministic) +} +func (m *SubscribeBlocksFromStartBlockIDResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlocksFromStartBlockIDResponse.Merge(m, src) +} +func (m *SubscribeBlocksFromStartBlockIDResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlocksFromStartBlockIDResponse.Size(m) +} +func (m *SubscribeBlocksFromStartBlockIDResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlocksFromStartBlockIDResponse.DiscardUnknown(m) } -// XXX_OneofWrappers is for the internal use of the proto package. -func (*StartBlock) XXX_OneofWrappers() []interface{} { - return []interface{}{ - (*StartBlock_BlockId)(nil), - (*StartBlock_BlockHeight)(nil), +var xxx_messageInfo_SubscribeBlocksFromStartBlockIDResponse proto.InternalMessageInfo + +func (m *SubscribeBlocksFromStartBlockIDResponse) GetBlock() *entities.Block { + if m != nil { + return m.Block } + return nil } -// The request for SubscribeBlocks -type SubscribeBlocksRequest struct { - // The first block to subscribe. - StartBlock *StartBlock `protobuf:"bytes,1,opt,name=start_block,json=startBlock,proto3" json:"start_block,omitempty"` +// The request for SubscribeBlocksFromStartHeight +type SubscribeBlocksFromStartHeightRequest struct { + // Block height of the first block to subscribe. + StartBlockHeight uint64 `protobuf:"varint,1,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED @@ -2360,54 +2382,151 @@ type SubscribeBlocksRequest struct { XXX_sizecache int32 `json:"-"` } -func (m *SubscribeBlocksRequest) Reset() { *m = SubscribeBlocksRequest{} } -func (m *SubscribeBlocksRequest) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlocksRequest) ProtoMessage() {} -func (*SubscribeBlocksRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{48} +func (m *SubscribeBlocksFromStartHeightRequest) Reset() { *m = SubscribeBlocksFromStartHeightRequest{} } +func (m *SubscribeBlocksFromStartHeightRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlocksFromStartHeightRequest) ProtoMessage() {} +func (*SubscribeBlocksFromStartHeightRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{49} +} + +func (m *SubscribeBlocksFromStartHeightRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlocksFromStartHeightRequest.Unmarshal(m, b) +} +func (m *SubscribeBlocksFromStartHeightRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlocksFromStartHeightRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeBlocksFromStartHeightRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlocksFromStartHeightRequest.Merge(m, src) +} +func (m *SubscribeBlocksFromStartHeightRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlocksFromStartHeightRequest.Size(m) +} +func (m *SubscribeBlocksFromStartHeightRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlocksFromStartHeightRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlocksFromStartHeightRequest proto.InternalMessageInfo + +func (m *SubscribeBlocksFromStartHeightRequest) GetStartBlockHeight() uint64 { + if m != nil { + return m.StartBlockHeight + } + return 0 +} + +func (m *SubscribeBlocksFromStartHeightRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN +} + +func (m *SubscribeBlocksFromStartHeightRequest) GetFullBlockResponse() bool { + if m != nil { + return m.FullBlockResponse + } + return false +} + +// The response for SubscribeBlocksFromStartHeight +type SubscribeBlocksFromStartHeightResponse struct { + // The sealed or finalized blocks according to the block status + // in the request. + Block *entities.Block `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlocksFromStartHeightResponse) Reset() { + *m = SubscribeBlocksFromStartHeightResponse{} +} +func (m *SubscribeBlocksFromStartHeightResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlocksFromStartHeightResponse) ProtoMessage() {} +func (*SubscribeBlocksFromStartHeightResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{50} } -func (m *SubscribeBlocksRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlocksRequest.Unmarshal(m, b) +func (m *SubscribeBlocksFromStartHeightResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlocksFromStartHeightResponse.Unmarshal(m, b) } -func (m *SubscribeBlocksRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlocksRequest.Marshal(b, m, deterministic) +func (m *SubscribeBlocksFromStartHeightResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlocksFromStartHeightResponse.Marshal(b, m, deterministic) } -func (m *SubscribeBlocksRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlocksRequest.Merge(m, src) +func (m *SubscribeBlocksFromStartHeightResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlocksFromStartHeightResponse.Merge(m, src) } -func (m *SubscribeBlocksRequest) XXX_Size() int { - return xxx_messageInfo_SubscribeBlocksRequest.Size(m) +func (m *SubscribeBlocksFromStartHeightResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlocksFromStartHeightResponse.Size(m) } -func (m *SubscribeBlocksRequest) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlocksRequest.DiscardUnknown(m) +func (m *SubscribeBlocksFromStartHeightResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlocksFromStartHeightResponse.DiscardUnknown(m) } -var xxx_messageInfo_SubscribeBlocksRequest proto.InternalMessageInfo +var xxx_messageInfo_SubscribeBlocksFromStartHeightResponse proto.InternalMessageInfo -func (m *SubscribeBlocksRequest) GetStartBlock() *StartBlock { +func (m *SubscribeBlocksFromStartHeightResponse) GetBlock() *entities.Block { if m != nil { - return m.StartBlock + return m.Block } return nil } -func (m *SubscribeBlocksRequest) GetBlockStatus() entities.BlockStatus { +// The request for SubscribeBlocksFromLatest +type SubscribeBlocksFromLatestRequest struct { + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,1,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + // Boolean value determining the response: 'full' if `true`, 'light' otherwise. + FullBlockResponse bool `protobuf:"varint,2,opt,name=full_block_response,json=fullBlockResponse,proto3" json:"full_block_response,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlocksFromLatestRequest) Reset() { *m = SubscribeBlocksFromLatestRequest{} } +func (m *SubscribeBlocksFromLatestRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlocksFromLatestRequest) ProtoMessage() {} +func (*SubscribeBlocksFromLatestRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{51} +} + +func (m *SubscribeBlocksFromLatestRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlocksFromLatestRequest.Unmarshal(m, b) +} +func (m *SubscribeBlocksFromLatestRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlocksFromLatestRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeBlocksFromLatestRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlocksFromLatestRequest.Merge(m, src) +} +func (m *SubscribeBlocksFromLatestRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlocksFromLatestRequest.Size(m) +} +func (m *SubscribeBlocksFromLatestRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlocksFromLatestRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlocksFromLatestRequest proto.InternalMessageInfo + +func (m *SubscribeBlocksFromLatestRequest) GetBlockStatus() entities.BlockStatus { if m != nil { return m.BlockStatus } return entities.BlockStatus_BLOCK_UNKNOWN } -func (m *SubscribeBlocksRequest) GetFullBlockResponse() bool { +func (m *SubscribeBlocksFromLatestRequest) GetFullBlockResponse() bool { if m != nil { return m.FullBlockResponse } return false } -// The response for SubscribeBlocks -type SubscribeBlocksResponse struct { +// The response for SubscribeBlocksFromLatest +type SubscribeBlocksFromLatestResponse struct { // The sealed or finalized blocks according to the block status // in the request. Block *entities.Block `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` @@ -2416,42 +2535,42 @@ type SubscribeBlocksResponse struct { XXX_sizecache int32 `json:"-"` } -func (m *SubscribeBlocksResponse) Reset() { *m = SubscribeBlocksResponse{} } -func (m *SubscribeBlocksResponse) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlocksResponse) ProtoMessage() {} -func (*SubscribeBlocksResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{49} +func (m *SubscribeBlocksFromLatestResponse) Reset() { *m = SubscribeBlocksFromLatestResponse{} } +func (m *SubscribeBlocksFromLatestResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlocksFromLatestResponse) ProtoMessage() {} +func (*SubscribeBlocksFromLatestResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{52} } -func (m *SubscribeBlocksResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlocksResponse.Unmarshal(m, b) +func (m *SubscribeBlocksFromLatestResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlocksFromLatestResponse.Unmarshal(m, b) } -func (m *SubscribeBlocksResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlocksResponse.Marshal(b, m, deterministic) +func (m *SubscribeBlocksFromLatestResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlocksFromLatestResponse.Marshal(b, m, deterministic) } -func (m *SubscribeBlocksResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlocksResponse.Merge(m, src) +func (m *SubscribeBlocksFromLatestResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlocksFromLatestResponse.Merge(m, src) } -func (m *SubscribeBlocksResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlocksResponse.Size(m) +func (m *SubscribeBlocksFromLatestResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlocksFromLatestResponse.Size(m) } -func (m *SubscribeBlocksResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlocksResponse.DiscardUnknown(m) +func (m *SubscribeBlocksFromLatestResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlocksFromLatestResponse.DiscardUnknown(m) } -var xxx_messageInfo_SubscribeBlocksResponse proto.InternalMessageInfo +var xxx_messageInfo_SubscribeBlocksFromLatestResponse proto.InternalMessageInfo -func (m *SubscribeBlocksResponse) GetBlock() *entities.Block { +func (m *SubscribeBlocksFromLatestResponse) GetBlock() *entities.Block { if m != nil { return m.Block } return nil } -// The request for SubscribeBlockHeaders -type SubscribeBlockHeadersRequest struct { - // The first block header to subscribe. - StartBlock *StartBlock `protobuf:"bytes,1,opt,name=start_block,json=startBlock,proto3" json:"start_block,omitempty"` +// The request for SubscribeBlockHeadersFromStartBlockID +type SubscribeBlockHeadersFromStartBlockIDRequest struct { + // Block ID of the first block header to subscribe. + StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED @@ -2462,47 +2581,51 @@ type SubscribeBlockHeadersRequest struct { XXX_sizecache int32 `json:"-"` } -func (m *SubscribeBlockHeadersRequest) Reset() { *m = SubscribeBlockHeadersRequest{} } -func (m *SubscribeBlockHeadersRequest) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlockHeadersRequest) ProtoMessage() {} -func (*SubscribeBlockHeadersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{50} +func (m *SubscribeBlockHeadersFromStartBlockIDRequest) Reset() { + *m = SubscribeBlockHeadersFromStartBlockIDRequest{} +} +func (m *SubscribeBlockHeadersFromStartBlockIDRequest) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeBlockHeadersFromStartBlockIDRequest) ProtoMessage() {} +func (*SubscribeBlockHeadersFromStartBlockIDRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{53} } -func (m *SubscribeBlockHeadersRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlockHeadersRequest.Unmarshal(m, b) +func (m *SubscribeBlockHeadersFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDRequest.Unmarshal(m, b) } -func (m *SubscribeBlockHeadersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlockHeadersRequest.Marshal(b, m, deterministic) +func (m *SubscribeBlockHeadersFromStartBlockIDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDRequest.Marshal(b, m, deterministic) } -func (m *SubscribeBlockHeadersRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlockHeadersRequest.Merge(m, src) +func (m *SubscribeBlockHeadersFromStartBlockIDRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDRequest.Merge(m, src) } -func (m *SubscribeBlockHeadersRequest) XXX_Size() int { - return xxx_messageInfo_SubscribeBlockHeadersRequest.Size(m) +func (m *SubscribeBlockHeadersFromStartBlockIDRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDRequest.Size(m) } -func (m *SubscribeBlockHeadersRequest) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlockHeadersRequest.DiscardUnknown(m) +func (m *SubscribeBlockHeadersFromStartBlockIDRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDRequest.DiscardUnknown(m) } -var xxx_messageInfo_SubscribeBlockHeadersRequest proto.InternalMessageInfo +var xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDRequest proto.InternalMessageInfo -func (m *SubscribeBlockHeadersRequest) GetStartBlock() *StartBlock { +func (m *SubscribeBlockHeadersFromStartBlockIDRequest) GetStartBlockId() []byte { if m != nil { - return m.StartBlock + return m.StartBlockId } return nil } -func (m *SubscribeBlockHeadersRequest) GetBlockStatus() entities.BlockStatus { +func (m *SubscribeBlockHeadersFromStartBlockIDRequest) GetBlockStatus() entities.BlockStatus { if m != nil { return m.BlockStatus } return entities.BlockStatus_BLOCK_UNKNOWN } -// The response for SubscribeBlockHeaders -type SubscribeBlockHeadersResponse struct { +// The response for SubscribeBlockHeadersFromStartBlockID +type SubscribeBlockHeadersFromStartBlockIDResponse struct { // The sealed or finalized block headers according to the block status // in the request. Header *entities.BlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` @@ -2511,42 +2634,46 @@ type SubscribeBlockHeadersResponse struct { XXX_sizecache int32 `json:"-"` } -func (m *SubscribeBlockHeadersResponse) Reset() { *m = SubscribeBlockHeadersResponse{} } -func (m *SubscribeBlockHeadersResponse) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlockHeadersResponse) ProtoMessage() {} -func (*SubscribeBlockHeadersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{51} +func (m *SubscribeBlockHeadersFromStartBlockIDResponse) Reset() { + *m = SubscribeBlockHeadersFromStartBlockIDResponse{} +} +func (m *SubscribeBlockHeadersFromStartBlockIDResponse) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeBlockHeadersFromStartBlockIDResponse) ProtoMessage() {} +func (*SubscribeBlockHeadersFromStartBlockIDResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{54} } -func (m *SubscribeBlockHeadersResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlockHeadersResponse.Unmarshal(m, b) +func (m *SubscribeBlockHeadersFromStartBlockIDResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDResponse.Unmarshal(m, b) } -func (m *SubscribeBlockHeadersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlockHeadersResponse.Marshal(b, m, deterministic) +func (m *SubscribeBlockHeadersFromStartBlockIDResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDResponse.Marshal(b, m, deterministic) } -func (m *SubscribeBlockHeadersResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlockHeadersResponse.Merge(m, src) +func (m *SubscribeBlockHeadersFromStartBlockIDResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDResponse.Merge(m, src) } -func (m *SubscribeBlockHeadersResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlockHeadersResponse.Size(m) +func (m *SubscribeBlockHeadersFromStartBlockIDResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDResponse.Size(m) } -func (m *SubscribeBlockHeadersResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlockHeadersResponse.DiscardUnknown(m) +func (m *SubscribeBlockHeadersFromStartBlockIDResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDResponse.DiscardUnknown(m) } -var xxx_messageInfo_SubscribeBlockHeadersResponse proto.InternalMessageInfo +var xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDResponse proto.InternalMessageInfo -func (m *SubscribeBlockHeadersResponse) GetHeader() *entities.BlockHeader { +func (m *SubscribeBlockHeadersFromStartBlockIDResponse) GetHeader() *entities.BlockHeader { if m != nil { return m.Header } return nil } -// The request for SubscribeBlockDigests -type SubscribeBlockDigestsRequest struct { - // The first block to subscribe. - StartBlock *StartBlock `protobuf:"bytes,1,opt,name=start_block,json=startBlock,proto3" json:"start_block,omitempty"` +// The request for SubscribeBlockHeadersFromStartHeight +type SubscribeBlockHeadersFromStartHeightRequest struct { + // Block height of the first block header to subscribe. + StartBlockHeight uint64 `protobuf:"varint,1,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` // Required block status of the block payload. // Possible variants: // 1. BLOCK_FINALIZED @@ -2557,47 +2684,244 @@ type SubscribeBlockDigestsRequest struct { XXX_sizecache int32 `json:"-"` } -func (m *SubscribeBlockDigestsRequest) Reset() { *m = SubscribeBlockDigestsRequest{} } -func (m *SubscribeBlockDigestsRequest) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlockDigestsRequest) ProtoMessage() {} -func (*SubscribeBlockDigestsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{52} +func (m *SubscribeBlockHeadersFromStartHeightRequest) Reset() { + *m = SubscribeBlockHeadersFromStartHeightRequest{} +} +func (m *SubscribeBlockHeadersFromStartHeightRequest) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeBlockHeadersFromStartHeightRequest) ProtoMessage() {} +func (*SubscribeBlockHeadersFromStartHeightRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{55} +} + +func (m *SubscribeBlockHeadersFromStartHeightRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockHeadersFromStartHeightRequest.Unmarshal(m, b) +} +func (m *SubscribeBlockHeadersFromStartHeightRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockHeadersFromStartHeightRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeBlockHeadersFromStartHeightRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockHeadersFromStartHeightRequest.Merge(m, src) +} +func (m *SubscribeBlockHeadersFromStartHeightRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockHeadersFromStartHeightRequest.Size(m) +} +func (m *SubscribeBlockHeadersFromStartHeightRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockHeadersFromStartHeightRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlockHeadersFromStartHeightRequest proto.InternalMessageInfo + +func (m *SubscribeBlockHeadersFromStartHeightRequest) GetStartBlockHeight() uint64 { + if m != nil { + return m.StartBlockHeight + } + return 0 +} + +func (m *SubscribeBlockHeadersFromStartHeightRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN +} + +// The response for SubscribeBlockHeadersFromStartHeight +type SubscribeBlockHeadersFromStartHeightResponse struct { + // The sealed or finalized block headers according to the block status + // in the request. + Header *entities.BlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlockHeadersFromStartHeightResponse) Reset() { + *m = SubscribeBlockHeadersFromStartHeightResponse{} +} +func (m *SubscribeBlockHeadersFromStartHeightResponse) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeBlockHeadersFromStartHeightResponse) ProtoMessage() {} +func (*SubscribeBlockHeadersFromStartHeightResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{56} +} + +func (m *SubscribeBlockHeadersFromStartHeightResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockHeadersFromStartHeightResponse.Unmarshal(m, b) +} +func (m *SubscribeBlockHeadersFromStartHeightResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockHeadersFromStartHeightResponse.Marshal(b, m, deterministic) +} +func (m *SubscribeBlockHeadersFromStartHeightResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockHeadersFromStartHeightResponse.Merge(m, src) +} +func (m *SubscribeBlockHeadersFromStartHeightResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockHeadersFromStartHeightResponse.Size(m) +} +func (m *SubscribeBlockHeadersFromStartHeightResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockHeadersFromStartHeightResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlockHeadersFromStartHeightResponse proto.InternalMessageInfo + +func (m *SubscribeBlockHeadersFromStartHeightResponse) GetHeader() *entities.BlockHeader { + if m != nil { + return m.Header + } + return nil +} + +// The request for SubscribeBlockHeadersFromLatest +type SubscribeBlockHeadersFromLatestRequest struct { + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,1,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlockHeadersFromLatestRequest) Reset() { + *m = SubscribeBlockHeadersFromLatestRequest{} +} +func (m *SubscribeBlockHeadersFromLatestRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlockHeadersFromLatestRequest) ProtoMessage() {} +func (*SubscribeBlockHeadersFromLatestRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{57} +} + +func (m *SubscribeBlockHeadersFromLatestRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockHeadersFromLatestRequest.Unmarshal(m, b) +} +func (m *SubscribeBlockHeadersFromLatestRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockHeadersFromLatestRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeBlockHeadersFromLatestRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockHeadersFromLatestRequest.Merge(m, src) +} +func (m *SubscribeBlockHeadersFromLatestRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockHeadersFromLatestRequest.Size(m) +} +func (m *SubscribeBlockHeadersFromLatestRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockHeadersFromLatestRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlockHeadersFromLatestRequest proto.InternalMessageInfo + +func (m *SubscribeBlockHeadersFromLatestRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN } -func (m *SubscribeBlockDigestsRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlockDigestsRequest.Unmarshal(m, b) +// The response for SubscribeBlockHeadersFromLatest +type SubscribeBlockHeadersFromLatestResponse struct { + // The sealed or finalized block headers according to the block status + // in the request. + Header *entities.BlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlockHeadersFromLatestResponse) Reset() { + *m = SubscribeBlockHeadersFromLatestResponse{} +} +func (m *SubscribeBlockHeadersFromLatestResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlockHeadersFromLatestResponse) ProtoMessage() {} +func (*SubscribeBlockHeadersFromLatestResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{58} } -func (m *SubscribeBlockDigestsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlockDigestsRequest.Marshal(b, m, deterministic) + +func (m *SubscribeBlockHeadersFromLatestResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockHeadersFromLatestResponse.Unmarshal(m, b) } -func (m *SubscribeBlockDigestsRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlockDigestsRequest.Merge(m, src) +func (m *SubscribeBlockHeadersFromLatestResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockHeadersFromLatestResponse.Marshal(b, m, deterministic) } -func (m *SubscribeBlockDigestsRequest) XXX_Size() int { - return xxx_messageInfo_SubscribeBlockDigestsRequest.Size(m) +func (m *SubscribeBlockHeadersFromLatestResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockHeadersFromLatestResponse.Merge(m, src) } -func (m *SubscribeBlockDigestsRequest) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlockDigestsRequest.DiscardUnknown(m) +func (m *SubscribeBlockHeadersFromLatestResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockHeadersFromLatestResponse.Size(m) +} +func (m *SubscribeBlockHeadersFromLatestResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockHeadersFromLatestResponse.DiscardUnknown(m) } -var xxx_messageInfo_SubscribeBlockDigestsRequest proto.InternalMessageInfo +var xxx_messageInfo_SubscribeBlockHeadersFromLatestResponse proto.InternalMessageInfo -func (m *SubscribeBlockDigestsRequest) GetStartBlock() *StartBlock { +func (m *SubscribeBlockHeadersFromLatestResponse) GetHeader() *entities.BlockHeader { if m != nil { - return m.StartBlock + return m.Header } return nil } -func (m *SubscribeBlockDigestsRequest) GetBlockStatus() entities.BlockStatus { +// The request for SubscribeBlockDigestsFromStartBlockID +type SubscribeBlockDigestsFromStartBlockIDRequest struct { + // Block ID of the first block to subscribe. + StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,2,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlockDigestsFromStartBlockIDRequest) Reset() { + *m = SubscribeBlockDigestsFromStartBlockIDRequest{} +} +func (m *SubscribeBlockDigestsFromStartBlockIDRequest) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeBlockDigestsFromStartBlockIDRequest) ProtoMessage() {} +func (*SubscribeBlockDigestsFromStartBlockIDRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{59} +} + +func (m *SubscribeBlockDigestsFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDRequest.Unmarshal(m, b) +} +func (m *SubscribeBlockDigestsFromStartBlockIDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeBlockDigestsFromStartBlockIDRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDRequest.Merge(m, src) +} +func (m *SubscribeBlockDigestsFromStartBlockIDRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDRequest.Size(m) +} +func (m *SubscribeBlockDigestsFromStartBlockIDRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDRequest proto.InternalMessageInfo + +func (m *SubscribeBlockDigestsFromStartBlockIDRequest) GetStartBlockId() []byte { + if m != nil { + return m.StartBlockId + } + return nil +} + +func (m *SubscribeBlockDigestsFromStartBlockIDRequest) GetBlockStatus() entities.BlockStatus { if m != nil { return m.BlockStatus } return entities.BlockStatus_BLOCK_UNKNOWN } -// The response for SubscribeBlockDigests -type SubscribeBlockDigestsResponse struct { +// The response for SubscribeBlockDigestsFromStartBlockID +type SubscribeBlockDigestsFromStartBlockIDResponse struct { // The block ID of the new sealed or finalized block according to the block status // in the request. BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` @@ -2612,46 +2936,283 @@ type SubscribeBlockDigestsResponse struct { XXX_sizecache int32 `json:"-"` } -func (m *SubscribeBlockDigestsResponse) Reset() { *m = SubscribeBlockDigestsResponse{} } -func (m *SubscribeBlockDigestsResponse) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlockDigestsResponse) ProtoMessage() {} -func (*SubscribeBlockDigestsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{53} +func (m *SubscribeBlockDigestsFromStartBlockIDResponse) Reset() { + *m = SubscribeBlockDigestsFromStartBlockIDResponse{} +} +func (m *SubscribeBlockDigestsFromStartBlockIDResponse) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeBlockDigestsFromStartBlockIDResponse) ProtoMessage() {} +func (*SubscribeBlockDigestsFromStartBlockIDResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{60} } -func (m *SubscribeBlockDigestsResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlockDigestsResponse.Unmarshal(m, b) +func (m *SubscribeBlockDigestsFromStartBlockIDResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDResponse.Unmarshal(m, b) } -func (m *SubscribeBlockDigestsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlockDigestsResponse.Marshal(b, m, deterministic) +func (m *SubscribeBlockDigestsFromStartBlockIDResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDResponse.Marshal(b, m, deterministic) } -func (m *SubscribeBlockDigestsResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlockDigestsResponse.Merge(m, src) +func (m *SubscribeBlockDigestsFromStartBlockIDResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDResponse.Merge(m, src) } -func (m *SubscribeBlockDigestsResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlockDigestsResponse.Size(m) +func (m *SubscribeBlockDigestsFromStartBlockIDResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDResponse.Size(m) } -func (m *SubscribeBlockDigestsResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlockDigestsResponse.DiscardUnknown(m) +func (m *SubscribeBlockDigestsFromStartBlockIDResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDResponse.DiscardUnknown(m) } -var xxx_messageInfo_SubscribeBlockDigestsResponse proto.InternalMessageInfo +var xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDResponse proto.InternalMessageInfo -func (m *SubscribeBlockDigestsResponse) GetBlockId() []byte { +func (m *SubscribeBlockDigestsFromStartBlockIDResponse) GetBlockId() []byte { if m != nil { return m.BlockId } return nil } -func (m *SubscribeBlockDigestsResponse) GetBlockHeight() uint64 { +func (m *SubscribeBlockDigestsFromStartBlockIDResponse) GetBlockHeight() uint64 { if m != nil { return m.BlockHeight } return 0 } -func (m *SubscribeBlockDigestsResponse) GetBlockTimestamp() *timestamppb.Timestamp { +func (m *SubscribeBlockDigestsFromStartBlockIDResponse) GetBlockTimestamp() *timestamppb.Timestamp { + if m != nil { + return m.BlockTimestamp + } + return nil +} + +// The request for SubscribeBlockDigestsFromStartHeight +type SubscribeBlockDigestsFromStartHeightRequest struct { + // Block height of the first block to subscribe. + StartBlockHeight uint64 `protobuf:"varint,1,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,2,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlockDigestsFromStartHeightRequest) Reset() { + *m = SubscribeBlockDigestsFromStartHeightRequest{} +} +func (m *SubscribeBlockDigestsFromStartHeightRequest) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeBlockDigestsFromStartHeightRequest) ProtoMessage() {} +func (*SubscribeBlockDigestsFromStartHeightRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{61} +} + +func (m *SubscribeBlockDigestsFromStartHeightRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockDigestsFromStartHeightRequest.Unmarshal(m, b) +} +func (m *SubscribeBlockDigestsFromStartHeightRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockDigestsFromStartHeightRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeBlockDigestsFromStartHeightRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockDigestsFromStartHeightRequest.Merge(m, src) +} +func (m *SubscribeBlockDigestsFromStartHeightRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockDigestsFromStartHeightRequest.Size(m) +} +func (m *SubscribeBlockDigestsFromStartHeightRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockDigestsFromStartHeightRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlockDigestsFromStartHeightRequest proto.InternalMessageInfo + +func (m *SubscribeBlockDigestsFromStartHeightRequest) GetStartBlockHeight() uint64 { + if m != nil { + return m.StartBlockHeight + } + return 0 +} + +func (m *SubscribeBlockDigestsFromStartHeightRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN +} + +// The response for SubscribeBlockDigestsFromStartHeight +type SubscribeBlockDigestsFromStartHeightResponse struct { + // The block ID of the new sealed or finalized block according to the block status + // in the request. + BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` + // The block height of the new sealed or finalized block according to the block status + // in the request. + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + // The timestamp of the new sealed or finalized block according to the block status + // in the request. + BlockTimestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=block_timestamp,json=blockTimestamp,proto3" json:"block_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlockDigestsFromStartHeightResponse) Reset() { + *m = SubscribeBlockDigestsFromStartHeightResponse{} +} +func (m *SubscribeBlockDigestsFromStartHeightResponse) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeBlockDigestsFromStartHeightResponse) ProtoMessage() {} +func (*SubscribeBlockDigestsFromStartHeightResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{62} +} + +func (m *SubscribeBlockDigestsFromStartHeightResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockDigestsFromStartHeightResponse.Unmarshal(m, b) +} +func (m *SubscribeBlockDigestsFromStartHeightResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockDigestsFromStartHeightResponse.Marshal(b, m, deterministic) +} +func (m *SubscribeBlockDigestsFromStartHeightResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockDigestsFromStartHeightResponse.Merge(m, src) +} +func (m *SubscribeBlockDigestsFromStartHeightResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockDigestsFromStartHeightResponse.Size(m) +} +func (m *SubscribeBlockDigestsFromStartHeightResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockDigestsFromStartHeightResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlockDigestsFromStartHeightResponse proto.InternalMessageInfo + +func (m *SubscribeBlockDigestsFromStartHeightResponse) GetBlockId() []byte { + if m != nil { + return m.BlockId + } + return nil +} + +func (m *SubscribeBlockDigestsFromStartHeightResponse) GetBlockHeight() uint64 { + if m != nil { + return m.BlockHeight + } + return 0 +} + +func (m *SubscribeBlockDigestsFromStartHeightResponse) GetBlockTimestamp() *timestamppb.Timestamp { + if m != nil { + return m.BlockTimestamp + } + return nil +} + +// The request for SubscribeBlockDigestsFromLatest +type SubscribeBlockDigestsFromLatestRequest struct { + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,2,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlockDigestsFromLatestRequest) Reset() { + *m = SubscribeBlockDigestsFromLatestRequest{} +} +func (m *SubscribeBlockDigestsFromLatestRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlockDigestsFromLatestRequest) ProtoMessage() {} +func (*SubscribeBlockDigestsFromLatestRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{63} +} + +func (m *SubscribeBlockDigestsFromLatestRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockDigestsFromLatestRequest.Unmarshal(m, b) +} +func (m *SubscribeBlockDigestsFromLatestRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockDigestsFromLatestRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeBlockDigestsFromLatestRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockDigestsFromLatestRequest.Merge(m, src) +} +func (m *SubscribeBlockDigestsFromLatestRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockDigestsFromLatestRequest.Size(m) +} +func (m *SubscribeBlockDigestsFromLatestRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockDigestsFromLatestRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlockDigestsFromLatestRequest proto.InternalMessageInfo + +func (m *SubscribeBlockDigestsFromLatestRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN +} + +// The response for SubscribeBlockDigestsFromLatest +type SubscribeBlockDigestsFromLatestResponse struct { + // The block ID of the new sealed or finalized block according to the block status + // in the request. + BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` + // The block height of the new sealed or finalized block according to the block status + // in the request. + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + // The timestamp of the new sealed or finalized block according to the block status + // in the request. + BlockTimestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=block_timestamp,json=blockTimestamp,proto3" json:"block_timestamp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeBlockDigestsFromLatestResponse) Reset() { + *m = SubscribeBlockDigestsFromLatestResponse{} +} +func (m *SubscribeBlockDigestsFromLatestResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlockDigestsFromLatestResponse) ProtoMessage() {} +func (*SubscribeBlockDigestsFromLatestResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{64} +} + +func (m *SubscribeBlockDigestsFromLatestResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockDigestsFromLatestResponse.Unmarshal(m, b) +} +func (m *SubscribeBlockDigestsFromLatestResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockDigestsFromLatestResponse.Marshal(b, m, deterministic) +} +func (m *SubscribeBlockDigestsFromLatestResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockDigestsFromLatestResponse.Merge(m, src) +} +func (m *SubscribeBlockDigestsFromLatestResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockDigestsFromLatestResponse.Size(m) +} +func (m *SubscribeBlockDigestsFromLatestResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockDigestsFromLatestResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeBlockDigestsFromLatestResponse proto.InternalMessageInfo + +func (m *SubscribeBlockDigestsFromLatestResponse) GetBlockId() []byte { + if m != nil { + return m.BlockId + } + return nil +} + +func (m *SubscribeBlockDigestsFromLatestResponse) GetBlockHeight() uint64 { + if m != nil { + return m.BlockHeight + } + return 0 +} + +func (m *SubscribeBlockDigestsFromLatestResponse) GetBlockTimestamp() *timestamppb.Timestamp { if m != nil { return m.BlockTimestamp } @@ -2675,7 +3236,7 @@ func (m *SendAndSubscribeTransactionStatusesRequest) String() string { } func (*SendAndSubscribeTransactionStatusesRequest) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{54} + return fileDescriptor_4382e32bb8e3e8e5, []int{65} } func (m *SendAndSubscribeTransactionStatusesRequest) XXX_Unmarshal(b []byte) error { @@ -2730,7 +3291,7 @@ func (m *SendAndSubscribeTransactionStatusesResponse) String() string { } func (*SendAndSubscribeTransactionStatusesResponse) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{55} + return fileDescriptor_4382e32bb8e3e8e5, []int{66} } func (m *SendAndSubscribeTransactionStatusesResponse) XXX_Unmarshal(b []byte) error { @@ -2821,13 +3382,24 @@ func init() { proto.RegisterType((*ExecutionResultForBlockIDResponse)(nil), "flow.access.ExecutionResultForBlockIDResponse") proto.RegisterType((*GetExecutionResultByIDRequest)(nil), "flow.access.GetExecutionResultByIDRequest") proto.RegisterType((*ExecutionResultByIDResponse)(nil), "flow.access.ExecutionResultByIDResponse") - proto.RegisterType((*StartBlock)(nil), "flow.access.StartBlock") - proto.RegisterType((*SubscribeBlocksRequest)(nil), "flow.access.SubscribeBlocksRequest") - proto.RegisterType((*SubscribeBlocksResponse)(nil), "flow.access.SubscribeBlocksResponse") - proto.RegisterType((*SubscribeBlockHeadersRequest)(nil), "flow.access.SubscribeBlockHeadersRequest") - proto.RegisterType((*SubscribeBlockHeadersResponse)(nil), "flow.access.SubscribeBlockHeadersResponse") - proto.RegisterType((*SubscribeBlockDigestsRequest)(nil), "flow.access.SubscribeBlockDigestsRequest") - proto.RegisterType((*SubscribeBlockDigestsResponse)(nil), "flow.access.SubscribeBlockDigestsResponse") + proto.RegisterType((*SubscribeBlocksFromStartBlockIDRequest)(nil), "flow.access.SubscribeBlocksFromStartBlockIDRequest") + proto.RegisterType((*SubscribeBlocksFromStartBlockIDResponse)(nil), "flow.access.SubscribeBlocksFromStartBlockIDResponse") + proto.RegisterType((*SubscribeBlocksFromStartHeightRequest)(nil), "flow.access.SubscribeBlocksFromStartHeightRequest") + proto.RegisterType((*SubscribeBlocksFromStartHeightResponse)(nil), "flow.access.SubscribeBlocksFromStartHeightResponse") + proto.RegisterType((*SubscribeBlocksFromLatestRequest)(nil), "flow.access.SubscribeBlocksFromLatestRequest") + proto.RegisterType((*SubscribeBlocksFromLatestResponse)(nil), "flow.access.SubscribeBlocksFromLatestResponse") + proto.RegisterType((*SubscribeBlockHeadersFromStartBlockIDRequest)(nil), "flow.access.SubscribeBlockHeadersFromStartBlockIDRequest") + proto.RegisterType((*SubscribeBlockHeadersFromStartBlockIDResponse)(nil), "flow.access.SubscribeBlockHeadersFromStartBlockIDResponse") + proto.RegisterType((*SubscribeBlockHeadersFromStartHeightRequest)(nil), "flow.access.SubscribeBlockHeadersFromStartHeightRequest") + proto.RegisterType((*SubscribeBlockHeadersFromStartHeightResponse)(nil), "flow.access.SubscribeBlockHeadersFromStartHeightResponse") + proto.RegisterType((*SubscribeBlockHeadersFromLatestRequest)(nil), "flow.access.SubscribeBlockHeadersFromLatestRequest") + proto.RegisterType((*SubscribeBlockHeadersFromLatestResponse)(nil), "flow.access.SubscribeBlockHeadersFromLatestResponse") + proto.RegisterType((*SubscribeBlockDigestsFromStartBlockIDRequest)(nil), "flow.access.SubscribeBlockDigestsFromStartBlockIDRequest") + proto.RegisterType((*SubscribeBlockDigestsFromStartBlockIDResponse)(nil), "flow.access.SubscribeBlockDigestsFromStartBlockIDResponse") + proto.RegisterType((*SubscribeBlockDigestsFromStartHeightRequest)(nil), "flow.access.SubscribeBlockDigestsFromStartHeightRequest") + proto.RegisterType((*SubscribeBlockDigestsFromStartHeightResponse)(nil), "flow.access.SubscribeBlockDigestsFromStartHeightResponse") + proto.RegisterType((*SubscribeBlockDigestsFromLatestRequest)(nil), "flow.access.SubscribeBlockDigestsFromLatestRequest") + proto.RegisterType((*SubscribeBlockDigestsFromLatestResponse)(nil), "flow.access.SubscribeBlockDigestsFromLatestResponse") proto.RegisterType((*SendAndSubscribeTransactionStatusesRequest)(nil), "flow.access.SendAndSubscribeTransactionStatusesRequest") proto.RegisterType((*SendAndSubscribeTransactionStatusesResponse)(nil), "flow.access.SendAndSubscribeTransactionStatusesResponse") } @@ -2835,146 +3407,161 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2253 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x4f, 0x73, 0x1b, 0x49, - 0x15, 0xdf, 0x91, 0x1c, 0xdb, 0x7a, 0x96, 0x9d, 0xa4, 0xed, 0xd8, 0xf2, 0xd8, 0x8e, 0x95, 0x71, - 0x42, 0xbc, 0xc9, 0x22, 0xa7, 0xbc, 0x50, 0x9b, 0x5d, 0xfe, 0x14, 0x76, 0xd6, 0x38, 0xae, 0x4a, - 0xb6, 0x5c, 0xa3, 0x6c, 0xa8, 0x05, 0x12, 0xd5, 0x58, 0xd3, 0x96, 0x87, 0x48, 0x33, 0x62, 0x7a, - 0x94, 0xc4, 0xc0, 0x61, 0x0f, 0x5b, 0x14, 0x55, 0x1c, 0x38, 0x52, 0x50, 0x70, 0x81, 0x13, 0x5c, - 0x38, 0x71, 0xa0, 0x38, 0x50, 0xf0, 0x0d, 0xf8, 0x3c, 0x5c, 0xa8, 0xe9, 0xee, 0x19, 0x4d, 0xf7, - 0xf4, 0x8c, 0x46, 0x32, 0x5b, 0xe6, 0x92, 0x78, 0xba, 0x5f, 0xbf, 0x3f, 0xfd, 0x5e, 0xbf, 0x7e, - 0xfd, 0x7b, 0x82, 0xda, 0x69, 0xd7, 0x7b, 0xb3, 0x63, 0xb5, 0xdb, 0x98, 0x10, 0xfe, 0x5f, 0xa3, - 0xef, 0x7b, 0x81, 0x87, 0xe6, 0xc2, 0x99, 0x06, 0x1b, 0xd2, 0xd7, 0x28, 0x19, 0x76, 0x03, 0x27, - 0x70, 0x30, 0x25, 0xf4, 0x06, 0x6e, 0xc0, 0x28, 0xf5, 0xba, 0x38, 0x79, 0xd2, 0xf5, 0xda, 0xaf, - 0x5a, 0x67, 0xd8, 0xb2, 0xb1, 0xcf, 0x29, 0x56, 0x15, 0x14, 0x7c, 0xea, 0xa6, 0x38, 0xd5, 0xf6, - 0xba, 0x5d, 0xdc, 0x0e, 0x1c, 0xcf, 0x55, 0x2f, 0xc5, 0xaf, 0x71, 0x2c, 0xf7, 0xb6, 0x34, 0xf5, - 0x16, 0xb7, 0x07, 0xe1, 0xca, 0x96, 0x8f, 0xc9, 0xa0, 0x1b, 0x51, 0xad, 0x8b, 0x54, 0x3d, 0x1c, - 0x58, 0xb6, 0x15, 0x58, 0x7c, 0xf6, 0x8e, 0x38, 0xeb, 0x7a, 0x36, 0x6e, 0xbd, 0xc6, 0x3e, 0x09, - 0xd9, 0x38, 0xee, 0xa9, 0xc7, 0xc9, 0x36, 0x45, 0xb2, 0xc0, 0xb7, 0x5c, 0x62, 0x25, 0xd5, 0xdc, - 0xec, 0x78, 0x5e, 0xa7, 0x8b, 0x77, 0xe8, 0xd7, 0xc9, 0xe0, 0x74, 0x27, 0x70, 0x7a, 0x98, 0x04, - 0x56, 0xaf, 0xcf, 0x08, 0x8c, 0x79, 0x98, 0x3b, 0x76, 0xdc, 0x8e, 0x89, 0x7f, 0x3c, 0xc0, 0x24, - 0x30, 0x16, 0xa0, 0xca, 0x3e, 0x49, 0xdf, 0x73, 0x09, 0x36, 0xd6, 0x60, 0xf5, 0x10, 0x07, 0x9f, - 0x78, 0x36, 0x7e, 0xce, 0xa4, 0x1f, 0xb9, 0xa7, 0x5e, 0x44, 0x7c, 0x0c, 0xba, 0x6a, 0x92, 0x2d, - 0x45, 0xbb, 0x30, 0x15, 0x6a, 0x5a, 0xd3, 0xea, 0xda, 0xf6, 0xdc, 0xee, 0xcd, 0x06, 0xf5, 0x5b, - 0xa4, 0x6a, 0x43, 0x5e, 0x45, 0x69, 0x8d, 0x8f, 0x60, 0xed, 0x10, 0x07, 0x4f, 0xac, 0x00, 0x93, - 0x60, 0x3f, 0xf4, 0xc6, 0x63, 0xea, 0x2e, 0x2e, 0x10, 0xad, 0x41, 0xc5, 0x21, 0x2d, 0x82, 0xad, - 0x2e, 0xb6, 0x29, 0xdf, 0x59, 0x73, 0xd6, 0x21, 0x4d, 0xfa, 0x6d, 0xdc, 0xa7, 0xaa, 0x26, 0x56, - 0xed, 0x9f, 0x1f, 0x7d, 0x1c, 0xad, 0x5c, 0x80, 0x92, 0xc3, 0x96, 0x54, 0xcd, 0x92, 0x63, 0x1b, - 0x1f, 0xc0, 0x86, 0x4c, 0xfc, 0x18, 0x3b, 0x9d, 0xb3, 0x20, 0x5a, 0xb0, 0x0c, 0xd3, 0x67, 0x74, - 0x80, 0x2e, 0x9a, 0x32, 0xf9, 0x97, 0xf1, 0x77, 0x0d, 0x16, 0x05, 0xcd, 0xb8, 0xb5, 0x0f, 0xe0, - 0x0a, 0x0d, 0x1f, 0x6e, 0xae, 0x2e, 0x99, 0x9b, 0x5c, 0xc2, 0x08, 0xd1, 0xb7, 0xa0, 0xca, 0x42, - 0x92, 0x04, 0x56, 0x30, 0x20, 0xb5, 0x52, 0x5d, 0xdb, 0x5e, 0x50, 0x2f, 0x6c, 0x52, 0x0a, 0x73, - 0xee, 0x64, 0xf8, 0x81, 0xde, 0x87, 0xd9, 0x28, 0x66, 0x6a, 0x65, 0x2a, 0x73, 0x45, 0x5a, 0xfa, - 0x94, 0x4f, 0x9b, 0x31, 0xa1, 0x61, 0xc3, 0x0d, 0x71, 0x7f, 0x8b, 0xec, 0x2c, 0x6a, 0xc0, 0xe2, - 0xe9, 0xa0, 0xdb, 0x6d, 0x31, 0x75, 0x7d, 0x6e, 0x32, 0x55, 0x78, 0xd6, 0xbc, 0x1e, 0x4e, 0x71, - 0x5e, 0x3c, 0x68, 0x3e, 0x85, 0xc5, 0x68, 0x73, 0x73, 0x7c, 0x30, 0x36, 0x5b, 0x0b, 0x56, 0x86, - 0x6c, 0x0b, 0x79, 0x6b, 0x6c, 0x11, 0x7f, 0xd1, 0x60, 0x5e, 0x18, 0x41, 0xf7, 0x44, 0xbf, 0x2e, - 0xa9, 0xdc, 0x73, 0x99, 0x1e, 0xbd, 0x07, 0xb5, 0x43, 0x1c, 0x3c, 0x8a, 0xd3, 0x53, 0x5e, 0xd0, - 0x7f, 0xa1, 0x01, 0x1a, 0x52, 0xc6, 0x26, 0x7e, 0x08, 0x30, 0x4c, 0x6f, 0xdc, 0xce, 0x55, 0x49, - 0x72, 0x62, 0x59, 0x82, 0x58, 0x50, 0xb9, 0x54, 0x54, 0xe5, 0xe7, 0xb0, 0xdc, 0xc4, 0xae, 0xfd, - 0x6c, 0x98, 0xac, 0x22, 0x85, 0xbf, 0x09, 0x73, 0x89, 0x14, 0x96, 0x71, 0x94, 0x92, 0xeb, 0x92, - 0xe4, 0xc6, 0x4b, 0x58, 0x49, 0xf1, 0xe5, 0x26, 0xca, 0xa1, 0x37, 0x91, 0xde, 0xff, 0xd2, 0xe8, - 0xe9, 0x51, 0xe8, 0x2d, 0xb3, 0x5f, 0x85, 0x59, 0x16, 0x08, 0x8e, 0x4d, 0xd9, 0x57, 0xcd, 0x19, - 0xfa, 0x7d, 0x64, 0xa3, 0x2d, 0x98, 0x1f, 0xee, 0x5f, 0x38, 0x5f, 0xa6, 0xf3, 0xd5, 0xe1, 0xe0, - 0x91, 0x8d, 0x3e, 0x83, 0x65, 0x7a, 0xa1, 0xb4, 0xb0, 0xdb, 0xf6, 0x6c, 0xc7, 0xed, 0x44, 0xb9, - 0xbf, 0x36, 0x45, 0x43, 0x6a, 0x4b, 0x52, 0xf6, 0x20, 0x24, 0x3e, 0xe0, 0xb4, 0x3c, 0xab, 0x9a, - 0x4b, 0x58, 0x31, 0x6a, 0x3c, 0xa4, 0x19, 0xb6, 0x79, 0x4e, 0x02, 0xdc, 0x53, 0x58, 0x92, 0xd4, - 0x5c, 0x13, 0x34, 0x37, 0x7e, 0xa3, 0xc1, 0x2d, 0xf5, 0xd2, 0xf0, 0x56, 0x1b, 0xcd, 0x20, 0xc7, - 0xaa, 0xd2, 0x45, 0xad, 0xfa, 0xb3, 0x06, 0xeb, 0xa2, 0x6b, 0xf6, 0xcf, 0x8f, 0x5c, 0x1b, 0xbf, - 0x2d, 0xa0, 0xd6, 0x12, 0x5c, 0x71, 0x42, 0x52, 0xaa, 0xc5, 0xbc, 0xc9, 0x3e, 0x72, 0x94, 0x2d, - 0x5f, 0x54, 0xd9, 0x5f, 0x6b, 0xb0, 0x29, 0x2a, 0x4b, 0xf6, 0xcf, 0x69, 0x56, 0x18, 0x1e, 0xdd, - 0x4b, 0xdb, 0x46, 0x3d, 0xe5, 0x59, 0x12, 0x9f, 0xa2, 0xef, 0xc1, 0x62, 0xe2, 0xbc, 0xf1, 0x72, - 0x86, 0xd4, 0xb4, 0x7a, 0x79, 0x7b, 0x6e, 0xf7, 0x2b, 0x8d, 0x44, 0x61, 0xd6, 0x50, 0xc4, 0x07, - 0x63, 0x62, 0xa2, 0x20, 0x25, 0x60, 0xb2, 0xe3, 0xf8, 0x4b, 0x0d, 0x96, 0x92, 0x7b, 0x18, 0xab, - 0xf9, 0x6d, 0xa8, 0x26, 0x64, 0x44, 0xfa, 0xe5, 0xa5, 0x11, 0x81, 0x7e, 0x32, 0x6d, 0x7e, 0xa1, - 0xc1, 0xa2, 0x2a, 0xf3, 0x5c, 0x28, 0xa5, 0x4d, 0xa6, 0xca, 0x5f, 0xcb, 0xb0, 0x9a, 0xb9, 0xff, - 0xe8, 0x21, 0x4c, 0xf3, 0xeb, 0x49, 0xa3, 0xe1, 0x52, 0xcf, 0xd6, 0x85, 0x5f, 0x52, 0x9c, 0x1e, - 0x6d, 0xc2, 0x1c, 0xfb, 0xab, 0xd5, 0xf6, 0x6c, 0xcc, 0x8f, 0x0b, 0xb0, 0xa1, 0x47, 0x9e, 0x8d, - 0xc3, 0xdc, 0x86, 0x7d, 0xdf, 0xf3, 0x5b, 0x3d, 0x4c, 0x88, 0xd5, 0xc1, 0xf4, 0xa8, 0x54, 0xcc, - 0x2a, 0x1d, 0x7c, 0xca, 0xc6, 0xd0, 0x7b, 0x30, 0x4d, 0x63, 0x8f, 0xd4, 0xa6, 0xa8, 0x5f, 0x96, - 0x54, 0xe1, 0x6a, 0x72, 0x1a, 0xe1, 0x1c, 0x5c, 0x11, 0xcf, 0xc1, 0x1d, 0x58, 0x48, 0x46, 0xa3, - 0x63, 0xd7, 0xa6, 0x29, 0xc1, 0x7c, 0x62, 0x54, 0x95, 0x70, 0x67, 0x14, 0x09, 0xf7, 0x56, 0x74, - 0x73, 0xf3, 0x2a, 0x62, 0x96, 0x56, 0x11, 0xec, 0x76, 0x66, 0x95, 0x86, 0xe0, 0x8a, 0x4a, 0x41, - 0x57, 0xa0, 0xfb, 0x70, 0xbd, 0xed, 0xf5, 0xfa, 0x83, 0xc0, 0xa2, 0xd2, 0x07, 0x74, 0x57, 0x80, - 0x32, 0xbf, 0x96, 0x98, 0xf8, 0x34, 0x1c, 0x37, 0xbe, 0x0a, 0xd7, 0x0f, 0x71, 0xb0, 0xc7, 0xde, - 0x30, 0x51, 0x22, 0xa8, 0xc1, 0x8c, 0x65, 0xdb, 0x3e, 0x26, 0x24, 0xca, 0x03, 0xfc, 0xd3, 0xf8, - 0x29, 0xa0, 0x24, 0x79, 0x5c, 0x87, 0xce, 0xf0, 0x57, 0x10, 0x8f, 0xb5, 0x65, 0x49, 0xcb, 0x68, - 0x41, 0x44, 0x36, 0x59, 0x8c, 0x7d, 0x04, 0x37, 0x87, 0xc2, 0xf7, 0x54, 0x15, 0x65, 0xb6, 0xe2, - 0x6f, 0xe1, 0xea, 0x25, 0x69, 0xfd, 0x42, 0xd4, 0x7a, 0x7f, 0xe8, 0xde, 0x91, 0x5a, 0xa7, 0x42, - 0xa4, 0x94, 0x0a, 0x11, 0xe3, 0x33, 0xb8, 0x75, 0x40, 0x1f, 0x7b, 0xb8, 0xd9, 0xf6, 0x9d, 0xbe, - 0x7a, 0x5f, 0x96, 0x61, 0x9a, 0xd0, 0x59, 0x2e, 0x80, 0x7f, 0xa1, 0x75, 0xa8, 0x58, 0x7e, 0x67, - 0xd0, 0xa3, 0x47, 0xa3, 0x54, 0x2f, 0x6f, 0x57, 0xcd, 0xe1, 0x80, 0xd1, 0x87, 0x0d, 0x89, 0x75, - 0xf1, 0x0b, 0x63, 0x28, 0xb1, 0x94, 0x2d, 0xb1, 0x2c, 0x4b, 0xfc, 0x59, 0xca, 0x18, 0xc5, 0x76, - 0xc9, 0x9b, 0xa2, 0xa5, 0xcf, 0xcd, 0x64, 0xd2, 0x7f, 0xa5, 0xc1, 0x0d, 0x41, 0x7c, 0x1c, 0x2a, - 0x4b, 0x70, 0xe5, 0xb5, 0xd5, 0x1d, 0x60, 0x6e, 0x25, 0xfb, 0x98, 0x28, 0x1c, 0xd4, 0xa7, 0xb3, - 0x9c, 0x71, 0x3a, 0xff, 0xad, 0xd1, 0xe0, 0xa1, 0xe9, 0x89, 0x7c, 0xd7, 0xf3, 0xf9, 0x46, 0x58, - 0x6e, 0x07, 0x47, 0xbb, 0x81, 0x60, 0x2a, 0x38, 0xef, 0x33, 0xcd, 0x2a, 0x26, 0xfd, 0x3b, 0xdc, - 0x21, 0x12, 0x58, 0x7e, 0x20, 0x85, 0x0d, 0x1d, 0xe3, 0x3b, 0xb4, 0x01, 0x80, 0x5d, 0x3b, 0x22, - 0x60, 0xf2, 0x2b, 0xd8, 0xb5, 0xf9, 0xf4, 0x97, 0x58, 0x0c, 0xfe, 0x49, 0xa3, 0xd5, 0x60, 0x6c, - 0x13, 0x8f, 0x29, 0x92, 0x67, 0xd0, 0x1a, 0x54, 0xa2, 0x40, 0x8b, 0xe2, 0x74, 0x96, 0x47, 0x1a, - 0xf9, 0x32, 0xab, 0xa6, 0x7f, 0x94, 0x60, 0x81, 0x29, 0x9a, 0xb8, 0x5b, 0x67, 0xc4, 0x1a, 0xc4, - 0x10, 0x6a, 0x10, 0x91, 0xba, 0xc1, 0xef, 0xc1, 0x68, 0xc9, 0x44, 0x21, 0xa3, 0xff, 0x4d, 0x83, - 0x69, 0xc6, 0x28, 0xef, 0xc4, 0x8d, 0xce, 0x15, 0x89, 0x6b, 0xb0, 0x5c, 0xe0, 0x1a, 0x7c, 0x04, - 0x57, 0x19, 0xc3, 0x18, 0xbe, 0xa1, 0xce, 0x0f, 0x2b, 0x09, 0x06, 0xf0, 0x34, 0x22, 0x80, 0xa7, - 0xf1, 0x2c, 0xa2, 0x30, 0x17, 0xe8, 0x92, 0xf8, 0xdb, 0xd8, 0xa0, 0xce, 0xfe, 0x04, 0x07, 0x6f, - 0x3c, 0xff, 0xd5, 0xb1, 0xe5, 0x5b, 0x3d, 0x1c, 0x60, 0x3f, 0x72, 0xb6, 0xf1, 0x21, 0x2d, 0xa1, - 0x15, 0xd3, 0x7c, 0xb7, 0x57, 0x61, 0xb6, 0x7d, 0x66, 0x39, 0x6e, 0x64, 0x6f, 0xc5, 0x9c, 0xa1, - 0xdf, 0x47, 0xb6, 0x71, 0x17, 0xee, 0xc4, 0xb0, 0xc2, 0x71, 0xa8, 0x48, 0xdb, 0xeb, 0x86, 0xc5, - 0x03, 0x6e, 0xba, 0x56, 0x9f, 0x9c, 0x79, 0x51, 0xbe, 0x30, 0x0e, 0x60, 0xfb, 0x10, 0xab, 0x49, - 0xc6, 0x28, 0x81, 0x8d, 0x27, 0x70, 0x37, 0x9b, 0xcd, 0xb8, 0x19, 0x2a, 0x7c, 0x16, 0x6f, 0x64, - 0x68, 0xcd, 0x4d, 0x6f, 0x00, 0x22, 0xd8, 0x77, 0xac, 0xae, 0xf3, 0x13, 0x6c, 0x47, 0xb3, 0x5c, - 0x29, 0xc5, 0xcc, 0x64, 0x97, 0xd3, 0x77, 0x60, 0x2b, 0x3c, 0x8b, 0x11, 0x5a, 0xc8, 0xa2, 0x6c, - 0x78, 0x28, 0x0b, 0x6c, 0xcb, 0x1f, 0xb5, 0x28, 0x67, 0x2b, 0xd7, 0x73, 0x63, 0x8e, 0xe0, 0x9a, - 0x0c, 0x49, 0x66, 0x60, 0x74, 0x12, 0x2f, 0xf3, 0x2a, 0x16, 0x07, 0x26, 0xb3, 0x73, 0x87, 0x42, - 0x6f, 0x12, 0xef, 0x3c, 0xd8, 0xe2, 0xf7, 0x1a, 0xac, 0x29, 0xc9, 0xff, 0x4f, 0x0c, 0x7a, 0x01, - 0xd0, 0x0c, 0xd3, 0x39, 0xdd, 0x68, 0xb4, 0x26, 0xfb, 0xe7, 0xf1, 0x3b, 0xc9, 0xd7, 0xbf, 0x22, - 0x31, 0x3c, 0x7e, 0x47, 0x88, 0xc7, 0xfd, 0x79, 0x60, 0xd7, 0x03, 0x43, 0xad, 0x8c, 0x7f, 0x6a, - 0xb0, 0xdc, 0x1c, 0x9c, 0x84, 0xd7, 0xe6, 0x09, 0xa6, 0x32, 0xe2, 0xfc, 0xfc, 0x50, 0xa0, 0xe4, - 0x46, 0xaf, 0x08, 0x49, 0x70, 0xa8, 0x19, 0x2d, 0xd5, 0x23, 0x2d, 0x2f, 0x08, 0x55, 0x65, 0xe0, - 0x6a, 0xe5, 0x2c, 0x5c, 0xed, 0x00, 0x56, 0x52, 0x26, 0x8c, 0x0f, 0xb0, 0x85, 0x2f, 0xe7, 0x75, - 0x91, 0x0f, 0x83, 0x54, 0x2f, 0x7d, 0x43, 0x8c, 0x26, 0x6c, 0x64, 0x28, 0x16, 0xa3, 0xe1, 0xd3, - 0xac, 0xf5, 0x50, 0x00, 0x20, 0xe6, 0x94, 0x0a, 0x73, 0x3f, 0x76, 0x3a, 0x98, 0x04, 0x97, 0x6f, - 0xee, 0x1f, 0x34, 0xd9, 0xde, 0x58, 0xb3, 0xe1, 0x6d, 0x71, 0x81, 0xdb, 0x51, 0x71, 0xdf, 0x95, - 0xc7, 0xbe, 0xef, 0x7e, 0x04, 0xf7, 0x9a, 0xd8, 0xb5, 0xf7, 0x5c, 0x3b, 0x56, 0x35, 0xf5, 0xb8, - 0xc5, 0xe4, 0x7f, 0x83, 0x3d, 0xfe, 0x4e, 0x83, 0xfb, 0x85, 0x84, 0x65, 0x00, 0x92, 0xc3, 0x57, - 0x79, 0x69, 0xcc, 0x57, 0xf9, 0x16, 0xcc, 0xf3, 0xe7, 0x76, 0x8b, 0xc1, 0x58, 0xac, 0x80, 0xac, - 0xf2, 0x41, 0x8a, 0x82, 0xed, 0xfe, 0x67, 0x1d, 0x2a, 0x7b, 0x34, 0x20, 0xf6, 0x8e, 0x8f, 0xd0, - 0x37, 0x60, 0xea, 0xd8, 0x71, 0x3b, 0xa8, 0x26, 0x44, 0x4a, 0xa2, 0x0d, 0xa4, 0xaf, 0x2a, 0x66, - 0xb8, 0xe6, 0x98, 0x3e, 0x3b, 0xa5, 0xf6, 0x0d, 0x12, 0xd1, 0x9f, 0xcc, 0x96, 0x91, 0x7e, 0x77, - 0x24, 0x1d, 0x17, 0x73, 0x02, 0x4b, 0xaa, 0x4e, 0x10, 0xda, 0x96, 0x19, 0x64, 0x35, 0x8b, 0xf4, - 0xba, 0x40, 0xa9, 0xea, 0xd9, 0xbc, 0xa4, 0xa6, 0x48, 0x1d, 0xa3, 0xb4, 0x29, 0xea, 0x96, 0x52, - 0x01, 0xfe, 0xa7, 0xb0, 0xac, 0x6e, 0x32, 0xa1, 0x7b, 0xb9, 0x32, 0x84, 0x0a, 0xa6, 0x80, 0x9c, - 0x63, 0x58, 0x10, 0x37, 0x02, 0x19, 0x39, 0xbb, 0x14, 0xf1, 0xd5, 0xd3, 0x7c, 0x63, 0x8e, 0x4f, - 0xa0, 0x9a, 0xec, 0xe0, 0xa0, 0xba, 0x52, 0xdf, 0xe4, 0x6e, 0xe4, 0x71, 0x7b, 0x06, 0xd7, 0xe4, - 0xc6, 0x0d, 0xba, 0x9d, 0xc1, 0x51, 0xb4, 0x3d, 0x8f, 0xeb, 0x0f, 0x28, 0x5c, 0x22, 0x76, 0x3e, - 0xd0, 0x1d, 0x99, 0xad, 0xb2, 0x33, 0xa2, 0x6f, 0x0a, 0x64, 0x8a, 0x9e, 0xc8, 0x0f, 0xe1, 0xaa, - 0xd4, 0x4b, 0x40, 0x5b, 0x62, 0x5e, 0x55, 0x76, 0x30, 0xf4, 0xdb, 0xf9, 0x44, 0x9c, 0xfb, 0x73, - 0xea, 0xb0, 0x24, 0xf3, 0x94, 0xc3, 0x14, 0xbc, 0xeb, 0x39, 0x08, 0x6b, 0xf2, 0xd0, 0xa4, 0xb0, - 0xbf, 0x42, 0xdc, 0x0b, 0xe2, 0xb7, 0xa8, 0x4f, 0x5f, 0x11, 0xa9, 0x79, 0x8e, 0xb7, 0xa3, 0x77, - 0x73, 0x44, 0x89, 0x98, 0x7c, 0x61, 0x89, 0x6f, 0xe8, 0xc3, 0x3b, 0x8d, 0x4b, 0xc7, 0x2f, 0x06, - 0xf4, 0x5e, 0x8e, 0xd0, 0x14, 0xb6, 0x2e, 0xe5, 0xa0, 0x1c, 0xbc, 0xfb, 0x15, 0xed, 0xad, 0x29, - 0x79, 0x8d, 0x29, 0xf2, 0x56, 0x96, 0x48, 0x22, 0xf9, 0x2e, 0xd5, 0x5d, 0x49, 0x27, 0xbc, 0xac, - 0xde, 0x4d, 0x81, 0xf8, 0x08, 0x68, 0xc3, 0x3e, 0xa3, 0x83, 0x83, 0x1a, 0x05, 0x24, 0x25, 0x5a, - 0x3d, 0x85, 0xfd, 0xf7, 0x14, 0x60, 0x88, 0xba, 0xa1, 0x9b, 0xb2, 0x14, 0x11, 0xf0, 0x94, 0x8e, - 0xa6, 0x02, 0xe1, 0xb4, 0x69, 0x1b, 0x58, 0x05, 0x3d, 0xa2, 0xfb, 0x19, 0x6b, 0x55, 0x40, 0x9c, - 0xbe, 0x2e, 0x10, 0x8f, 0x90, 0x92, 0xc0, 0xbe, 0x72, 0xa4, 0xa4, 0x11, 0xb2, 0x11, 0x52, 0xfa, - 0xa0, 0x67, 0x23, 0x86, 0x92, 0x43, 0x46, 0x42, 0x8b, 0xba, 0x91, 0x4d, 0x1f, 0x4b, 0x3c, 0x83, - 0x65, 0x35, 0x90, 0x28, 0xdd, 0x49, 0xb9, 0x68, 0x63, 0x21, 0x49, 0x69, 0xdb, 0x92, 0x9b, 0xd8, - 0x18, 0x29, 0x4d, 0xdc, 0xc7, 0x22, 0x12, 0xdb, 0xd4, 0x67, 0x2a, 0x84, 0x2e, 0xed, 0xb3, 0x1c, - 0x1c, 0x4f, 0x5f, 0xcb, 0x81, 0x91, 0xd0, 0x0b, 0x7a, 0x4e, 0x53, 0x90, 0x59, 0xfa, 0x9c, 0x66, - 0xa1, 0x6a, 0xf9, 0xec, 0x5f, 0x51, 0xf6, 0x29, 0x14, 0x26, 0xcd, 0x3e, 0x0b, 0xc7, 0xd1, 0xdf, - 0x2d, 0x40, 0xc9, 0x85, 0x7d, 0xce, 0x30, 0xcd, 0x1c, 0xe0, 0x06, 0xed, 0xaa, 0x2b, 0x89, 0x3c, - 0x94, 0x47, 0x17, 0x23, 0x29, 0x1f, 0x5a, 0xf9, 0x39, 0xeb, 0x2a, 0xe7, 0x43, 0x42, 0xe8, 0xeb, - 0xb2, 0x16, 0x85, 0x20, 0xa4, 0xb1, 0x14, 0xf9, 0x42, 0x83, 0xfa, 0x28, 0x50, 0x09, 0x7d, 0xad, - 0xa0, 0x1e, 0x62, 0xec, 0x8e, 0xa3, 0xc6, 0xe7, 0xac, 0x93, 0x9d, 0x09, 0xe3, 0xa0, 0x07, 0xa9, - 0x38, 0x1b, 0x81, 0x18, 0xe9, 0xaa, 0xa3, 0x96, 0x07, 0x10, 0xb9, 0xb4, 0x6c, 0x55, 0x20, 0x2e, - 0xe9, 0xb2, 0x35, 0x1b, 0xc5, 0xd1, 0xb7, 0xf3, 0xa4, 0x0a, 0xf8, 0xcd, 0x4b, 0xb8, 0x2a, 0x81, - 0x03, 0x72, 0xad, 0xa5, 0x44, 0x3f, 0xe4, 0x5a, 0x4b, 0x8d, 0x2f, 0x3c, 0xd0, 0x50, 0x1f, 0x6e, - 0x28, 0xdf, 0xe6, 0x52, 0xad, 0x92, 0x07, 0x2c, 0x48, 0x2e, 0xcc, 0x7d, 0xea, 0xab, 0x24, 0xf2, - 0xd7, 0x71, 0xae, 0x44, 0xf1, 0x6d, 0x9f, 0x2b, 0x51, 0x7a, 0x6c, 0x3f, 0xd0, 0xd0, 0x6f, 0x35, - 0xd8, 0x2a, 0xf0, 0xfe, 0x44, 0x1f, 0xa4, 0xea, 0xd3, 0x62, 0xcf, 0x63, 0xfd, 0xe1, 0xf8, 0x0b, - 0x23, 0xe5, 0xf6, 0x9f, 0x80, 0xee, 0xf9, 0x9d, 0x86, 0xe7, 0x52, 0x16, 0xf1, 0xcb, 0x9d, 0xf1, - 0xfa, 0x7e, 0xa3, 0xe3, 0x04, 0x67, 0x83, 0x93, 0x46, 0xdb, 0xeb, 0xed, 0x30, 0x92, 0x1d, 0xfa, - 0x4f, 0xfc, 0x93, 0xc5, 0x8e, 0xb7, 0x93, 0xf8, 0x35, 0xe8, 0xc9, 0x34, 0x9d, 0x78, 0xff, 0xbf, - 0x01, 0x00, 0x00, 0xff, 0xff, 0x7d, 0x81, 0xda, 0xf1, 0x23, 0x2a, 0x00, 0x00, + // 2481 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcd, 0x6f, 0xdc, 0xc6, + 0x15, 0x07, 0x77, 0x65, 0x7d, 0x3c, 0xad, 0x64, 0x7b, 0xa4, 0xc8, 0x2b, 0xca, 0x92, 0x56, 0x94, + 0x14, 0x2b, 0xfe, 0x58, 0x09, 0x72, 0x8a, 0x58, 0xee, 0x07, 0x2a, 0x39, 0x8e, 0x22, 0xc0, 0x4e, + 0x85, 0x95, 0xe3, 0x22, 0x6d, 0x1d, 0x81, 0x5a, 0x8e, 0x56, 0xac, 0x77, 0xc9, 0x2d, 0xc9, 0xb5, + 0xad, 0x36, 0x87, 0x1c, 0x82, 0xa2, 0x40, 0x80, 0x16, 0x45, 0x0f, 0x45, 0x83, 0x06, 0x28, 0xd0, + 0x53, 0x8b, 0x02, 0x45, 0x0b, 0xf4, 0x50, 0x14, 0x45, 0x81, 0xa2, 0xff, 0x40, 0xff, 0x9f, 0x1e, + 0x0a, 0xce, 0x0c, 0xb9, 0x9c, 0xe1, 0x70, 0x96, 0xbb, 0xb2, 0x23, 0x5f, 0x12, 0x93, 0xf3, 0xe6, + 0x7d, 0xbf, 0x37, 0xb3, 0xbf, 0x47, 0x41, 0xf9, 0xb8, 0xe9, 0x3e, 0x5f, 0x37, 0xeb, 0x75, 0xec, + 0xfb, 0xec, 0x7f, 0xd5, 0xb6, 0xe7, 0x06, 0x2e, 0x1a, 0x0f, 0x57, 0xaa, 0xf4, 0x95, 0x3e, 0x47, + 0xc8, 0xb0, 0x13, 0xd8, 0x81, 0x8d, 0x09, 0xa1, 0xdb, 0x71, 0x02, 0x4a, 0xa9, 0x57, 0xf8, 0xc5, + 0xa3, 0xa6, 0x5b, 0x7f, 0x7a, 0x78, 0x82, 0x4d, 0x0b, 0x7b, 0x8c, 0x62, 0x56, 0x42, 0xc1, 0x96, + 0x16, 0xf8, 0xa5, 0xba, 0xdb, 0x6c, 0xe2, 0x7a, 0x60, 0xbb, 0x8e, 0x7c, 0x2b, 0x7e, 0x86, 0x63, + 0xb9, 0x2b, 0xc2, 0xd2, 0x0b, 0x5c, 0xef, 0x84, 0x3b, 0x0f, 0x3d, 0xec, 0x77, 0x9a, 0x11, 0xd5, + 0x55, 0x9e, 0xaa, 0x85, 0x03, 0xd3, 0x32, 0x03, 0x93, 0xad, 0xae, 0xf2, 0xab, 0x8e, 0x6b, 0xe1, + 0xc3, 0x67, 0xd8, 0xf3, 0x43, 0x36, 0xb6, 0x73, 0xec, 0x32, 0xb2, 0x45, 0x9e, 0x2c, 0xf0, 0x4c, + 0xc7, 0x37, 0x93, 0x6a, 0x2e, 0x36, 0x5c, 0xb7, 0xd1, 0xc4, 0xeb, 0xe4, 0xe9, 0xa8, 0x73, 0xbc, + 0x1e, 0xd8, 0x2d, 0xec, 0x07, 0x66, 0xab, 0x4d, 0x09, 0x8c, 0x09, 0x18, 0xdf, 0xb7, 0x9d, 0x46, + 0x0d, 0xff, 0xa8, 0x83, 0xfd, 0xc0, 0x98, 0x84, 0x12, 0x7d, 0xf4, 0xdb, 0xae, 0xe3, 0x63, 0x63, + 0x0e, 0x66, 0x77, 0x71, 0xf0, 0x81, 0x6b, 0xe1, 0xc7, 0x54, 0xfa, 0x9e, 0x73, 0xec, 0x46, 0xc4, + 0xfb, 0xa0, 0xcb, 0x16, 0xe9, 0x56, 0xb4, 0x09, 0x43, 0xa1, 0xa6, 0x65, 0xad, 0xa2, 0xad, 0x8d, + 0x6f, 0x2e, 0x54, 0x49, 0xdc, 0x22, 0x55, 0xab, 0xe2, 0x2e, 0x42, 0x6b, 0xdc, 0x85, 0xb9, 0x5d, + 0x1c, 0x3c, 0x30, 0x03, 0xec, 0x07, 0x3b, 0x61, 0x34, 0xde, 0x27, 0xe1, 0x62, 0x02, 0xd1, 0x1c, + 0x8c, 0xd9, 0xfe, 0xa1, 0x8f, 0xcd, 0x26, 0xb6, 0x08, 0xdf, 0xd1, 0xda, 0xa8, 0xed, 0x1f, 0x90, + 0x67, 0xe3, 0x06, 0x51, 0x35, 0xb1, 0x6b, 0xe7, 0x74, 0xef, 0xdd, 0x68, 0xe7, 0x24, 0x14, 0x6c, + 0xba, 0xa5, 0x54, 0x2b, 0xd8, 0x96, 0xf1, 0x0e, 0xcc, 0x8b, 0xc4, 0xef, 0x63, 0xbb, 0x71, 0x12, + 0x44, 0x1b, 0x66, 0x60, 0xf8, 0x84, 0xbc, 0x20, 0x9b, 0x86, 0x6a, 0xec, 0xc9, 0xf8, 0x87, 0x06, + 0x53, 0x9c, 0x66, 0xcc, 0xda, 0x0d, 0xb8, 0x40, 0xd2, 0x87, 0x99, 0xab, 0x0b, 0xe6, 0x26, 0xb7, + 0x50, 0x42, 0xf4, 0x4d, 0x28, 0xd1, 0x94, 0xf4, 0x03, 0x33, 0xe8, 0xf8, 0xe5, 0x42, 0x45, 0x5b, + 0x9b, 0x94, 0x6f, 0x3c, 0x20, 0x14, 0xb5, 0xf1, 0xa3, 0xee, 0x03, 0xba, 0x0d, 0xa3, 0x51, 0xce, + 0x94, 0x8b, 0x44, 0xe6, 0x15, 0x61, 0xeb, 0x43, 0xb6, 0x5c, 0x8b, 0x09, 0x0d, 0x0b, 0xde, 0xe0, + 0xfd, 0x9b, 0xc7, 0xb3, 0xa8, 0x0a, 0x53, 0xc7, 0x9d, 0x66, 0xf3, 0x90, 0xaa, 0xeb, 0x31, 0x93, + 0x89, 0xc2, 0xa3, 0xb5, 0xcb, 0xe1, 0x12, 0xe3, 0xc5, 0x92, 0xe6, 0x43, 0x98, 0x8a, 0x9c, 0xab, + 0x88, 0x41, 0xdf, 0x6c, 0x4d, 0xb8, 0xd2, 0x65, 0x9b, 0x2b, 0x5a, 0x7d, 0x8b, 0xf8, 0xb3, 0x06, + 0x13, 0xdc, 0x1b, 0x74, 0x9d, 0x8f, 0xeb, 0xb4, 0x2c, 0x3c, 0xe7, 0x19, 0xd1, 0xeb, 0x50, 0xde, + 0xc5, 0xc1, 0xbd, 0xb8, 0x3d, 0xa9, 0x92, 0xfe, 0x33, 0x0d, 0x50, 0x97, 0x32, 0x36, 0x71, 0x0b, + 0xa0, 0xdb, 0xde, 0x98, 0x9d, 0xb3, 0x82, 0xe4, 0xc4, 0xb6, 0x04, 0x31, 0xa7, 0x72, 0x21, 0xaf, + 0xca, 0x8f, 0x61, 0xe6, 0x00, 0x3b, 0xd6, 0xa3, 0x6e, 0xb3, 0x8a, 0x14, 0xfe, 0x06, 0x8c, 0x27, + 0x5a, 0x58, 0x46, 0x29, 0x25, 0xf7, 0x25, 0xc9, 0x8d, 0x8f, 0xe1, 0x4a, 0x8a, 0x2f, 0x33, 0x51, + 0x4c, 0xbd, 0x81, 0xf4, 0xfe, 0xb7, 0x46, 0xaa, 0x47, 0xa2, 0xb7, 0xc8, 0x7e, 0x16, 0x46, 0x69, + 0x22, 0xd8, 0x16, 0x61, 0x5f, 0xaa, 0x8d, 0x90, 0xe7, 0x3d, 0x0b, 0x2d, 0xc3, 0x44, 0xd7, 0x7f, + 0xe1, 0x7a, 0x91, 0xac, 0x97, 0xba, 0x2f, 0xf7, 0x2c, 0xf4, 0x11, 0xcc, 0x90, 0x03, 0xe5, 0x10, + 0x3b, 0x75, 0xd7, 0xb2, 0x9d, 0x46, 0xd4, 0xfb, 0xcb, 0x43, 0x24, 0xa5, 0x96, 0x05, 0x65, 0xef, + 0x87, 0xc4, 0xf7, 0x19, 0x2d, 0xeb, 0xaa, 0xb5, 0x69, 0x2c, 0x79, 0x6b, 0xdc, 0x21, 0x1d, 0xf6, + 0xe0, 0xd4, 0x0f, 0x70, 0x4b, 0x62, 0x49, 0x52, 0x73, 0x8d, 0xd3, 0xdc, 0xf8, 0x8d, 0x06, 0x4b, + 0xf2, 0xad, 0xe1, 0xa9, 0xd6, 0x9b, 0x81, 0xc2, 0xaa, 0xc2, 0x59, 0xad, 0xfa, 0xa3, 0x06, 0x57, + 0xf9, 0xd0, 0xec, 0x9c, 0xee, 0x39, 0x16, 0x7e, 0x91, 0x43, 0xad, 0x69, 0xb8, 0x60, 0x87, 0xa4, + 0x44, 0x8b, 0x89, 0x1a, 0x7d, 0x50, 0x28, 0x5b, 0x3c, 0xab, 0xb2, 0xbf, 0xd6, 0x60, 0x91, 0x57, + 0xd6, 0xdf, 0x39, 0x25, 0x5d, 0xa1, 0x5b, 0xba, 0xe7, 0xe6, 0x46, 0x3d, 0x15, 0x59, 0x3f, 0xae, + 0xa2, 0xef, 0xc2, 0x54, 0xa2, 0xde, 0xd8, 0x75, 0xc6, 0x2f, 0x6b, 0x95, 0xe2, 0xda, 0xf8, 0xe6, + 0x9b, 0xd5, 0xc4, 0xc5, 0xac, 0x2a, 0xc9, 0x0f, 0xca, 0xa4, 0x86, 0x82, 0x94, 0x80, 0xc1, 0xca, + 0xf1, 0x73, 0x0d, 0xa6, 0x93, 0x3e, 0x8c, 0xd5, 0xfc, 0x16, 0x94, 0x12, 0x32, 0x22, 0xfd, 0x54, + 0x6d, 0x84, 0xa3, 0x1f, 0x4c, 0x9b, 0x9f, 0x69, 0x30, 0x25, 0xeb, 0x3c, 0x67, 0x6a, 0x69, 0x83, + 0xa9, 0xf2, 0xb7, 0x22, 0xcc, 0x66, 0xfa, 0x1f, 0xdd, 0x81, 0x61, 0x76, 0x3c, 0x69, 0x24, 0x5d, + 0x2a, 0xd9, 0xba, 0xb0, 0x43, 0x8a, 0xd1, 0xa3, 0x45, 0x18, 0xa7, 0xff, 0x3a, 0xac, 0xbb, 0x16, + 0x66, 0xe5, 0x02, 0xf4, 0xd5, 0x3d, 0xd7, 0xc2, 0x61, 0x6f, 0xc3, 0x9e, 0xe7, 0x7a, 0x87, 0x2d, + 0xec, 0xfb, 0x66, 0x03, 0x93, 0x52, 0x19, 0xab, 0x95, 0xc8, 0xcb, 0x87, 0xf4, 0x1d, 0xba, 0x09, + 0xc3, 0x24, 0xf7, 0xfc, 0xf2, 0x10, 0x89, 0xcb, 0xb4, 0x2c, 0x5d, 0x6b, 0x8c, 0x86, 0xab, 0x83, + 0x0b, 0x7c, 0x1d, 0xac, 0xc2, 0x64, 0x32, 0x1b, 0x6d, 0xab, 0x3c, 0x4c, 0x08, 0x26, 0x12, 0x6f, + 0x65, 0x0d, 0x77, 0x44, 0xd2, 0x70, 0x97, 0xa2, 0x93, 0x9b, 0xdd, 0x22, 0x46, 0xc9, 0x2d, 0x82, + 0x9e, 0xce, 0xf4, 0xa6, 0xc1, 0x85, 0x62, 0x2c, 0x67, 0x28, 0xd0, 0x0d, 0xb8, 0x5c, 0x77, 0x5b, + 0xed, 0x4e, 0x60, 0x12, 0xe9, 0x1d, 0xe2, 0x15, 0x20, 0xcc, 0x2f, 0x25, 0x16, 0x3e, 0x0c, 0xdf, + 0x1b, 0xb7, 0xe0, 0xf2, 0x2e, 0x0e, 0xb6, 0xe9, 0x6f, 0x98, 0xa8, 0x11, 0x94, 0x61, 0xc4, 0xb4, + 0x2c, 0x0f, 0xfb, 0x7e, 0xd4, 0x07, 0xd8, 0xa3, 0xf1, 0x13, 0x40, 0x49, 0xf2, 0xf8, 0x1e, 0x3a, + 0xc2, 0x7e, 0x05, 0xb1, 0x5c, 0x9b, 0x11, 0xb4, 0x8c, 0x36, 0x44, 0x64, 0x83, 0xe5, 0xd8, 0x5d, + 0x58, 0xe8, 0x0a, 0xdf, 0x96, 0xdd, 0x28, 0xb3, 0x15, 0x7f, 0x01, 0x17, 0xcf, 0x49, 0xeb, 0x27, + 0xbc, 0xd6, 0x3b, 0xdd, 0xf0, 0xf6, 0xd4, 0x3a, 0x95, 0x22, 0x85, 0x54, 0x8a, 0x18, 0x1f, 0xc1, + 0xd2, 0x7d, 0xf2, 0x63, 0x0f, 0x1f, 0xd4, 0x3d, 0xbb, 0x2d, 0xf7, 0xcb, 0x0c, 0x0c, 0xfb, 0x64, + 0x95, 0x09, 0x60, 0x4f, 0xe8, 0x2a, 0x8c, 0x99, 0x5e, 0xa3, 0xd3, 0x22, 0xa5, 0x51, 0xa8, 0x14, + 0xd7, 0x4a, 0xb5, 0xee, 0x0b, 0xa3, 0x0d, 0xf3, 0x02, 0xeb, 0xfc, 0x07, 0x46, 0x57, 0x62, 0x21, + 0x5b, 0x62, 0x51, 0x94, 0xf8, 0x49, 0xca, 0x18, 0x89, 0xbb, 0x44, 0xa7, 0x68, 0xe9, 0xba, 0x19, + 0x4c, 0xfa, 0x2f, 0x34, 0x78, 0x83, 0x13, 0x1f, 0xa7, 0xca, 0x34, 0x5c, 0x78, 0x66, 0x36, 0x3b, + 0x98, 0x59, 0x49, 0x1f, 0x06, 0x4a, 0x07, 0x79, 0x75, 0x16, 0x33, 0xaa, 0xf3, 0xbf, 0x1a, 0x49, + 0x1e, 0xd2, 0x9e, 0xfc, 0xf7, 0x5c, 0x8f, 0x39, 0xc2, 0x74, 0x1a, 0x38, 0xf2, 0x06, 0x82, 0xa1, + 0xe0, 0xb4, 0x4d, 0x35, 0x1b, 0xab, 0x91, 0x7f, 0x87, 0x1e, 0xf2, 0x03, 0xd3, 0x0b, 0x84, 0xb4, + 0x21, 0xef, 0x98, 0x87, 0xe6, 0x01, 0xb0, 0x63, 0x45, 0x04, 0x54, 0xfe, 0x18, 0x76, 0x2c, 0xb6, + 0xfc, 0x0a, 0x2f, 0x83, 0x7f, 0xd0, 0xc8, 0x6d, 0x30, 0xb6, 0x89, 0xe5, 0x94, 0xaf, 0x32, 0x68, + 0x0e, 0xc6, 0xa2, 0x44, 0x8b, 0xf2, 0x74, 0x94, 0x65, 0x9a, 0xff, 0x2a, 0x6f, 0x4d, 0xff, 0x2a, + 0xc0, 0x24, 0x55, 0x34, 0x71, 0xb6, 0x8e, 0xf0, 0x77, 0x10, 0x83, 0xbb, 0x83, 0xf0, 0xd4, 0x55, + 0x76, 0x0e, 0x46, 0x5b, 0x06, 0x4a, 0x19, 0xfd, 0xef, 0x1a, 0x0c, 0x53, 0x46, 0xaa, 0x8a, 0xeb, + 0xdd, 0x2b, 0x12, 0xc7, 0x60, 0x31, 0xc7, 0x31, 0x78, 0x0f, 0x2e, 0x52, 0x86, 0x31, 0x7c, 0x43, + 0x82, 0x1f, 0xde, 0x24, 0x28, 0xc0, 0x53, 0x8d, 0x00, 0x9e, 0xea, 0xa3, 0x88, 0xa2, 0x36, 0x49, + 0xb6, 0xc4, 0xcf, 0xc6, 0x3c, 0x09, 0xf6, 0x07, 0x38, 0x78, 0xee, 0x7a, 0x4f, 0xf7, 0x4d, 0xcf, + 0x6c, 0xe1, 0x00, 0x7b, 0x51, 0xb0, 0x8d, 0x2d, 0x72, 0x85, 0x96, 0x2c, 0x33, 0x6f, 0xcf, 0xc2, + 0x68, 0xfd, 0xc4, 0xb4, 0x9d, 0xc8, 0xde, 0xb1, 0xda, 0x08, 0x79, 0xde, 0xb3, 0x8c, 0x6b, 0xb0, + 0x1a, 0xc3, 0x0a, 0xfb, 0xa1, 0x22, 0x75, 0xb7, 0x19, 0x5e, 0x1e, 0xf0, 0x81, 0x63, 0xb6, 0xfd, + 0x13, 0x37, 0xea, 0x17, 0xc6, 0x7d, 0x58, 0xdb, 0xc5, 0x72, 0x92, 0x3e, 0xae, 0xc0, 0xc6, 0x03, + 0xb8, 0x96, 0xcd, 0xa6, 0xdf, 0x0e, 0x15, 0xfe, 0x2c, 0x9e, 0xcf, 0xd0, 0x9a, 0x99, 0x5e, 0x05, + 0xe4, 0x63, 0xcf, 0x36, 0x9b, 0xf6, 0x8f, 0xb1, 0x15, 0xad, 0x32, 0xa5, 0x24, 0x2b, 0x83, 0x1d, + 0x4e, 0xdf, 0x86, 0xe5, 0xb0, 0x16, 0x23, 0xb4, 0x90, 0x66, 0x59, 0xb7, 0x28, 0x73, 0xb8, 0xe5, + 0xf7, 0x5a, 0xd4, 0xb3, 0xa5, 0xfb, 0x99, 0x31, 0x7b, 0x70, 0x49, 0x84, 0x24, 0x33, 0x30, 0x3a, + 0x81, 0x57, 0xed, 0x22, 0xe6, 0x5f, 0x0c, 0x66, 0xe7, 0x3a, 0x81, 0xde, 0x04, 0xde, 0x2a, 0xd8, + 0xe2, 0x4b, 0x0d, 0xe6, 0xa4, 0xe4, 0xaf, 0x89, 0x41, 0xff, 0xd4, 0xe0, 0xcd, 0x83, 0xce, 0x51, + 0x78, 0xae, 0x1d, 0x61, 0xe2, 0x6d, 0xff, 0x3d, 0xcf, 0x6d, 0x1d, 0x84, 0x2d, 0x5e, 0x08, 0xde, + 0x0a, 0x4c, 0xd2, 0xd3, 0x40, 0x08, 0x21, 0x3d, 0x23, 0x76, 0x58, 0xfb, 0x38, 0x23, 0x8e, 0x94, + 0x01, 0x7a, 0x15, 0xb3, 0xe1, 0xba, 0x6b, 0x3d, 0xd5, 0xef, 0x1f, 0x0d, 0x33, 0xfe, 0xa3, 0xc1, + 0x6a, 0x16, 0x5f, 0xbe, 0x46, 0x6f, 0x02, 0x4a, 0x7a, 0x85, 0xab, 0xd4, 0x4b, 0x5d, 0xcf, 0xb0, + 0xce, 0xf9, 0x15, 0x7b, 0xe7, 0x51, 0x76, 0x70, 0x23, 0x2b, 0x06, 0x70, 0xce, 0x2f, 0x35, 0xa8, + 0x48, 0xd8, 0xd2, 0x16, 0x1a, 0xf9, 0x45, 0xb4, 0x54, 0x7b, 0x29, 0x96, 0x66, 0x82, 0x9f, 0xdf, + 0x81, 0x25, 0x85, 0x4a, 0x03, 0x18, 0xf9, 0x2b, 0x0d, 0x6e, 0xf2, 0x1c, 0x29, 0x02, 0x7e, 0xae, + 0xe5, 0x61, 0xd4, 0xe1, 0x56, 0x4e, 0xa5, 0xe2, 0x41, 0xc6, 0x30, 0x9d, 0x1a, 0xe5, 0xc0, 0xf6, + 0x19, 0xa5, 0xf1, 0x85, 0x06, 0x37, 0xd4, 0x52, 0xce, 0xaf, 0x04, 0x8c, 0xa3, 0x5e, 0x61, 0x11, + 0x12, 0x7b, 0x10, 0x07, 0x34, 0xc4, 0xb2, 0x49, 0xc8, 0x78, 0x99, 0x59, 0x6e, 0x3c, 0x11, 0xbb, + 0x97, 0x44, 0xd0, 0x19, 0xec, 0x48, 0xe7, 0xf0, 0xbb, 0x76, 0x03, 0xfb, 0xc1, 0xf9, 0xe6, 0xf0, + 0x5f, 0x35, 0x31, 0x89, 0x33, 0xb5, 0xea, 0xde, 0xde, 0xce, 0x70, 0x5b, 0x95, 0xdc, 0x3f, 0x8b, + 0x7d, 0xdf, 0x3f, 0xd3, 0x35, 0x21, 0x2a, 0x7d, 0x8e, 0x35, 0xf1, 0x97, 0x9e, 0x71, 0x16, 0x8a, + 0xe2, 0x35, 0x70, 0x68, 0xaa, 0xc6, 0x12, 0x2a, 0xab, 0x6b, 0xac, 0x4f, 0xe7, 0xfc, 0x49, 0x13, + 0x8b, 0x4c, 0x22, 0xe9, 0xf5, 0xf1, 0xcb, 0x0f, 0xe1, 0xfa, 0x01, 0x76, 0xac, 0x6d, 0xc7, 0x8a, + 0x95, 0x4e, 0xa1, 0x9a, 0xd8, 0x7f, 0x39, 0x43, 0xa7, 0xdf, 0x86, 0x49, 0x9d, 0x47, 0x58, 0xc6, + 0x24, 0xaa, 0x0b, 0xc7, 0x16, 0xfa, 0x84, 0x63, 0x97, 0x61, 0x82, 0xe1, 0xac, 0x87, 0x74, 0x7e, + 0x41, 0x91, 0x83, 0x12, 0x7b, 0x49, 0xc6, 0x1f, 0x9b, 0xff, 0x5b, 0x81, 0xb1, 0x6d, 0xf2, 0x73, + 0x78, 0x7b, 0x7f, 0x0f, 0x7d, 0x1d, 0x86, 0xf6, 0x6d, 0xa7, 0x81, 0xca, 0xdc, 0xef, 0xe4, 0xc4, + 0xfc, 0x5f, 0x9f, 0x95, 0xac, 0x30, 0xcd, 0x31, 0xc1, 0x1b, 0x85, 0xb9, 0x3d, 0xe2, 0x61, 0xff, + 0xcc, 0x6f, 0x05, 0xf4, 0x6b, 0x3d, 0xe9, 0x98, 0x98, 0x23, 0x98, 0x96, 0x7d, 0x02, 0x80, 0xd6, + 0x44, 0x06, 0x59, 0x5f, 0x09, 0xe8, 0x15, 0x8e, 0x52, 0x36, 0xac, 0xff, 0x98, 0x98, 0x22, 0x7c, + 0x2a, 0x90, 0x36, 0x45, 0xfe, 0x2d, 0x41, 0x0e, 0xfe, 0xc7, 0x30, 0x23, 0xff, 0xba, 0x00, 0x5d, + 0x57, 0xca, 0xe0, 0xfa, 0x5f, 0x0e, 0x39, 0xfb, 0x30, 0xc9, 0x3b, 0x02, 0x19, 0x0a, 0x2f, 0x45, + 0x7c, 0xf5, 0x34, 0xdf, 0x98, 0xe3, 0x03, 0x28, 0x25, 0x47, 0xf7, 0xa8, 0x22, 0xd5, 0x37, 0xe9, + 0x0d, 0x15, 0xb7, 0x47, 0x70, 0x49, 0x9c, 0xd8, 0xa3, 0x95, 0x0c, 0x8e, 0xbc, 0xed, 0x2a, 0xae, + 0xdf, 0x27, 0x38, 0x39, 0x3f, 0xf2, 0x46, 0xab, 0x22, 0x5b, 0xe9, 0x48, 0x5c, 0x5f, 0xe4, 0xc8, + 0x24, 0xc3, 0xf0, 0x1f, 0xc0, 0x45, 0x61, 0x88, 0x8c, 0x96, 0xb9, 0x3d, 0xf2, 0xd1, 0xb5, 0xbe, + 0xa2, 0x26, 0x62, 0xdc, 0x1f, 0x93, 0x80, 0x25, 0x99, 0xa7, 0x02, 0x26, 0xe1, 0x5d, 0x51, 0x8c, + 0xd6, 0x92, 0x45, 0x93, 0x1a, 0xfa, 0xe4, 0xe2, 0x9e, 0x73, 0x70, 0x87, 0xda, 0x04, 0x3e, 0x4a, + 0xad, 0xb3, 0x41, 0x2b, 0x7a, 0x4b, 0x21, 0x8a, 0x1f, 0xc6, 0xe6, 0x96, 0xf8, 0x9c, 0x20, 0xae, + 0xe9, 0x81, 0x64, 0x0c, 0x15, 0xa1, 0x9b, 0x0a, 0xa1, 0xa9, 0xa1, 0xaa, 0xd0, 0x83, 0x14, 0x83, + 0xce, 0xa7, 0xe4, 0xa3, 0x0a, 0x29, 0xaf, 0x3e, 0x45, 0x2e, 0x65, 0x89, 0xf4, 0x85, 0xd8, 0xa5, + 0xc6, 0xea, 0xe9, 0x86, 0x97, 0x35, 0xb4, 0xcf, 0x91, 0x1f, 0x01, 0xf9, 0x52, 0x2b, 0x63, 0x74, + 0x8f, 0xaa, 0x39, 0x24, 0x25, 0x66, 0xfc, 0xb9, 0xe3, 0xf7, 0x10, 0xa0, 0x3b, 0x6e, 0x41, 0x0b, + 0xa2, 0x14, 0x7e, 0xd2, 0x25, 0x94, 0xa6, 0x64, 0xb4, 0x65, 0x91, 0xef, 0x7f, 0x64, 0x33, 0x27, + 0x74, 0x23, 0x63, 0xaf, 0x6c, 0x02, 0xa3, 0x5f, 0xe5, 0x88, 0x7b, 0x48, 0x49, 0x5e, 0x31, 0xb3, + 0xa5, 0xa4, 0x47, 0x23, 0x3d, 0xa4, 0xb4, 0x41, 0xcf, 0x1e, 0x15, 0x09, 0x01, 0xe9, 0x39, 0x53, + 0xd2, 0x8d, 0x6c, 0xfa, 0x58, 0xe2, 0x09, 0xcc, 0xc8, 0x27, 0x48, 0xc2, 0x99, 0xa4, 0x1c, 0x33, + 0xe5, 0x92, 0x94, 0xb6, 0x2d, 0xe9, 0xc4, 0x6a, 0x4f, 0x69, 0xbc, 0x1f, 0xf3, 0x48, 0xac, 0x93, + 0x98, 0xc9, 0x46, 0x33, 0xe9, 0x98, 0x29, 0x06, 0x38, 0xfa, 0x9c, 0x62, 0x7e, 0x80, 0x9e, 0x90, + 0x3a, 0x4d, 0xcd, 0x4a, 0xd2, 0x75, 0x9a, 0x35, 0x4e, 0x51, 0xb3, 0x7f, 0x4a, 0xd8, 0xa7, 0xe0, + 0xf7, 0x34, 0xfb, 0x2c, 0x00, 0x5f, 0x7f, 0x2b, 0x07, 0x25, 0x13, 0xf6, 0x29, 0x1d, 0x66, 0x29, + 0x10, 0x7b, 0xb4, 0x29, 0xbf, 0x49, 0xa8, 0xe0, 0x7d, 0x9d, 0xcf, 0x24, 0x35, 0xa6, 0xfe, 0x53, + 0xfa, 0x39, 0x91, 0x7a, 0x16, 0x80, 0xbe, 0x26, 0x6a, 0x91, 0x6b, 0x76, 0xd0, 0x97, 0x22, 0x9f, + 0x69, 0x50, 0xe9, 0x35, 0x4d, 0x40, 0x6f, 0xe7, 0xd4, 0x83, 0xcf, 0xdd, 0x7e, 0xd4, 0xf8, 0x94, + 0x7e, 0xc2, 0x94, 0x89, 0xdf, 0xa3, 0x8d, 0x54, 0x9e, 0xf5, 0x18, 0x15, 0xe8, 0xb2, 0x52, 0x53, + 0x4d, 0x06, 0x1c, 0x72, 0x6d, 0x95, 0x40, 0xed, 0xe9, 0x6b, 0x6b, 0x36, 0x7c, 0xaf, 0xaf, 0xa9, + 0xa4, 0x72, 0xc0, 0xfd, 0xcf, 0x35, 0x58, 0xec, 0x81, 0x3c, 0xa3, 0xdb, 0xfc, 0xbd, 0x2a, 0x17, + 0xcc, 0xae, 0xbf, 0xdd, 0xdf, 0x26, 0xaa, 0xce, 0x86, 0x86, 0x3e, 0xd7, 0x60, 0x41, 0x0d, 0xf6, + 0x0a, 0x65, 0x91, 0x0b, 0xdf, 0xd6, 0x6f, 0xf7, 0xb5, 0x27, 0xd6, 0xe6, 0x13, 0x98, 0xcd, 0xc4, + 0x63, 0xd1, 0xad, 0x5e, 0x3c, 0x39, 0x00, 0x40, 0x48, 0x85, 0x9e, 0x30, 0xef, 0x86, 0x86, 0x7e, + 0x97, 0x82, 0xef, 0x33, 0x70, 0x52, 0xb4, 0xa5, 0xe0, 0xad, 0x06, 0x7c, 0xf5, 0xbb, 0x83, 0x6c, + 0x8d, 0x55, 0xfc, 0x52, 0x83, 0x95, 0x3c, 0x40, 0x26, 0xba, 0xd3, 0x87, 0x18, 0x3e, 0x74, 0x5b, + 0x03, 0xec, 0x8c, 0xf5, 0x4b, 0xe7, 0x77, 0x0a, 0x9b, 0x54, 0xe6, 0x77, 0x16, 0x64, 0xaa, 0xcc, + 0xef, 0x4c, 0xf8, 0x53, 0x1a, 0xd3, 0x0c, 0xd8, 0x50, 0x19, 0x53, 0x35, 0x00, 0xaa, 0x8c, 0x69, + 0x0f, 0x94, 0x52, 0x1a, 0x53, 0x39, 0x0e, 0xa7, 0x8c, 0xa9, 0x12, 0x57, 0xd4, 0xb7, 0x06, 0xd8, + 0xa9, 0x88, 0x69, 0x0a, 0x0a, 0x53, 0xc6, 0x34, 0x0b, 0xa2, 0x53, 0xc6, 0x34, 0x13, 0x6d, 0xdb, + 0xd0, 0xd0, 0x17, 0x1a, 0x2c, 0xe7, 0x00, 0xa0, 0xd0, 0x3b, 0xa9, 0x1f, 0xa8, 0xf9, 0xf0, 0x31, + 0xfd, 0x4e, 0xff, 0x1b, 0x23, 0xe5, 0x76, 0x1e, 0x80, 0xee, 0x7a, 0x8d, 0xaa, 0xeb, 0x10, 0x16, + 0x31, 0x74, 0x47, 0x79, 0x7d, 0xaf, 0xda, 0xb0, 0x83, 0x93, 0xce, 0x51, 0xb5, 0xee, 0xb6, 0xd6, + 0x29, 0xc9, 0x3a, 0xf9, 0x4f, 0xfc, 0xc7, 0x2a, 0x0d, 0x77, 0x3d, 0xf1, 0x77, 0x40, 0x47, 0xc3, + 0x64, 0xe1, 0xf6, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x05, 0xf7, 0x57, 0xa0, 0x1d, 0x34, 0x00, + 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index 39d3a2a1b..8c9bcba91 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -19,41 +19,47 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - AccessAPI_Ping_FullMethodName = "/flow.access.AccessAPI/Ping" - AccessAPI_GetNodeVersionInfo_FullMethodName = "/flow.access.AccessAPI/GetNodeVersionInfo" - AccessAPI_GetLatestBlockHeader_FullMethodName = "/flow.access.AccessAPI/GetLatestBlockHeader" - AccessAPI_GetBlockHeaderByID_FullMethodName = "/flow.access.AccessAPI/GetBlockHeaderByID" - AccessAPI_GetBlockHeaderByHeight_FullMethodName = "/flow.access.AccessAPI/GetBlockHeaderByHeight" - AccessAPI_GetLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetLatestBlock" - AccessAPI_GetBlockByID_FullMethodName = "/flow.access.AccessAPI/GetBlockByID" - AccessAPI_GetBlockByHeight_FullMethodName = "/flow.access.AccessAPI/GetBlockByHeight" - AccessAPI_GetCollectionByID_FullMethodName = "/flow.access.AccessAPI/GetCollectionByID" - AccessAPI_SendTransaction_FullMethodName = "/flow.access.AccessAPI/SendTransaction" - AccessAPI_GetTransaction_FullMethodName = "/flow.access.AccessAPI/GetTransaction" - AccessAPI_GetTransactionResult_FullMethodName = "/flow.access.AccessAPI/GetTransactionResult" - AccessAPI_GetTransactionResultByIndex_FullMethodName = "/flow.access.AccessAPI/GetTransactionResultByIndex" - AccessAPI_GetTransactionResultsByBlockID_FullMethodName = "/flow.access.AccessAPI/GetTransactionResultsByBlockID" - AccessAPI_GetTransactionsByBlockID_FullMethodName = "/flow.access.AccessAPI/GetTransactionsByBlockID" - AccessAPI_GetSystemTransaction_FullMethodName = "/flow.access.AccessAPI/GetSystemTransaction" - AccessAPI_GetSystemTransactionResult_FullMethodName = "/flow.access.AccessAPI/GetSystemTransactionResult" - AccessAPI_GetAccount_FullMethodName = "/flow.access.AccessAPI/GetAccount" - AccessAPI_GetAccountAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountAtLatestBlock" - AccessAPI_GetAccountAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountAtBlockHeight" - AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock" - AccessAPI_ExecuteScriptAtBlockID_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockID" - AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight" - AccessAPI_GetEventsForHeightRange_FullMethodName = "/flow.access.AccessAPI/GetEventsForHeightRange" - AccessAPI_GetEventsForBlockIDs_FullMethodName = "/flow.access.AccessAPI/GetEventsForBlockIDs" - AccessAPI_GetNetworkParameters_FullMethodName = "/flow.access.AccessAPI/GetNetworkParameters" - AccessAPI_GetLatestProtocolStateSnapshot_FullMethodName = "/flow.access.AccessAPI/GetLatestProtocolStateSnapshot" - AccessAPI_GetProtocolStateSnapshotByBlockID_FullMethodName = "/flow.access.AccessAPI/GetProtocolStateSnapshotByBlockID" - AccessAPI_GetProtocolStateSnapshotByHeight_FullMethodName = "/flow.access.AccessAPI/GetProtocolStateSnapshotByHeight" - AccessAPI_GetExecutionResultForBlockID_FullMethodName = "/flow.access.AccessAPI/GetExecutionResultForBlockID" - AccessAPI_GetExecutionResultByID_FullMethodName = "/flow.access.AccessAPI/GetExecutionResultByID" - AccessAPI_SubscribeBlocks_FullMethodName = "/flow.access.AccessAPI/SubscribeBlocks" - AccessAPI_SubscribeBlockHeaders_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockHeaders" - AccessAPI_SubscribeBlockDigests_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockDigests" - AccessAPI_SendAndSubscribeTransactionStatuses_FullMethodName = "/flow.access.AccessAPI/SendAndSubscribeTransactionStatuses" + AccessAPI_Ping_FullMethodName = "/flow.access.AccessAPI/Ping" + AccessAPI_GetNodeVersionInfo_FullMethodName = "/flow.access.AccessAPI/GetNodeVersionInfo" + AccessAPI_GetLatestBlockHeader_FullMethodName = "/flow.access.AccessAPI/GetLatestBlockHeader" + AccessAPI_GetBlockHeaderByID_FullMethodName = "/flow.access.AccessAPI/GetBlockHeaderByID" + AccessAPI_GetBlockHeaderByHeight_FullMethodName = "/flow.access.AccessAPI/GetBlockHeaderByHeight" + AccessAPI_GetLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetLatestBlock" + AccessAPI_GetBlockByID_FullMethodName = "/flow.access.AccessAPI/GetBlockByID" + AccessAPI_GetBlockByHeight_FullMethodName = "/flow.access.AccessAPI/GetBlockByHeight" + AccessAPI_GetCollectionByID_FullMethodName = "/flow.access.AccessAPI/GetCollectionByID" + AccessAPI_SendTransaction_FullMethodName = "/flow.access.AccessAPI/SendTransaction" + AccessAPI_GetTransaction_FullMethodName = "/flow.access.AccessAPI/GetTransaction" + AccessAPI_GetTransactionResult_FullMethodName = "/flow.access.AccessAPI/GetTransactionResult" + AccessAPI_GetTransactionResultByIndex_FullMethodName = "/flow.access.AccessAPI/GetTransactionResultByIndex" + AccessAPI_GetTransactionResultsByBlockID_FullMethodName = "/flow.access.AccessAPI/GetTransactionResultsByBlockID" + AccessAPI_GetTransactionsByBlockID_FullMethodName = "/flow.access.AccessAPI/GetTransactionsByBlockID" + AccessAPI_GetSystemTransaction_FullMethodName = "/flow.access.AccessAPI/GetSystemTransaction" + AccessAPI_GetSystemTransactionResult_FullMethodName = "/flow.access.AccessAPI/GetSystemTransactionResult" + AccessAPI_GetAccount_FullMethodName = "/flow.access.AccessAPI/GetAccount" + AccessAPI_GetAccountAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountAtLatestBlock" + AccessAPI_GetAccountAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountAtBlockHeight" + AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock" + AccessAPI_ExecuteScriptAtBlockID_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockID" + AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight" + AccessAPI_GetEventsForHeightRange_FullMethodName = "/flow.access.AccessAPI/GetEventsForHeightRange" + AccessAPI_GetEventsForBlockIDs_FullMethodName = "/flow.access.AccessAPI/GetEventsForBlockIDs" + AccessAPI_GetNetworkParameters_FullMethodName = "/flow.access.AccessAPI/GetNetworkParameters" + AccessAPI_GetLatestProtocolStateSnapshot_FullMethodName = "/flow.access.AccessAPI/GetLatestProtocolStateSnapshot" + AccessAPI_GetProtocolStateSnapshotByBlockID_FullMethodName = "/flow.access.AccessAPI/GetProtocolStateSnapshotByBlockID" + AccessAPI_GetProtocolStateSnapshotByHeight_FullMethodName = "/flow.access.AccessAPI/GetProtocolStateSnapshotByHeight" + AccessAPI_GetExecutionResultForBlockID_FullMethodName = "/flow.access.AccessAPI/GetExecutionResultForBlockID" + AccessAPI_GetExecutionResultByID_FullMethodName = "/flow.access.AccessAPI/GetExecutionResultByID" + AccessAPI_SubscribeBlocksFromStartBlockID_FullMethodName = "/flow.access.AccessAPI/SubscribeBlocksFromStartBlockID" + AccessAPI_SubscribeBlocksFromStartHeight_FullMethodName = "/flow.access.AccessAPI/SubscribeBlocksFromStartHeight" + AccessAPI_SubscribeBlocksFromLatest_FullMethodName = "/flow.access.AccessAPI/SubscribeBlocksFromLatest" + AccessAPI_SubscribeBlockHeadersFromStartBlockID_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockHeadersFromStartBlockID" + AccessAPI_SubscribeBlockHeadersFromStartHeight_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockHeadersFromStartHeight" + AccessAPI_SubscribeBlockHeadersFromLatest_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockHeadersFromLatest" + AccessAPI_SubscribeBlockDigestsFromStartBlockID_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockDigestsFromStartBlockID" + AccessAPI_SubscribeBlockDigestsFromStartHeight_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockDigestsFromStartHeight" + AccessAPI_SubscribeBlockDigestsFromLatest_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockDigestsFromLatest" + AccessAPI_SendAndSubscribeTransactionStatuses_FullMethodName = "/flow.access.AccessAPI/SendAndSubscribeTransactionStatuses" ) // AccessAPIClient is the client API for AccessAPI service. @@ -145,32 +151,72 @@ type AccessAPIClient interface { GetExecutionResultForBlockID(ctx context.Context, in *GetExecutionResultForBlockIDRequest, opts ...grpc.CallOption) (*ExecutionResultForBlockIDResponse, error) // GetExecutionResultByID returns Execution Result by its ID. GetExecutionResultByID(ctx context.Context, in *GetExecutionResultByIDRequest, opts ...grpc.CallOption) (*ExecutionResultByIDResponse, error) - // SubscribeBlocks streams finalized or sealed blocks starting at the requested - // start block, up until the latest available block. Once the latest is + // SubscribeBlocksFromStartBlockID streams finalized or sealed blocks starting at the requested + // start block id, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new // block as it becomes available. // // Blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed blocks will be returned. - SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksClient, error) - // SubscribeBlockHeaders streams finalized or sealed block headers starting at the requested - // start block, up until the latest available block header. Once the latest is + SubscribeBlocksFromStartBlockID(ctx context.Context, in *SubscribeBlocksFromStartBlockIDRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromStartBlockIDClient, error) + // SubscribeBlocksFromStartHeight streams finalized or sealed blocks starting at the requested + // start block height, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed blocks will be returned. + SubscribeBlocksFromStartHeight(ctx context.Context, in *SubscribeBlocksFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromStartHeightClient, error) + // SubscribeBlocksFromLatest streams finalized or sealed blocks starting of the latest finalized or sealed + // block. The stream will remain open and responses are sent for each new block as it becomes available. + // + // Blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed blocks will be returned. + SubscribeBlocksFromLatest(ctx context.Context, in *SubscribeBlocksFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromLatestClient, error) + // SubscribeBlockHeadersFromStartBlockID streams finalized or sealed block headers starting at the requested + // start block id, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new // block header as it becomes available. // // Block headers are only returned when they have reached the provided block status. For example, - // if the status is "sealed", only sealed block headres will be returned. + // if the status is "sealed", only sealed block headers will be returned. + SubscribeBlockHeadersFromStartBlockID(ctx context.Context, in *SubscribeBlockHeadersFromStartBlockIDRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromStartBlockIDClient, error) + // SubscribeBlockHeadersFromStartHeight streams finalized or sealed block headers starting at the requested + // start block height, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block header as it becomes available. // - // This is a lighter version of `SubscribeBlocks` as it will never include the heavy `BlockPayload`. - SubscribeBlockHeaders(ctx context.Context, in *SubscribeBlockHeadersRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersClient, error) - // SubscribeBlockDigests streams finalized or sealed lightweight block starting at the requested - // start block, up until the latest available block. Once the latest is + // Block headers are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed block headers will be returned. + SubscribeBlockHeadersFromStartHeight(ctx context.Context, in *SubscribeBlockHeadersFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromStartHeightClient, error) + // SubscribeBlockHeadersFromLatest streams finalized or sealed block headers starting of the latest finalized or sealed + // block. The stream will remain open and responses are sent for each new block header as it becomes available. + // + // Block headers are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed block headers will be returned. + SubscribeBlockHeadersFromLatest(ctx context.Context, in *SubscribeBlockHeadersFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromLatestClient, error) + // SubscribeBlockDigestsFromStartBlockID streams finalized or sealed lightweight block starting at the requested + // start block id, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new - // block as it becomes available. + // lightweight block as it becomes available. // // Lightweight blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed lightweight blocks will be returned. - SubscribeBlockDigests(ctx context.Context, in *SubscribeBlockDigestsRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsClient, error) + SubscribeBlockDigestsFromStartBlockID(ctx context.Context, in *SubscribeBlockDigestsFromStartBlockIDRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromStartBlockIDClient, error) + // SubscribeBlockDigestsFromStartHeight streams finalized or sealed lightweight block starting at the requested + // start block height, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // lightweight block as it becomes available. + // + // Lightweight blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed lightweight blocks will be returned. + SubscribeBlockDigestsFromStartHeight(ctx context.Context, in *SubscribeBlockDigestsFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromStartHeightClient, error) + // SubscribeBlockDigestsFromLatest streams finalized or sealed lightweight block headers starting of the latest finalized or sealed + // block. The stream will remain open and responses are sent for each new lightweight block as it becomes available. + // + // Lightweight blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed lightweight blocks will be returned. + SubscribeBlockDigestsFromLatest(ctx context.Context, in *SubscribeBlockDigestsFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromLatestClient, error) // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. SendAndSubscribeTransactionStatuses(ctx context.Context, in *SendAndSubscribeTransactionStatusesRequest, opts ...grpc.CallOption) (AccessAPI_SendAndSubscribeTransactionStatusesClient, error) @@ -463,12 +509,204 @@ func (c *accessAPIClient) GetExecutionResultByID(ctx context.Context, in *GetExe return out, nil } -func (c *accessAPIClient) SubscribeBlocks(ctx context.Context, in *SubscribeBlocksRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[0], AccessAPI_SubscribeBlocks_FullMethodName, opts...) +func (c *accessAPIClient) SubscribeBlocksFromStartBlockID(ctx context.Context, in *SubscribeBlocksFromStartBlockIDRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromStartBlockIDClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[0], AccessAPI_SubscribeBlocksFromStartBlockID_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &accessAPISubscribeBlocksFromStartBlockIDClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type AccessAPI_SubscribeBlocksFromStartBlockIDClient interface { + Recv() (*SubscribeBlocksFromStartBlockIDResponse, error) + grpc.ClientStream +} + +type accessAPISubscribeBlocksFromStartBlockIDClient struct { + grpc.ClientStream +} + +func (x *accessAPISubscribeBlocksFromStartBlockIDClient) Recv() (*SubscribeBlocksFromStartBlockIDResponse, error) { + m := new(SubscribeBlocksFromStartBlockIDResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *accessAPIClient) SubscribeBlocksFromStartHeight(ctx context.Context, in *SubscribeBlocksFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromStartHeightClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[1], AccessAPI_SubscribeBlocksFromStartHeight_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &accessAPISubscribeBlocksFromStartHeightClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type AccessAPI_SubscribeBlocksFromStartHeightClient interface { + Recv() (*SubscribeBlocksFromStartHeightResponse, error) + grpc.ClientStream +} + +type accessAPISubscribeBlocksFromStartHeightClient struct { + grpc.ClientStream +} + +func (x *accessAPISubscribeBlocksFromStartHeightClient) Recv() (*SubscribeBlocksFromStartHeightResponse, error) { + m := new(SubscribeBlocksFromStartHeightResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *accessAPIClient) SubscribeBlocksFromLatest(ctx context.Context, in *SubscribeBlocksFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromLatestClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[2], AccessAPI_SubscribeBlocksFromLatest_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &accessAPISubscribeBlocksFromLatestClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type AccessAPI_SubscribeBlocksFromLatestClient interface { + Recv() (*SubscribeBlocksFromLatestResponse, error) + grpc.ClientStream +} + +type accessAPISubscribeBlocksFromLatestClient struct { + grpc.ClientStream +} + +func (x *accessAPISubscribeBlocksFromLatestClient) Recv() (*SubscribeBlocksFromLatestResponse, error) { + m := new(SubscribeBlocksFromLatestResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *accessAPIClient) SubscribeBlockHeadersFromStartBlockID(ctx context.Context, in *SubscribeBlockHeadersFromStartBlockIDRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromStartBlockIDClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[3], AccessAPI_SubscribeBlockHeadersFromStartBlockID_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &accessAPISubscribeBlockHeadersFromStartBlockIDClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type AccessAPI_SubscribeBlockHeadersFromStartBlockIDClient interface { + Recv() (*SubscribeBlockHeadersFromStartBlockIDResponse, error) + grpc.ClientStream +} + +type accessAPISubscribeBlockHeadersFromStartBlockIDClient struct { + grpc.ClientStream +} + +func (x *accessAPISubscribeBlockHeadersFromStartBlockIDClient) Recv() (*SubscribeBlockHeadersFromStartBlockIDResponse, error) { + m := new(SubscribeBlockHeadersFromStartBlockIDResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *accessAPIClient) SubscribeBlockHeadersFromStartHeight(ctx context.Context, in *SubscribeBlockHeadersFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromStartHeightClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[4], AccessAPI_SubscribeBlockHeadersFromStartHeight_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &accessAPISubscribeBlockHeadersFromStartHeightClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type AccessAPI_SubscribeBlockHeadersFromStartHeightClient interface { + Recv() (*SubscribeBlockHeadersFromStartHeightResponse, error) + grpc.ClientStream +} + +type accessAPISubscribeBlockHeadersFromStartHeightClient struct { + grpc.ClientStream +} + +func (x *accessAPISubscribeBlockHeadersFromStartHeightClient) Recv() (*SubscribeBlockHeadersFromStartHeightResponse, error) { + m := new(SubscribeBlockHeadersFromStartHeightResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *accessAPIClient) SubscribeBlockHeadersFromLatest(ctx context.Context, in *SubscribeBlockHeadersFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromLatestClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[5], AccessAPI_SubscribeBlockHeadersFromLatest_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &accessAPISubscribeBlockHeadersFromLatestClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type AccessAPI_SubscribeBlockHeadersFromLatestClient interface { + Recv() (*SubscribeBlockHeadersFromLatestResponse, error) + grpc.ClientStream +} + +type accessAPISubscribeBlockHeadersFromLatestClient struct { + grpc.ClientStream +} + +func (x *accessAPISubscribeBlockHeadersFromLatestClient) Recv() (*SubscribeBlockHeadersFromLatestResponse, error) { + m := new(SubscribeBlockHeadersFromLatestResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *accessAPIClient) SubscribeBlockDigestsFromStartBlockID(ctx context.Context, in *SubscribeBlockDigestsFromStartBlockIDRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromStartBlockIDClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[6], AccessAPI_SubscribeBlockDigestsFromStartBlockID_FullMethodName, opts...) if err != nil { return nil, err } - x := &accessAPISubscribeBlocksClient{stream} + x := &accessAPISubscribeBlockDigestsFromStartBlockIDClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -478,29 +716,29 @@ func (c *accessAPIClient) SubscribeBlocks(ctx context.Context, in *SubscribeBloc return x, nil } -type AccessAPI_SubscribeBlocksClient interface { - Recv() (*SubscribeBlocksResponse, error) +type AccessAPI_SubscribeBlockDigestsFromStartBlockIDClient interface { + Recv() (*SubscribeBlockDigestsFromStartBlockIDResponse, error) grpc.ClientStream } -type accessAPISubscribeBlocksClient struct { +type accessAPISubscribeBlockDigestsFromStartBlockIDClient struct { grpc.ClientStream } -func (x *accessAPISubscribeBlocksClient) Recv() (*SubscribeBlocksResponse, error) { - m := new(SubscribeBlocksResponse) +func (x *accessAPISubscribeBlockDigestsFromStartBlockIDClient) Recv() (*SubscribeBlockDigestsFromStartBlockIDResponse, error) { + m := new(SubscribeBlockDigestsFromStartBlockIDResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } -func (c *accessAPIClient) SubscribeBlockHeaders(ctx context.Context, in *SubscribeBlockHeadersRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[1], AccessAPI_SubscribeBlockHeaders_FullMethodName, opts...) +func (c *accessAPIClient) SubscribeBlockDigestsFromStartHeight(ctx context.Context, in *SubscribeBlockDigestsFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromStartHeightClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[7], AccessAPI_SubscribeBlockDigestsFromStartHeight_FullMethodName, opts...) if err != nil { return nil, err } - x := &accessAPISubscribeBlockHeadersClient{stream} + x := &accessAPISubscribeBlockDigestsFromStartHeightClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -510,29 +748,29 @@ func (c *accessAPIClient) SubscribeBlockHeaders(ctx context.Context, in *Subscri return x, nil } -type AccessAPI_SubscribeBlockHeadersClient interface { - Recv() (*SubscribeBlockHeadersResponse, error) +type AccessAPI_SubscribeBlockDigestsFromStartHeightClient interface { + Recv() (*SubscribeBlockDigestsFromStartHeightResponse, error) grpc.ClientStream } -type accessAPISubscribeBlockHeadersClient struct { +type accessAPISubscribeBlockDigestsFromStartHeightClient struct { grpc.ClientStream } -func (x *accessAPISubscribeBlockHeadersClient) Recv() (*SubscribeBlockHeadersResponse, error) { - m := new(SubscribeBlockHeadersResponse) +func (x *accessAPISubscribeBlockDigestsFromStartHeightClient) Recv() (*SubscribeBlockDigestsFromStartHeightResponse, error) { + m := new(SubscribeBlockDigestsFromStartHeightResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } return m, nil } -func (c *accessAPIClient) SubscribeBlockDigests(ctx context.Context, in *SubscribeBlockDigestsRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[2], AccessAPI_SubscribeBlockDigests_FullMethodName, opts...) +func (c *accessAPIClient) SubscribeBlockDigestsFromLatest(ctx context.Context, in *SubscribeBlockDigestsFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromLatestClient, error) { + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[8], AccessAPI_SubscribeBlockDigestsFromLatest_FullMethodName, opts...) if err != nil { return nil, err } - x := &accessAPISubscribeBlockDigestsClient{stream} + x := &accessAPISubscribeBlockDigestsFromLatestClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -542,17 +780,17 @@ func (c *accessAPIClient) SubscribeBlockDigests(ctx context.Context, in *Subscri return x, nil } -type AccessAPI_SubscribeBlockDigestsClient interface { - Recv() (*SubscribeBlockDigestsResponse, error) +type AccessAPI_SubscribeBlockDigestsFromLatestClient interface { + Recv() (*SubscribeBlockDigestsFromLatestResponse, error) grpc.ClientStream } -type accessAPISubscribeBlockDigestsClient struct { +type accessAPISubscribeBlockDigestsFromLatestClient struct { grpc.ClientStream } -func (x *accessAPISubscribeBlockDigestsClient) Recv() (*SubscribeBlockDigestsResponse, error) { - m := new(SubscribeBlockDigestsResponse) +func (x *accessAPISubscribeBlockDigestsFromLatestClient) Recv() (*SubscribeBlockDigestsFromLatestResponse, error) { + m := new(SubscribeBlockDigestsFromLatestResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -560,7 +798,7 @@ func (x *accessAPISubscribeBlockDigestsClient) Recv() (*SubscribeBlockDigestsRes } func (c *accessAPIClient) SendAndSubscribeTransactionStatuses(ctx context.Context, in *SendAndSubscribeTransactionStatusesRequest, opts ...grpc.CallOption) (AccessAPI_SendAndSubscribeTransactionStatusesClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[3], AccessAPI_SendAndSubscribeTransactionStatuses_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[9], AccessAPI_SendAndSubscribeTransactionStatuses_FullMethodName, opts...) if err != nil { return nil, err } @@ -680,32 +918,72 @@ type AccessAPIServer interface { GetExecutionResultForBlockID(context.Context, *GetExecutionResultForBlockIDRequest) (*ExecutionResultForBlockIDResponse, error) // GetExecutionResultByID returns Execution Result by its ID. GetExecutionResultByID(context.Context, *GetExecutionResultByIDRequest) (*ExecutionResultByIDResponse, error) - // SubscribeBlocks streams finalized or sealed blocks starting at the requested - // start block, up until the latest available block. Once the latest is + // SubscribeBlocksFromStartBlockID streams finalized or sealed blocks starting at the requested + // start block id, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new // block as it becomes available. // // Blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed blocks will be returned. - SubscribeBlocks(*SubscribeBlocksRequest, AccessAPI_SubscribeBlocksServer) error - // SubscribeBlockHeaders streams finalized or sealed block headers starting at the requested - // start block, up until the latest available block header. Once the latest is + SubscribeBlocksFromStartBlockID(*SubscribeBlocksFromStartBlockIDRequest, AccessAPI_SubscribeBlocksFromStartBlockIDServer) error + // SubscribeBlocksFromStartHeight streams finalized or sealed blocks starting at the requested + // start block height, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed blocks will be returned. + SubscribeBlocksFromStartHeight(*SubscribeBlocksFromStartHeightRequest, AccessAPI_SubscribeBlocksFromStartHeightServer) error + // SubscribeBlocksFromLatest streams finalized or sealed blocks starting of the latest finalized or sealed + // block. The stream will remain open and responses are sent for each new block as it becomes available. + // + // Blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed blocks will be returned. + SubscribeBlocksFromLatest(*SubscribeBlocksFromLatestRequest, AccessAPI_SubscribeBlocksFromLatestServer) error + // SubscribeBlockHeadersFromStartBlockID streams finalized or sealed block headers starting at the requested + // start block id, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block header as it becomes available. + // + // Block headers are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed block headers will be returned. + SubscribeBlockHeadersFromStartBlockID(*SubscribeBlockHeadersFromStartBlockIDRequest, AccessAPI_SubscribeBlockHeadersFromStartBlockIDServer) error + // SubscribeBlockHeadersFromStartHeight streams finalized or sealed block headers starting at the requested + // start block height, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new // block header as it becomes available. // // Block headers are only returned when they have reached the provided block status. For example, - // if the status is "sealed", only sealed block headres will be returned. + // if the status is "sealed", only sealed block headers will be returned. + SubscribeBlockHeadersFromStartHeight(*SubscribeBlockHeadersFromStartHeightRequest, AccessAPI_SubscribeBlockHeadersFromStartHeightServer) error + // SubscribeBlockHeadersFromLatest streams finalized or sealed block headers starting of the latest finalized or sealed + // block. The stream will remain open and responses are sent for each new block header as it becomes available. // - // This is a lighter version of `SubscribeBlocks` as it will never include the heavy `BlockPayload`. - SubscribeBlockHeaders(*SubscribeBlockHeadersRequest, AccessAPI_SubscribeBlockHeadersServer) error - // SubscribeBlockDigests streams finalized or sealed lightweight block starting at the requested - // start block, up until the latest available block. Once the latest is + // Block headers are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed block headers will be returned. + SubscribeBlockHeadersFromLatest(*SubscribeBlockHeadersFromLatestRequest, AccessAPI_SubscribeBlockHeadersFromLatestServer) error + // SubscribeBlockDigestsFromStartBlockID streams finalized or sealed lightweight block starting at the requested + // start block id, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new - // block as it becomes available. + // lightweight block as it becomes available. + // + // Lightweight blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed lightweight blocks will be returned. + SubscribeBlockDigestsFromStartBlockID(*SubscribeBlockDigestsFromStartBlockIDRequest, AccessAPI_SubscribeBlockDigestsFromStartBlockIDServer) error + // SubscribeBlockDigestsFromStartHeight streams finalized or sealed lightweight block starting at the requested + // start block height, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // lightweight block as it becomes available. + // + // Lightweight blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed lightweight blocks will be returned. + SubscribeBlockDigestsFromStartHeight(*SubscribeBlockDigestsFromStartHeightRequest, AccessAPI_SubscribeBlockDigestsFromStartHeightServer) error + // SubscribeBlockDigestsFromLatest streams finalized or sealed lightweight block headers starting of the latest finalized or sealed + // block. The stream will remain open and responses are sent for each new lightweight block as it becomes available. // // Lightweight blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed lightweight blocks will be returned. - SubscribeBlockDigests(*SubscribeBlockDigestsRequest, AccessAPI_SubscribeBlockDigestsServer) error + SubscribeBlockDigestsFromLatest(*SubscribeBlockDigestsFromLatestRequest, AccessAPI_SubscribeBlockDigestsFromLatestServer) error // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. SendAndSubscribeTransactionStatuses(*SendAndSubscribeTransactionStatusesRequest, AccessAPI_SendAndSubscribeTransactionStatusesServer) error @@ -808,14 +1086,32 @@ func (UnimplementedAccessAPIServer) GetExecutionResultForBlockID(context.Context func (UnimplementedAccessAPIServer) GetExecutionResultByID(context.Context, *GetExecutionResultByIDRequest) (*ExecutionResultByIDResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetExecutionResultByID not implemented") } -func (UnimplementedAccessAPIServer) SubscribeBlocks(*SubscribeBlocksRequest, AccessAPI_SubscribeBlocksServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeBlocks not implemented") +func (UnimplementedAccessAPIServer) SubscribeBlocksFromStartBlockID(*SubscribeBlocksFromStartBlockIDRequest, AccessAPI_SubscribeBlocksFromStartBlockIDServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlocksFromStartBlockID not implemented") +} +func (UnimplementedAccessAPIServer) SubscribeBlocksFromStartHeight(*SubscribeBlocksFromStartHeightRequest, AccessAPI_SubscribeBlocksFromStartHeightServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlocksFromStartHeight not implemented") +} +func (UnimplementedAccessAPIServer) SubscribeBlocksFromLatest(*SubscribeBlocksFromLatestRequest, AccessAPI_SubscribeBlocksFromLatestServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlocksFromLatest not implemented") +} +func (UnimplementedAccessAPIServer) SubscribeBlockHeadersFromStartBlockID(*SubscribeBlockHeadersFromStartBlockIDRequest, AccessAPI_SubscribeBlockHeadersFromStartBlockIDServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlockHeadersFromStartBlockID not implemented") } -func (UnimplementedAccessAPIServer) SubscribeBlockHeaders(*SubscribeBlockHeadersRequest, AccessAPI_SubscribeBlockHeadersServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeBlockHeaders not implemented") +func (UnimplementedAccessAPIServer) SubscribeBlockHeadersFromStartHeight(*SubscribeBlockHeadersFromStartHeightRequest, AccessAPI_SubscribeBlockHeadersFromStartHeightServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlockHeadersFromStartHeight not implemented") } -func (UnimplementedAccessAPIServer) SubscribeBlockDigests(*SubscribeBlockDigestsRequest, AccessAPI_SubscribeBlockDigestsServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeBlockDigests not implemented") +func (UnimplementedAccessAPIServer) SubscribeBlockHeadersFromLatest(*SubscribeBlockHeadersFromLatestRequest, AccessAPI_SubscribeBlockHeadersFromLatestServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlockHeadersFromLatest not implemented") +} +func (UnimplementedAccessAPIServer) SubscribeBlockDigestsFromStartBlockID(*SubscribeBlockDigestsFromStartBlockIDRequest, AccessAPI_SubscribeBlockDigestsFromStartBlockIDServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlockDigestsFromStartBlockID not implemented") +} +func (UnimplementedAccessAPIServer) SubscribeBlockDigestsFromStartHeight(*SubscribeBlockDigestsFromStartHeightRequest, AccessAPI_SubscribeBlockDigestsFromStartHeightServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlockDigestsFromStartHeight not implemented") +} +func (UnimplementedAccessAPIServer) SubscribeBlockDigestsFromLatest(*SubscribeBlockDigestsFromLatestRequest, AccessAPI_SubscribeBlockDigestsFromLatestServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeBlockDigestsFromLatest not implemented") } func (UnimplementedAccessAPIServer) SendAndSubscribeTransactionStatuses(*SendAndSubscribeTransactionStatusesRequest, AccessAPI_SendAndSubscribeTransactionStatusesServer) error { return status.Errorf(codes.Unimplemented, "method SendAndSubscribeTransactionStatuses not implemented") @@ -1390,66 +1686,192 @@ func _AccessAPI_GetExecutionResultByID_Handler(srv interface{}, ctx context.Cont return interceptor(ctx, in, info, handler) } -func _AccessAPI_SubscribeBlocks_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SubscribeBlocksRequest) +func _AccessAPI_SubscribeBlocksFromStartBlockID_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlocksFromStartBlockIDRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(AccessAPIServer).SubscribeBlocks(m, &accessAPISubscribeBlocksServer{stream}) + return srv.(AccessAPIServer).SubscribeBlocksFromStartBlockID(m, &accessAPISubscribeBlocksFromStartBlockIDServer{stream}) } -type AccessAPI_SubscribeBlocksServer interface { - Send(*SubscribeBlocksResponse) error +type AccessAPI_SubscribeBlocksFromStartBlockIDServer interface { + Send(*SubscribeBlocksFromStartBlockIDResponse) error grpc.ServerStream } -type accessAPISubscribeBlocksServer struct { +type accessAPISubscribeBlocksFromStartBlockIDServer struct { grpc.ServerStream } -func (x *accessAPISubscribeBlocksServer) Send(m *SubscribeBlocksResponse) error { +func (x *accessAPISubscribeBlocksFromStartBlockIDServer) Send(m *SubscribeBlocksFromStartBlockIDResponse) error { return x.ServerStream.SendMsg(m) } -func _AccessAPI_SubscribeBlockHeaders_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SubscribeBlockHeadersRequest) +func _AccessAPI_SubscribeBlocksFromStartHeight_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlocksFromStartHeightRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(AccessAPIServer).SubscribeBlockHeaders(m, &accessAPISubscribeBlockHeadersServer{stream}) + return srv.(AccessAPIServer).SubscribeBlocksFromStartHeight(m, &accessAPISubscribeBlocksFromStartHeightServer{stream}) } -type AccessAPI_SubscribeBlockHeadersServer interface { - Send(*SubscribeBlockHeadersResponse) error +type AccessAPI_SubscribeBlocksFromStartHeightServer interface { + Send(*SubscribeBlocksFromStartHeightResponse) error grpc.ServerStream } -type accessAPISubscribeBlockHeadersServer struct { +type accessAPISubscribeBlocksFromStartHeightServer struct { grpc.ServerStream } -func (x *accessAPISubscribeBlockHeadersServer) Send(m *SubscribeBlockHeadersResponse) error { +func (x *accessAPISubscribeBlocksFromStartHeightServer) Send(m *SubscribeBlocksFromStartHeightResponse) error { return x.ServerStream.SendMsg(m) } -func _AccessAPI_SubscribeBlockDigests_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SubscribeBlockDigestsRequest) +func _AccessAPI_SubscribeBlocksFromLatest_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlocksFromLatestRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(AccessAPIServer).SubscribeBlockDigests(m, &accessAPISubscribeBlockDigestsServer{stream}) + return srv.(AccessAPIServer).SubscribeBlocksFromLatest(m, &accessAPISubscribeBlocksFromLatestServer{stream}) } -type AccessAPI_SubscribeBlockDigestsServer interface { - Send(*SubscribeBlockDigestsResponse) error +type AccessAPI_SubscribeBlocksFromLatestServer interface { + Send(*SubscribeBlocksFromLatestResponse) error grpc.ServerStream } -type accessAPISubscribeBlockDigestsServer struct { +type accessAPISubscribeBlocksFromLatestServer struct { grpc.ServerStream } -func (x *accessAPISubscribeBlockDigestsServer) Send(m *SubscribeBlockDigestsResponse) error { +func (x *accessAPISubscribeBlocksFromLatestServer) Send(m *SubscribeBlocksFromLatestResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _AccessAPI_SubscribeBlockHeadersFromStartBlockID_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlockHeadersFromStartBlockIDRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(AccessAPIServer).SubscribeBlockHeadersFromStartBlockID(m, &accessAPISubscribeBlockHeadersFromStartBlockIDServer{stream}) +} + +type AccessAPI_SubscribeBlockHeadersFromStartBlockIDServer interface { + Send(*SubscribeBlockHeadersFromStartBlockIDResponse) error + grpc.ServerStream +} + +type accessAPISubscribeBlockHeadersFromStartBlockIDServer struct { + grpc.ServerStream +} + +func (x *accessAPISubscribeBlockHeadersFromStartBlockIDServer) Send(m *SubscribeBlockHeadersFromStartBlockIDResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _AccessAPI_SubscribeBlockHeadersFromStartHeight_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlockHeadersFromStartHeightRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(AccessAPIServer).SubscribeBlockHeadersFromStartHeight(m, &accessAPISubscribeBlockHeadersFromStartHeightServer{stream}) +} + +type AccessAPI_SubscribeBlockHeadersFromStartHeightServer interface { + Send(*SubscribeBlockHeadersFromStartHeightResponse) error + grpc.ServerStream +} + +type accessAPISubscribeBlockHeadersFromStartHeightServer struct { + grpc.ServerStream +} + +func (x *accessAPISubscribeBlockHeadersFromStartHeightServer) Send(m *SubscribeBlockHeadersFromStartHeightResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _AccessAPI_SubscribeBlockHeadersFromLatest_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlockHeadersFromLatestRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(AccessAPIServer).SubscribeBlockHeadersFromLatest(m, &accessAPISubscribeBlockHeadersFromLatestServer{stream}) +} + +type AccessAPI_SubscribeBlockHeadersFromLatestServer interface { + Send(*SubscribeBlockHeadersFromLatestResponse) error + grpc.ServerStream +} + +type accessAPISubscribeBlockHeadersFromLatestServer struct { + grpc.ServerStream +} + +func (x *accessAPISubscribeBlockHeadersFromLatestServer) Send(m *SubscribeBlockHeadersFromLatestResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _AccessAPI_SubscribeBlockDigestsFromStartBlockID_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlockDigestsFromStartBlockIDRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(AccessAPIServer).SubscribeBlockDigestsFromStartBlockID(m, &accessAPISubscribeBlockDigestsFromStartBlockIDServer{stream}) +} + +type AccessAPI_SubscribeBlockDigestsFromStartBlockIDServer interface { + Send(*SubscribeBlockDigestsFromStartBlockIDResponse) error + grpc.ServerStream +} + +type accessAPISubscribeBlockDigestsFromStartBlockIDServer struct { + grpc.ServerStream +} + +func (x *accessAPISubscribeBlockDigestsFromStartBlockIDServer) Send(m *SubscribeBlockDigestsFromStartBlockIDResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _AccessAPI_SubscribeBlockDigestsFromStartHeight_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlockDigestsFromStartHeightRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(AccessAPIServer).SubscribeBlockDigestsFromStartHeight(m, &accessAPISubscribeBlockDigestsFromStartHeightServer{stream}) +} + +type AccessAPI_SubscribeBlockDigestsFromStartHeightServer interface { + Send(*SubscribeBlockDigestsFromStartHeightResponse) error + grpc.ServerStream +} + +type accessAPISubscribeBlockDigestsFromStartHeightServer struct { + grpc.ServerStream +} + +func (x *accessAPISubscribeBlockDigestsFromStartHeightServer) Send(m *SubscribeBlockDigestsFromStartHeightResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _AccessAPI_SubscribeBlockDigestsFromLatest_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeBlockDigestsFromLatestRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(AccessAPIServer).SubscribeBlockDigestsFromLatest(m, &accessAPISubscribeBlockDigestsFromLatestServer{stream}) +} + +type AccessAPI_SubscribeBlockDigestsFromLatestServer interface { + Send(*SubscribeBlockDigestsFromLatestResponse) error + grpc.ServerStream +} + +type accessAPISubscribeBlockDigestsFromLatestServer struct { + grpc.ServerStream +} + +func (x *accessAPISubscribeBlockDigestsFromLatestServer) Send(m *SubscribeBlockDigestsFromLatestResponse) error { return x.ServerStream.SendMsg(m) } @@ -1608,18 +2030,48 @@ var AccessAPI_ServiceDesc = grpc.ServiceDesc{ }, Streams: []grpc.StreamDesc{ { - StreamName: "SubscribeBlocks", - Handler: _AccessAPI_SubscribeBlocks_Handler, + StreamName: "SubscribeBlocksFromStartBlockID", + Handler: _AccessAPI_SubscribeBlocksFromStartBlockID_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeBlocksFromStartHeight", + Handler: _AccessAPI_SubscribeBlocksFromStartHeight_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeBlocksFromLatest", + Handler: _AccessAPI_SubscribeBlocksFromLatest_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeBlockHeadersFromStartBlockID", + Handler: _AccessAPI_SubscribeBlockHeadersFromStartBlockID_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeBlockHeadersFromStartHeight", + Handler: _AccessAPI_SubscribeBlockHeadersFromStartHeight_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeBlockHeadersFromLatest", + Handler: _AccessAPI_SubscribeBlockHeadersFromLatest_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeBlockDigestsFromStartBlockID", + Handler: _AccessAPI_SubscribeBlockDigestsFromStartBlockID_Handler, ServerStreams: true, }, { - StreamName: "SubscribeBlockHeaders", - Handler: _AccessAPI_SubscribeBlockHeaders_Handler, + StreamName: "SubscribeBlockDigestsFromStartHeight", + Handler: _AccessAPI_SubscribeBlockDigestsFromStartHeight_Handler, ServerStreams: true, }, { - StreamName: "SubscribeBlockDigests", - Handler: _AccessAPI_SubscribeBlockDigests_Handler, + StreamName: "SubscribeBlockDigestsFromLatest", + Handler: _AccessAPI_SubscribeBlockDigestsFromLatest_Handler, ServerStreams: true, }, { From ad3240a5c1dfad381fa36082303f9d634b707169 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Tue, 5 Mar 2024 11:48:21 +0200 Subject: [PATCH 130/626] United equal responses in subsriptions, updated subscribe from latest calls --- protobuf/flow/access/access.proto | 117 +-- protobuf/go/flow/access/access.pb.go | 822 ++++++---------------- protobuf/go/flow/access/access_grpc.pb.go | 120 ++-- 3 files changed, 299 insertions(+), 760 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 7a109dd74..586fdf2a0 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -170,7 +170,7 @@ service AccessAPI { // Blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed blocks will be returned. rpc SubscribeBlocksFromStartBlockID(SubscribeBlocksFromStartBlockIDRequest) - returns (stream SubscribeBlocksFromStartBlockIDResponse); + returns (stream SubscribeBlocksResponse); // SubscribeBlocksFromStartHeight streams finalized or sealed blocks starting at the requested // start block height, up until the latest available block. Once the latest is @@ -180,15 +180,12 @@ service AccessAPI { // Blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed blocks will be returned. rpc SubscribeBlocksFromStartHeight(SubscribeBlocksFromStartHeightRequest) - returns (stream SubscribeBlocksFromStartHeightResponse); + returns (stream SubscribeBlocksResponse); - // SubscribeBlocksFromLatest streams finalized or sealed blocks starting from the latest finalized or sealed + // SubscribeBlocksFromLatest streams sealed blocks starting from the latest sealed // block. The stream will remain open and responses are sent for each new block as it becomes available. - // - // Blocks are only returned when they have reached the provided block status. For example, - // if the status is "sealed", only sealed blocks will be returned. rpc SubscribeBlocksFromLatest(SubscribeBlocksFromLatestRequest) - returns (stream SubscribeBlocksFromLatestResponse); + returns (stream SubscribeBlocksResponse); // Subscribe block headers @@ -200,7 +197,7 @@ service AccessAPI { // Block headers are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed block headers will be returned. rpc SubscribeBlockHeadersFromStartBlockID(SubscribeBlockHeadersFromStartBlockIDRequest) - returns (stream SubscribeBlockHeadersFromStartBlockIDResponse); + returns (stream SubscribeBlockHeadersResponse); // SubscribeBlockHeadersFromStartHeight streams finalized or sealed block headers starting at the requested // start block height, up until the latest available block. Once the latest is @@ -210,15 +207,12 @@ service AccessAPI { // Block headers are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed block headers will be returned. rpc SubscribeBlockHeadersFromStartHeight(SubscribeBlockHeadersFromStartHeightRequest) - returns (stream SubscribeBlockHeadersFromStartHeightResponse); + returns (stream SubscribeBlockHeadersResponse); - // SubscribeBlockHeadersFromLatest streams finalized or sealed block headers starting from the latest finalized or sealed + // SubscribeBlockHeadersFromLatest streams sealed block headers starting from the latest sealed // block. The stream will remain open and responses are sent for each new block header as it becomes available. - // - // Block headers are only returned when they have reached the provided block status. For example, - // if the status is "sealed", only sealed block headers will be returned. rpc SubscribeBlockHeadersFromLatest(SubscribeBlockHeadersFromLatestRequest) - returns (stream SubscribeBlockHeadersFromLatestResponse); + returns (stream SubscribeBlockHeadersResponse); // Subscribe block digests @@ -230,7 +224,7 @@ service AccessAPI { // Lightweight blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed lightweight blocks will be returned. rpc SubscribeBlockDigestsFromStartBlockID(SubscribeBlockDigestsFromStartBlockIDRequest) - returns (stream SubscribeBlockDigestsFromStartBlockIDResponse); + returns (stream SubscribeBlockDigestsResponse); // SubscribeBlockDigestsFromStartHeight streams finalized or sealed lightweight block starting at the requested // start block height, up until the latest available block. Once the latest is @@ -240,15 +234,12 @@ service AccessAPI { // Lightweight blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed lightweight blocks will be returned. rpc SubscribeBlockDigestsFromStartHeight(SubscribeBlockDigestsFromStartHeightRequest) - returns (stream SubscribeBlockDigestsFromStartHeightResponse); + returns (stream SubscribeBlockDigestsResponse); - // SubscribeBlockDigestsFromLatest streams finalized or sealed lightweight block headers starting of the latest finalized or sealed + // SubscribeBlockDigestsFromLatest streams sealed lightweight block headers starting of the latest sealed // block. The stream will remain open and responses are sent for each new lightweight block as it becomes available. - // - // Lightweight blocks are only returned when they have reached the provided block status. For example, - // if the status is "sealed", only sealed lightweight blocks will be returned. rpc SubscribeBlockDigestsFromLatest(SubscribeBlockDigestsFromLatestRequest) - returns (stream SubscribeBlockDigestsFromLatestResponse); + returns (stream SubscribeBlockDigestsResponse); // Subscribe transaction statuses @@ -528,13 +519,6 @@ message SubscribeBlocksFromStartBlockIDRequest { bool full_block_response = 3; } -// The response for SubscribeBlocksFromStartBlockID -message SubscribeBlocksFromStartBlockIDResponse { - // The sealed or finalized blocks according to the block status - // in the request. - entities.Block block = 1; -} - // The request for SubscribeBlocksFromStartHeight message SubscribeBlocksFromStartHeightRequest { // Block height of the first block to subscribe. @@ -550,27 +534,14 @@ message SubscribeBlocksFromStartHeightRequest { bool full_block_response = 3; } -// The response for SubscribeBlocksFromStartHeight -message SubscribeBlocksFromStartHeightResponse { - // The sealed or finalized blocks according to the block status - // in the request. - entities.Block block = 1; -} - // The request for SubscribeBlocksFromLatest message SubscribeBlocksFromLatestRequest { - // Required block status of the block payload. - // Possible variants: - // 1. BLOCK_FINALIZED - // 2. BLOCK_SEALED - entities.BlockStatus block_status = 1; - // Boolean value determining the response: 'full' if `true`, 'light' otherwise. - bool full_block_response = 2; + bool full_block_response = 1; } -// The response for SubscribeBlocksFromLatest -message SubscribeBlocksFromLatestResponse { +// The response for SubscribeBlocksFromStartBlockID, SubscribeBlocksFromStartHeight, SubscribeBlocksFromLatest +message SubscribeBlocksResponse { // The sealed or finalized blocks according to the block status // in the request. entities.Block block = 1; @@ -590,13 +561,6 @@ message SubscribeBlockHeadersFromStartBlockIDRequest { entities.BlockStatus block_status = 2; } -// The response for SubscribeBlockHeadersFromStartBlockID -message SubscribeBlockHeadersFromStartBlockIDResponse { - // The sealed or finalized block headers according to the block status - // in the request. - entities.BlockHeader header = 1; -} - // The request for SubscribeBlockHeadersFromStartHeight message SubscribeBlockHeadersFromStartHeightRequest { // Block height of the first block header to subscribe. @@ -609,24 +573,12 @@ message SubscribeBlockHeadersFromStartHeightRequest { entities.BlockStatus block_status = 2; } -// The response for SubscribeBlockHeadersFromStartHeight -message SubscribeBlockHeadersFromStartHeightResponse { - // The sealed or finalized block headers according to the block status - // in the request. - entities.BlockHeader header = 1; -} - // The request for SubscribeBlockHeadersFromLatest message SubscribeBlockHeadersFromLatestRequest { - // Required block status of the block payload. - // Possible variants: - // 1. BLOCK_FINALIZED - // 2. BLOCK_SEALED - entities.BlockStatus block_status = 1; } -// The response for SubscribeBlockHeadersFromLatest -message SubscribeBlockHeadersFromLatestResponse { +// The response for SubscribeBlockHeadersFromStartBlockID, SubscribeBlockHeadersFromStartHeight, SubscribeBlockHeadersFromLatest +message SubscribeBlockHeadersResponse { // The sealed or finalized block headers according to the block status // in the request. entities.BlockHeader header = 1; @@ -646,19 +598,6 @@ message SubscribeBlockDigestsFromStartBlockIDRequest { entities.BlockStatus block_status = 2; } -// The response for SubscribeBlockDigestsFromStartBlockID -message SubscribeBlockDigestsFromStartBlockIDResponse { - // The block ID of the new sealed or finalized block according to the block status - // in the request. - bytes block_id = 1; - // The block height of the new sealed or finalized block according to the block status - // in the request. - uint64 block_height = 2; - // The timestamp of the new sealed or finalized block according to the block status - // in the request. - google.protobuf.Timestamp block_timestamp = 3; -} - // The request for SubscribeBlockDigestsFromStartHeight message SubscribeBlockDigestsFromStartHeightRequest { // Block height of the first block to subscribe. @@ -671,30 +610,12 @@ message SubscribeBlockDigestsFromStartHeightRequest { entities.BlockStatus block_status = 2; } -// The response for SubscribeBlockDigestsFromStartHeight -message SubscribeBlockDigestsFromStartHeightResponse { - // The block ID of the new sealed or finalized block according to the block status - // in the request. - bytes block_id = 1; - // The block height of the new sealed or finalized block according to the block status - // in the request. - uint64 block_height = 2; - // The timestamp of the new sealed or finalized block according to the block status - // in the request. - google.protobuf.Timestamp block_timestamp = 3; -} - // The request for SubscribeBlockDigestsFromLatest message SubscribeBlockDigestsFromLatestRequest { - // Required block status of the block payload. - // Possible variants: - // 1. BLOCK_FINALIZED - // 2. BLOCK_SEALED - entities.BlockStatus block_status = 2; } -// The response for SubscribeBlockDigestsFromLatest -message SubscribeBlockDigestsFromLatestResponse { +// The response for SubscribeBlockDigestsFromStartBlockID, SubscribeBlockDigestsFromStartHeight, SubscribeBlockDigestsFromLatest +message SubscribeBlockDigestsResponse { // The block ID of the new sealed or finalized block according to the block status // in the request. bytes block_id = 1; diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 7d32cdce3..7d197cd70 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2322,50 +2322,6 @@ func (m *SubscribeBlocksFromStartBlockIDRequest) GetFullBlockResponse() bool { return false } -// The response for SubscribeBlocksFromStartBlockID -type SubscribeBlocksFromStartBlockIDResponse struct { - // The sealed or finalized blocks according to the block status - // in the request. - Block *entities.Block `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SubscribeBlocksFromStartBlockIDResponse) Reset() { - *m = SubscribeBlocksFromStartBlockIDResponse{} -} -func (m *SubscribeBlocksFromStartBlockIDResponse) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlocksFromStartBlockIDResponse) ProtoMessage() {} -func (*SubscribeBlocksFromStartBlockIDResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{48} -} - -func (m *SubscribeBlocksFromStartBlockIDResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlocksFromStartBlockIDResponse.Unmarshal(m, b) -} -func (m *SubscribeBlocksFromStartBlockIDResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlocksFromStartBlockIDResponse.Marshal(b, m, deterministic) -} -func (m *SubscribeBlocksFromStartBlockIDResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlocksFromStartBlockIDResponse.Merge(m, src) -} -func (m *SubscribeBlocksFromStartBlockIDResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlocksFromStartBlockIDResponse.Size(m) -} -func (m *SubscribeBlocksFromStartBlockIDResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlocksFromStartBlockIDResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_SubscribeBlocksFromStartBlockIDResponse proto.InternalMessageInfo - -func (m *SubscribeBlocksFromStartBlockIDResponse) GetBlock() *entities.Block { - if m != nil { - return m.Block - } - return nil -} - // The request for SubscribeBlocksFromStartHeight type SubscribeBlocksFromStartHeightRequest struct { // Block height of the first block to subscribe. @@ -2386,7 +2342,7 @@ func (m *SubscribeBlocksFromStartHeightRequest) Reset() { *m = Subscribe func (m *SubscribeBlocksFromStartHeightRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlocksFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{49} + return fileDescriptor_4382e32bb8e3e8e5, []int{48} } func (m *SubscribeBlocksFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2428,59 +2384,10 @@ func (m *SubscribeBlocksFromStartHeightRequest) GetFullBlockResponse() bool { return false } -// The response for SubscribeBlocksFromStartHeight -type SubscribeBlocksFromStartHeightResponse struct { - // The sealed or finalized blocks according to the block status - // in the request. - Block *entities.Block `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SubscribeBlocksFromStartHeightResponse) Reset() { - *m = SubscribeBlocksFromStartHeightResponse{} -} -func (m *SubscribeBlocksFromStartHeightResponse) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlocksFromStartHeightResponse) ProtoMessage() {} -func (*SubscribeBlocksFromStartHeightResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{50} -} - -func (m *SubscribeBlocksFromStartHeightResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlocksFromStartHeightResponse.Unmarshal(m, b) -} -func (m *SubscribeBlocksFromStartHeightResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlocksFromStartHeightResponse.Marshal(b, m, deterministic) -} -func (m *SubscribeBlocksFromStartHeightResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlocksFromStartHeightResponse.Merge(m, src) -} -func (m *SubscribeBlocksFromStartHeightResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlocksFromStartHeightResponse.Size(m) -} -func (m *SubscribeBlocksFromStartHeightResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlocksFromStartHeightResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_SubscribeBlocksFromStartHeightResponse proto.InternalMessageInfo - -func (m *SubscribeBlocksFromStartHeightResponse) GetBlock() *entities.Block { - if m != nil { - return m.Block - } - return nil -} - // The request for SubscribeBlocksFromLatest type SubscribeBlocksFromLatestRequest struct { - // Required block status of the block payload. - // Possible variants: - // 1. BLOCK_FINALIZED - // 2. BLOCK_SEALED - BlockStatus entities.BlockStatus `protobuf:"varint,1,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` // Boolean value determining the response: 'full' if `true`, 'light' otherwise. - FullBlockResponse bool `protobuf:"varint,2,opt,name=full_block_response,json=fullBlockResponse,proto3" json:"full_block_response,omitempty"` + FullBlockResponse bool `protobuf:"varint,1,opt,name=full_block_response,json=fullBlockResponse,proto3" json:"full_block_response,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2490,7 +2397,7 @@ func (m *SubscribeBlocksFromLatestRequest) Reset() { *m = SubscribeBlock func (m *SubscribeBlocksFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromLatestRequest) ProtoMessage() {} func (*SubscribeBlocksFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{51} + return fileDescriptor_4382e32bb8e3e8e5, []int{49} } func (m *SubscribeBlocksFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -2511,13 +2418,6 @@ func (m *SubscribeBlocksFromLatestRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlocksFromLatestRequest proto.InternalMessageInfo -func (m *SubscribeBlocksFromLatestRequest) GetBlockStatus() entities.BlockStatus { - if m != nil { - return m.BlockStatus - } - return entities.BlockStatus_BLOCK_UNKNOWN -} - func (m *SubscribeBlocksFromLatestRequest) GetFullBlockResponse() bool { if m != nil { return m.FullBlockResponse @@ -2525,8 +2425,8 @@ func (m *SubscribeBlocksFromLatestRequest) GetFullBlockResponse() bool { return false } -// The response for SubscribeBlocksFromLatest -type SubscribeBlocksFromLatestResponse struct { +// The response for SubscribeBlocksFromStartBlockID, SubscribeBlocksFromStartHeight, SubscribeBlocksFromLatest +type SubscribeBlocksResponse struct { // The sealed or finalized blocks according to the block status // in the request. Block *entities.Block `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"` @@ -2535,32 +2435,32 @@ type SubscribeBlocksFromLatestResponse struct { XXX_sizecache int32 `json:"-"` } -func (m *SubscribeBlocksFromLatestResponse) Reset() { *m = SubscribeBlocksFromLatestResponse{} } -func (m *SubscribeBlocksFromLatestResponse) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlocksFromLatestResponse) ProtoMessage() {} -func (*SubscribeBlocksFromLatestResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{52} +func (m *SubscribeBlocksResponse) Reset() { *m = SubscribeBlocksResponse{} } +func (m *SubscribeBlocksResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlocksResponse) ProtoMessage() {} +func (*SubscribeBlocksResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{50} } -func (m *SubscribeBlocksFromLatestResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlocksFromLatestResponse.Unmarshal(m, b) +func (m *SubscribeBlocksResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlocksResponse.Unmarshal(m, b) } -func (m *SubscribeBlocksFromLatestResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlocksFromLatestResponse.Marshal(b, m, deterministic) +func (m *SubscribeBlocksResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlocksResponse.Marshal(b, m, deterministic) } -func (m *SubscribeBlocksFromLatestResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlocksFromLatestResponse.Merge(m, src) +func (m *SubscribeBlocksResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlocksResponse.Merge(m, src) } -func (m *SubscribeBlocksFromLatestResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlocksFromLatestResponse.Size(m) +func (m *SubscribeBlocksResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlocksResponse.Size(m) } -func (m *SubscribeBlocksFromLatestResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlocksFromLatestResponse.DiscardUnknown(m) +func (m *SubscribeBlocksResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlocksResponse.DiscardUnknown(m) } -var xxx_messageInfo_SubscribeBlocksFromLatestResponse proto.InternalMessageInfo +var xxx_messageInfo_SubscribeBlocksResponse proto.InternalMessageInfo -func (m *SubscribeBlocksFromLatestResponse) GetBlock() *entities.Block { +func (m *SubscribeBlocksResponse) GetBlock() *entities.Block { if m != nil { return m.Block } @@ -2589,7 +2489,7 @@ func (m *SubscribeBlockHeadersFromStartBlockIDRequest) String() string { } func (*SubscribeBlockHeadersFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{53} + return fileDescriptor_4382e32bb8e3e8e5, []int{51} } func (m *SubscribeBlockHeadersFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2624,52 +2524,6 @@ func (m *SubscribeBlockHeadersFromStartBlockIDRequest) GetBlockStatus() entities return entities.BlockStatus_BLOCK_UNKNOWN } -// The response for SubscribeBlockHeadersFromStartBlockID -type SubscribeBlockHeadersFromStartBlockIDResponse struct { - // The sealed or finalized block headers according to the block status - // in the request. - Header *entities.BlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SubscribeBlockHeadersFromStartBlockIDResponse) Reset() { - *m = SubscribeBlockHeadersFromStartBlockIDResponse{} -} -func (m *SubscribeBlockHeadersFromStartBlockIDResponse) String() string { - return proto.CompactTextString(m) -} -func (*SubscribeBlockHeadersFromStartBlockIDResponse) ProtoMessage() {} -func (*SubscribeBlockHeadersFromStartBlockIDResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{54} -} - -func (m *SubscribeBlockHeadersFromStartBlockIDResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDResponse.Unmarshal(m, b) -} -func (m *SubscribeBlockHeadersFromStartBlockIDResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDResponse.Marshal(b, m, deterministic) -} -func (m *SubscribeBlockHeadersFromStartBlockIDResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDResponse.Merge(m, src) -} -func (m *SubscribeBlockHeadersFromStartBlockIDResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDResponse.Size(m) -} -func (m *SubscribeBlockHeadersFromStartBlockIDResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_SubscribeBlockHeadersFromStartBlockIDResponse proto.InternalMessageInfo - -func (m *SubscribeBlockHeadersFromStartBlockIDResponse) GetHeader() *entities.BlockHeader { - if m != nil { - return m.Header - } - return nil -} - // The request for SubscribeBlockHeadersFromStartHeight type SubscribeBlockHeadersFromStartHeightRequest struct { // Block height of the first block header to subscribe. @@ -2692,7 +2546,7 @@ func (m *SubscribeBlockHeadersFromStartHeightRequest) String() string { } func (*SubscribeBlockHeadersFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{55} + return fileDescriptor_4382e32bb8e3e8e5, []int{52} } func (m *SubscribeBlockHeadersFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2727,62 +2581,11 @@ func (m *SubscribeBlockHeadersFromStartHeightRequest) GetBlockStatus() entities. return entities.BlockStatus_BLOCK_UNKNOWN } -// The response for SubscribeBlockHeadersFromStartHeight -type SubscribeBlockHeadersFromStartHeightResponse struct { - // The sealed or finalized block headers according to the block status - // in the request. - Header *entities.BlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SubscribeBlockHeadersFromStartHeightResponse) Reset() { - *m = SubscribeBlockHeadersFromStartHeightResponse{} -} -func (m *SubscribeBlockHeadersFromStartHeightResponse) String() string { - return proto.CompactTextString(m) -} -func (*SubscribeBlockHeadersFromStartHeightResponse) ProtoMessage() {} -func (*SubscribeBlockHeadersFromStartHeightResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{56} -} - -func (m *SubscribeBlockHeadersFromStartHeightResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlockHeadersFromStartHeightResponse.Unmarshal(m, b) -} -func (m *SubscribeBlockHeadersFromStartHeightResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlockHeadersFromStartHeightResponse.Marshal(b, m, deterministic) -} -func (m *SubscribeBlockHeadersFromStartHeightResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlockHeadersFromStartHeightResponse.Merge(m, src) -} -func (m *SubscribeBlockHeadersFromStartHeightResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlockHeadersFromStartHeightResponse.Size(m) -} -func (m *SubscribeBlockHeadersFromStartHeightResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlockHeadersFromStartHeightResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_SubscribeBlockHeadersFromStartHeightResponse proto.InternalMessageInfo - -func (m *SubscribeBlockHeadersFromStartHeightResponse) GetHeader() *entities.BlockHeader { - if m != nil { - return m.Header - } - return nil -} - // The request for SubscribeBlockHeadersFromLatest type SubscribeBlockHeadersFromLatestRequest struct { - // Required block status of the block payload. - // Possible variants: - // 1. BLOCK_FINALIZED - // 2. BLOCK_SEALED - BlockStatus entities.BlockStatus `protobuf:"varint,1,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SubscribeBlockHeadersFromLatestRequest) Reset() { @@ -2791,7 +2594,7 @@ func (m *SubscribeBlockHeadersFromLatestRequest) Reset() { func (m *SubscribeBlockHeadersFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockHeadersFromLatestRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{57} + return fileDescriptor_4382e32bb8e3e8e5, []int{53} } func (m *SubscribeBlockHeadersFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -2812,15 +2615,8 @@ func (m *SubscribeBlockHeadersFromLatestRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlockHeadersFromLatestRequest proto.InternalMessageInfo -func (m *SubscribeBlockHeadersFromLatestRequest) GetBlockStatus() entities.BlockStatus { - if m != nil { - return m.BlockStatus - } - return entities.BlockStatus_BLOCK_UNKNOWN -} - -// The response for SubscribeBlockHeadersFromLatest -type SubscribeBlockHeadersFromLatestResponse struct { +// The response for SubscribeBlockHeadersFromStartBlockID, SubscribeBlockHeadersFromStartHeight, SubscribeBlockHeadersFromLatest +type SubscribeBlockHeadersResponse struct { // The sealed or finalized block headers according to the block status // in the request. Header *entities.BlockHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` @@ -2829,34 +2625,32 @@ type SubscribeBlockHeadersFromLatestResponse struct { XXX_sizecache int32 `json:"-"` } -func (m *SubscribeBlockHeadersFromLatestResponse) Reset() { - *m = SubscribeBlockHeadersFromLatestResponse{} -} -func (m *SubscribeBlockHeadersFromLatestResponse) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlockHeadersFromLatestResponse) ProtoMessage() {} -func (*SubscribeBlockHeadersFromLatestResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{58} +func (m *SubscribeBlockHeadersResponse) Reset() { *m = SubscribeBlockHeadersResponse{} } +func (m *SubscribeBlockHeadersResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlockHeadersResponse) ProtoMessage() {} +func (*SubscribeBlockHeadersResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{54} } -func (m *SubscribeBlockHeadersFromLatestResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlockHeadersFromLatestResponse.Unmarshal(m, b) +func (m *SubscribeBlockHeadersResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockHeadersResponse.Unmarshal(m, b) } -func (m *SubscribeBlockHeadersFromLatestResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlockHeadersFromLatestResponse.Marshal(b, m, deterministic) +func (m *SubscribeBlockHeadersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockHeadersResponse.Marshal(b, m, deterministic) } -func (m *SubscribeBlockHeadersFromLatestResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlockHeadersFromLatestResponse.Merge(m, src) +func (m *SubscribeBlockHeadersResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockHeadersResponse.Merge(m, src) } -func (m *SubscribeBlockHeadersFromLatestResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlockHeadersFromLatestResponse.Size(m) +func (m *SubscribeBlockHeadersResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockHeadersResponse.Size(m) } -func (m *SubscribeBlockHeadersFromLatestResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlockHeadersFromLatestResponse.DiscardUnknown(m) +func (m *SubscribeBlockHeadersResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockHeadersResponse.DiscardUnknown(m) } -var xxx_messageInfo_SubscribeBlockHeadersFromLatestResponse proto.InternalMessageInfo +var xxx_messageInfo_SubscribeBlockHeadersResponse proto.InternalMessageInfo -func (m *SubscribeBlockHeadersFromLatestResponse) GetHeader() *entities.BlockHeader { +func (m *SubscribeBlockHeadersResponse) GetHeader() *entities.BlockHeader { if m != nil { return m.Header } @@ -2885,7 +2679,7 @@ func (m *SubscribeBlockDigestsFromStartBlockIDRequest) String() string { } func (*SubscribeBlockDigestsFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{59} + return fileDescriptor_4382e32bb8e3e8e5, []int{55} } func (m *SubscribeBlockDigestsFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2920,72 +2714,6 @@ func (m *SubscribeBlockDigestsFromStartBlockIDRequest) GetBlockStatus() entities return entities.BlockStatus_BLOCK_UNKNOWN } -// The response for SubscribeBlockDigestsFromStartBlockID -type SubscribeBlockDigestsFromStartBlockIDResponse struct { - // The block ID of the new sealed or finalized block according to the block status - // in the request. - BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` - // The block height of the new sealed or finalized block according to the block status - // in the request. - BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - // The timestamp of the new sealed or finalized block according to the block status - // in the request. - BlockTimestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=block_timestamp,json=blockTimestamp,proto3" json:"block_timestamp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SubscribeBlockDigestsFromStartBlockIDResponse) Reset() { - *m = SubscribeBlockDigestsFromStartBlockIDResponse{} -} -func (m *SubscribeBlockDigestsFromStartBlockIDResponse) String() string { - return proto.CompactTextString(m) -} -func (*SubscribeBlockDigestsFromStartBlockIDResponse) ProtoMessage() {} -func (*SubscribeBlockDigestsFromStartBlockIDResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{60} -} - -func (m *SubscribeBlockDigestsFromStartBlockIDResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDResponse.Unmarshal(m, b) -} -func (m *SubscribeBlockDigestsFromStartBlockIDResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDResponse.Marshal(b, m, deterministic) -} -func (m *SubscribeBlockDigestsFromStartBlockIDResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDResponse.Merge(m, src) -} -func (m *SubscribeBlockDigestsFromStartBlockIDResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDResponse.Size(m) -} -func (m *SubscribeBlockDigestsFromStartBlockIDResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_SubscribeBlockDigestsFromStartBlockIDResponse proto.InternalMessageInfo - -func (m *SubscribeBlockDigestsFromStartBlockIDResponse) GetBlockId() []byte { - if m != nil { - return m.BlockId - } - return nil -} - -func (m *SubscribeBlockDigestsFromStartBlockIDResponse) GetBlockHeight() uint64 { - if m != nil { - return m.BlockHeight - } - return 0 -} - -func (m *SubscribeBlockDigestsFromStartBlockIDResponse) GetBlockTimestamp() *timestamppb.Timestamp { - if m != nil { - return m.BlockTimestamp - } - return nil -} - // The request for SubscribeBlockDigestsFromStartHeight type SubscribeBlockDigestsFromStartHeightRequest struct { // Block height of the first block to subscribe. @@ -3008,7 +2736,7 @@ func (m *SubscribeBlockDigestsFromStartHeightRequest) String() string { } func (*SubscribeBlockDigestsFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{61} + return fileDescriptor_4382e32bb8e3e8e5, []int{56} } func (m *SubscribeBlockDigestsFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -3043,82 +2771,11 @@ func (m *SubscribeBlockDigestsFromStartHeightRequest) GetBlockStatus() entities. return entities.BlockStatus_BLOCK_UNKNOWN } -// The response for SubscribeBlockDigestsFromStartHeight -type SubscribeBlockDigestsFromStartHeightResponse struct { - // The block ID of the new sealed or finalized block according to the block status - // in the request. - BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` - // The block height of the new sealed or finalized block according to the block status - // in the request. - BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - // The timestamp of the new sealed or finalized block according to the block status - // in the request. - BlockTimestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=block_timestamp,json=blockTimestamp,proto3" json:"block_timestamp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *SubscribeBlockDigestsFromStartHeightResponse) Reset() { - *m = SubscribeBlockDigestsFromStartHeightResponse{} -} -func (m *SubscribeBlockDigestsFromStartHeightResponse) String() string { - return proto.CompactTextString(m) -} -func (*SubscribeBlockDigestsFromStartHeightResponse) ProtoMessage() {} -func (*SubscribeBlockDigestsFromStartHeightResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{62} -} - -func (m *SubscribeBlockDigestsFromStartHeightResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlockDigestsFromStartHeightResponse.Unmarshal(m, b) -} -func (m *SubscribeBlockDigestsFromStartHeightResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlockDigestsFromStartHeightResponse.Marshal(b, m, deterministic) -} -func (m *SubscribeBlockDigestsFromStartHeightResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlockDigestsFromStartHeightResponse.Merge(m, src) -} -func (m *SubscribeBlockDigestsFromStartHeightResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlockDigestsFromStartHeightResponse.Size(m) -} -func (m *SubscribeBlockDigestsFromStartHeightResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlockDigestsFromStartHeightResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_SubscribeBlockDigestsFromStartHeightResponse proto.InternalMessageInfo - -func (m *SubscribeBlockDigestsFromStartHeightResponse) GetBlockId() []byte { - if m != nil { - return m.BlockId - } - return nil -} - -func (m *SubscribeBlockDigestsFromStartHeightResponse) GetBlockHeight() uint64 { - if m != nil { - return m.BlockHeight - } - return 0 -} - -func (m *SubscribeBlockDigestsFromStartHeightResponse) GetBlockTimestamp() *timestamppb.Timestamp { - if m != nil { - return m.BlockTimestamp - } - return nil -} - // The request for SubscribeBlockDigestsFromLatest type SubscribeBlockDigestsFromLatestRequest struct { - // Required block status of the block payload. - // Possible variants: - // 1. BLOCK_FINALIZED - // 2. BLOCK_SEALED - BlockStatus entities.BlockStatus `protobuf:"varint,2,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SubscribeBlockDigestsFromLatestRequest) Reset() { @@ -3127,7 +2784,7 @@ func (m *SubscribeBlockDigestsFromLatestRequest) Reset() { func (m *SubscribeBlockDigestsFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockDigestsFromLatestRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{63} + return fileDescriptor_4382e32bb8e3e8e5, []int{57} } func (m *SubscribeBlockDigestsFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -3148,15 +2805,8 @@ func (m *SubscribeBlockDigestsFromLatestRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlockDigestsFromLatestRequest proto.InternalMessageInfo -func (m *SubscribeBlockDigestsFromLatestRequest) GetBlockStatus() entities.BlockStatus { - if m != nil { - return m.BlockStatus - } - return entities.BlockStatus_BLOCK_UNKNOWN -} - -// The response for SubscribeBlockDigestsFromLatest -type SubscribeBlockDigestsFromLatestResponse struct { +// The response for SubscribeBlockDigestsFromStartBlockID, SubscribeBlockDigestsFromStartHeight, SubscribeBlockDigestsFromLatest +type SubscribeBlockDigestsResponse struct { // The block ID of the new sealed or finalized block according to the block status // in the request. BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` @@ -3171,48 +2821,46 @@ type SubscribeBlockDigestsFromLatestResponse struct { XXX_sizecache int32 `json:"-"` } -func (m *SubscribeBlockDigestsFromLatestResponse) Reset() { - *m = SubscribeBlockDigestsFromLatestResponse{} -} -func (m *SubscribeBlockDigestsFromLatestResponse) String() string { return proto.CompactTextString(m) } -func (*SubscribeBlockDigestsFromLatestResponse) ProtoMessage() {} -func (*SubscribeBlockDigestsFromLatestResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{64} +func (m *SubscribeBlockDigestsResponse) Reset() { *m = SubscribeBlockDigestsResponse{} } +func (m *SubscribeBlockDigestsResponse) String() string { return proto.CompactTextString(m) } +func (*SubscribeBlockDigestsResponse) ProtoMessage() {} +func (*SubscribeBlockDigestsResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{58} } -func (m *SubscribeBlockDigestsFromLatestResponse) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeBlockDigestsFromLatestResponse.Unmarshal(m, b) +func (m *SubscribeBlockDigestsResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeBlockDigestsResponse.Unmarshal(m, b) } -func (m *SubscribeBlockDigestsFromLatestResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeBlockDigestsFromLatestResponse.Marshal(b, m, deterministic) +func (m *SubscribeBlockDigestsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeBlockDigestsResponse.Marshal(b, m, deterministic) } -func (m *SubscribeBlockDigestsFromLatestResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeBlockDigestsFromLatestResponse.Merge(m, src) +func (m *SubscribeBlockDigestsResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeBlockDigestsResponse.Merge(m, src) } -func (m *SubscribeBlockDigestsFromLatestResponse) XXX_Size() int { - return xxx_messageInfo_SubscribeBlockDigestsFromLatestResponse.Size(m) +func (m *SubscribeBlockDigestsResponse) XXX_Size() int { + return xxx_messageInfo_SubscribeBlockDigestsResponse.Size(m) } -func (m *SubscribeBlockDigestsFromLatestResponse) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeBlockDigestsFromLatestResponse.DiscardUnknown(m) +func (m *SubscribeBlockDigestsResponse) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeBlockDigestsResponse.DiscardUnknown(m) } -var xxx_messageInfo_SubscribeBlockDigestsFromLatestResponse proto.InternalMessageInfo +var xxx_messageInfo_SubscribeBlockDigestsResponse proto.InternalMessageInfo -func (m *SubscribeBlockDigestsFromLatestResponse) GetBlockId() []byte { +func (m *SubscribeBlockDigestsResponse) GetBlockId() []byte { if m != nil { return m.BlockId } return nil } -func (m *SubscribeBlockDigestsFromLatestResponse) GetBlockHeight() uint64 { +func (m *SubscribeBlockDigestsResponse) GetBlockHeight() uint64 { if m != nil { return m.BlockHeight } return 0 } -func (m *SubscribeBlockDigestsFromLatestResponse) GetBlockTimestamp() *timestamppb.Timestamp { +func (m *SubscribeBlockDigestsResponse) GetBlockTimestamp() *timestamppb.Timestamp { if m != nil { return m.BlockTimestamp } @@ -3236,7 +2884,7 @@ func (m *SendAndSubscribeTransactionStatusesRequest) String() string { } func (*SendAndSubscribeTransactionStatusesRequest) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{65} + return fileDescriptor_4382e32bb8e3e8e5, []int{59} } func (m *SendAndSubscribeTransactionStatusesRequest) XXX_Unmarshal(b []byte) error { @@ -3291,7 +2939,7 @@ func (m *SendAndSubscribeTransactionStatusesResponse) String() string { } func (*SendAndSubscribeTransactionStatusesResponse) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{66} + return fileDescriptor_4382e32bb8e3e8e5, []int{60} } func (m *SendAndSubscribeTransactionStatusesResponse) XXX_Unmarshal(b []byte) error { @@ -3383,23 +3031,17 @@ func init() { proto.RegisterType((*GetExecutionResultByIDRequest)(nil), "flow.access.GetExecutionResultByIDRequest") proto.RegisterType((*ExecutionResultByIDResponse)(nil), "flow.access.ExecutionResultByIDResponse") proto.RegisterType((*SubscribeBlocksFromStartBlockIDRequest)(nil), "flow.access.SubscribeBlocksFromStartBlockIDRequest") - proto.RegisterType((*SubscribeBlocksFromStartBlockIDResponse)(nil), "flow.access.SubscribeBlocksFromStartBlockIDResponse") proto.RegisterType((*SubscribeBlocksFromStartHeightRequest)(nil), "flow.access.SubscribeBlocksFromStartHeightRequest") - proto.RegisterType((*SubscribeBlocksFromStartHeightResponse)(nil), "flow.access.SubscribeBlocksFromStartHeightResponse") proto.RegisterType((*SubscribeBlocksFromLatestRequest)(nil), "flow.access.SubscribeBlocksFromLatestRequest") - proto.RegisterType((*SubscribeBlocksFromLatestResponse)(nil), "flow.access.SubscribeBlocksFromLatestResponse") + proto.RegisterType((*SubscribeBlocksResponse)(nil), "flow.access.SubscribeBlocksResponse") proto.RegisterType((*SubscribeBlockHeadersFromStartBlockIDRequest)(nil), "flow.access.SubscribeBlockHeadersFromStartBlockIDRequest") - proto.RegisterType((*SubscribeBlockHeadersFromStartBlockIDResponse)(nil), "flow.access.SubscribeBlockHeadersFromStartBlockIDResponse") proto.RegisterType((*SubscribeBlockHeadersFromStartHeightRequest)(nil), "flow.access.SubscribeBlockHeadersFromStartHeightRequest") - proto.RegisterType((*SubscribeBlockHeadersFromStartHeightResponse)(nil), "flow.access.SubscribeBlockHeadersFromStartHeightResponse") proto.RegisterType((*SubscribeBlockHeadersFromLatestRequest)(nil), "flow.access.SubscribeBlockHeadersFromLatestRequest") - proto.RegisterType((*SubscribeBlockHeadersFromLatestResponse)(nil), "flow.access.SubscribeBlockHeadersFromLatestResponse") + proto.RegisterType((*SubscribeBlockHeadersResponse)(nil), "flow.access.SubscribeBlockHeadersResponse") proto.RegisterType((*SubscribeBlockDigestsFromStartBlockIDRequest)(nil), "flow.access.SubscribeBlockDigestsFromStartBlockIDRequest") - proto.RegisterType((*SubscribeBlockDigestsFromStartBlockIDResponse)(nil), "flow.access.SubscribeBlockDigestsFromStartBlockIDResponse") proto.RegisterType((*SubscribeBlockDigestsFromStartHeightRequest)(nil), "flow.access.SubscribeBlockDigestsFromStartHeightRequest") - proto.RegisterType((*SubscribeBlockDigestsFromStartHeightResponse)(nil), "flow.access.SubscribeBlockDigestsFromStartHeightResponse") proto.RegisterType((*SubscribeBlockDigestsFromLatestRequest)(nil), "flow.access.SubscribeBlockDigestsFromLatestRequest") - proto.RegisterType((*SubscribeBlockDigestsFromLatestResponse)(nil), "flow.access.SubscribeBlockDigestsFromLatestResponse") + proto.RegisterType((*SubscribeBlockDigestsResponse)(nil), "flow.access.SubscribeBlockDigestsResponse") proto.RegisterType((*SendAndSubscribeTransactionStatusesRequest)(nil), "flow.access.SendAndSubscribeTransactionStatusesRequest") proto.RegisterType((*SendAndSubscribeTransactionStatusesResponse)(nil), "flow.access.SendAndSubscribeTransactionStatusesResponse") } @@ -3407,161 +3049,155 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2481 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcd, 0x6f, 0xdc, 0xc6, - 0x15, 0x07, 0x77, 0x65, 0x7d, 0x3c, 0xad, 0x64, 0x7b, 0xa4, 0xc8, 0x2b, 0xca, 0x92, 0x56, 0x94, - 0x14, 0x2b, 0xfe, 0x58, 0x09, 0x72, 0x8a, 0x58, 0xee, 0x07, 0x2a, 0x39, 0x8e, 0x22, 0xc0, 0x4e, - 0x85, 0x95, 0xe3, 0x22, 0x6d, 0x1d, 0x81, 0x5a, 0x8e, 0x56, 0xac, 0x77, 0xc9, 0x2d, 0xc9, 0xb5, - 0xad, 0x36, 0x87, 0x1c, 0x82, 0xa2, 0x40, 0x80, 0x16, 0x45, 0x0f, 0x45, 0x83, 0x06, 0x28, 0xd0, - 0x53, 0x8b, 0x02, 0x45, 0x0b, 0xf4, 0x50, 0x14, 0x45, 0x81, 0xa2, 0xff, 0x40, 0xff, 0x9f, 0x1e, - 0x0a, 0xce, 0x0c, 0xb9, 0x9c, 0xe1, 0x70, 0x96, 0xbb, 0xb2, 0x23, 0x5f, 0x12, 0x93, 0xf3, 0xe6, - 0x7d, 0xbf, 0x37, 0xb3, 0xbf, 0x47, 0x41, 0xf9, 0xb8, 0xe9, 0x3e, 0x5f, 0x37, 0xeb, 0x75, 0xec, - 0xfb, 0xec, 0x7f, 0xd5, 0xb6, 0xe7, 0x06, 0x2e, 0x1a, 0x0f, 0x57, 0xaa, 0xf4, 0x95, 0x3e, 0x47, - 0xc8, 0xb0, 0x13, 0xd8, 0x81, 0x8d, 0x09, 0xa1, 0xdb, 0x71, 0x02, 0x4a, 0xa9, 0x57, 0xf8, 0xc5, - 0xa3, 0xa6, 0x5b, 0x7f, 0x7a, 0x78, 0x82, 0x4d, 0x0b, 0x7b, 0x8c, 0x62, 0x56, 0x42, 0xc1, 0x96, - 0x16, 0xf8, 0xa5, 0xba, 0xdb, 0x6c, 0xe2, 0x7a, 0x60, 0xbb, 0x8e, 0x7c, 0x2b, 0x7e, 0x86, 0x63, - 0xb9, 0x2b, 0xc2, 0xd2, 0x0b, 0x5c, 0xef, 0x84, 0x3b, 0x0f, 0x3d, 0xec, 0x77, 0x9a, 0x11, 0xd5, - 0x55, 0x9e, 0xaa, 0x85, 0x03, 0xd3, 0x32, 0x03, 0x93, 0xad, 0xae, 0xf2, 0xab, 0x8e, 0x6b, 0xe1, - 0xc3, 0x67, 0xd8, 0xf3, 0x43, 0x36, 0xb6, 0x73, 0xec, 0x32, 0xb2, 0x45, 0x9e, 0x2c, 0xf0, 0x4c, - 0xc7, 0x37, 0x93, 0x6a, 0x2e, 0x36, 0x5c, 0xb7, 0xd1, 0xc4, 0xeb, 0xe4, 0xe9, 0xa8, 0x73, 0xbc, - 0x1e, 0xd8, 0x2d, 0xec, 0x07, 0x66, 0xab, 0x4d, 0x09, 0x8c, 0x09, 0x18, 0xdf, 0xb7, 0x9d, 0x46, - 0x0d, 0xff, 0xa8, 0x83, 0xfd, 0xc0, 0x98, 0x84, 0x12, 0x7d, 0xf4, 0xdb, 0xae, 0xe3, 0x63, 0x63, - 0x0e, 0x66, 0x77, 0x71, 0xf0, 0x81, 0x6b, 0xe1, 0xc7, 0x54, 0xfa, 0x9e, 0x73, 0xec, 0x46, 0xc4, - 0xfb, 0xa0, 0xcb, 0x16, 0xe9, 0x56, 0xb4, 0x09, 0x43, 0xa1, 0xa6, 0x65, 0xad, 0xa2, 0xad, 0x8d, - 0x6f, 0x2e, 0x54, 0x49, 0xdc, 0x22, 0x55, 0xab, 0xe2, 0x2e, 0x42, 0x6b, 0xdc, 0x85, 0xb9, 0x5d, - 0x1c, 0x3c, 0x30, 0x03, 0xec, 0x07, 0x3b, 0x61, 0x34, 0xde, 0x27, 0xe1, 0x62, 0x02, 0xd1, 0x1c, - 0x8c, 0xd9, 0xfe, 0xa1, 0x8f, 0xcd, 0x26, 0xb6, 0x08, 0xdf, 0xd1, 0xda, 0xa8, 0xed, 0x1f, 0x90, - 0x67, 0xe3, 0x06, 0x51, 0x35, 0xb1, 0x6b, 0xe7, 0x74, 0xef, 0xdd, 0x68, 0xe7, 0x24, 0x14, 0x6c, - 0xba, 0xa5, 0x54, 0x2b, 0xd8, 0x96, 0xf1, 0x0e, 0xcc, 0x8b, 0xc4, 0xef, 0x63, 0xbb, 0x71, 0x12, - 0x44, 0x1b, 0x66, 0x60, 0xf8, 0x84, 0xbc, 0x20, 0x9b, 0x86, 0x6a, 0xec, 0xc9, 0xf8, 0x87, 0x06, - 0x53, 0x9c, 0x66, 0xcc, 0xda, 0x0d, 0xb8, 0x40, 0xd2, 0x87, 0x99, 0xab, 0x0b, 0xe6, 0x26, 0xb7, - 0x50, 0x42, 0xf4, 0x4d, 0x28, 0xd1, 0x94, 0xf4, 0x03, 0x33, 0xe8, 0xf8, 0xe5, 0x42, 0x45, 0x5b, - 0x9b, 0x94, 0x6f, 0x3c, 0x20, 0x14, 0xb5, 0xf1, 0xa3, 0xee, 0x03, 0xba, 0x0d, 0xa3, 0x51, 0xce, - 0x94, 0x8b, 0x44, 0xe6, 0x15, 0x61, 0xeb, 0x43, 0xb6, 0x5c, 0x8b, 0x09, 0x0d, 0x0b, 0xde, 0xe0, - 0xfd, 0x9b, 0xc7, 0xb3, 0xa8, 0x0a, 0x53, 0xc7, 0x9d, 0x66, 0xf3, 0x90, 0xaa, 0xeb, 0x31, 0x93, - 0x89, 0xc2, 0xa3, 0xb5, 0xcb, 0xe1, 0x12, 0xe3, 0xc5, 0x92, 0xe6, 0x43, 0x98, 0x8a, 0x9c, 0xab, - 0x88, 0x41, 0xdf, 0x6c, 0x4d, 0xb8, 0xd2, 0x65, 0x9b, 0x2b, 0x5a, 0x7d, 0x8b, 0xf8, 0xb3, 0x06, - 0x13, 0xdc, 0x1b, 0x74, 0x9d, 0x8f, 0xeb, 0xb4, 0x2c, 0x3c, 0xe7, 0x19, 0xd1, 0xeb, 0x50, 0xde, - 0xc5, 0xc1, 0xbd, 0xb8, 0x3d, 0xa9, 0x92, 0xfe, 0x33, 0x0d, 0x50, 0x97, 0x32, 0x36, 0x71, 0x0b, - 0xa0, 0xdb, 0xde, 0x98, 0x9d, 0xb3, 0x82, 0xe4, 0xc4, 0xb6, 0x04, 0x31, 0xa7, 0x72, 0x21, 0xaf, - 0xca, 0x8f, 0x61, 0xe6, 0x00, 0x3b, 0xd6, 0xa3, 0x6e, 0xb3, 0x8a, 0x14, 0xfe, 0x06, 0x8c, 0x27, - 0x5a, 0x58, 0x46, 0x29, 0x25, 0xf7, 0x25, 0xc9, 0x8d, 0x8f, 0xe1, 0x4a, 0x8a, 0x2f, 0x33, 0x51, - 0x4c, 0xbd, 0x81, 0xf4, 0xfe, 0xb7, 0x46, 0xaa, 0x47, 0xa2, 0xb7, 0xc8, 0x7e, 0x16, 0x46, 0x69, - 0x22, 0xd8, 0x16, 0x61, 0x5f, 0xaa, 0x8d, 0x90, 0xe7, 0x3d, 0x0b, 0x2d, 0xc3, 0x44, 0xd7, 0x7f, - 0xe1, 0x7a, 0x91, 0xac, 0x97, 0xba, 0x2f, 0xf7, 0x2c, 0xf4, 0x11, 0xcc, 0x90, 0x03, 0xe5, 0x10, - 0x3b, 0x75, 0xd7, 0xb2, 0x9d, 0x46, 0xd4, 0xfb, 0xcb, 0x43, 0x24, 0xa5, 0x96, 0x05, 0x65, 0xef, - 0x87, 0xc4, 0xf7, 0x19, 0x2d, 0xeb, 0xaa, 0xb5, 0x69, 0x2c, 0x79, 0x6b, 0xdc, 0x21, 0x1d, 0xf6, - 0xe0, 0xd4, 0x0f, 0x70, 0x4b, 0x62, 0x49, 0x52, 0x73, 0x8d, 0xd3, 0xdc, 0xf8, 0x8d, 0x06, 0x4b, - 0xf2, 0xad, 0xe1, 0xa9, 0xd6, 0x9b, 0x81, 0xc2, 0xaa, 0xc2, 0x59, 0xad, 0xfa, 0xa3, 0x06, 0x57, - 0xf9, 0xd0, 0xec, 0x9c, 0xee, 0x39, 0x16, 0x7e, 0x91, 0x43, 0xad, 0x69, 0xb8, 0x60, 0x87, 0xa4, - 0x44, 0x8b, 0x89, 0x1a, 0x7d, 0x50, 0x28, 0x5b, 0x3c, 0xab, 0xb2, 0xbf, 0xd6, 0x60, 0x91, 0x57, - 0xd6, 0xdf, 0x39, 0x25, 0x5d, 0xa1, 0x5b, 0xba, 0xe7, 0xe6, 0x46, 0x3d, 0x15, 0x59, 0x3f, 0xae, - 0xa2, 0xef, 0xc2, 0x54, 0xa2, 0xde, 0xd8, 0x75, 0xc6, 0x2f, 0x6b, 0x95, 0xe2, 0xda, 0xf8, 0xe6, - 0x9b, 0xd5, 0xc4, 0xc5, 0xac, 0x2a, 0xc9, 0x0f, 0xca, 0xa4, 0x86, 0x82, 0x94, 0x80, 0xc1, 0xca, - 0xf1, 0x73, 0x0d, 0xa6, 0x93, 0x3e, 0x8c, 0xd5, 0xfc, 0x16, 0x94, 0x12, 0x32, 0x22, 0xfd, 0x54, - 0x6d, 0x84, 0xa3, 0x1f, 0x4c, 0x9b, 0x9f, 0x69, 0x30, 0x25, 0xeb, 0x3c, 0x67, 0x6a, 0x69, 0x83, - 0xa9, 0xf2, 0xb7, 0x22, 0xcc, 0x66, 0xfa, 0x1f, 0xdd, 0x81, 0x61, 0x76, 0x3c, 0x69, 0x24, 0x5d, - 0x2a, 0xd9, 0xba, 0xb0, 0x43, 0x8a, 0xd1, 0xa3, 0x45, 0x18, 0xa7, 0xff, 0x3a, 0xac, 0xbb, 0x16, - 0x66, 0xe5, 0x02, 0xf4, 0xd5, 0x3d, 0xd7, 0xc2, 0x61, 0x6f, 0xc3, 0x9e, 0xe7, 0x7a, 0x87, 0x2d, - 0xec, 0xfb, 0x66, 0x03, 0x93, 0x52, 0x19, 0xab, 0x95, 0xc8, 0xcb, 0x87, 0xf4, 0x1d, 0xba, 0x09, - 0xc3, 0x24, 0xf7, 0xfc, 0xf2, 0x10, 0x89, 0xcb, 0xb4, 0x2c, 0x5d, 0x6b, 0x8c, 0x86, 0xab, 0x83, - 0x0b, 0x7c, 0x1d, 0xac, 0xc2, 0x64, 0x32, 0x1b, 0x6d, 0xab, 0x3c, 0x4c, 0x08, 0x26, 0x12, 0x6f, - 0x65, 0x0d, 0x77, 0x44, 0xd2, 0x70, 0x97, 0xa2, 0x93, 0x9b, 0xdd, 0x22, 0x46, 0xc9, 0x2d, 0x82, - 0x9e, 0xce, 0xf4, 0xa6, 0xc1, 0x85, 0x62, 0x2c, 0x67, 0x28, 0xd0, 0x0d, 0xb8, 0x5c, 0x77, 0x5b, - 0xed, 0x4e, 0x60, 0x12, 0xe9, 0x1d, 0xe2, 0x15, 0x20, 0xcc, 0x2f, 0x25, 0x16, 0x3e, 0x0c, 0xdf, - 0x1b, 0xb7, 0xe0, 0xf2, 0x2e, 0x0e, 0xb6, 0xe9, 0x6f, 0x98, 0xa8, 0x11, 0x94, 0x61, 0xc4, 0xb4, - 0x2c, 0x0f, 0xfb, 0x7e, 0xd4, 0x07, 0xd8, 0xa3, 0xf1, 0x13, 0x40, 0x49, 0xf2, 0xf8, 0x1e, 0x3a, - 0xc2, 0x7e, 0x05, 0xb1, 0x5c, 0x9b, 0x11, 0xb4, 0x8c, 0x36, 0x44, 0x64, 0x83, 0xe5, 0xd8, 0x5d, - 0x58, 0xe8, 0x0a, 0xdf, 0x96, 0xdd, 0x28, 0xb3, 0x15, 0x7f, 0x01, 0x17, 0xcf, 0x49, 0xeb, 0x27, - 0xbc, 0xd6, 0x3b, 0xdd, 0xf0, 0xf6, 0xd4, 0x3a, 0x95, 0x22, 0x85, 0x54, 0x8a, 0x18, 0x1f, 0xc1, - 0xd2, 0x7d, 0xf2, 0x63, 0x0f, 0x1f, 0xd4, 0x3d, 0xbb, 0x2d, 0xf7, 0xcb, 0x0c, 0x0c, 0xfb, 0x64, - 0x95, 0x09, 0x60, 0x4f, 0xe8, 0x2a, 0x8c, 0x99, 0x5e, 0xa3, 0xd3, 0x22, 0xa5, 0x51, 0xa8, 0x14, - 0xd7, 0x4a, 0xb5, 0xee, 0x0b, 0xa3, 0x0d, 0xf3, 0x02, 0xeb, 0xfc, 0x07, 0x46, 0x57, 0x62, 0x21, - 0x5b, 0x62, 0x51, 0x94, 0xf8, 0x49, 0xca, 0x18, 0x89, 0xbb, 0x44, 0xa7, 0x68, 0xe9, 0xba, 0x19, - 0x4c, 0xfa, 0x2f, 0x34, 0x78, 0x83, 0x13, 0x1f, 0xa7, 0xca, 0x34, 0x5c, 0x78, 0x66, 0x36, 0x3b, - 0x98, 0x59, 0x49, 0x1f, 0x06, 0x4a, 0x07, 0x79, 0x75, 0x16, 0x33, 0xaa, 0xf3, 0xbf, 0x1a, 0x49, - 0x1e, 0xd2, 0x9e, 0xfc, 0xf7, 0x5c, 0x8f, 0x39, 0xc2, 0x74, 0x1a, 0x38, 0xf2, 0x06, 0x82, 0xa1, - 0xe0, 0xb4, 0x4d, 0x35, 0x1b, 0xab, 0x91, 0x7f, 0x87, 0x1e, 0xf2, 0x03, 0xd3, 0x0b, 0x84, 0xb4, - 0x21, 0xef, 0x98, 0x87, 0xe6, 0x01, 0xb0, 0x63, 0x45, 0x04, 0x54, 0xfe, 0x18, 0x76, 0x2c, 0xb6, - 0xfc, 0x0a, 0x2f, 0x83, 0x7f, 0xd0, 0xc8, 0x6d, 0x30, 0xb6, 0x89, 0xe5, 0x94, 0xaf, 0x32, 0x68, - 0x0e, 0xc6, 0xa2, 0x44, 0x8b, 0xf2, 0x74, 0x94, 0x65, 0x9a, 0xff, 0x2a, 0x6f, 0x4d, 0xff, 0x2a, - 0xc0, 0x24, 0x55, 0x34, 0x71, 0xb6, 0x8e, 0xf0, 0x77, 0x10, 0x83, 0xbb, 0x83, 0xf0, 0xd4, 0x55, - 0x76, 0x0e, 0x46, 0x5b, 0x06, 0x4a, 0x19, 0xfd, 0xef, 0x1a, 0x0c, 0x53, 0x46, 0xaa, 0x8a, 0xeb, - 0xdd, 0x2b, 0x12, 0xc7, 0x60, 0x31, 0xc7, 0x31, 0x78, 0x0f, 0x2e, 0x52, 0x86, 0x31, 0x7c, 0x43, - 0x82, 0x1f, 0xde, 0x24, 0x28, 0xc0, 0x53, 0x8d, 0x00, 0x9e, 0xea, 0xa3, 0x88, 0xa2, 0x36, 0x49, - 0xb6, 0xc4, 0xcf, 0xc6, 0x3c, 0x09, 0xf6, 0x07, 0x38, 0x78, 0xee, 0x7a, 0x4f, 0xf7, 0x4d, 0xcf, - 0x6c, 0xe1, 0x00, 0x7b, 0x51, 0xb0, 0x8d, 0x2d, 0x72, 0x85, 0x96, 0x2c, 0x33, 0x6f, 0xcf, 0xc2, - 0x68, 0xfd, 0xc4, 0xb4, 0x9d, 0xc8, 0xde, 0xb1, 0xda, 0x08, 0x79, 0xde, 0xb3, 0x8c, 0x6b, 0xb0, - 0x1a, 0xc3, 0x0a, 0xfb, 0xa1, 0x22, 0x75, 0xb7, 0x19, 0x5e, 0x1e, 0xf0, 0x81, 0x63, 0xb6, 0xfd, - 0x13, 0x37, 0xea, 0x17, 0xc6, 0x7d, 0x58, 0xdb, 0xc5, 0x72, 0x92, 0x3e, 0xae, 0xc0, 0xc6, 0x03, - 0xb8, 0x96, 0xcd, 0xa6, 0xdf, 0x0e, 0x15, 0xfe, 0x2c, 0x9e, 0xcf, 0xd0, 0x9a, 0x99, 0x5e, 0x05, - 0xe4, 0x63, 0xcf, 0x36, 0x9b, 0xf6, 0x8f, 0xb1, 0x15, 0xad, 0x32, 0xa5, 0x24, 0x2b, 0x83, 0x1d, - 0x4e, 0xdf, 0x86, 0xe5, 0xb0, 0x16, 0x23, 0xb4, 0x90, 0x66, 0x59, 0xb7, 0x28, 0x73, 0xb8, 0xe5, - 0xf7, 0x5a, 0xd4, 0xb3, 0xa5, 0xfb, 0x99, 0x31, 0x7b, 0x70, 0x49, 0x84, 0x24, 0x33, 0x30, 0x3a, - 0x81, 0x57, 0xed, 0x22, 0xe6, 0x5f, 0x0c, 0x66, 0xe7, 0x3a, 0x81, 0xde, 0x04, 0xde, 0x2a, 0xd8, - 0xe2, 0x4b, 0x0d, 0xe6, 0xa4, 0xe4, 0xaf, 0x89, 0x41, 0xff, 0xd4, 0xe0, 0xcd, 0x83, 0xce, 0x51, - 0x78, 0xae, 0x1d, 0x61, 0xe2, 0x6d, 0xff, 0x3d, 0xcf, 0x6d, 0x1d, 0x84, 0x2d, 0x5e, 0x08, 0xde, - 0x0a, 0x4c, 0xd2, 0xd3, 0x40, 0x08, 0x21, 0x3d, 0x23, 0x76, 0x58, 0xfb, 0x38, 0x23, 0x8e, 0x94, - 0x01, 0x7a, 0x15, 0xb3, 0xe1, 0xba, 0x6b, 0x3d, 0xd5, 0xef, 0x1f, 0x0d, 0x33, 0xfe, 0xa3, 0xc1, - 0x6a, 0x16, 0x5f, 0xbe, 0x46, 0x6f, 0x02, 0x4a, 0x7a, 0x85, 0xab, 0xd4, 0x4b, 0x5d, 0xcf, 0xb0, - 0xce, 0xf9, 0x15, 0x7b, 0xe7, 0x51, 0x76, 0x70, 0x23, 0x2b, 0x06, 0x70, 0xce, 0x2f, 0x35, 0xa8, - 0x48, 0xd8, 0xd2, 0x16, 0x1a, 0xf9, 0x45, 0xb4, 0x54, 0x7b, 0x29, 0x96, 0x66, 0x82, 0x9f, 0xdf, - 0x81, 0x25, 0x85, 0x4a, 0x03, 0x18, 0xf9, 0x2b, 0x0d, 0x6e, 0xf2, 0x1c, 0x29, 0x02, 0x7e, 0xae, - 0xe5, 0x61, 0xd4, 0xe1, 0x56, 0x4e, 0xa5, 0xe2, 0x41, 0xc6, 0x30, 0x9d, 0x1a, 0xe5, 0xc0, 0xf6, - 0x19, 0xa5, 0xf1, 0x85, 0x06, 0x37, 0xd4, 0x52, 0xce, 0xaf, 0x04, 0x8c, 0xa3, 0x5e, 0x61, 0x11, - 0x12, 0x7b, 0x10, 0x07, 0x34, 0xc4, 0xb2, 0x49, 0xc8, 0x78, 0x99, 0x59, 0x6e, 0x3c, 0x11, 0xbb, - 0x97, 0x44, 0xd0, 0x19, 0xec, 0x48, 0xe7, 0xf0, 0xbb, 0x76, 0x03, 0xfb, 0xc1, 0xf9, 0xe6, 0xf0, - 0x5f, 0x35, 0x31, 0x89, 0x33, 0xb5, 0xea, 0xde, 0xde, 0xce, 0x70, 0x5b, 0x95, 0xdc, 0x3f, 0x8b, - 0x7d, 0xdf, 0x3f, 0xd3, 0x35, 0x21, 0x2a, 0x7d, 0x8e, 0x35, 0xf1, 0x97, 0x9e, 0x71, 0x16, 0x8a, - 0xe2, 0x35, 0x70, 0x68, 0xaa, 0xc6, 0x12, 0x2a, 0xab, 0x6b, 0xac, 0x4f, 0xe7, 0xfc, 0x49, 0x13, - 0x8b, 0x4c, 0x22, 0xe9, 0xf5, 0xf1, 0xcb, 0x0f, 0xe1, 0xfa, 0x01, 0x76, 0xac, 0x6d, 0xc7, 0x8a, - 0x95, 0x4e, 0xa1, 0x9a, 0xd8, 0x7f, 0x39, 0x43, 0xa7, 0xdf, 0x86, 0x49, 0x9d, 0x47, 0x58, 0xc6, - 0x24, 0xaa, 0x0b, 0xc7, 0x16, 0xfa, 0x84, 0x63, 0x97, 0x61, 0x82, 0xe1, 0xac, 0x87, 0x74, 0x7e, - 0x41, 0x91, 0x83, 0x12, 0x7b, 0x49, 0xc6, 0x1f, 0x9b, 0xff, 0x5b, 0x81, 0xb1, 0x6d, 0xf2, 0x73, - 0x78, 0x7b, 0x7f, 0x0f, 0x7d, 0x1d, 0x86, 0xf6, 0x6d, 0xa7, 0x81, 0xca, 0xdc, 0xef, 0xe4, 0xc4, - 0xfc, 0x5f, 0x9f, 0x95, 0xac, 0x30, 0xcd, 0x31, 0xc1, 0x1b, 0x85, 0xb9, 0x3d, 0xe2, 0x61, 0xff, - 0xcc, 0x6f, 0x05, 0xf4, 0x6b, 0x3d, 0xe9, 0x98, 0x98, 0x23, 0x98, 0x96, 0x7d, 0x02, 0x80, 0xd6, - 0x44, 0x06, 0x59, 0x5f, 0x09, 0xe8, 0x15, 0x8e, 0x52, 0x36, 0xac, 0xff, 0x98, 0x98, 0x22, 0x7c, - 0x2a, 0x90, 0x36, 0x45, 0xfe, 0x2d, 0x41, 0x0e, 0xfe, 0xc7, 0x30, 0x23, 0xff, 0xba, 0x00, 0x5d, - 0x57, 0xca, 0xe0, 0xfa, 0x5f, 0x0e, 0x39, 0xfb, 0x30, 0xc9, 0x3b, 0x02, 0x19, 0x0a, 0x2f, 0x45, - 0x7c, 0xf5, 0x34, 0xdf, 0x98, 0xe3, 0x03, 0x28, 0x25, 0x47, 0xf7, 0xa8, 0x22, 0xd5, 0x37, 0xe9, - 0x0d, 0x15, 0xb7, 0x47, 0x70, 0x49, 0x9c, 0xd8, 0xa3, 0x95, 0x0c, 0x8e, 0xbc, 0xed, 0x2a, 0xae, - 0xdf, 0x27, 0x38, 0x39, 0x3f, 0xf2, 0x46, 0xab, 0x22, 0x5b, 0xe9, 0x48, 0x5c, 0x5f, 0xe4, 0xc8, - 0x24, 0xc3, 0xf0, 0x1f, 0xc0, 0x45, 0x61, 0x88, 0x8c, 0x96, 0xb9, 0x3d, 0xf2, 0xd1, 0xb5, 0xbe, - 0xa2, 0x26, 0x62, 0xdc, 0x1f, 0x93, 0x80, 0x25, 0x99, 0xa7, 0x02, 0x26, 0xe1, 0x5d, 0x51, 0x8c, - 0xd6, 0x92, 0x45, 0x93, 0x1a, 0xfa, 0xe4, 0xe2, 0x9e, 0x73, 0x70, 0x87, 0xda, 0x04, 0x3e, 0x4a, - 0xad, 0xb3, 0x41, 0x2b, 0x7a, 0x4b, 0x21, 0x8a, 0x1f, 0xc6, 0xe6, 0x96, 0xf8, 0x9c, 0x20, 0xae, - 0xe9, 0x81, 0x64, 0x0c, 0x15, 0xa1, 0x9b, 0x0a, 0xa1, 0xa9, 0xa1, 0xaa, 0xd0, 0x83, 0x14, 0x83, - 0xce, 0xa7, 0xe4, 0xa3, 0x0a, 0x29, 0xaf, 0x3e, 0x45, 0x2e, 0x65, 0x89, 0xf4, 0x85, 0xd8, 0xa5, - 0xc6, 0xea, 0xe9, 0x86, 0x97, 0x35, 0xb4, 0xcf, 0x91, 0x1f, 0x01, 0xf9, 0x52, 0x2b, 0x63, 0x74, - 0x8f, 0xaa, 0x39, 0x24, 0x25, 0x66, 0xfc, 0xb9, 0xe3, 0xf7, 0x10, 0xa0, 0x3b, 0x6e, 0x41, 0x0b, - 0xa2, 0x14, 0x7e, 0xd2, 0x25, 0x94, 0xa6, 0x64, 0xb4, 0x65, 0x91, 0xef, 0x7f, 0x64, 0x33, 0x27, - 0x74, 0x23, 0x63, 0xaf, 0x6c, 0x02, 0xa3, 0x5f, 0xe5, 0x88, 0x7b, 0x48, 0x49, 0x5e, 0x31, 0xb3, - 0xa5, 0xa4, 0x47, 0x23, 0x3d, 0xa4, 0xb4, 0x41, 0xcf, 0x1e, 0x15, 0x09, 0x01, 0xe9, 0x39, 0x53, - 0xd2, 0x8d, 0x6c, 0xfa, 0x58, 0xe2, 0x09, 0xcc, 0xc8, 0x27, 0x48, 0xc2, 0x99, 0xa4, 0x1c, 0x33, - 0xe5, 0x92, 0x94, 0xb6, 0x2d, 0xe9, 0xc4, 0x6a, 0x4f, 0x69, 0xbc, 0x1f, 0xf3, 0x48, 0xac, 0x93, - 0x98, 0xc9, 0x46, 0x33, 0xe9, 0x98, 0x29, 0x06, 0x38, 0xfa, 0x9c, 0x62, 0x7e, 0x80, 0x9e, 0x90, - 0x3a, 0x4d, 0xcd, 0x4a, 0xd2, 0x75, 0x9a, 0x35, 0x4e, 0x51, 0xb3, 0x7f, 0x4a, 0xd8, 0xa7, 0xe0, - 0xf7, 0x34, 0xfb, 0x2c, 0x00, 0x5f, 0x7f, 0x2b, 0x07, 0x25, 0x13, 0xf6, 0x29, 0x1d, 0x66, 0x29, - 0x10, 0x7b, 0xb4, 0x29, 0xbf, 0x49, 0xa8, 0xe0, 0x7d, 0x9d, 0xcf, 0x24, 0x35, 0xa6, 0xfe, 0x53, - 0xfa, 0x39, 0x91, 0x7a, 0x16, 0x80, 0xbe, 0x26, 0x6a, 0x91, 0x6b, 0x76, 0xd0, 0x97, 0x22, 0x9f, - 0x69, 0x50, 0xe9, 0x35, 0x4d, 0x40, 0x6f, 0xe7, 0xd4, 0x83, 0xcf, 0xdd, 0x7e, 0xd4, 0xf8, 0x94, - 0x7e, 0xc2, 0x94, 0x89, 0xdf, 0xa3, 0x8d, 0x54, 0x9e, 0xf5, 0x18, 0x15, 0xe8, 0xb2, 0x52, 0x53, - 0x4d, 0x06, 0x1c, 0x72, 0x6d, 0x95, 0x40, 0xed, 0xe9, 0x6b, 0x6b, 0x36, 0x7c, 0xaf, 0xaf, 0xa9, - 0xa4, 0x72, 0xc0, 0xfd, 0xcf, 0x35, 0x58, 0xec, 0x81, 0x3c, 0xa3, 0xdb, 0xfc, 0xbd, 0x2a, 0x17, - 0xcc, 0xae, 0xbf, 0xdd, 0xdf, 0x26, 0xaa, 0xce, 0x86, 0x86, 0x3e, 0xd7, 0x60, 0x41, 0x0d, 0xf6, - 0x0a, 0x65, 0x91, 0x0b, 0xdf, 0xd6, 0x6f, 0xf7, 0xb5, 0x27, 0xd6, 0xe6, 0x13, 0x98, 0xcd, 0xc4, - 0x63, 0xd1, 0xad, 0x5e, 0x3c, 0x39, 0x00, 0x40, 0x48, 0x85, 0x9e, 0x30, 0xef, 0x86, 0x86, 0x7e, - 0x97, 0x82, 0xef, 0x33, 0x70, 0x52, 0xb4, 0xa5, 0xe0, 0xad, 0x06, 0x7c, 0xf5, 0xbb, 0x83, 0x6c, - 0x8d, 0x55, 0xfc, 0x52, 0x83, 0x95, 0x3c, 0x40, 0x26, 0xba, 0xd3, 0x87, 0x18, 0x3e, 0x74, 0x5b, - 0x03, 0xec, 0x8c, 0xf5, 0x4b, 0xe7, 0x77, 0x0a, 0x9b, 0x54, 0xe6, 0x77, 0x16, 0x64, 0xaa, 0xcc, - 0xef, 0x4c, 0xf8, 0x53, 0x1a, 0xd3, 0x0c, 0xd8, 0x50, 0x19, 0x53, 0x35, 0x00, 0xaa, 0x8c, 0x69, - 0x0f, 0x94, 0x52, 0x1a, 0x53, 0x39, 0x0e, 0xa7, 0x8c, 0xa9, 0x12, 0x57, 0xd4, 0xb7, 0x06, 0xd8, - 0xa9, 0x88, 0x69, 0x0a, 0x0a, 0x53, 0xc6, 0x34, 0x0b, 0xa2, 0x53, 0xc6, 0x34, 0x13, 0x6d, 0xdb, - 0xd0, 0xd0, 0x17, 0x1a, 0x2c, 0xe7, 0x00, 0xa0, 0xd0, 0x3b, 0xa9, 0x1f, 0xa8, 0xf9, 0xf0, 0x31, - 0xfd, 0x4e, 0xff, 0x1b, 0x23, 0xe5, 0x76, 0x1e, 0x80, 0xee, 0x7a, 0x8d, 0xaa, 0xeb, 0x10, 0x16, - 0x31, 0x74, 0x47, 0x79, 0x7d, 0xaf, 0xda, 0xb0, 0x83, 0x93, 0xce, 0x51, 0xb5, 0xee, 0xb6, 0xd6, - 0x29, 0xc9, 0x3a, 0xf9, 0x4f, 0xfc, 0xc7, 0x2a, 0x0d, 0x77, 0x3d, 0xf1, 0x77, 0x40, 0x47, 0xc3, - 0x64, 0xe1, 0xf6, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0x05, 0xf7, 0x57, 0xa0, 0x1d, 0x34, 0x00, + // 2385 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x5f, 0x6f, 0x1c, 0x49, + 0x11, 0xd7, 0xec, 0x3a, 0xfe, 0x53, 0x5e, 0x3b, 0x49, 0xdb, 0xe7, 0xac, 0xc7, 0xb1, 0xbd, 0x19, + 0xdb, 0x17, 0x5f, 0x92, 0x5b, 0x47, 0x0e, 0xe8, 0x92, 0xe3, 0x8f, 0xb0, 0x73, 0x3e, 0x9f, 0xa5, + 0xe4, 0x64, 0xcd, 0xe6, 0x82, 0x0e, 0xb8, 0xb3, 0xc6, 0x3b, 0xed, 0xf5, 0x90, 0xdd, 0x99, 0x65, + 0x66, 0x36, 0x89, 0xe1, 0x84, 0xee, 0x21, 0x42, 0x48, 0x48, 0x80, 0xc4, 0x03, 0xe2, 0x04, 0x2f, + 0xf0, 0x04, 0x2f, 0x3c, 0xf1, 0x80, 0x10, 0x42, 0x42, 0x7c, 0x01, 0x3e, 0x11, 0x68, 0xba, 0x7b, + 0x66, 0xa7, 0x7b, 0x7a, 0x7a, 0x67, 0xd7, 0x1c, 0xce, 0x4b, 0xe2, 0x99, 0xae, 0xae, 0xfa, 0x75, + 0x57, 0x75, 0x75, 0xcd, 0xaf, 0x16, 0xaa, 0x27, 0x6d, 0xef, 0xc5, 0x96, 0xd5, 0x6c, 0xe2, 0x20, + 0x60, 0xff, 0xd5, 0xbb, 0xbe, 0x17, 0x7a, 0x68, 0x3a, 0x1a, 0xa9, 0xd3, 0x57, 0xfa, 0x12, 0x11, + 0xc3, 0x6e, 0xe8, 0x84, 0x0e, 0x26, 0x82, 0x5e, 0xcf, 0x0d, 0xa9, 0xa4, 0x5e, 0xe3, 0x07, 0x8f, + 0xdb, 0x5e, 0xf3, 0xd9, 0xd1, 0x29, 0xb6, 0x6c, 0xec, 0x33, 0x89, 0x45, 0x89, 0x04, 0x1b, 0x5a, + 0xe1, 0x87, 0x9a, 0x5e, 0xbb, 0x8d, 0x9b, 0xa1, 0xe3, 0xb9, 0xf2, 0xa9, 0xf8, 0x39, 0x4e, 0xec, + 0xae, 0x0b, 0x43, 0x2f, 0x71, 0xb3, 0x17, 0xcd, 0x3c, 0xf2, 0x71, 0xd0, 0x6b, 0xc7, 0x52, 0xd7, + 0x79, 0xa9, 0x0e, 0x0e, 0x2d, 0xdb, 0x0a, 0x2d, 0x36, 0xba, 0xc1, 0x8f, 0xba, 0x9e, 0x8d, 0x8f, + 0x9e, 0x63, 0x3f, 0x88, 0xd4, 0x38, 0xee, 0x89, 0xc7, 0xc4, 0x56, 0x79, 0xb1, 0xd0, 0xb7, 0xdc, + 0xc0, 0x4a, 0xc3, 0x5c, 0x6d, 0x79, 0x5e, 0xab, 0x8d, 0xb7, 0xc8, 0xd3, 0x71, 0xef, 0x64, 0x2b, + 0x74, 0x3a, 0x38, 0x08, 0xad, 0x4e, 0x97, 0x0a, 0x18, 0x33, 0x30, 0x7d, 0xe8, 0xb8, 0x2d, 0x13, + 0xff, 0xa0, 0x87, 0x83, 0xd0, 0x98, 0x85, 0x0a, 0x7d, 0x0c, 0xba, 0x9e, 0x1b, 0x60, 0x63, 0x09, + 0x16, 0xf7, 0x71, 0xf8, 0xa1, 0x67, 0xe3, 0xa7, 0xd4, 0xfa, 0x81, 0x7b, 0xe2, 0xc5, 0xc2, 0x87, + 0xa0, 0xcb, 0x06, 0xe9, 0x54, 0xb4, 0x0d, 0x63, 0x11, 0xd2, 0xaa, 0x56, 0xd3, 0x36, 0xa7, 0xb7, + 0x57, 0xea, 0xc4, 0x6f, 0x31, 0xd4, 0xba, 0x38, 0x8b, 0xc8, 0x1a, 0xef, 0xc2, 0xd2, 0x3e, 0x0e, + 0x1f, 0x59, 0x21, 0x0e, 0xc2, 0xdd, 0xc8, 0x1b, 0x1f, 0x10, 0x77, 0x31, 0x83, 0x68, 0x09, 0xa6, + 0x9c, 0xe0, 0x28, 0xc0, 0x56, 0x1b, 0xdb, 0x44, 0xef, 0xa4, 0x39, 0xe9, 0x04, 0x0d, 0xf2, 0x6c, + 0xdc, 0x26, 0x50, 0x53, 0xb3, 0x76, 0xcf, 0x0e, 0xde, 0x8b, 0x67, 0xce, 0x42, 0xc9, 0xa1, 0x53, + 0x2a, 0x66, 0xc9, 0xb1, 0x8d, 0x77, 0x60, 0x59, 0x14, 0xfe, 0x00, 0x3b, 0xad, 0xd3, 0x30, 0x9e, + 0xb0, 0x00, 0xe3, 0xa7, 0xe4, 0x05, 0x99, 0x34, 0x66, 0xb2, 0x27, 0xe3, 0x6f, 0x1a, 0xcc, 0x71, + 0xc8, 0xd8, 0x6a, 0xef, 0xc2, 0x25, 0x12, 0x3e, 0x6c, 0xb9, 0xba, 0xb0, 0xdc, 0xf4, 0x14, 0x2a, + 0x88, 0xbe, 0x01, 0x15, 0x1a, 0x92, 0x41, 0x68, 0x85, 0xbd, 0xa0, 0x5a, 0xaa, 0x69, 0x9b, 0xb3, + 0xf2, 0x89, 0x0d, 0x22, 0x61, 0x4e, 0x1f, 0xf7, 0x1f, 0xd0, 0x3d, 0x98, 0x8c, 0x63, 0xa6, 0x5a, + 0x26, 0x36, 0xaf, 0x09, 0x53, 0x1f, 0xb3, 0x61, 0x33, 0x11, 0x34, 0x6c, 0x78, 0x83, 0xdf, 0xdf, + 0x22, 0x3b, 0x8b, 0xea, 0x30, 0x77, 0xd2, 0x6b, 0xb7, 0x8f, 0x28, 0x5c, 0x9f, 0x2d, 0x99, 0x00, + 0x9e, 0x34, 0xaf, 0x46, 0x43, 0x4c, 0x17, 0x0b, 0x9a, 0x8f, 0x60, 0x2e, 0xde, 0x5c, 0x85, 0x0f, + 0x86, 0x56, 0x6b, 0xc1, 0xb5, 0xbe, 0xda, 0x42, 0xde, 0x1a, 0xda, 0xc4, 0x9f, 0x35, 0x98, 0xe1, + 0xde, 0xa0, 0x5b, 0xbc, 0x5f, 0xe7, 0x65, 0xee, 0xb9, 0x48, 0x8f, 0xde, 0x82, 0xea, 0x3e, 0x0e, + 0x1f, 0x26, 0xe9, 0x49, 0x15, 0xf4, 0xaf, 0x34, 0x40, 0x7d, 0xc9, 0x64, 0x89, 0x0f, 0x00, 0xfa, + 0xe9, 0x8d, 0xad, 0x73, 0x51, 0xb0, 0x9c, 0x9a, 0x96, 0x12, 0xe6, 0x20, 0x97, 0x8a, 0x42, 0x7e, + 0x0a, 0x0b, 0x0d, 0xec, 0xda, 0x4f, 0xfa, 0xc9, 0x2a, 0x06, 0xfc, 0x75, 0x98, 0x4e, 0xa5, 0xb0, + 0x9c, 0xa3, 0x94, 0x9e, 0x97, 0x16, 0x37, 0x3e, 0x85, 0x6b, 0x19, 0xbd, 0x6c, 0x89, 0x62, 0xe8, + 0x8d, 0x84, 0xfb, 0x9f, 0x1a, 0x39, 0x3d, 0x12, 0xdc, 0xa2, 0xfa, 0x45, 0x98, 0xa4, 0x81, 0xe0, + 0xd8, 0x44, 0x7d, 0xc5, 0x9c, 0x20, 0xcf, 0x07, 0x36, 0x5a, 0x83, 0x99, 0xfe, 0xfe, 0x45, 0xe3, + 0x65, 0x32, 0x5e, 0xe9, 0xbf, 0x3c, 0xb0, 0xd1, 0xc7, 0xb0, 0x40, 0x2e, 0x94, 0x23, 0xec, 0x36, + 0x3d, 0xdb, 0x71, 0x5b, 0x71, 0xee, 0xaf, 0x8e, 0x91, 0x90, 0x5a, 0x13, 0xc0, 0xee, 0x45, 0xc2, + 0x7b, 0x4c, 0x96, 0x65, 0x55, 0x73, 0x1e, 0x4b, 0xde, 0x1a, 0xf7, 0x49, 0x86, 0x6d, 0x9c, 0x05, + 0x21, 0xee, 0x48, 0x56, 0x92, 0x46, 0xae, 0x71, 0xc8, 0x8d, 0xdf, 0x68, 0x70, 0x43, 0x3e, 0x35, + 0xba, 0xd5, 0x06, 0x2b, 0x50, 0xac, 0xaa, 0x74, 0xde, 0x55, 0xfd, 0x49, 0x83, 0xeb, 0xbc, 0x6b, + 0x76, 0xcf, 0x0e, 0x5c, 0x1b, 0xbf, 0x2c, 0x00, 0x6b, 0x1e, 0x2e, 0x39, 0x91, 0x28, 0x41, 0x31, + 0x63, 0xd2, 0x07, 0x05, 0xd8, 0xf2, 0x79, 0xc1, 0xfe, 0x5a, 0x83, 0x55, 0x1e, 0x6c, 0xb0, 0x7b, + 0x46, 0xb2, 0x42, 0xff, 0xe8, 0x5e, 0xd8, 0x36, 0xea, 0x19, 0xcf, 0x06, 0xc9, 0x29, 0xfa, 0x36, + 0xcc, 0xa5, 0xce, 0x1b, 0x2b, 0x67, 0x82, 0xaa, 0x56, 0x2b, 0x6f, 0x4e, 0x6f, 0xbf, 0x59, 0x4f, + 0x15, 0x66, 0x75, 0x49, 0x7c, 0x50, 0x25, 0x26, 0x0a, 0x33, 0x06, 0x46, 0x3b, 0x8e, 0x3f, 0xd3, + 0x60, 0x3e, 0xbd, 0x87, 0x09, 0xcc, 0x6f, 0x42, 0x25, 0x65, 0x23, 0xc6, 0xa7, 0x4a, 0x23, 0x9c, + 0xfc, 0x68, 0x68, 0x7e, 0xaa, 0xc1, 0x9c, 0x2c, 0xf3, 0x9c, 0x2b, 0xa5, 0x8d, 0x06, 0xe5, 0x2f, + 0x65, 0x58, 0xcc, 0xdd, 0x7f, 0x74, 0x1f, 0xc6, 0xd9, 0xf5, 0xa4, 0x91, 0x70, 0xa9, 0xe5, 0x63, + 0x61, 0x97, 0x14, 0x93, 0x47, 0xab, 0x30, 0x4d, 0xff, 0x3a, 0x6a, 0x7a, 0x36, 0x66, 0xc7, 0x05, + 0xe8, 0xab, 0x87, 0x9e, 0x8d, 0xa3, 0xdc, 0x86, 0x7d, 0xdf, 0xf3, 0x8f, 0x3a, 0x38, 0x08, 0xac, + 0x16, 0x26, 0x47, 0x65, 0xca, 0xac, 0x90, 0x97, 0x8f, 0xe9, 0x3b, 0x74, 0x07, 0xc6, 0x49, 0xec, + 0x05, 0xd5, 0x31, 0xe2, 0x97, 0x79, 0x59, 0xb8, 0x9a, 0x4c, 0x86, 0x3b, 0x07, 0x97, 0xf8, 0x73, + 0xb0, 0x01, 0xb3, 0xe9, 0x68, 0x74, 0xec, 0xea, 0x38, 0x11, 0x98, 0x49, 0xbd, 0x95, 0x25, 0xdc, + 0x09, 0x49, 0xc2, 0xbd, 0x11, 0xdf, 0xdc, 0xac, 0x8a, 0x98, 0x24, 0x55, 0x04, 0xbd, 0x9d, 0x69, + 0xa5, 0xc1, 0xb9, 0x62, 0xaa, 0xa0, 0x2b, 0xd0, 0x6d, 0xb8, 0xda, 0xf4, 0x3a, 0xdd, 0x5e, 0x68, + 0x11, 0xeb, 0x3d, 0xb2, 0x2b, 0x40, 0x94, 0x5f, 0x49, 0x0d, 0x7c, 0x14, 0xbd, 0x37, 0xde, 0x86, + 0xab, 0xfb, 0x38, 0xdc, 0xa1, 0xdf, 0x30, 0x71, 0x22, 0xa8, 0xc2, 0x84, 0x65, 0xdb, 0x3e, 0x0e, + 0x82, 0x38, 0x0f, 0xb0, 0x47, 0xe3, 0x47, 0x80, 0xd2, 0xe2, 0x49, 0x1d, 0x3a, 0xc1, 0xbe, 0x82, + 0x58, 0xac, 0x2d, 0x08, 0x28, 0xe3, 0x09, 0xb1, 0xd8, 0x68, 0x31, 0xf6, 0x2e, 0xac, 0xf4, 0x8d, + 0xef, 0xc8, 0x2a, 0xca, 0x7c, 0xe0, 0x2f, 0xe1, 0xf2, 0x05, 0xa1, 0xfe, 0x84, 0x47, 0xbd, 0xdb, + 0x77, 0xef, 0x40, 0xd4, 0x99, 0x10, 0x29, 0x65, 0x42, 0xc4, 0xf8, 0x18, 0x6e, 0xec, 0x91, 0x8f, + 0x3d, 0xdc, 0x68, 0xfa, 0x4e, 0x57, 0xbe, 0x2f, 0x0b, 0x30, 0x1e, 0x90, 0x51, 0x66, 0x80, 0x3d, + 0xa1, 0xeb, 0x30, 0x65, 0xf9, 0xad, 0x5e, 0x87, 0x1c, 0x8d, 0x52, 0xad, 0xbc, 0x59, 0x31, 0xfb, + 0x2f, 0x8c, 0x2e, 0x2c, 0x0b, 0xaa, 0x8b, 0x5f, 0x18, 0x7d, 0x8b, 0xa5, 0x7c, 0x8b, 0x65, 0xd1, + 0xe2, 0x67, 0x99, 0xc5, 0x48, 0xb6, 0x4b, 0xdc, 0x14, 0x2d, 0x7b, 0x6e, 0x46, 0xb3, 0xfe, 0x0b, + 0x0d, 0xde, 0xe0, 0xcc, 0x27, 0xa1, 0x32, 0x0f, 0x97, 0x9e, 0x5b, 0xed, 0x1e, 0x66, 0xab, 0xa4, + 0x0f, 0x23, 0x85, 0x83, 0xfc, 0x74, 0x96, 0x73, 0x4e, 0xe7, 0xbf, 0x35, 0x12, 0x3c, 0x24, 0x3d, + 0x05, 0xef, 0x7b, 0x3e, 0xdb, 0x08, 0xcb, 0x6d, 0xe1, 0x78, 0x37, 0x10, 0x8c, 0x85, 0x67, 0x5d, + 0x8a, 0x6c, 0xca, 0x24, 0x7f, 0x47, 0x3b, 0x14, 0x84, 0x96, 0x1f, 0x0a, 0x61, 0x43, 0xde, 0xb1, + 0x1d, 0x5a, 0x06, 0xc0, 0xae, 0x1d, 0x0b, 0x50, 0xfb, 0x53, 0xd8, 0xb5, 0xd9, 0xf0, 0x97, 0x58, + 0x0c, 0xfe, 0x51, 0x23, 0xd5, 0x60, 0xb2, 0x26, 0x16, 0x53, 0x81, 0x6a, 0x41, 0x4b, 0x30, 0x15, + 0x07, 0x5a, 0x1c, 0xa7, 0x93, 0x2c, 0xd2, 0x82, 0x2f, 0xb3, 0x6a, 0xfa, 0x47, 0x09, 0x66, 0x29, + 0xd0, 0xd4, 0xdd, 0x3a, 0xc1, 0xd7, 0x20, 0x06, 0x57, 0x83, 0xf0, 0xd2, 0x75, 0x76, 0x0f, 0xc6, + 0x53, 0x46, 0x0a, 0x19, 0xfd, 0xaf, 0x1a, 0x8c, 0x53, 0x45, 0xaa, 0x13, 0x37, 0x38, 0x57, 0xa4, + 0xae, 0xc1, 0x72, 0x81, 0x6b, 0xf0, 0x21, 0x5c, 0xa6, 0x0a, 0x13, 0xfa, 0x86, 0x38, 0x3f, 0xaa, + 0x24, 0x28, 0xc1, 0x53, 0x8f, 0x09, 0x9e, 0xfa, 0x93, 0x58, 0xc2, 0x9c, 0x25, 0x53, 0x92, 0x67, + 0x63, 0x99, 0x38, 0xfb, 0x43, 0x1c, 0xbe, 0xf0, 0xfc, 0x67, 0x87, 0x96, 0x6f, 0x75, 0x70, 0x88, + 0xfd, 0xd8, 0xd9, 0xc6, 0x03, 0x52, 0x42, 0x4b, 0x86, 0xd9, 0x6e, 0x2f, 0xc2, 0x64, 0xf3, 0xd4, + 0x72, 0xdc, 0x78, 0xbd, 0x53, 0xe6, 0x04, 0x79, 0x3e, 0xb0, 0x8d, 0x9b, 0xb0, 0x91, 0xd0, 0x0a, + 0x87, 0x11, 0x90, 0xa6, 0xd7, 0x8e, 0x8a, 0x07, 0xdc, 0x70, 0xad, 0x6e, 0x70, 0xea, 0xc5, 0xf9, + 0xc2, 0xd8, 0x83, 0xcd, 0x7d, 0x2c, 0x17, 0x19, 0xa2, 0x04, 0x36, 0x1e, 0xc1, 0xcd, 0x7c, 0x35, + 0xc3, 0x66, 0xa8, 0xe8, 0xb3, 0x78, 0x39, 0x07, 0x35, 0x5b, 0x7a, 0x1d, 0x50, 0x80, 0x7d, 0xc7, + 0x6a, 0x3b, 0x3f, 0xc4, 0x76, 0x3c, 0xca, 0x40, 0x49, 0x46, 0x46, 0xbb, 0x9c, 0xbe, 0x05, 0x6b, + 0xd1, 0x59, 0x8c, 0xd9, 0x42, 0x1a, 0x65, 0xfd, 0x43, 0x59, 0x60, 0x5b, 0xfe, 0xa0, 0xc5, 0x39, + 0x5b, 0x3a, 0x9f, 0x2d, 0xe6, 0x00, 0xae, 0x88, 0x94, 0x64, 0x0e, 0x47, 0x27, 0xe8, 0x32, 0x2f, + 0x63, 0xfe, 0xc5, 0x68, 0xeb, 0xdc, 0x22, 0xd4, 0x9b, 0xa0, 0x5b, 0x45, 0x5b, 0xfc, 0x4e, 0x83, + 0x25, 0xa9, 0xf8, 0x6b, 0xb2, 0xa0, 0xbf, 0x6b, 0xf0, 0x66, 0xa3, 0x77, 0x1c, 0xdd, 0x6b, 0xc7, + 0x98, 0xec, 0x76, 0xf0, 0xbe, 0xef, 0x75, 0x1a, 0x51, 0x8a, 0x17, 0x9c, 0xb7, 0x0e, 0xb3, 0xf4, + 0x36, 0x10, 0x5c, 0x48, 0xef, 0x88, 0x5d, 0x96, 0x3e, 0xce, 0xc9, 0x23, 0xe5, 0x90, 0x5e, 0xe5, + 0x3c, 0xd2, 0xeb, 0x5f, 0x1a, 0x6c, 0xe4, 0xe1, 0xe7, 0x0f, 0xd3, 0x1d, 0x40, 0x69, 0xf8, 0xdc, + 0x91, 0xba, 0xd2, 0x5f, 0x02, 0x4b, 0x71, 0xff, 0xe7, 0x65, 0x98, 0x50, 0x93, 0xac, 0x82, 0x26, + 0xa5, 0x78, 0x01, 0x39, 0x3a, 0xb5, 0x3c, 0x9d, 0x7b, 0x70, 0x4d, 0xd0, 0x39, 0x0a, 0x31, 0x68, + 0xfc, 0x4a, 0x83, 0x3b, 0xbc, 0x1e, 0x4a, 0x05, 0x5f, 0x68, 0x9c, 0x18, 0x5f, 0x68, 0x70, 0x5b, + 0x8d, 0xea, 0xe2, 0xbc, 0x6f, 0x6c, 0x8a, 0x67, 0x2a, 0x85, 0x8d, 0xf3, 0xa9, 0xd1, 0x80, 0x65, + 0xa9, 0x64, 0xaa, 0x11, 0x31, 0x4e, 0xbb, 0x3e, 0x05, 0xb8, 0x79, 0x26, 0x29, 0xf1, 0xd8, 0x7b, + 0x4e, 0x0b, 0x07, 0xe1, 0xeb, 0xe6, 0x31, 0x11, 0xd5, 0xeb, 0xe4, 0xb1, 0x14, 0x36, 0xde, 0x63, + 0xbf, 0xd7, 0x44, 0x97, 0x31, 0xd1, 0x74, 0xad, 0x71, 0x8e, 0xda, 0x4a, 0x52, 0x2d, 0x95, 0x87, + 0xae, 0x96, 0xbe, 0x0f, 0xb7, 0x1a, 0xd8, 0xb5, 0x77, 0x5c, 0x3b, 0x81, 0x9a, 0xa1, 0x46, 0x70, + 0xf0, 0xbf, 0x61, 0xae, 0x7f, 0x1b, 0xf9, 0xb5, 0x88, 0xb1, 0x1c, 0x3a, 0xbb, 0xcf, 0xe9, 0x94, + 0x86, 0xe4, 0x74, 0xd6, 0x60, 0x86, 0x91, 0x35, 0x47, 0x94, 0x04, 0xa5, 0x9f, 0x1f, 0x15, 0xf6, + 0x92, 0x70, 0xa8, 0xdb, 0xff, 0x59, 0x83, 0xa9, 0x1d, 0x52, 0x53, 0xef, 0x1c, 0x1e, 0xa0, 0xaf, + 0xc1, 0xd8, 0xa1, 0xe3, 0xb6, 0x50, 0x95, 0x2b, 0xb6, 0x53, 0x4d, 0x44, 0x7d, 0x51, 0x32, 0xc2, + 0x90, 0x63, 0x42, 0x5a, 0x08, 0xcd, 0x3f, 0xc4, 0x73, 0x87, 0xb9, 0x0d, 0x47, 0xfd, 0xe6, 0x40, + 0x39, 0x66, 0xe6, 0x18, 0xe6, 0x65, 0x7d, 0x44, 0xb4, 0x29, 0x2a, 0xc8, 0x6b, 0x35, 0xea, 0x35, + 0x4e, 0x52, 0xd6, 0xf1, 0xfb, 0x94, 0x2c, 0x45, 0xe8, 0x37, 0x66, 0x97, 0x22, 0x6f, 0x48, 0x16, + 0xd0, 0x7f, 0x02, 0x0b, 0xf2, 0x16, 0x25, 0xba, 0xa5, 0xb4, 0xc1, 0xa5, 0x80, 0x02, 0x76, 0x0e, + 0x61, 0x96, 0xdf, 0x08, 0x64, 0x28, 0x76, 0x29, 0xd6, 0xab, 0x67, 0xf5, 0x26, 0x1a, 0x1f, 0x41, + 0x25, 0xdd, 0xff, 0x43, 0x35, 0x29, 0xde, 0xf4, 0x6e, 0xa8, 0xb4, 0x3d, 0x81, 0x2b, 0x62, 0xdb, + 0x0f, 0xad, 0xe7, 0x68, 0xe4, 0xd7, 0xae, 0xd2, 0xfa, 0x5d, 0x42, 0xb6, 0xf1, 0x7d, 0x33, 0xb4, + 0x21, 0xaa, 0x95, 0xf6, 0xd5, 0xf4, 0x55, 0x4e, 0x4c, 0xd2, 0x51, 0xfb, 0x1e, 0x5c, 0x16, 0x3a, + 0x51, 0x68, 0x8d, 0x9b, 0x23, 0xef, 0x7f, 0xe9, 0xeb, 0x6a, 0x21, 0xa6, 0xfd, 0x29, 0x71, 0x58, + 0x5a, 0x79, 0xc6, 0x61, 0x12, 0xdd, 0x35, 0x05, 0x3f, 0x9f, 0x3e, 0x34, 0x19, 0xe6, 0xb8, 0x90, + 0xf6, 0x82, 0xec, 0x3f, 0xea, 0x92, 0x6f, 0xd0, 0xcc, 0x38, 0xeb, 0xd6, 0xa0, 0xb7, 0x14, 0xa6, + 0xf8, 0x8e, 0x4e, 0x61, 0x8b, 0x2f, 0x08, 0x6d, 0x93, 0xed, 0x6a, 0x24, 0xdf, 0x9b, 0xe8, 0x8e, + 0xc2, 0x68, 0xa6, 0x33, 0x23, 0xe4, 0x20, 0x45, 0xb7, 0xe4, 0x19, 0xe9, 0xcc, 0x4a, 0x75, 0x0d, + 0x69, 0xf2, 0x46, 0x9e, 0xc9, 0x40, 0xf0, 0x5d, 0xa6, 0x37, 0x97, 0x4d, 0x78, 0x79, 0x9d, 0xbf, + 0x02, 0xf1, 0x11, 0x92, 0x9f, 0x7b, 0xe4, 0xf4, 0xff, 0x50, 0xbd, 0x80, 0xa5, 0x54, 0xa3, 0xb0, + 0xb0, 0xff, 0x1e, 0x03, 0xf4, 0x39, 0x5b, 0xb4, 0x22, 0x5a, 0xe1, 0xe9, 0x72, 0xe1, 0x68, 0x4a, + 0xf8, 0x71, 0x9b, 0xfc, 0x88, 0x40, 0x46, 0x5c, 0xa3, 0xdb, 0x39, 0x73, 0x65, 0x34, 0xae, 0x7e, + 0x9d, 0x13, 0x1e, 0x60, 0x25, 0x5d, 0x65, 0xe5, 0x5b, 0xc9, 0xf2, 0xab, 0x03, 0xac, 0x74, 0x41, + 0xcf, 0xe7, 0x9b, 0x05, 0x87, 0x0c, 0x24, 0xa6, 0x75, 0x23, 0x5f, 0x3e, 0xb1, 0x78, 0x0a, 0x0b, + 0x72, 0x1a, 0x5a, 0xb8, 0x93, 0x94, 0x5c, 0x75, 0x21, 0x4b, 0xd9, 0xb5, 0xa5, 0x37, 0xb1, 0x3e, + 0xd0, 0x1a, 0xbf, 0x8f, 0x45, 0x2c, 0x36, 0x89, 0xcf, 0x64, 0xfc, 0x6e, 0xd6, 0x67, 0x0a, 0x16, + 0x58, 0x5f, 0x52, 0x90, 0x90, 0xe8, 0x13, 0x72, 0x4e, 0x33, 0x84, 0x6b, 0xf6, 0x9c, 0xe6, 0x71, + 0xb2, 0x6a, 0xf5, 0xcf, 0x88, 0xfa, 0x0c, 0x87, 0x97, 0x55, 0x9f, 0xc7, 0x02, 0xea, 0x6f, 0x15, + 0x90, 0x64, 0xc6, 0x3e, 0xa7, 0x8c, 0xb8, 0x82, 0xf6, 0x43, 0xdb, 0xf2, 0x4a, 0x42, 0xc5, 0x11, + 0xea, 0x7c, 0x24, 0xa9, 0x89, 0xb9, 0x9f, 0xd0, 0xdf, 0x24, 0xa8, 0x09, 0x45, 0xf4, 0x55, 0x11, + 0x45, 0x21, 0x02, 0x72, 0x28, 0x20, 0xaf, 0x34, 0xa8, 0x0d, 0xa2, 0x24, 0xd1, 0x57, 0x0a, 0xe2, + 0xe0, 0x63, 0x77, 0x18, 0x18, 0x9f, 0xd3, 0xdf, 0x41, 0xe4, 0x92, 0x80, 0xe8, 0x6e, 0x26, 0xce, + 0x06, 0xf0, 0x8d, 0xba, 0xec, 0xa8, 0xa9, 0xe8, 0x45, 0x97, 0x94, 0xad, 0x12, 0xbe, 0x2e, 0x5b, + 0xb6, 0xe6, 0x73, 0x80, 0xfa, 0xa6, 0xca, 0x2a, 0xc7, 0xfe, 0xfd, 0x18, 0x56, 0x07, 0x90, 0x6f, + 0xe8, 0x1e, 0x5f, 0x56, 0x15, 0xa2, 0xea, 0xc4, 0x5a, 0x4c, 0xce, 0x02, 0xdd, 0xd5, 0xd0, 0x67, + 0xb0, 0xa2, 0x26, 0xcf, 0x84, 0x43, 0x50, 0x88, 0x69, 0x2b, 0x6c, 0xdd, 0x87, 0xc5, 0x5c, 0xd2, + 0x0b, 0xbd, 0x3d, 0xc8, 0x30, 0xf7, 0x59, 0x5e, 0xd8, 0xe6, 0x2f, 0x33, 0x7c, 0x61, 0x0e, 0x9b, + 0x85, 0x1e, 0x28, 0x34, 0xaa, 0x19, 0x30, 0x21, 0xea, 0x95, 0x04, 0xcf, 0x5d, 0x0d, 0xfd, 0x5c, + 0x83, 0xf5, 0x22, 0x54, 0x16, 0xba, 0x3f, 0x04, 0x22, 0xd5, 0x31, 0x1c, 0x04, 0xe8, 0x95, 0x26, + 0x86, 0x65, 0x86, 0xbf, 0x52, 0x86, 0x65, 0x1e, 0xdb, 0x35, 0x24, 0x8c, 0xac, 0xab, 0x72, 0x68, + 0x2c, 0xa5, 0xab, 0xd4, 0xd4, 0x97, 0x12, 0x92, 0x40, 0xec, 0x48, 0x5d, 0x25, 0xe7, 0xb0, 0x94, + 0xae, 0x52, 0xd2, 0x5e, 0x43, 0x02, 0xca, 0xba, 0x2a, 0x43, 0x5c, 0x29, 0x5d, 0x95, 0x47, 0x73, + 0x0d, 0x09, 0xe3, 0x0b, 0x0d, 0xd6, 0x0a, 0x70, 0x40, 0xe8, 0x9d, 0xcc, 0x37, 0x62, 0x31, 0x8a, + 0x4a, 0xbf, 0x3f, 0xfc, 0xc4, 0x18, 0xdc, 0xee, 0x23, 0xd0, 0x3d, 0xbf, 0x55, 0xf7, 0x5c, 0xa2, + 0x22, 0x61, 0xcf, 0xa8, 0xae, 0xef, 0xd4, 0x5b, 0x4e, 0x78, 0xda, 0x3b, 0xae, 0x37, 0xbd, 0xce, + 0x16, 0x15, 0xd9, 0x22, 0xff, 0x24, 0x3f, 0x3a, 0x6f, 0x79, 0x5b, 0xa9, 0xdf, 0xf3, 0x1f, 0x8f, + 0x93, 0x81, 0x7b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x07, 0xdb, 0xdb, 0xf1, 0xe5, 0x2f, 0x00, 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index 8c9bcba91..282d5aa98 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -167,11 +167,8 @@ type AccessAPIClient interface { // Blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed blocks will be returned. SubscribeBlocksFromStartHeight(ctx context.Context, in *SubscribeBlocksFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromStartHeightClient, error) - // SubscribeBlocksFromLatest streams finalized or sealed blocks starting of the latest finalized or sealed + // SubscribeBlocksFromLatest streams sealed blocks starting from the latest sealed // block. The stream will remain open and responses are sent for each new block as it becomes available. - // - // Blocks are only returned when they have reached the provided block status. For example, - // if the status is "sealed", only sealed blocks will be returned. SubscribeBlocksFromLatest(ctx context.Context, in *SubscribeBlocksFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromLatestClient, error) // SubscribeBlockHeadersFromStartBlockID streams finalized or sealed block headers starting at the requested // start block id, up until the latest available block. Once the latest is @@ -189,11 +186,8 @@ type AccessAPIClient interface { // Block headers are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed block headers will be returned. SubscribeBlockHeadersFromStartHeight(ctx context.Context, in *SubscribeBlockHeadersFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromStartHeightClient, error) - // SubscribeBlockHeadersFromLatest streams finalized or sealed block headers starting of the latest finalized or sealed + // SubscribeBlockHeadersFromLatest streams sealed block headers starting from the latest sealed // block. The stream will remain open and responses are sent for each new block header as it becomes available. - // - // Block headers are only returned when they have reached the provided block status. For example, - // if the status is "sealed", only sealed block headers will be returned. SubscribeBlockHeadersFromLatest(ctx context.Context, in *SubscribeBlockHeadersFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromLatestClient, error) // SubscribeBlockDigestsFromStartBlockID streams finalized or sealed lightweight block starting at the requested // start block id, up until the latest available block. Once the latest is @@ -211,11 +205,8 @@ type AccessAPIClient interface { // Lightweight blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed lightweight blocks will be returned. SubscribeBlockDigestsFromStartHeight(ctx context.Context, in *SubscribeBlockDigestsFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromStartHeightClient, error) - // SubscribeBlockDigestsFromLatest streams finalized or sealed lightweight block headers starting of the latest finalized or sealed + // SubscribeBlockDigestsFromLatest streams sealed lightweight block headers starting of the latest sealed // block. The stream will remain open and responses are sent for each new lightweight block as it becomes available. - // - // Lightweight blocks are only returned when they have reached the provided block status. For example, - // if the status is "sealed", only sealed lightweight blocks will be returned. SubscribeBlockDigestsFromLatest(ctx context.Context, in *SubscribeBlockDigestsFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromLatestClient, error) // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. @@ -525,7 +516,7 @@ func (c *accessAPIClient) SubscribeBlocksFromStartBlockID(ctx context.Context, i } type AccessAPI_SubscribeBlocksFromStartBlockIDClient interface { - Recv() (*SubscribeBlocksFromStartBlockIDResponse, error) + Recv() (*SubscribeBlocksResponse, error) grpc.ClientStream } @@ -533,8 +524,8 @@ type accessAPISubscribeBlocksFromStartBlockIDClient struct { grpc.ClientStream } -func (x *accessAPISubscribeBlocksFromStartBlockIDClient) Recv() (*SubscribeBlocksFromStartBlockIDResponse, error) { - m := new(SubscribeBlocksFromStartBlockIDResponse) +func (x *accessAPISubscribeBlocksFromStartBlockIDClient) Recv() (*SubscribeBlocksResponse, error) { + m := new(SubscribeBlocksResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -557,7 +548,7 @@ func (c *accessAPIClient) SubscribeBlocksFromStartHeight(ctx context.Context, in } type AccessAPI_SubscribeBlocksFromStartHeightClient interface { - Recv() (*SubscribeBlocksFromStartHeightResponse, error) + Recv() (*SubscribeBlocksResponse, error) grpc.ClientStream } @@ -565,8 +556,8 @@ type accessAPISubscribeBlocksFromStartHeightClient struct { grpc.ClientStream } -func (x *accessAPISubscribeBlocksFromStartHeightClient) Recv() (*SubscribeBlocksFromStartHeightResponse, error) { - m := new(SubscribeBlocksFromStartHeightResponse) +func (x *accessAPISubscribeBlocksFromStartHeightClient) Recv() (*SubscribeBlocksResponse, error) { + m := new(SubscribeBlocksResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -589,7 +580,7 @@ func (c *accessAPIClient) SubscribeBlocksFromLatest(ctx context.Context, in *Sub } type AccessAPI_SubscribeBlocksFromLatestClient interface { - Recv() (*SubscribeBlocksFromLatestResponse, error) + Recv() (*SubscribeBlocksResponse, error) grpc.ClientStream } @@ -597,8 +588,8 @@ type accessAPISubscribeBlocksFromLatestClient struct { grpc.ClientStream } -func (x *accessAPISubscribeBlocksFromLatestClient) Recv() (*SubscribeBlocksFromLatestResponse, error) { - m := new(SubscribeBlocksFromLatestResponse) +func (x *accessAPISubscribeBlocksFromLatestClient) Recv() (*SubscribeBlocksResponse, error) { + m := new(SubscribeBlocksResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -621,7 +612,7 @@ func (c *accessAPIClient) SubscribeBlockHeadersFromStartBlockID(ctx context.Cont } type AccessAPI_SubscribeBlockHeadersFromStartBlockIDClient interface { - Recv() (*SubscribeBlockHeadersFromStartBlockIDResponse, error) + Recv() (*SubscribeBlockHeadersResponse, error) grpc.ClientStream } @@ -629,8 +620,8 @@ type accessAPISubscribeBlockHeadersFromStartBlockIDClient struct { grpc.ClientStream } -func (x *accessAPISubscribeBlockHeadersFromStartBlockIDClient) Recv() (*SubscribeBlockHeadersFromStartBlockIDResponse, error) { - m := new(SubscribeBlockHeadersFromStartBlockIDResponse) +func (x *accessAPISubscribeBlockHeadersFromStartBlockIDClient) Recv() (*SubscribeBlockHeadersResponse, error) { + m := new(SubscribeBlockHeadersResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -653,7 +644,7 @@ func (c *accessAPIClient) SubscribeBlockHeadersFromStartHeight(ctx context.Conte } type AccessAPI_SubscribeBlockHeadersFromStartHeightClient interface { - Recv() (*SubscribeBlockHeadersFromStartHeightResponse, error) + Recv() (*SubscribeBlockHeadersResponse, error) grpc.ClientStream } @@ -661,8 +652,8 @@ type accessAPISubscribeBlockHeadersFromStartHeightClient struct { grpc.ClientStream } -func (x *accessAPISubscribeBlockHeadersFromStartHeightClient) Recv() (*SubscribeBlockHeadersFromStartHeightResponse, error) { - m := new(SubscribeBlockHeadersFromStartHeightResponse) +func (x *accessAPISubscribeBlockHeadersFromStartHeightClient) Recv() (*SubscribeBlockHeadersResponse, error) { + m := new(SubscribeBlockHeadersResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -685,7 +676,7 @@ func (c *accessAPIClient) SubscribeBlockHeadersFromLatest(ctx context.Context, i } type AccessAPI_SubscribeBlockHeadersFromLatestClient interface { - Recv() (*SubscribeBlockHeadersFromLatestResponse, error) + Recv() (*SubscribeBlockHeadersResponse, error) grpc.ClientStream } @@ -693,8 +684,8 @@ type accessAPISubscribeBlockHeadersFromLatestClient struct { grpc.ClientStream } -func (x *accessAPISubscribeBlockHeadersFromLatestClient) Recv() (*SubscribeBlockHeadersFromLatestResponse, error) { - m := new(SubscribeBlockHeadersFromLatestResponse) +func (x *accessAPISubscribeBlockHeadersFromLatestClient) Recv() (*SubscribeBlockHeadersResponse, error) { + m := new(SubscribeBlockHeadersResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -717,7 +708,7 @@ func (c *accessAPIClient) SubscribeBlockDigestsFromStartBlockID(ctx context.Cont } type AccessAPI_SubscribeBlockDigestsFromStartBlockIDClient interface { - Recv() (*SubscribeBlockDigestsFromStartBlockIDResponse, error) + Recv() (*SubscribeBlockDigestsResponse, error) grpc.ClientStream } @@ -725,8 +716,8 @@ type accessAPISubscribeBlockDigestsFromStartBlockIDClient struct { grpc.ClientStream } -func (x *accessAPISubscribeBlockDigestsFromStartBlockIDClient) Recv() (*SubscribeBlockDigestsFromStartBlockIDResponse, error) { - m := new(SubscribeBlockDigestsFromStartBlockIDResponse) +func (x *accessAPISubscribeBlockDigestsFromStartBlockIDClient) Recv() (*SubscribeBlockDigestsResponse, error) { + m := new(SubscribeBlockDigestsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -749,7 +740,7 @@ func (c *accessAPIClient) SubscribeBlockDigestsFromStartHeight(ctx context.Conte } type AccessAPI_SubscribeBlockDigestsFromStartHeightClient interface { - Recv() (*SubscribeBlockDigestsFromStartHeightResponse, error) + Recv() (*SubscribeBlockDigestsResponse, error) grpc.ClientStream } @@ -757,8 +748,8 @@ type accessAPISubscribeBlockDigestsFromStartHeightClient struct { grpc.ClientStream } -func (x *accessAPISubscribeBlockDigestsFromStartHeightClient) Recv() (*SubscribeBlockDigestsFromStartHeightResponse, error) { - m := new(SubscribeBlockDigestsFromStartHeightResponse) +func (x *accessAPISubscribeBlockDigestsFromStartHeightClient) Recv() (*SubscribeBlockDigestsResponse, error) { + m := new(SubscribeBlockDigestsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -781,7 +772,7 @@ func (c *accessAPIClient) SubscribeBlockDigestsFromLatest(ctx context.Context, i } type AccessAPI_SubscribeBlockDigestsFromLatestClient interface { - Recv() (*SubscribeBlockDigestsFromLatestResponse, error) + Recv() (*SubscribeBlockDigestsResponse, error) grpc.ClientStream } @@ -789,8 +780,8 @@ type accessAPISubscribeBlockDigestsFromLatestClient struct { grpc.ClientStream } -func (x *accessAPISubscribeBlockDigestsFromLatestClient) Recv() (*SubscribeBlockDigestsFromLatestResponse, error) { - m := new(SubscribeBlockDigestsFromLatestResponse) +func (x *accessAPISubscribeBlockDigestsFromLatestClient) Recv() (*SubscribeBlockDigestsResponse, error) { + m := new(SubscribeBlockDigestsResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err } @@ -934,11 +925,8 @@ type AccessAPIServer interface { // Blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed blocks will be returned. SubscribeBlocksFromStartHeight(*SubscribeBlocksFromStartHeightRequest, AccessAPI_SubscribeBlocksFromStartHeightServer) error - // SubscribeBlocksFromLatest streams finalized or sealed blocks starting of the latest finalized or sealed + // SubscribeBlocksFromLatest streams sealed blocks starting from the latest sealed // block. The stream will remain open and responses are sent for each new block as it becomes available. - // - // Blocks are only returned when they have reached the provided block status. For example, - // if the status is "sealed", only sealed blocks will be returned. SubscribeBlocksFromLatest(*SubscribeBlocksFromLatestRequest, AccessAPI_SubscribeBlocksFromLatestServer) error // SubscribeBlockHeadersFromStartBlockID streams finalized or sealed block headers starting at the requested // start block id, up until the latest available block. Once the latest is @@ -956,11 +944,8 @@ type AccessAPIServer interface { // Block headers are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed block headers will be returned. SubscribeBlockHeadersFromStartHeight(*SubscribeBlockHeadersFromStartHeightRequest, AccessAPI_SubscribeBlockHeadersFromStartHeightServer) error - // SubscribeBlockHeadersFromLatest streams finalized or sealed block headers starting of the latest finalized or sealed + // SubscribeBlockHeadersFromLatest streams sealed block headers starting from the latest sealed // block. The stream will remain open and responses are sent for each new block header as it becomes available. - // - // Block headers are only returned when they have reached the provided block status. For example, - // if the status is "sealed", only sealed block headers will be returned. SubscribeBlockHeadersFromLatest(*SubscribeBlockHeadersFromLatestRequest, AccessAPI_SubscribeBlockHeadersFromLatestServer) error // SubscribeBlockDigestsFromStartBlockID streams finalized or sealed lightweight block starting at the requested // start block id, up until the latest available block. Once the latest is @@ -978,11 +963,8 @@ type AccessAPIServer interface { // Lightweight blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed lightweight blocks will be returned. SubscribeBlockDigestsFromStartHeight(*SubscribeBlockDigestsFromStartHeightRequest, AccessAPI_SubscribeBlockDigestsFromStartHeightServer) error - // SubscribeBlockDigestsFromLatest streams finalized or sealed lightweight block headers starting of the latest finalized or sealed + // SubscribeBlockDigestsFromLatest streams sealed lightweight block headers starting of the latest sealed // block. The stream will remain open and responses are sent for each new lightweight block as it becomes available. - // - // Lightweight blocks are only returned when they have reached the provided block status. For example, - // if the status is "sealed", only sealed lightweight blocks will be returned. SubscribeBlockDigestsFromLatest(*SubscribeBlockDigestsFromLatestRequest, AccessAPI_SubscribeBlockDigestsFromLatestServer) error // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. @@ -1695,7 +1677,7 @@ func _AccessAPI_SubscribeBlocksFromStartBlockID_Handler(srv interface{}, stream } type AccessAPI_SubscribeBlocksFromStartBlockIDServer interface { - Send(*SubscribeBlocksFromStartBlockIDResponse) error + Send(*SubscribeBlocksResponse) error grpc.ServerStream } @@ -1703,7 +1685,7 @@ type accessAPISubscribeBlocksFromStartBlockIDServer struct { grpc.ServerStream } -func (x *accessAPISubscribeBlocksFromStartBlockIDServer) Send(m *SubscribeBlocksFromStartBlockIDResponse) error { +func (x *accessAPISubscribeBlocksFromStartBlockIDServer) Send(m *SubscribeBlocksResponse) error { return x.ServerStream.SendMsg(m) } @@ -1716,7 +1698,7 @@ func _AccessAPI_SubscribeBlocksFromStartHeight_Handler(srv interface{}, stream g } type AccessAPI_SubscribeBlocksFromStartHeightServer interface { - Send(*SubscribeBlocksFromStartHeightResponse) error + Send(*SubscribeBlocksResponse) error grpc.ServerStream } @@ -1724,7 +1706,7 @@ type accessAPISubscribeBlocksFromStartHeightServer struct { grpc.ServerStream } -func (x *accessAPISubscribeBlocksFromStartHeightServer) Send(m *SubscribeBlocksFromStartHeightResponse) error { +func (x *accessAPISubscribeBlocksFromStartHeightServer) Send(m *SubscribeBlocksResponse) error { return x.ServerStream.SendMsg(m) } @@ -1737,7 +1719,7 @@ func _AccessAPI_SubscribeBlocksFromLatest_Handler(srv interface{}, stream grpc.S } type AccessAPI_SubscribeBlocksFromLatestServer interface { - Send(*SubscribeBlocksFromLatestResponse) error + Send(*SubscribeBlocksResponse) error grpc.ServerStream } @@ -1745,7 +1727,7 @@ type accessAPISubscribeBlocksFromLatestServer struct { grpc.ServerStream } -func (x *accessAPISubscribeBlocksFromLatestServer) Send(m *SubscribeBlocksFromLatestResponse) error { +func (x *accessAPISubscribeBlocksFromLatestServer) Send(m *SubscribeBlocksResponse) error { return x.ServerStream.SendMsg(m) } @@ -1758,7 +1740,7 @@ func _AccessAPI_SubscribeBlockHeadersFromStartBlockID_Handler(srv interface{}, s } type AccessAPI_SubscribeBlockHeadersFromStartBlockIDServer interface { - Send(*SubscribeBlockHeadersFromStartBlockIDResponse) error + Send(*SubscribeBlockHeadersResponse) error grpc.ServerStream } @@ -1766,7 +1748,7 @@ type accessAPISubscribeBlockHeadersFromStartBlockIDServer struct { grpc.ServerStream } -func (x *accessAPISubscribeBlockHeadersFromStartBlockIDServer) Send(m *SubscribeBlockHeadersFromStartBlockIDResponse) error { +func (x *accessAPISubscribeBlockHeadersFromStartBlockIDServer) Send(m *SubscribeBlockHeadersResponse) error { return x.ServerStream.SendMsg(m) } @@ -1779,7 +1761,7 @@ func _AccessAPI_SubscribeBlockHeadersFromStartHeight_Handler(srv interface{}, st } type AccessAPI_SubscribeBlockHeadersFromStartHeightServer interface { - Send(*SubscribeBlockHeadersFromStartHeightResponse) error + Send(*SubscribeBlockHeadersResponse) error grpc.ServerStream } @@ -1787,7 +1769,7 @@ type accessAPISubscribeBlockHeadersFromStartHeightServer struct { grpc.ServerStream } -func (x *accessAPISubscribeBlockHeadersFromStartHeightServer) Send(m *SubscribeBlockHeadersFromStartHeightResponse) error { +func (x *accessAPISubscribeBlockHeadersFromStartHeightServer) Send(m *SubscribeBlockHeadersResponse) error { return x.ServerStream.SendMsg(m) } @@ -1800,7 +1782,7 @@ func _AccessAPI_SubscribeBlockHeadersFromLatest_Handler(srv interface{}, stream } type AccessAPI_SubscribeBlockHeadersFromLatestServer interface { - Send(*SubscribeBlockHeadersFromLatestResponse) error + Send(*SubscribeBlockHeadersResponse) error grpc.ServerStream } @@ -1808,7 +1790,7 @@ type accessAPISubscribeBlockHeadersFromLatestServer struct { grpc.ServerStream } -func (x *accessAPISubscribeBlockHeadersFromLatestServer) Send(m *SubscribeBlockHeadersFromLatestResponse) error { +func (x *accessAPISubscribeBlockHeadersFromLatestServer) Send(m *SubscribeBlockHeadersResponse) error { return x.ServerStream.SendMsg(m) } @@ -1821,7 +1803,7 @@ func _AccessAPI_SubscribeBlockDigestsFromStartBlockID_Handler(srv interface{}, s } type AccessAPI_SubscribeBlockDigestsFromStartBlockIDServer interface { - Send(*SubscribeBlockDigestsFromStartBlockIDResponse) error + Send(*SubscribeBlockDigestsResponse) error grpc.ServerStream } @@ -1829,7 +1811,7 @@ type accessAPISubscribeBlockDigestsFromStartBlockIDServer struct { grpc.ServerStream } -func (x *accessAPISubscribeBlockDigestsFromStartBlockIDServer) Send(m *SubscribeBlockDigestsFromStartBlockIDResponse) error { +func (x *accessAPISubscribeBlockDigestsFromStartBlockIDServer) Send(m *SubscribeBlockDigestsResponse) error { return x.ServerStream.SendMsg(m) } @@ -1842,7 +1824,7 @@ func _AccessAPI_SubscribeBlockDigestsFromStartHeight_Handler(srv interface{}, st } type AccessAPI_SubscribeBlockDigestsFromStartHeightServer interface { - Send(*SubscribeBlockDigestsFromStartHeightResponse) error + Send(*SubscribeBlockDigestsResponse) error grpc.ServerStream } @@ -1850,7 +1832,7 @@ type accessAPISubscribeBlockDigestsFromStartHeightServer struct { grpc.ServerStream } -func (x *accessAPISubscribeBlockDigestsFromStartHeightServer) Send(m *SubscribeBlockDigestsFromStartHeightResponse) error { +func (x *accessAPISubscribeBlockDigestsFromStartHeightServer) Send(m *SubscribeBlockDigestsResponse) error { return x.ServerStream.SendMsg(m) } @@ -1863,7 +1845,7 @@ func _AccessAPI_SubscribeBlockDigestsFromLatest_Handler(srv interface{}, stream } type AccessAPI_SubscribeBlockDigestsFromLatestServer interface { - Send(*SubscribeBlockDigestsFromLatestResponse) error + Send(*SubscribeBlockDigestsResponse) error grpc.ServerStream } @@ -1871,7 +1853,7 @@ type accessAPISubscribeBlockDigestsFromLatestServer struct { grpc.ServerStream } -func (x *accessAPISubscribeBlockDigestsFromLatestServer) Send(m *SubscribeBlockDigestsFromLatestResponse) error { +func (x *accessAPISubscribeBlockDigestsFromLatestServer) Send(m *SubscribeBlockDigestsResponse) error { return x.ServerStream.SendMsg(m) } From 726b858e611ca678ef0ae3a1fbb7b8159e895712 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Tue, 5 Mar 2024 12:19:22 +0200 Subject: [PATCH 131/626] Reverted back block status for latest --- protobuf/flow/access/access.proto | 33 +++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 586fdf2a0..fc826ba1b 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -182,8 +182,11 @@ service AccessAPI { rpc SubscribeBlocksFromStartHeight(SubscribeBlocksFromStartHeightRequest) returns (stream SubscribeBlocksResponse); - // SubscribeBlocksFromLatest streams sealed blocks starting from the latest sealed + // SubscribeBlocksFromLatest streams finalized or sealed blocks starting from the latest finalized or sealed // block. The stream will remain open and responses are sent for each new block as it becomes available. + // + // Blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed blocks will be returned. rpc SubscribeBlocksFromLatest(SubscribeBlocksFromLatestRequest) returns (stream SubscribeBlocksResponse); @@ -209,8 +212,11 @@ service AccessAPI { rpc SubscribeBlockHeadersFromStartHeight(SubscribeBlockHeadersFromStartHeightRequest) returns (stream SubscribeBlockHeadersResponse); - // SubscribeBlockHeadersFromLatest streams sealed block headers starting from the latest sealed + // SubscribeBlockHeadersFromLatest streams finalized or sealed block headers starting from the latest finalized or sealed // block. The stream will remain open and responses are sent for each new block header as it becomes available. + // + // Block headers are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed block headers will be returned. rpc SubscribeBlockHeadersFromLatest(SubscribeBlockHeadersFromLatestRequest) returns (stream SubscribeBlockHeadersResponse); @@ -236,8 +242,11 @@ service AccessAPI { rpc SubscribeBlockDigestsFromStartHeight(SubscribeBlockDigestsFromStartHeightRequest) returns (stream SubscribeBlockDigestsResponse); - // SubscribeBlockDigestsFromLatest streams sealed lightweight block headers starting of the latest sealed + // SubscribeBlockDigestsFromLatest streams finalized or sealed lightweight block headers starting of the latest finalized or sealed // block. The stream will remain open and responses are sent for each new lightweight block as it becomes available. + // + // Lightweight blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed lightweight blocks will be returned. rpc SubscribeBlockDigestsFromLatest(SubscribeBlockDigestsFromLatestRequest) returns (stream SubscribeBlockDigestsResponse); @@ -536,8 +545,14 @@ message SubscribeBlocksFromStartHeightRequest { // The request for SubscribeBlocksFromLatest message SubscribeBlocksFromLatestRequest { + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 1; + // Boolean value determining the response: 'full' if `true`, 'light' otherwise. - bool full_block_response = 1; + bool full_block_response = 2; } // The response for SubscribeBlocksFromStartBlockID, SubscribeBlocksFromStartHeight, SubscribeBlocksFromLatest @@ -575,6 +590,11 @@ message SubscribeBlockHeadersFromStartHeightRequest { // The request for SubscribeBlockHeadersFromLatest message SubscribeBlockHeadersFromLatestRequest { + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 1; } // The response for SubscribeBlockHeadersFromStartBlockID, SubscribeBlockHeadersFromStartHeight, SubscribeBlockHeadersFromLatest @@ -612,6 +632,11 @@ message SubscribeBlockDigestsFromStartHeightRequest { // The request for SubscribeBlockDigestsFromLatest message SubscribeBlockDigestsFromLatestRequest { + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + entities.BlockStatus block_status = 1; } // The response for SubscribeBlockDigestsFromStartBlockID, SubscribeBlockDigestsFromStartHeight, SubscribeBlockDigestsFromLatest From 3efec6679252662d43f5f1191f7c217e4bd6a6a2 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Tue, 5 Mar 2024 12:29:46 +0200 Subject: [PATCH 132/626] Updated last commit --- protobuf/go/flow/access/access.pb.go | 352 ++++++++++++---------- protobuf/go/flow/access/access_grpc.pb.go | 30 +- 2 files changed, 218 insertions(+), 164 deletions(-) diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 7d197cd70..3a6138835 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2386,8 +2386,13 @@ func (m *SubscribeBlocksFromStartHeightRequest) GetFullBlockResponse() bool { // The request for SubscribeBlocksFromLatest type SubscribeBlocksFromLatestRequest struct { + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,1,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` // Boolean value determining the response: 'full' if `true`, 'light' otherwise. - FullBlockResponse bool `protobuf:"varint,1,opt,name=full_block_response,json=fullBlockResponse,proto3" json:"full_block_response,omitempty"` + FullBlockResponse bool `protobuf:"varint,2,opt,name=full_block_response,json=fullBlockResponse,proto3" json:"full_block_response,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2418,6 +2423,13 @@ func (m *SubscribeBlocksFromLatestRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlocksFromLatestRequest proto.InternalMessageInfo +func (m *SubscribeBlocksFromLatestRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN +} + func (m *SubscribeBlocksFromLatestRequest) GetFullBlockResponse() bool { if m != nil { return m.FullBlockResponse @@ -2583,9 +2595,14 @@ func (m *SubscribeBlockHeadersFromStartHeightRequest) GetBlockStatus() entities. // The request for SubscribeBlockHeadersFromLatest type SubscribeBlockHeadersFromLatestRequest struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,1,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SubscribeBlockHeadersFromLatestRequest) Reset() { @@ -2615,6 +2632,13 @@ func (m *SubscribeBlockHeadersFromLatestRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlockHeadersFromLatestRequest proto.InternalMessageInfo +func (m *SubscribeBlockHeadersFromLatestRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN +} + // The response for SubscribeBlockHeadersFromStartBlockID, SubscribeBlockHeadersFromStartHeight, SubscribeBlockHeadersFromLatest type SubscribeBlockHeadersResponse struct { // The sealed or finalized block headers according to the block status @@ -2773,9 +2797,14 @@ func (m *SubscribeBlockDigestsFromStartHeightRequest) GetBlockStatus() entities. // The request for SubscribeBlockDigestsFromLatest type SubscribeBlockDigestsFromLatestRequest struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + // Required block status of the block payload. + // Possible variants: + // 1. BLOCK_FINALIZED + // 2. BLOCK_SEALED + BlockStatus entities.BlockStatus `protobuf:"varint,1,opt,name=block_status,json=blockStatus,proto3,enum=flow.entities.BlockStatus" json:"block_status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SubscribeBlockDigestsFromLatestRequest) Reset() { @@ -2805,6 +2834,13 @@ func (m *SubscribeBlockDigestsFromLatestRequest) XXX_DiscardUnknown() { var xxx_messageInfo_SubscribeBlockDigestsFromLatestRequest proto.InternalMessageInfo +func (m *SubscribeBlockDigestsFromLatestRequest) GetBlockStatus() entities.BlockStatus { + if m != nil { + return m.BlockStatus + } + return entities.BlockStatus_BLOCK_UNKNOWN +} + // The response for SubscribeBlockDigestsFromStartBlockID, SubscribeBlockDigestsFromStartHeight, SubscribeBlockDigestsFromLatest type SubscribeBlockDigestsResponse struct { // The block ID of the new sealed or finalized block according to the block status @@ -3049,155 +3085,155 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2385 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0x5f, 0x6f, 0x1c, 0x49, - 0x11, 0xd7, 0xec, 0x3a, 0xfe, 0x53, 0x5e, 0x3b, 0x49, 0xdb, 0xe7, 0xac, 0xc7, 0xb1, 0xbd, 0x19, - 0xdb, 0x17, 0x5f, 0x92, 0x5b, 0x47, 0x0e, 0xe8, 0x92, 0xe3, 0x8f, 0xb0, 0x73, 0x3e, 0x9f, 0xa5, - 0xe4, 0x64, 0xcd, 0xe6, 0x82, 0x0e, 0xb8, 0xb3, 0xc6, 0x3b, 0xed, 0xf5, 0x90, 0xdd, 0x99, 0x65, - 0x66, 0x36, 0x89, 0xe1, 0x84, 0xee, 0x21, 0x42, 0x48, 0x48, 0x80, 0xc4, 0x03, 0xe2, 0x04, 0x2f, - 0xf0, 0x04, 0x2f, 0x3c, 0xf1, 0x80, 0x10, 0x42, 0x42, 0x7c, 0x01, 0x3e, 0x11, 0x68, 0xba, 0x7b, - 0x66, 0xa7, 0x7b, 0x7a, 0x7a, 0x67, 0xd7, 0x1c, 0xce, 0x4b, 0xe2, 0x99, 0xae, 0xae, 0xfa, 0x75, - 0x57, 0x75, 0x75, 0xcd, 0xaf, 0x16, 0xaa, 0x27, 0x6d, 0xef, 0xc5, 0x96, 0xd5, 0x6c, 0xe2, 0x20, - 0x60, 0xff, 0xd5, 0xbb, 0xbe, 0x17, 0x7a, 0x68, 0x3a, 0x1a, 0xa9, 0xd3, 0x57, 0xfa, 0x12, 0x11, - 0xc3, 0x6e, 0xe8, 0x84, 0x0e, 0x26, 0x82, 0x5e, 0xcf, 0x0d, 0xa9, 0xa4, 0x5e, 0xe3, 0x07, 0x8f, - 0xdb, 0x5e, 0xf3, 0xd9, 0xd1, 0x29, 0xb6, 0x6c, 0xec, 0x33, 0x89, 0x45, 0x89, 0x04, 0x1b, 0x5a, - 0xe1, 0x87, 0x9a, 0x5e, 0xbb, 0x8d, 0x9b, 0xa1, 0xe3, 0xb9, 0xf2, 0xa9, 0xf8, 0x39, 0x4e, 0xec, - 0xae, 0x0b, 0x43, 0x2f, 0x71, 0xb3, 0x17, 0xcd, 0x3c, 0xf2, 0x71, 0xd0, 0x6b, 0xc7, 0x52, 0xd7, - 0x79, 0xa9, 0x0e, 0x0e, 0x2d, 0xdb, 0x0a, 0x2d, 0x36, 0xba, 0xc1, 0x8f, 0xba, 0x9e, 0x8d, 0x8f, - 0x9e, 0x63, 0x3f, 0x88, 0xd4, 0x38, 0xee, 0x89, 0xc7, 0xc4, 0x56, 0x79, 0xb1, 0xd0, 0xb7, 0xdc, - 0xc0, 0x4a, 0xc3, 0x5c, 0x6d, 0x79, 0x5e, 0xab, 0x8d, 0xb7, 0xc8, 0xd3, 0x71, 0xef, 0x64, 0x2b, - 0x74, 0x3a, 0x38, 0x08, 0xad, 0x4e, 0x97, 0x0a, 0x18, 0x33, 0x30, 0x7d, 0xe8, 0xb8, 0x2d, 0x13, - 0xff, 0xa0, 0x87, 0x83, 0xd0, 0x98, 0x85, 0x0a, 0x7d, 0x0c, 0xba, 0x9e, 0x1b, 0x60, 0x63, 0x09, - 0x16, 0xf7, 0x71, 0xf8, 0xa1, 0x67, 0xe3, 0xa7, 0xd4, 0xfa, 0x81, 0x7b, 0xe2, 0xc5, 0xc2, 0x87, - 0xa0, 0xcb, 0x06, 0xe9, 0x54, 0xb4, 0x0d, 0x63, 0x11, 0xd2, 0xaa, 0x56, 0xd3, 0x36, 0xa7, 0xb7, - 0x57, 0xea, 0xc4, 0x6f, 0x31, 0xd4, 0xba, 0x38, 0x8b, 0xc8, 0x1a, 0xef, 0xc2, 0xd2, 0x3e, 0x0e, - 0x1f, 0x59, 0x21, 0x0e, 0xc2, 0xdd, 0xc8, 0x1b, 0x1f, 0x10, 0x77, 0x31, 0x83, 0x68, 0x09, 0xa6, - 0x9c, 0xe0, 0x28, 0xc0, 0x56, 0x1b, 0xdb, 0x44, 0xef, 0xa4, 0x39, 0xe9, 0x04, 0x0d, 0xf2, 0x6c, - 0xdc, 0x26, 0x50, 0x53, 0xb3, 0x76, 0xcf, 0x0e, 0xde, 0x8b, 0x67, 0xce, 0x42, 0xc9, 0xa1, 0x53, - 0x2a, 0x66, 0xc9, 0xb1, 0x8d, 0x77, 0x60, 0x59, 0x14, 0xfe, 0x00, 0x3b, 0xad, 0xd3, 0x30, 0x9e, - 0xb0, 0x00, 0xe3, 0xa7, 0xe4, 0x05, 0x99, 0x34, 0x66, 0xb2, 0x27, 0xe3, 0x6f, 0x1a, 0xcc, 0x71, - 0xc8, 0xd8, 0x6a, 0xef, 0xc2, 0x25, 0x12, 0x3e, 0x6c, 0xb9, 0xba, 0xb0, 0xdc, 0xf4, 0x14, 0x2a, - 0x88, 0xbe, 0x01, 0x15, 0x1a, 0x92, 0x41, 0x68, 0x85, 0xbd, 0xa0, 0x5a, 0xaa, 0x69, 0x9b, 0xb3, - 0xf2, 0x89, 0x0d, 0x22, 0x61, 0x4e, 0x1f, 0xf7, 0x1f, 0xd0, 0x3d, 0x98, 0x8c, 0x63, 0xa6, 0x5a, - 0x26, 0x36, 0xaf, 0x09, 0x53, 0x1f, 0xb3, 0x61, 0x33, 0x11, 0x34, 0x6c, 0x78, 0x83, 0xdf, 0xdf, - 0x22, 0x3b, 0x8b, 0xea, 0x30, 0x77, 0xd2, 0x6b, 0xb7, 0x8f, 0x28, 0x5c, 0x9f, 0x2d, 0x99, 0x00, - 0x9e, 0x34, 0xaf, 0x46, 0x43, 0x4c, 0x17, 0x0b, 0x9a, 0x8f, 0x60, 0x2e, 0xde, 0x5c, 0x85, 0x0f, - 0x86, 0x56, 0x6b, 0xc1, 0xb5, 0xbe, 0xda, 0x42, 0xde, 0x1a, 0xda, 0xc4, 0x9f, 0x35, 0x98, 0xe1, - 0xde, 0xa0, 0x5b, 0xbc, 0x5f, 0xe7, 0x65, 0xee, 0xb9, 0x48, 0x8f, 0xde, 0x82, 0xea, 0x3e, 0x0e, - 0x1f, 0x26, 0xe9, 0x49, 0x15, 0xf4, 0xaf, 0x34, 0x40, 0x7d, 0xc9, 0x64, 0x89, 0x0f, 0x00, 0xfa, - 0xe9, 0x8d, 0xad, 0x73, 0x51, 0xb0, 0x9c, 0x9a, 0x96, 0x12, 0xe6, 0x20, 0x97, 0x8a, 0x42, 0x7e, - 0x0a, 0x0b, 0x0d, 0xec, 0xda, 0x4f, 0xfa, 0xc9, 0x2a, 0x06, 0xfc, 0x75, 0x98, 0x4e, 0xa5, 0xb0, - 0x9c, 0xa3, 0x94, 0x9e, 0x97, 0x16, 0x37, 0x3e, 0x85, 0x6b, 0x19, 0xbd, 0x6c, 0x89, 0x62, 0xe8, - 0x8d, 0x84, 0xfb, 0x9f, 0x1a, 0x39, 0x3d, 0x12, 0xdc, 0xa2, 0xfa, 0x45, 0x98, 0xa4, 0x81, 0xe0, - 0xd8, 0x44, 0x7d, 0xc5, 0x9c, 0x20, 0xcf, 0x07, 0x36, 0x5a, 0x83, 0x99, 0xfe, 0xfe, 0x45, 0xe3, - 0x65, 0x32, 0x5e, 0xe9, 0xbf, 0x3c, 0xb0, 0xd1, 0xc7, 0xb0, 0x40, 0x2e, 0x94, 0x23, 0xec, 0x36, - 0x3d, 0xdb, 0x71, 0x5b, 0x71, 0xee, 0xaf, 0x8e, 0x91, 0x90, 0x5a, 0x13, 0xc0, 0xee, 0x45, 0xc2, - 0x7b, 0x4c, 0x96, 0x65, 0x55, 0x73, 0x1e, 0x4b, 0xde, 0x1a, 0xf7, 0x49, 0x86, 0x6d, 0x9c, 0x05, - 0x21, 0xee, 0x48, 0x56, 0x92, 0x46, 0xae, 0x71, 0xc8, 0x8d, 0xdf, 0x68, 0x70, 0x43, 0x3e, 0x35, - 0xba, 0xd5, 0x06, 0x2b, 0x50, 0xac, 0xaa, 0x74, 0xde, 0x55, 0xfd, 0x49, 0x83, 0xeb, 0xbc, 0x6b, - 0x76, 0xcf, 0x0e, 0x5c, 0x1b, 0xbf, 0x2c, 0x00, 0x6b, 0x1e, 0x2e, 0x39, 0x91, 0x28, 0x41, 0x31, - 0x63, 0xd2, 0x07, 0x05, 0xd8, 0xf2, 0x79, 0xc1, 0xfe, 0x5a, 0x83, 0x55, 0x1e, 0x6c, 0xb0, 0x7b, - 0x46, 0xb2, 0x42, 0xff, 0xe8, 0x5e, 0xd8, 0x36, 0xea, 0x19, 0xcf, 0x06, 0xc9, 0x29, 0xfa, 0x36, - 0xcc, 0xa5, 0xce, 0x1b, 0x2b, 0x67, 0x82, 0xaa, 0x56, 0x2b, 0x6f, 0x4e, 0x6f, 0xbf, 0x59, 0x4f, - 0x15, 0x66, 0x75, 0x49, 0x7c, 0x50, 0x25, 0x26, 0x0a, 0x33, 0x06, 0x46, 0x3b, 0x8e, 0x3f, 0xd3, - 0x60, 0x3e, 0xbd, 0x87, 0x09, 0xcc, 0x6f, 0x42, 0x25, 0x65, 0x23, 0xc6, 0xa7, 0x4a, 0x23, 0x9c, - 0xfc, 0x68, 0x68, 0x7e, 0xaa, 0xc1, 0x9c, 0x2c, 0xf3, 0x9c, 0x2b, 0xa5, 0x8d, 0x06, 0xe5, 0x2f, - 0x65, 0x58, 0xcc, 0xdd, 0x7f, 0x74, 0x1f, 0xc6, 0xd9, 0xf5, 0xa4, 0x91, 0x70, 0xa9, 0xe5, 0x63, - 0x61, 0x97, 0x14, 0x93, 0x47, 0xab, 0x30, 0x4d, 0xff, 0x3a, 0x6a, 0x7a, 0x36, 0x66, 0xc7, 0x05, - 0xe8, 0xab, 0x87, 0x9e, 0x8d, 0xa3, 0xdc, 0x86, 0x7d, 0xdf, 0xf3, 0x8f, 0x3a, 0x38, 0x08, 0xac, - 0x16, 0x26, 0x47, 0x65, 0xca, 0xac, 0x90, 0x97, 0x8f, 0xe9, 0x3b, 0x74, 0x07, 0xc6, 0x49, 0xec, - 0x05, 0xd5, 0x31, 0xe2, 0x97, 0x79, 0x59, 0xb8, 0x9a, 0x4c, 0x86, 0x3b, 0x07, 0x97, 0xf8, 0x73, - 0xb0, 0x01, 0xb3, 0xe9, 0x68, 0x74, 0xec, 0xea, 0x38, 0x11, 0x98, 0x49, 0xbd, 0x95, 0x25, 0xdc, - 0x09, 0x49, 0xc2, 0xbd, 0x11, 0xdf, 0xdc, 0xac, 0x8a, 0x98, 0x24, 0x55, 0x04, 0xbd, 0x9d, 0x69, - 0xa5, 0xc1, 0xb9, 0x62, 0xaa, 0xa0, 0x2b, 0xd0, 0x6d, 0xb8, 0xda, 0xf4, 0x3a, 0xdd, 0x5e, 0x68, - 0x11, 0xeb, 0x3d, 0xb2, 0x2b, 0x40, 0x94, 0x5f, 0x49, 0x0d, 0x7c, 0x14, 0xbd, 0x37, 0xde, 0x86, - 0xab, 0xfb, 0x38, 0xdc, 0xa1, 0xdf, 0x30, 0x71, 0x22, 0xa8, 0xc2, 0x84, 0x65, 0xdb, 0x3e, 0x0e, - 0x82, 0x38, 0x0f, 0xb0, 0x47, 0xe3, 0x47, 0x80, 0xd2, 0xe2, 0x49, 0x1d, 0x3a, 0xc1, 0xbe, 0x82, - 0x58, 0xac, 0x2d, 0x08, 0x28, 0xe3, 0x09, 0xb1, 0xd8, 0x68, 0x31, 0xf6, 0x2e, 0xac, 0xf4, 0x8d, - 0xef, 0xc8, 0x2a, 0xca, 0x7c, 0xe0, 0x2f, 0xe1, 0xf2, 0x05, 0xa1, 0xfe, 0x84, 0x47, 0xbd, 0xdb, - 0x77, 0xef, 0x40, 0xd4, 0x99, 0x10, 0x29, 0x65, 0x42, 0xc4, 0xf8, 0x18, 0x6e, 0xec, 0x91, 0x8f, - 0x3d, 0xdc, 0x68, 0xfa, 0x4e, 0x57, 0xbe, 0x2f, 0x0b, 0x30, 0x1e, 0x90, 0x51, 0x66, 0x80, 0x3d, - 0xa1, 0xeb, 0x30, 0x65, 0xf9, 0xad, 0x5e, 0x87, 0x1c, 0x8d, 0x52, 0xad, 0xbc, 0x59, 0x31, 0xfb, - 0x2f, 0x8c, 0x2e, 0x2c, 0x0b, 0xaa, 0x8b, 0x5f, 0x18, 0x7d, 0x8b, 0xa5, 0x7c, 0x8b, 0x65, 0xd1, - 0xe2, 0x67, 0x99, 0xc5, 0x48, 0xb6, 0x4b, 0xdc, 0x14, 0x2d, 0x7b, 0x6e, 0x46, 0xb3, 0xfe, 0x0b, - 0x0d, 0xde, 0xe0, 0xcc, 0x27, 0xa1, 0x32, 0x0f, 0x97, 0x9e, 0x5b, 0xed, 0x1e, 0x66, 0xab, 0xa4, - 0x0f, 0x23, 0x85, 0x83, 0xfc, 0x74, 0x96, 0x73, 0x4e, 0xe7, 0xbf, 0x35, 0x12, 0x3c, 0x24, 0x3d, - 0x05, 0xef, 0x7b, 0x3e, 0xdb, 0x08, 0xcb, 0x6d, 0xe1, 0x78, 0x37, 0x10, 0x8c, 0x85, 0x67, 0x5d, - 0x8a, 0x6c, 0xca, 0x24, 0x7f, 0x47, 0x3b, 0x14, 0x84, 0x96, 0x1f, 0x0a, 0x61, 0x43, 0xde, 0xb1, - 0x1d, 0x5a, 0x06, 0xc0, 0xae, 0x1d, 0x0b, 0x50, 0xfb, 0x53, 0xd8, 0xb5, 0xd9, 0xf0, 0x97, 0x58, - 0x0c, 0xfe, 0x51, 0x23, 0xd5, 0x60, 0xb2, 0x26, 0x16, 0x53, 0x81, 0x6a, 0x41, 0x4b, 0x30, 0x15, - 0x07, 0x5a, 0x1c, 0xa7, 0x93, 0x2c, 0xd2, 0x82, 0x2f, 0xb3, 0x6a, 0xfa, 0x47, 0x09, 0x66, 0x29, - 0xd0, 0xd4, 0xdd, 0x3a, 0xc1, 0xd7, 0x20, 0x06, 0x57, 0x83, 0xf0, 0xd2, 0x75, 0x76, 0x0f, 0xc6, - 0x53, 0x46, 0x0a, 0x19, 0xfd, 0xaf, 0x1a, 0x8c, 0x53, 0x45, 0xaa, 0x13, 0x37, 0x38, 0x57, 0xa4, - 0xae, 0xc1, 0x72, 0x81, 0x6b, 0xf0, 0x21, 0x5c, 0xa6, 0x0a, 0x13, 0xfa, 0x86, 0x38, 0x3f, 0xaa, - 0x24, 0x28, 0xc1, 0x53, 0x8f, 0x09, 0x9e, 0xfa, 0x93, 0x58, 0xc2, 0x9c, 0x25, 0x53, 0x92, 0x67, - 0x63, 0x99, 0x38, 0xfb, 0x43, 0x1c, 0xbe, 0xf0, 0xfc, 0x67, 0x87, 0x96, 0x6f, 0x75, 0x70, 0x88, - 0xfd, 0xd8, 0xd9, 0xc6, 0x03, 0x52, 0x42, 0x4b, 0x86, 0xd9, 0x6e, 0x2f, 0xc2, 0x64, 0xf3, 0xd4, - 0x72, 0xdc, 0x78, 0xbd, 0x53, 0xe6, 0x04, 0x79, 0x3e, 0xb0, 0x8d, 0x9b, 0xb0, 0x91, 0xd0, 0x0a, - 0x87, 0x11, 0x90, 0xa6, 0xd7, 0x8e, 0x8a, 0x07, 0xdc, 0x70, 0xad, 0x6e, 0x70, 0xea, 0xc5, 0xf9, - 0xc2, 0xd8, 0x83, 0xcd, 0x7d, 0x2c, 0x17, 0x19, 0xa2, 0x04, 0x36, 0x1e, 0xc1, 0xcd, 0x7c, 0x35, - 0xc3, 0x66, 0xa8, 0xe8, 0xb3, 0x78, 0x39, 0x07, 0x35, 0x5b, 0x7a, 0x1d, 0x50, 0x80, 0x7d, 0xc7, - 0x6a, 0x3b, 0x3f, 0xc4, 0x76, 0x3c, 0xca, 0x40, 0x49, 0x46, 0x46, 0xbb, 0x9c, 0xbe, 0x05, 0x6b, - 0xd1, 0x59, 0x8c, 0xd9, 0x42, 0x1a, 0x65, 0xfd, 0x43, 0x59, 0x60, 0x5b, 0xfe, 0xa0, 0xc5, 0x39, - 0x5b, 0x3a, 0x9f, 0x2d, 0xe6, 0x00, 0xae, 0x88, 0x94, 0x64, 0x0e, 0x47, 0x27, 0xe8, 0x32, 0x2f, - 0x63, 0xfe, 0xc5, 0x68, 0xeb, 0xdc, 0x22, 0xd4, 0x9b, 0xa0, 0x5b, 0x45, 0x5b, 0xfc, 0x4e, 0x83, - 0x25, 0xa9, 0xf8, 0x6b, 0xb2, 0xa0, 0xbf, 0x6b, 0xf0, 0x66, 0xa3, 0x77, 0x1c, 0xdd, 0x6b, 0xc7, - 0x98, 0xec, 0x76, 0xf0, 0xbe, 0xef, 0x75, 0x1a, 0x51, 0x8a, 0x17, 0x9c, 0xb7, 0x0e, 0xb3, 0xf4, - 0x36, 0x10, 0x5c, 0x48, 0xef, 0x88, 0x5d, 0x96, 0x3e, 0xce, 0xc9, 0x23, 0xe5, 0x90, 0x5e, 0xe5, - 0x3c, 0xd2, 0xeb, 0x5f, 0x1a, 0x6c, 0xe4, 0xe1, 0xe7, 0x0f, 0xd3, 0x1d, 0x40, 0x69, 0xf8, 0xdc, - 0x91, 0xba, 0xd2, 0x5f, 0x02, 0x4b, 0x71, 0xff, 0xe7, 0x65, 0x98, 0x50, 0x93, 0xac, 0x82, 0x26, - 0xa5, 0x78, 0x01, 0x39, 0x3a, 0xb5, 0x3c, 0x9d, 0x7b, 0x70, 0x4d, 0xd0, 0x39, 0x0a, 0x31, 0x68, - 0xfc, 0x4a, 0x83, 0x3b, 0xbc, 0x1e, 0x4a, 0x05, 0x5f, 0x68, 0x9c, 0x18, 0x5f, 0x68, 0x70, 0x5b, - 0x8d, 0xea, 0xe2, 0xbc, 0x6f, 0x6c, 0x8a, 0x67, 0x2a, 0x85, 0x8d, 0xf3, 0xa9, 0xd1, 0x80, 0x65, - 0xa9, 0x64, 0xaa, 0x11, 0x31, 0x4e, 0xbb, 0x3e, 0x05, 0xb8, 0x79, 0x26, 0x29, 0xf1, 0xd8, 0x7b, - 0x4e, 0x0b, 0x07, 0xe1, 0xeb, 0xe6, 0x31, 0x11, 0xd5, 0xeb, 0xe4, 0xb1, 0x14, 0x36, 0xde, 0x63, - 0xbf, 0xd7, 0x44, 0x97, 0x31, 0xd1, 0x74, 0xad, 0x71, 0x8e, 0xda, 0x4a, 0x52, 0x2d, 0x95, 0x87, - 0xae, 0x96, 0xbe, 0x0f, 0xb7, 0x1a, 0xd8, 0xb5, 0x77, 0x5c, 0x3b, 0x81, 0x9a, 0xa1, 0x46, 0x70, - 0xf0, 0xbf, 0x61, 0xae, 0x7f, 0x1b, 0xf9, 0xb5, 0x88, 0xb1, 0x1c, 0x3a, 0xbb, 0xcf, 0xe9, 0x94, - 0x86, 0xe4, 0x74, 0xd6, 0x60, 0x86, 0x91, 0x35, 0x47, 0x94, 0x04, 0xa5, 0x9f, 0x1f, 0x15, 0xf6, - 0x92, 0x70, 0xa8, 0xdb, 0xff, 0x59, 0x83, 0xa9, 0x1d, 0x52, 0x53, 0xef, 0x1c, 0x1e, 0xa0, 0xaf, - 0xc1, 0xd8, 0xa1, 0xe3, 0xb6, 0x50, 0x95, 0x2b, 0xb6, 0x53, 0x4d, 0x44, 0x7d, 0x51, 0x32, 0xc2, - 0x90, 0x63, 0x42, 0x5a, 0x08, 0xcd, 0x3f, 0xc4, 0x73, 0x87, 0xb9, 0x0d, 0x47, 0xfd, 0xe6, 0x40, - 0x39, 0x66, 0xe6, 0x18, 0xe6, 0x65, 0x7d, 0x44, 0xb4, 0x29, 0x2a, 0xc8, 0x6b, 0x35, 0xea, 0x35, - 0x4e, 0x52, 0xd6, 0xf1, 0xfb, 0x94, 0x2c, 0x45, 0xe8, 0x37, 0x66, 0x97, 0x22, 0x6f, 0x48, 0x16, - 0xd0, 0x7f, 0x02, 0x0b, 0xf2, 0x16, 0x25, 0xba, 0xa5, 0xb4, 0xc1, 0xa5, 0x80, 0x02, 0x76, 0x0e, - 0x61, 0x96, 0xdf, 0x08, 0x64, 0x28, 0x76, 0x29, 0xd6, 0xab, 0x67, 0xf5, 0x26, 0x1a, 0x1f, 0x41, - 0x25, 0xdd, 0xff, 0x43, 0x35, 0x29, 0xde, 0xf4, 0x6e, 0xa8, 0xb4, 0x3d, 0x81, 0x2b, 0x62, 0xdb, - 0x0f, 0xad, 0xe7, 0x68, 0xe4, 0xd7, 0xae, 0xd2, 0xfa, 0x5d, 0x42, 0xb6, 0xf1, 0x7d, 0x33, 0xb4, - 0x21, 0xaa, 0x95, 0xf6, 0xd5, 0xf4, 0x55, 0x4e, 0x4c, 0xd2, 0x51, 0xfb, 0x1e, 0x5c, 0x16, 0x3a, - 0x51, 0x68, 0x8d, 0x9b, 0x23, 0xef, 0x7f, 0xe9, 0xeb, 0x6a, 0x21, 0xa6, 0xfd, 0x29, 0x71, 0x58, - 0x5a, 0x79, 0xc6, 0x61, 0x12, 0xdd, 0x35, 0x05, 0x3f, 0x9f, 0x3e, 0x34, 0x19, 0xe6, 0xb8, 0x90, - 0xf6, 0x82, 0xec, 0x3f, 0xea, 0x92, 0x6f, 0xd0, 0xcc, 0x38, 0xeb, 0xd6, 0xa0, 0xb7, 0x14, 0xa6, - 0xf8, 0x8e, 0x4e, 0x61, 0x8b, 0x2f, 0x08, 0x6d, 0x93, 0xed, 0x6a, 0x24, 0xdf, 0x9b, 0xe8, 0x8e, - 0xc2, 0x68, 0xa6, 0x33, 0x23, 0xe4, 0x20, 0x45, 0xb7, 0xe4, 0x19, 0xe9, 0xcc, 0x4a, 0x75, 0x0d, - 0x69, 0xf2, 0x46, 0x9e, 0xc9, 0x40, 0xf0, 0x5d, 0xa6, 0x37, 0x97, 0x4d, 0x78, 0x79, 0x9d, 0xbf, - 0x02, 0xf1, 0x11, 0x92, 0x9f, 0x7b, 0xe4, 0xf4, 0xff, 0x50, 0xbd, 0x80, 0xa5, 0x54, 0xa3, 0xb0, - 0xb0, 0xff, 0x1e, 0x03, 0xf4, 0x39, 0x5b, 0xb4, 0x22, 0x5a, 0xe1, 0xe9, 0x72, 0xe1, 0x68, 0x4a, - 0xf8, 0x71, 0x9b, 0xfc, 0x88, 0x40, 0x46, 0x5c, 0xa3, 0xdb, 0x39, 0x73, 0x65, 0x34, 0xae, 0x7e, - 0x9d, 0x13, 0x1e, 0x60, 0x25, 0x5d, 0x65, 0xe5, 0x5b, 0xc9, 0xf2, 0xab, 0x03, 0xac, 0x74, 0x41, - 0xcf, 0xe7, 0x9b, 0x05, 0x87, 0x0c, 0x24, 0xa6, 0x75, 0x23, 0x5f, 0x3e, 0xb1, 0x78, 0x0a, 0x0b, - 0x72, 0x1a, 0x5a, 0xb8, 0x93, 0x94, 0x5c, 0x75, 0x21, 0x4b, 0xd9, 0xb5, 0xa5, 0x37, 0xb1, 0x3e, - 0xd0, 0x1a, 0xbf, 0x8f, 0x45, 0x2c, 0x36, 0x89, 0xcf, 0x64, 0xfc, 0x6e, 0xd6, 0x67, 0x0a, 0x16, - 0x58, 0x5f, 0x52, 0x90, 0x90, 0xe8, 0x13, 0x72, 0x4e, 0x33, 0x84, 0x6b, 0xf6, 0x9c, 0xe6, 0x71, - 0xb2, 0x6a, 0xf5, 0xcf, 0x88, 0xfa, 0x0c, 0x87, 0x97, 0x55, 0x9f, 0xc7, 0x02, 0xea, 0x6f, 0x15, - 0x90, 0x64, 0xc6, 0x3e, 0xa7, 0x8c, 0xb8, 0x82, 0xf6, 0x43, 0xdb, 0xf2, 0x4a, 0x42, 0xc5, 0x11, - 0xea, 0x7c, 0x24, 0xa9, 0x89, 0xb9, 0x9f, 0xd0, 0xdf, 0x24, 0xa8, 0x09, 0x45, 0xf4, 0x55, 0x11, - 0x45, 0x21, 0x02, 0x72, 0x28, 0x20, 0xaf, 0x34, 0xa8, 0x0d, 0xa2, 0x24, 0xd1, 0x57, 0x0a, 0xe2, - 0xe0, 0x63, 0x77, 0x18, 0x18, 0x9f, 0xd3, 0xdf, 0x41, 0xe4, 0x92, 0x80, 0xe8, 0x6e, 0x26, 0xce, - 0x06, 0xf0, 0x8d, 0xba, 0xec, 0xa8, 0xa9, 0xe8, 0x45, 0x97, 0x94, 0xad, 0x12, 0xbe, 0x2e, 0x5b, - 0xb6, 0xe6, 0x73, 0x80, 0xfa, 0xa6, 0xca, 0x2a, 0xc7, 0xfe, 0xfd, 0x18, 0x56, 0x07, 0x90, 0x6f, - 0xe8, 0x1e, 0x5f, 0x56, 0x15, 0xa2, 0xea, 0xc4, 0x5a, 0x4c, 0xce, 0x02, 0xdd, 0xd5, 0xd0, 0x67, - 0xb0, 0xa2, 0x26, 0xcf, 0x84, 0x43, 0x50, 0x88, 0x69, 0x2b, 0x6c, 0xdd, 0x87, 0xc5, 0x5c, 0xd2, - 0x0b, 0xbd, 0x3d, 0xc8, 0x30, 0xf7, 0x59, 0x5e, 0xd8, 0xe6, 0x2f, 0x33, 0x7c, 0x61, 0x0e, 0x9b, - 0x85, 0x1e, 0x28, 0x34, 0xaa, 0x19, 0x30, 0x21, 0xea, 0x95, 0x04, 0xcf, 0x5d, 0x0d, 0xfd, 0x5c, - 0x83, 0xf5, 0x22, 0x54, 0x16, 0xba, 0x3f, 0x04, 0x22, 0xd5, 0x31, 0x1c, 0x04, 0xe8, 0x95, 0x26, - 0x86, 0x65, 0x86, 0xbf, 0x52, 0x86, 0x65, 0x1e, 0xdb, 0x35, 0x24, 0x8c, 0xac, 0xab, 0x72, 0x68, - 0x2c, 0xa5, 0xab, 0xd4, 0xd4, 0x97, 0x12, 0x92, 0x40, 0xec, 0x48, 0x5d, 0x25, 0xe7, 0xb0, 0x94, - 0xae, 0x52, 0xd2, 0x5e, 0x43, 0x02, 0xca, 0xba, 0x2a, 0x43, 0x5c, 0x29, 0x5d, 0x95, 0x47, 0x73, - 0x0d, 0x09, 0xe3, 0x0b, 0x0d, 0xd6, 0x0a, 0x70, 0x40, 0xe8, 0x9d, 0xcc, 0x37, 0x62, 0x31, 0x8a, - 0x4a, 0xbf, 0x3f, 0xfc, 0xc4, 0x18, 0xdc, 0xee, 0x23, 0xd0, 0x3d, 0xbf, 0x55, 0xf7, 0x5c, 0xa2, - 0x22, 0x61, 0xcf, 0xa8, 0xae, 0xef, 0xd4, 0x5b, 0x4e, 0x78, 0xda, 0x3b, 0xae, 0x37, 0xbd, 0xce, - 0x16, 0x15, 0xd9, 0x22, 0xff, 0x24, 0x3f, 0x3a, 0x6f, 0x79, 0x5b, 0xa9, 0xdf, 0xf3, 0x1f, 0x8f, - 0x93, 0x81, 0x7b, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x07, 0xdb, 0xdb, 0xf1, 0xe5, 0x2f, 0x00, - 0x00, + // 2393 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcd, 0x6f, 0xdc, 0xc6, + 0x15, 0x07, 0x77, 0x65, 0x7d, 0x3c, 0xad, 0x64, 0x7b, 0xac, 0xc8, 0x2b, 0xca, 0x92, 0xd6, 0x94, + 0x14, 0x2b, 0xb6, 0xb3, 0x32, 0xe4, 0x16, 0xb1, 0xd3, 0x0f, 0x54, 0x72, 0x14, 0x45, 0x80, 0x1d, + 0x08, 0x5c, 0xc7, 0x45, 0xda, 0x26, 0x02, 0xb5, 0x1c, 0xad, 0x58, 0xef, 0x92, 0x5b, 0x92, 0x6b, + 0x5b, 0x6d, 0x50, 0xe4, 0x60, 0x14, 0x05, 0x0a, 0xf4, 0x03, 0x3d, 0x14, 0x0d, 0xda, 0x4b, 0x7b, + 0x6a, 0x2f, 0x3d, 0xf5, 0x50, 0x14, 0x45, 0x81, 0xa2, 0xff, 0x40, 0xff, 0xa2, 0x16, 0x9c, 0x19, + 0x72, 0x39, 0xc3, 0xe1, 0x2c, 0x77, 0xe5, 0x54, 0xbe, 0x24, 0x22, 0xe7, 0xcd, 0x7b, 0xbf, 0x99, + 0xf7, 0x31, 0xc3, 0xdf, 0x5b, 0x43, 0xf5, 0xb8, 0xed, 0x3d, 0xdf, 0xb4, 0x9a, 0x4d, 0x1c, 0x04, + 0xec, 0x7f, 0xf5, 0xae, 0xef, 0x85, 0x1e, 0x9a, 0x8e, 0x46, 0xea, 0xf4, 0x95, 0xbe, 0x48, 0xc4, + 0xb0, 0x1b, 0x3a, 0xa1, 0x83, 0x89, 0xa0, 0xd7, 0x73, 0x43, 0x2a, 0xa9, 0xd7, 0xf8, 0xc1, 0xa3, + 0xb6, 0xd7, 0x7c, 0x7a, 0x78, 0x82, 0x2d, 0x1b, 0xfb, 0x4c, 0x62, 0x41, 0x22, 0xc1, 0x86, 0x96, + 0xf9, 0xa1, 0xa6, 0xd7, 0x6e, 0xe3, 0x66, 0xe8, 0x78, 0xae, 0x7c, 0x2a, 0x7e, 0x86, 0x13, 0xbb, + 0x6b, 0xc2, 0xd0, 0x0b, 0xdc, 0xec, 0x45, 0x33, 0x0f, 0x7d, 0x1c, 0xf4, 0xda, 0xb1, 0xd4, 0x35, + 0x5e, 0xaa, 0x83, 0x43, 0xcb, 0xb6, 0x42, 0x8b, 0x8d, 0xae, 0xf3, 0xa3, 0xae, 0x67, 0xe3, 0xc3, + 0x67, 0xd8, 0x0f, 0x22, 0x35, 0x8e, 0x7b, 0xec, 0x31, 0xb1, 0x15, 0x5e, 0x2c, 0xf4, 0x2d, 0x37, + 0xb0, 0xd2, 0x30, 0x57, 0x5a, 0x9e, 0xd7, 0x6a, 0xe3, 0x4d, 0xf2, 0x74, 0xd4, 0x3b, 0xde, 0x0c, + 0x9d, 0x0e, 0x0e, 0x42, 0xab, 0xd3, 0xa5, 0x02, 0xc6, 0x0c, 0x4c, 0x1f, 0x38, 0x6e, 0xcb, 0xc4, + 0x3f, 0xe8, 0xe1, 0x20, 0x34, 0x66, 0xa1, 0x42, 0x1f, 0x83, 0xae, 0xe7, 0x06, 0xd8, 0x58, 0x84, + 0x85, 0x3d, 0x1c, 0x7e, 0xe8, 0xd9, 0xf8, 0x09, 0xb5, 0xbe, 0xef, 0x1e, 0x7b, 0xb1, 0xf0, 0x01, + 0xe8, 0xb2, 0x41, 0x3a, 0x15, 0x6d, 0xc1, 0x58, 0x84, 0xb4, 0xaa, 0xd5, 0xb4, 0x8d, 0xe9, 0xad, + 0xe5, 0x3a, 0xf1, 0x5b, 0x0c, 0xb5, 0x2e, 0xce, 0x22, 0xb2, 0xc6, 0xbb, 0xb0, 0xb8, 0x87, 0xc3, + 0x87, 0x56, 0x88, 0x83, 0x70, 0x27, 0xf2, 0xc6, 0x07, 0xc4, 0x5d, 0xcc, 0x20, 0x5a, 0x84, 0x29, + 0x27, 0x38, 0x0c, 0xb0, 0xd5, 0xc6, 0x36, 0xd1, 0x3b, 0x69, 0x4e, 0x3a, 0x41, 0x83, 0x3c, 0x1b, + 0xb7, 0x08, 0xd4, 0xd4, 0xac, 0x9d, 0xd3, 0xfd, 0xf7, 0xe2, 0x99, 0xb3, 0x50, 0x72, 0xe8, 0x94, + 0x8a, 0x59, 0x72, 0x6c, 0xe3, 0x1d, 0x58, 0x12, 0x85, 0x3f, 0xc0, 0x4e, 0xeb, 0x24, 0x8c, 0x27, + 0xcc, 0xc3, 0xf8, 0x09, 0x79, 0x41, 0x26, 0x8d, 0x99, 0xec, 0xc9, 0xf8, 0xbb, 0x06, 0x57, 0x38, + 0x64, 0x6c, 0xb5, 0x77, 0xe0, 0x02, 0x09, 0x1f, 0xb6, 0x5c, 0x5d, 0x58, 0x6e, 0x7a, 0x0a, 0x15, + 0x44, 0xdf, 0x80, 0x0a, 0x0d, 0xc9, 0x20, 0xb4, 0xc2, 0x5e, 0x50, 0x2d, 0xd5, 0xb4, 0x8d, 0x59, + 0xf9, 0xc4, 0x06, 0x91, 0x30, 0xa7, 0x8f, 0xfa, 0x0f, 0xe8, 0x2e, 0x4c, 0xc6, 0x31, 0x53, 0x2d, + 0x13, 0x9b, 0x57, 0x85, 0xa9, 0x8f, 0xd8, 0xb0, 0x99, 0x08, 0x1a, 0x36, 0xbc, 0xc1, 0xef, 0x6f, + 0x91, 0x9d, 0x45, 0x75, 0xb8, 0x72, 0xdc, 0x6b, 0xb7, 0x0f, 0x29, 0x5c, 0x9f, 0x2d, 0x99, 0x00, + 0x9e, 0x34, 0x2f, 0x47, 0x43, 0x4c, 0x17, 0x0b, 0x9a, 0x8f, 0xe0, 0x4a, 0xbc, 0xb9, 0x0a, 0x1f, + 0x0c, 0xad, 0xd6, 0x82, 0xab, 0x7d, 0xb5, 0x85, 0xbc, 0x35, 0xb4, 0x89, 0xbf, 0x68, 0x30, 0xc3, + 0xbd, 0x41, 0x37, 0x79, 0xbf, 0xce, 0xc9, 0xdc, 0x73, 0x9e, 0x1e, 0xbd, 0x09, 0xd5, 0x3d, 0x1c, + 0x3e, 0x48, 0xca, 0x93, 0x2a, 0xe8, 0x5f, 0x6a, 0x80, 0xfa, 0x92, 0xc9, 0x12, 0xef, 0x03, 0xf4, + 0xcb, 0x1b, 0x5b, 0xe7, 0x82, 0x60, 0x39, 0x35, 0x2d, 0x25, 0xcc, 0x41, 0x2e, 0x15, 0x85, 0xfc, + 0x04, 0xe6, 0x1b, 0xd8, 0xb5, 0x1f, 0xf7, 0x8b, 0x55, 0x0c, 0xf8, 0xeb, 0x30, 0x9d, 0x2a, 0x61, + 0x39, 0xa9, 0x94, 0x9e, 0x97, 0x16, 0x37, 0x3e, 0x85, 0xab, 0x19, 0xbd, 0x6c, 0x89, 0x62, 0xe8, + 0x8d, 0x84, 0xfb, 0x5f, 0x1a, 0xc9, 0x1e, 0x09, 0x6e, 0x51, 0xfd, 0x02, 0x4c, 0xd2, 0x40, 0x70, + 0x6c, 0xa2, 0xbe, 0x62, 0x4e, 0x90, 0xe7, 0x7d, 0x1b, 0xad, 0xc2, 0x4c, 0x7f, 0xff, 0xa2, 0xf1, + 0x32, 0x19, 0xaf, 0xf4, 0x5f, 0xee, 0xdb, 0xe8, 0x63, 0x98, 0x27, 0x07, 0xca, 0x21, 0x76, 0x9b, + 0x9e, 0xed, 0xb8, 0xad, 0xb8, 0xf6, 0x57, 0xc7, 0x48, 0x48, 0xad, 0x0a, 0x60, 0x77, 0x23, 0xe1, + 0x5d, 0x26, 0xcb, 0xaa, 0xaa, 0x39, 0x87, 0x25, 0x6f, 0x8d, 0x7b, 0xa4, 0xc2, 0x36, 0x4e, 0x83, + 0x10, 0x77, 0x24, 0x2b, 0x49, 0x23, 0xd7, 0x38, 0xe4, 0xc6, 0x6f, 0x35, 0xb8, 0x2e, 0x9f, 0x1a, + 0x9d, 0x6a, 0x83, 0x15, 0x28, 0x56, 0x55, 0x3a, 0xeb, 0xaa, 0xfe, 0xac, 0xc1, 0x35, 0xde, 0x35, + 0x3b, 0xa7, 0xfb, 0xae, 0x8d, 0x5f, 0x14, 0x80, 0x35, 0x07, 0x17, 0x9c, 0x48, 0x94, 0xa0, 0x98, + 0x31, 0xe9, 0x83, 0x02, 0x6c, 0xf9, 0xac, 0x60, 0x7f, 0xa3, 0xc1, 0x0a, 0x0f, 0x36, 0xd8, 0x39, + 0x25, 0x55, 0xa1, 0x9f, 0xba, 0xe7, 0xb6, 0x8d, 0x7a, 0xc6, 0xb3, 0x41, 0x92, 0x45, 0xdf, 0x86, + 0x2b, 0xa9, 0x7c, 0x63, 0xd7, 0x99, 0xa0, 0xaa, 0xd5, 0xca, 0x1b, 0xd3, 0x5b, 0x6f, 0xd6, 0x53, + 0x17, 0xb3, 0xba, 0x24, 0x3e, 0xa8, 0x12, 0x13, 0x85, 0x19, 0x03, 0xa3, 0xa5, 0xe3, 0xcf, 0x34, + 0x98, 0x4b, 0xef, 0x61, 0x02, 0xf3, 0x9b, 0x50, 0x49, 0xd9, 0x88, 0xf1, 0xa9, 0xca, 0x08, 0x27, + 0x3f, 0x1a, 0x9a, 0x9f, 0x6a, 0x70, 0x45, 0x56, 0x79, 0xce, 0x54, 0xd2, 0x46, 0x83, 0xf2, 0xd7, + 0x32, 0x2c, 0xe4, 0xee, 0x3f, 0xba, 0x07, 0xe3, 0xec, 0x78, 0xd2, 0x48, 0xb8, 0xd4, 0xf2, 0xb1, + 0xb0, 0x43, 0x8a, 0xc9, 0xa3, 0x15, 0x98, 0xa6, 0x7f, 0x1d, 0x36, 0x3d, 0x1b, 0xb3, 0x74, 0x01, + 0xfa, 0xea, 0x81, 0x67, 0xe3, 0xa8, 0xb6, 0x61, 0xdf, 0xf7, 0xfc, 0xc3, 0x0e, 0x0e, 0x02, 0xab, + 0x85, 0x49, 0xaa, 0x4c, 0x99, 0x15, 0xf2, 0xf2, 0x11, 0x7d, 0x87, 0x6e, 0xc3, 0x38, 0x89, 0xbd, + 0xa0, 0x3a, 0x46, 0xfc, 0x32, 0x27, 0x0b, 0x57, 0x93, 0xc9, 0x70, 0x79, 0x70, 0x81, 0xcf, 0x83, + 0x75, 0x98, 0x4d, 0x47, 0xa3, 0x63, 0x57, 0xc7, 0x89, 0xc0, 0x4c, 0xea, 0xad, 0xac, 0xe0, 0x4e, + 0x48, 0x0a, 0xee, 0xf5, 0xf8, 0xe4, 0x66, 0xb7, 0x88, 0x49, 0x72, 0x8b, 0xa0, 0xa7, 0x33, 0xbd, + 0x69, 0x70, 0xae, 0x98, 0x2a, 0xe8, 0x0a, 0x74, 0x0b, 0x2e, 0x37, 0xbd, 0x4e, 0xb7, 0x17, 0x5a, + 0xc4, 0x7a, 0x8f, 0xec, 0x0a, 0x10, 0xe5, 0x97, 0x52, 0x03, 0x1f, 0x45, 0xef, 0x8d, 0xb7, 0xe1, + 0xf2, 0x1e, 0x0e, 0xb7, 0xe9, 0x37, 0x4c, 0x5c, 0x08, 0xaa, 0x30, 0x61, 0xd9, 0xb6, 0x8f, 0x83, + 0x20, 0xae, 0x03, 0xec, 0xd1, 0xf8, 0x11, 0xa0, 0xb4, 0x78, 0x72, 0x0f, 0x9d, 0x60, 0x5f, 0x41, + 0x2c, 0xd6, 0xe6, 0x05, 0x94, 0xf1, 0x84, 0x58, 0x6c, 0xb4, 0x18, 0x7b, 0x17, 0x96, 0xfb, 0xc6, + 0xb7, 0x65, 0x37, 0xca, 0x7c, 0xe0, 0x2f, 0xe0, 0xe2, 0x39, 0xa1, 0xfe, 0x84, 0x47, 0xbd, 0xd3, + 0x77, 0xef, 0x40, 0xd4, 0x99, 0x10, 0x29, 0x65, 0x42, 0xc4, 0xf8, 0x18, 0xae, 0xef, 0x92, 0x8f, + 0x3d, 0xdc, 0x68, 0xfa, 0x4e, 0x57, 0xbe, 0x2f, 0xf3, 0x30, 0x1e, 0x90, 0x51, 0x66, 0x80, 0x3d, + 0xa1, 0x6b, 0x30, 0x65, 0xf9, 0xad, 0x5e, 0x87, 0xa4, 0x46, 0xa9, 0x56, 0xde, 0xa8, 0x98, 0xfd, + 0x17, 0x46, 0x17, 0x96, 0x04, 0xd5, 0xc5, 0x0f, 0x8c, 0xbe, 0xc5, 0x52, 0xbe, 0xc5, 0xb2, 0x68, + 0xf1, 0xb3, 0xcc, 0x62, 0x24, 0xdb, 0x25, 0x6e, 0x8a, 0x96, 0xcd, 0x9b, 0xd1, 0xac, 0xff, 0x42, + 0x83, 0x37, 0x38, 0xf3, 0x49, 0xa8, 0xcc, 0xc1, 0x85, 0x67, 0x56, 0xbb, 0x87, 0xd9, 0x2a, 0xe9, + 0xc3, 0x48, 0xe1, 0x20, 0xcf, 0xce, 0x72, 0x4e, 0x76, 0xfe, 0x47, 0x23, 0xc1, 0x43, 0xca, 0x53, + 0xf0, 0xbe, 0xe7, 0xb3, 0x8d, 0xb0, 0xdc, 0x16, 0x8e, 0x77, 0x03, 0xc1, 0x58, 0x78, 0xda, 0xa5, + 0xc8, 0xa6, 0x4c, 0xf2, 0x77, 0xb4, 0x43, 0x41, 0x68, 0xf9, 0xa1, 0x10, 0x36, 0xe4, 0x1d, 0xdb, + 0xa1, 0x25, 0x00, 0xec, 0xda, 0xb1, 0x00, 0xb5, 0x3f, 0x85, 0x5d, 0x9b, 0x0d, 0x7f, 0x89, 0x97, + 0xc1, 0x3f, 0x69, 0xe4, 0x36, 0x98, 0xac, 0x89, 0xc5, 0x54, 0xa0, 0x5a, 0xd0, 0x22, 0x4c, 0xc5, + 0x81, 0x16, 0xc7, 0xe9, 0x24, 0x8b, 0xb4, 0xe0, 0xcb, 0xbc, 0x35, 0xfd, 0xb3, 0x04, 0xb3, 0x14, + 0x68, 0xea, 0x6c, 0x9d, 0xe0, 0xef, 0x20, 0x06, 0x77, 0x07, 0xe1, 0xa5, 0xeb, 0xec, 0x1c, 0x8c, + 0xa7, 0x8c, 0x14, 0x32, 0xfa, 0xdf, 0x34, 0x18, 0xa7, 0x8a, 0x54, 0x19, 0x37, 0xb8, 0x56, 0xa4, + 0x8e, 0xc1, 0x72, 0x81, 0x63, 0xf0, 0x01, 0x5c, 0xa4, 0x0a, 0x13, 0xfa, 0x86, 0x38, 0x3f, 0xba, + 0x49, 0x50, 0x82, 0xa7, 0x1e, 0x13, 0x3c, 0xf5, 0xc7, 0xb1, 0x84, 0x39, 0x4b, 0xa6, 0x24, 0xcf, + 0xc6, 0x12, 0x71, 0xf6, 0x87, 0x38, 0x7c, 0xee, 0xf9, 0x4f, 0x0f, 0x2c, 0xdf, 0xea, 0xe0, 0x10, + 0xfb, 0xb1, 0xb3, 0x8d, 0xfb, 0xe4, 0x0a, 0x2d, 0x19, 0x66, 0xbb, 0xbd, 0x00, 0x93, 0xcd, 0x13, + 0xcb, 0x71, 0xe3, 0xf5, 0x4e, 0x99, 0x13, 0xe4, 0x79, 0xdf, 0x36, 0x6e, 0xc0, 0x7a, 0x42, 0x2b, + 0x1c, 0x44, 0x40, 0x9a, 0x5e, 0x3b, 0xba, 0x3c, 0xe0, 0x86, 0x6b, 0x75, 0x83, 0x13, 0x2f, 0xae, + 0x17, 0xc6, 0x2e, 0x6c, 0xec, 0x61, 0xb9, 0xc8, 0x10, 0x57, 0x60, 0xe3, 0x21, 0xdc, 0xc8, 0x57, + 0x33, 0x6c, 0x85, 0x8a, 0x3e, 0x8b, 0x97, 0x72, 0x50, 0xb3, 0xa5, 0xd7, 0x01, 0x05, 0xd8, 0x77, + 0xac, 0xb6, 0xf3, 0x43, 0x6c, 0xc7, 0xa3, 0x0c, 0x94, 0x64, 0x64, 0xb4, 0xc3, 0xe9, 0x5b, 0xb0, + 0x1a, 0xe5, 0x62, 0xcc, 0x16, 0xd2, 0x28, 0xeb, 0x27, 0x65, 0x81, 0x6d, 0xf9, 0xa3, 0x16, 0xd7, + 0x6c, 0xe9, 0x7c, 0xb6, 0x98, 0x7d, 0xb8, 0x24, 0x52, 0x92, 0x39, 0x1c, 0x9d, 0xa0, 0xcb, 0xbc, + 0x88, 0xf9, 0x17, 0xa3, 0xad, 0x73, 0x93, 0x50, 0x6f, 0x82, 0x6e, 0x15, 0x6d, 0xf1, 0x7b, 0x0d, + 0x16, 0xa5, 0xe2, 0xaf, 0xc9, 0x82, 0xfe, 0xa1, 0xc1, 0x9b, 0x8d, 0xde, 0x51, 0x74, 0xae, 0x1d, + 0x61, 0xb2, 0xdb, 0xc1, 0xfb, 0xbe, 0xd7, 0x69, 0x44, 0x25, 0x5e, 0x70, 0xde, 0x1a, 0xcc, 0xd2, + 0xd3, 0x40, 0x70, 0x21, 0x3d, 0x23, 0x76, 0x58, 0xf9, 0x38, 0x23, 0x8f, 0x94, 0x43, 0x7a, 0x95, + 0xf3, 0x48, 0xaf, 0x7f, 0x6b, 0xb0, 0x9e, 0x87, 0x9f, 0x4f, 0xa6, 0xdb, 0x80, 0xd2, 0xf0, 0xb9, + 0x94, 0xba, 0xd4, 0x5f, 0x02, 0x2b, 0x71, 0xff, 0xe7, 0x65, 0xfc, 0x4a, 0x83, 0x9a, 0x64, 0x19, + 0xb4, 0x2a, 0xc5, 0x2b, 0x10, 0x31, 0x69, 0xaf, 0x04, 0x53, 0x2e, 0x9f, 0xb8, 0x0b, 0x57, 0x05, + 0x48, 0xa3, 0x10, 0x8b, 0xc6, 0xaf, 0x35, 0xb8, 0xcd, 0xeb, 0xa1, 0x54, 0xf2, 0xb9, 0xc6, 0x99, + 0xf1, 0x85, 0x06, 0xb7, 0xd4, 0xa8, 0xce, 0x2f, 0x7a, 0x8c, 0x96, 0x98, 0x93, 0x29, 0x6c, 0xaf, + 0x32, 0x24, 0x8c, 0x06, 0x2c, 0x49, 0x0d, 0xa5, 0xfa, 0x20, 0xe3, 0xb4, 0xe9, 0x54, 0xa0, 0x35, + 0xc0, 0x24, 0x25, 0x0e, 0x7f, 0xcf, 0x69, 0xe1, 0x20, 0x7c, 0xdd, 0x1c, 0x2e, 0xa2, 0x7a, 0x9d, + 0x1c, 0x9e, 0xc2, 0xf6, 0x4a, 0x1d, 0xfe, 0x07, 0x4d, 0xf4, 0x38, 0xb3, 0x94, 0xbe, 0x29, 0x9d, + 0xe1, 0x66, 0x28, 0xb9, 0xeb, 0x95, 0x87, 0xbe, 0xeb, 0x7d, 0x1f, 0x6e, 0x36, 0xb0, 0x6b, 0x6f, + 0xbb, 0x76, 0x02, 0x35, 0x43, 0xec, 0xe0, 0xe0, 0xd5, 0xf0, 0xee, 0xbf, 0x8b, 0xc2, 0xa2, 0x88, + 0xb1, 0x1c, 0x32, 0xbe, 0xcf, 0x48, 0x95, 0x86, 0x64, 0xa4, 0x56, 0x61, 0x86, 0x51, 0x4d, 0x87, + 0x94, 0xc2, 0xa5, 0x1f, 0x4f, 0x15, 0xf6, 0x92, 0x30, 0xc0, 0x5b, 0xff, 0x5d, 0x85, 0xa9, 0x6d, + 0xf2, 0x45, 0xb0, 0x7d, 0xb0, 0x8f, 0xbe, 0x06, 0x63, 0x07, 0x8e, 0xdb, 0x42, 0x55, 0xee, 0x53, + 0x21, 0xd5, 0x02, 0xd5, 0x17, 0x24, 0x23, 0x0c, 0x39, 0x26, 0x94, 0x8b, 0xd0, 0xba, 0x44, 0x3c, + 0xf3, 0x99, 0xdb, 0x2e, 0xd5, 0x6f, 0x0c, 0x94, 0x63, 0x66, 0x8e, 0x60, 0x4e, 0xd6, 0x05, 0x45, + 0x1b, 0xa2, 0x82, 0xbc, 0x46, 0xa9, 0x5e, 0xe3, 0x24, 0x65, 0xfd, 0xca, 0x4f, 0xc9, 0x52, 0x84, + 0x6e, 0x69, 0x76, 0x29, 0xf2, 0x76, 0x6a, 0x01, 0xfd, 0xc7, 0x30, 0x2f, 0x6f, 0xb0, 0xa2, 0x9b, + 0x4a, 0x1b, 0x5c, 0x05, 0x29, 0x60, 0xe7, 0x00, 0x66, 0xf9, 0x8d, 0x40, 0x86, 0x62, 0x97, 0x62, + 0xbd, 0x7a, 0x56, 0x6f, 0xa2, 0xf1, 0x21, 0x54, 0xd2, 0xdd, 0x4b, 0x54, 0x93, 0xe2, 0x4d, 0xef, + 0x86, 0x4a, 0xdb, 0x63, 0xb8, 0x24, 0x36, 0x2d, 0xd1, 0x5a, 0x8e, 0x46, 0x7e, 0xed, 0x2a, 0xad, + 0xdf, 0x25, 0x54, 0x21, 0xdf, 0xf5, 0x43, 0xeb, 0xa2, 0x5a, 0x69, 0x57, 0x50, 0x5f, 0xe1, 0xc4, + 0x24, 0xfd, 0xc0, 0xef, 0xc1, 0x45, 0xa1, 0x8f, 0x86, 0x56, 0xb9, 0x39, 0xf2, 0xee, 0x9d, 0xbe, + 0xa6, 0x16, 0x62, 0xda, 0x9f, 0x10, 0x87, 0xa5, 0x95, 0x67, 0x1c, 0x26, 0xd1, 0x5d, 0x53, 0x74, + 0x17, 0xd2, 0x49, 0x93, 0xe1, 0xbd, 0x0b, 0x69, 0x2f, 0xd8, 0xbb, 0x40, 0x5d, 0xf2, 0x05, 0x9d, + 0x19, 0x67, 0xbd, 0x26, 0xf4, 0x96, 0xc2, 0x14, 0xdf, 0x8f, 0x2a, 0x6c, 0xf1, 0x39, 0x21, 0x9d, + 0xb2, 0x3d, 0x99, 0xe4, 0x6b, 0x19, 0xdd, 0x56, 0x18, 0xcd, 0xf4, 0x95, 0x84, 0x1a, 0xa4, 0xe8, + 0xf5, 0x3c, 0x25, 0x7d, 0x65, 0xa9, 0xae, 0x21, 0x4d, 0x5e, 0xcf, 0x33, 0x19, 0x08, 0xbe, 0xcb, + 0x74, 0x16, 0xb3, 0x05, 0x2f, 0xaf, 0x6f, 0x59, 0x20, 0x3e, 0x42, 0xf2, 0x63, 0x95, 0x9c, 0xee, + 0x25, 0xaa, 0x17, 0xb0, 0x94, 0x6a, 0x73, 0x16, 0xf6, 0xdf, 0x23, 0x80, 0x3e, 0xe3, 0x8c, 0x96, + 0x45, 0x2b, 0x3c, 0xd9, 0x2f, 0xa4, 0xa6, 0x84, 0xdd, 0xb7, 0xc9, 0x4f, 0x20, 0x64, 0xb4, 0x3b, + 0xba, 0x95, 0x33, 0x57, 0x46, 0x42, 0xeb, 0xd7, 0x38, 0xe1, 0x01, 0x56, 0xd2, 0x97, 0xb4, 0x7c, + 0x2b, 0x59, 0x76, 0x78, 0x80, 0x95, 0x2e, 0xe8, 0xf9, 0x6c, 0xb9, 0xe0, 0x90, 0x81, 0xb4, 0xba, + 0x6e, 0xe4, 0xcb, 0x27, 0x16, 0x4f, 0x60, 0x5e, 0x4e, 0xa2, 0x0b, 0x67, 0x92, 0x92, 0x69, 0x2f, + 0x64, 0x29, 0xbb, 0xb6, 0xf4, 0x26, 0xd6, 0x07, 0x5a, 0xe3, 0xf7, 0xb1, 0x88, 0xc5, 0x26, 0xf1, + 0x99, 0x8c, 0x9d, 0xce, 0xfa, 0x4c, 0xc1, 0x61, 0xeb, 0x8b, 0x0a, 0x0a, 0x15, 0x7d, 0x42, 0xf2, + 0x34, 0x43, 0x17, 0x67, 0xf3, 0x34, 0x8f, 0x51, 0x56, 0xab, 0x7f, 0x4a, 0xd4, 0x67, 0x18, 0xc8, + 0xac, 0xfa, 0x3c, 0x0e, 0x53, 0x7f, 0xab, 0x80, 0x24, 0x33, 0xf6, 0x39, 0xe5, 0xf3, 0x15, 0xa4, + 0x25, 0xda, 0x92, 0xdf, 0x24, 0x54, 0x0c, 0xa7, 0xce, 0x47, 0x92, 0x9a, 0x56, 0xfc, 0x09, 0xfd, + 0x45, 0x85, 0x9a, 0x0e, 0x45, 0x5f, 0x15, 0x51, 0x14, 0xa2, 0x4f, 0x87, 0x02, 0xf2, 0x52, 0x83, + 0xda, 0x20, 0x42, 0x15, 0x7d, 0xa5, 0x20, 0x0e, 0x3e, 0x76, 0x87, 0x81, 0xf1, 0x39, 0xfd, 0x15, + 0x47, 0x2e, 0x85, 0x89, 0xee, 0x64, 0xe2, 0x6c, 0x00, 0x5b, 0xaa, 0xcb, 0x52, 0x4d, 0x45, 0x8e, + 0xba, 0xe4, 0xda, 0x2a, 0x61, 0x1b, 0xb3, 0xd7, 0xd6, 0x7c, 0x06, 0x53, 0xdf, 0x50, 0x59, 0xe5, + 0xb8, 0xcb, 0x1f, 0xc3, 0xca, 0x00, 0xea, 0x10, 0xdd, 0xe5, 0xaf, 0x55, 0x85, 0x88, 0x46, 0xf1, + 0x2e, 0x26, 0xe7, 0xa0, 0xee, 0x68, 0xe8, 0x33, 0x58, 0x56, 0x53, 0x7f, 0x42, 0x12, 0x14, 0xe2, + 0x09, 0x0b, 0x5b, 0xf7, 0x61, 0x21, 0x97, 0xb1, 0x43, 0x6f, 0x0f, 0x32, 0xcc, 0x7d, 0xd5, 0x17, + 0xb6, 0xf9, 0xcb, 0x0c, 0xdb, 0x99, 0xc3, 0xa5, 0xa1, 0xfb, 0x0a, 0x8d, 0x6a, 0xfe, 0x4d, 0x88, + 0x7a, 0x25, 0x3f, 0x74, 0x47, 0x43, 0x3f, 0xd7, 0x60, 0xad, 0x08, 0x91, 0x86, 0xee, 0x0d, 0x81, + 0x48, 0x95, 0x86, 0x83, 0x00, 0xbd, 0xd4, 0xc4, 0xb0, 0xcc, 0xb0, 0x67, 0xca, 0xb0, 0xcc, 0xe3, + 0xda, 0x86, 0x84, 0x91, 0x75, 0x55, 0x0e, 0x0b, 0xa6, 0x74, 0x95, 0x9a, 0x39, 0x53, 0x42, 0x12, + 0x88, 0x1d, 0xa9, 0xab, 0xe4, 0x14, 0x98, 0xd2, 0x55, 0x4a, 0xd6, 0x6c, 0x48, 0x40, 0x59, 0x57, + 0x65, 0x78, 0x2f, 0xa5, 0xab, 0xf2, 0x58, 0xb2, 0x21, 0x61, 0x7c, 0xa1, 0xc1, 0x6a, 0x01, 0x0e, + 0x08, 0xbd, 0x93, 0xf9, 0x46, 0x2c, 0x46, 0x51, 0xe9, 0xf7, 0x86, 0x9f, 0x18, 0x83, 0xdb, 0x79, + 0x08, 0xba, 0xe7, 0xb7, 0xea, 0x9e, 0x4b, 0x54, 0x24, 0xec, 0x19, 0xd5, 0xf5, 0x9d, 0x7a, 0xcb, + 0x09, 0x4f, 0x7a, 0x47, 0xf5, 0xa6, 0xd7, 0xd9, 0xa4, 0x22, 0x9b, 0xe4, 0x3f, 0xc9, 0x4f, 0xe6, + 0x5b, 0xde, 0x66, 0xea, 0x5f, 0x23, 0x1c, 0x8d, 0x93, 0x81, 0xbb, 0xff, 0x0b, 0x00, 0x00, 0xff, + 0xff, 0x04, 0x89, 0xcb, 0x9f, 0xa3, 0x30, 0x00, 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index 282d5aa98..e1cad3888 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -167,8 +167,11 @@ type AccessAPIClient interface { // Blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed blocks will be returned. SubscribeBlocksFromStartHeight(ctx context.Context, in *SubscribeBlocksFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromStartHeightClient, error) - // SubscribeBlocksFromLatest streams sealed blocks starting from the latest sealed + // SubscribeBlocksFromLatest streams finalized or sealed blocks starting from the latest finalized or sealed // block. The stream will remain open and responses are sent for each new block as it becomes available. + // + // Blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed blocks will be returned. SubscribeBlocksFromLatest(ctx context.Context, in *SubscribeBlocksFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromLatestClient, error) // SubscribeBlockHeadersFromStartBlockID streams finalized or sealed block headers starting at the requested // start block id, up until the latest available block. Once the latest is @@ -186,8 +189,11 @@ type AccessAPIClient interface { // Block headers are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed block headers will be returned. SubscribeBlockHeadersFromStartHeight(ctx context.Context, in *SubscribeBlockHeadersFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromStartHeightClient, error) - // SubscribeBlockHeadersFromLatest streams sealed block headers starting from the latest sealed + // SubscribeBlockHeadersFromLatest streams finalized or sealed block headers starting from the latest finalized or sealed // block. The stream will remain open and responses are sent for each new block header as it becomes available. + // + // Block headers are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed block headers will be returned. SubscribeBlockHeadersFromLatest(ctx context.Context, in *SubscribeBlockHeadersFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromLatestClient, error) // SubscribeBlockDigestsFromStartBlockID streams finalized or sealed lightweight block starting at the requested // start block id, up until the latest available block. Once the latest is @@ -205,8 +211,11 @@ type AccessAPIClient interface { // Lightweight blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed lightweight blocks will be returned. SubscribeBlockDigestsFromStartHeight(ctx context.Context, in *SubscribeBlockDigestsFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromStartHeightClient, error) - // SubscribeBlockDigestsFromLatest streams sealed lightweight block headers starting of the latest sealed + // SubscribeBlockDigestsFromLatest streams finalized or sealed lightweight block headers starting of the latest finalized or sealed // block. The stream will remain open and responses are sent for each new lightweight block as it becomes available. + // + // Lightweight blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed lightweight blocks will be returned. SubscribeBlockDigestsFromLatest(ctx context.Context, in *SubscribeBlockDigestsFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromLatestClient, error) // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. @@ -925,8 +934,11 @@ type AccessAPIServer interface { // Blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed blocks will be returned. SubscribeBlocksFromStartHeight(*SubscribeBlocksFromStartHeightRequest, AccessAPI_SubscribeBlocksFromStartHeightServer) error - // SubscribeBlocksFromLatest streams sealed blocks starting from the latest sealed + // SubscribeBlocksFromLatest streams finalized or sealed blocks starting from the latest finalized or sealed // block. The stream will remain open and responses are sent for each new block as it becomes available. + // + // Blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed blocks will be returned. SubscribeBlocksFromLatest(*SubscribeBlocksFromLatestRequest, AccessAPI_SubscribeBlocksFromLatestServer) error // SubscribeBlockHeadersFromStartBlockID streams finalized or sealed block headers starting at the requested // start block id, up until the latest available block. Once the latest is @@ -944,8 +956,11 @@ type AccessAPIServer interface { // Block headers are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed block headers will be returned. SubscribeBlockHeadersFromStartHeight(*SubscribeBlockHeadersFromStartHeightRequest, AccessAPI_SubscribeBlockHeadersFromStartHeightServer) error - // SubscribeBlockHeadersFromLatest streams sealed block headers starting from the latest sealed + // SubscribeBlockHeadersFromLatest streams finalized or sealed block headers starting from the latest finalized or sealed // block. The stream will remain open and responses are sent for each new block header as it becomes available. + // + // Block headers are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed block headers will be returned. SubscribeBlockHeadersFromLatest(*SubscribeBlockHeadersFromLatestRequest, AccessAPI_SubscribeBlockHeadersFromLatestServer) error // SubscribeBlockDigestsFromStartBlockID streams finalized or sealed lightweight block starting at the requested // start block id, up until the latest available block. Once the latest is @@ -963,8 +978,11 @@ type AccessAPIServer interface { // Lightweight blocks are only returned when they have reached the provided block status. For example, // if the status is "sealed", only sealed lightweight blocks will be returned. SubscribeBlockDigestsFromStartHeight(*SubscribeBlockDigestsFromStartHeightRequest, AccessAPI_SubscribeBlockDigestsFromStartHeightServer) error - // SubscribeBlockDigestsFromLatest streams sealed lightweight block headers starting of the latest sealed + // SubscribeBlockDigestsFromLatest streams finalized or sealed lightweight block headers starting of the latest finalized or sealed // block. The stream will remain open and responses are sent for each new lightweight block as it becomes available. + // + // Lightweight blocks are only returned when they have reached the provided block status. For example, + // if the status is "sealed", only sealed lightweight blocks will be returned. SubscribeBlockDigestsFromLatest(*SubscribeBlockDigestsFromLatestRequest, AccessAPI_SubscribeBlockDigestsFromLatestServer) error // SendAndSubscribeTransactionStatuses send a transaction and immediately subscribe to its status changes. The status // is streamed back until the block containing the transaction becomes sealed. From 51f1271b7083f37e72c2703dfeeb11513fa108f2 Mon Sep 17 00:00:00 2001 From: Andrii Date: Tue, 5 Mar 2024 14:18:11 +0200 Subject: [PATCH 133/626] Fixed remarks --- .../flow/executiondata/executiondata.proto | 147 +++++- .../go/flow/executiondata/executiondata.pb.go | 443 +++++++++++++----- .../executiondata/executiondata_grpc.pb.go | 258 +++++++++- 3 files changed, 693 insertions(+), 155 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index ba91e846a..b0b921b41 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -67,8 +67,56 @@ service ExecutionDataAPI { rpc GetRegisterValues(GetRegisterValuesRequest) returns (GetRegisterValuesResponse); - // SubscribeAccountStatuses streams account statuses for all blocks starting at the requested - // start block, up until the latest available block. Once the latest is + // SubscribeAccountStatusesFromStartBlockID streams account statuses for all blocks starting at the requested + // start block ID, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided StatusFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heartbeat responses + // (SubscribeAccountStatusesResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // StatusFilter or start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // not been received. + rpc SubscribeAccountStatusesFromStartBlockID(SubscribeAccountStatusesFromStartBlockIDRequest) + returns (stream SubscribeAccountStatusesResponse); + + // SubscribeAccountStatusesFromStartHeight streams account statuses for all blocks starting at the requested + // start block height, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided StatusFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heartbeat responses + // (SubscribeAccountStatusesResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // StatusFilter or start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // not been received. + rpc SubscribeAccountStatusesFromStartHeight(SubscribeAccountStatusesFromStartHeightRequest) + returns (stream SubscribeAccountStatusesResponse); + + // SubscribeAccountStatusesFromLatestBlock streams account statuses for all blocks starting + // at the last sealed block, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new // block as it becomes available. // @@ -88,7 +136,7 @@ service ExecutionDataAPI { // - NotFound is returned if the start block is not currently available on the // node. This may happen if the block was from a previous spork, or if the block has yet // not been received. - rpc SubscribeAccountStatuses(SubscribeAccountStatusesRequest) + rpc SubscribeAccountStatusesFromLatestBlock(SubscribeAccountStatusesFromLatestBlockRequest) returns (stream SubscribeAccountStatusesResponse); } @@ -256,26 +304,69 @@ message GetRegisterValuesResponse { repeated bytes values = 1; } -// The request for SubscribeAccountStatuses -message SubscribeAccountStatusesRequest { +// The request for SubscribeAccountStatusesFromStartBlockID +message SubscribeAccountStatusesFromStartBlockIDRequest { // Block ID of the first block to search for events. // Only one of start_block_id and start_block_height may be provided, // otherwise an InvalidArgument error is returned. If neither are provided, // the latest sealed block is used. bytes start_block_id = 1; + // Filter to apply to events for each block searched. + // If no filter is provided, all statuses are returned. + StatusFilter filter = 2; + + // Interval in block heights at which the server should return a heartbeat + // message to the client. The heartbeat is a normal SubscribeAccountStatusesResponse + // with no events, and allows clients to track which blocks were searched. + // Clients can use this information to determine which block to start from + // when reconnecting. + // + // The interval is calculated from the last response returned, which could be + // either another heartbeat or a response containing events. + uint64 heartbeat_interval = 3; + + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + entities.EventEncodingVersion event_encoding_version = 4; +} + +// The request for SubscribeAccountStatusesFromStartHeight +message SubscribeAccountStatusesFromStartHeightRequest { // Block height of the first block to search for events. // Only one of start_block_id and start_block_height may be provided, // otherwise an InvalidArgument error is returned. If neither are provided, // the latest sealed block is used. - uint64 start_block_height = 2; + uint64 start_block_height = 1; + + // Filter to apply to events for each block searched. + // If no filter is provided, all statuses are returned. + StatusFilter filter = 2; + + // Interval in block heights at which the server should return a heartbeat + // message to the client. The heartbeat is a normal SubscribeAccountStatusesResponse + // with no events, and allows clients to track which blocks were searched. + // Clients can use this information to determine which block to start from + // when reconnecting. + // + // The interval is calculated from the last response returned, which could be + // either another heartbeat or a response containing events. + uint64 heartbeat_interval = 3; - // Unique identifier for the account being streamed - bytes address = 3; + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + entities.EventEncodingVersion event_encoding_version = 4; +} +// The request for SubscribeAccountStatusesFromLatestBlock +message SubscribeAccountStatusesFromLatestBlockRequest { // Filter to apply to events for each block searched. // If no filter is provided, all statuses are returned. - StatusFilter filter = 4; + StatusFilter filter = 1; // Interval in block heights at which the server should return a heartbeat // message to the client. The heartbeat is a normal SubscribeAccountStatusesResponse @@ -285,13 +376,13 @@ message SubscribeAccountStatusesRequest { // // The interval is calculated from the last response returned, which could be // either another heartbeat or a response containing events. - uint64 heartbeat_interval = 5; + uint64 heartbeat_interval = 2; // Preferred event encoding version of the block events payload. // Possible variants: // 1. CCF // 2. JSON-CDC - entities.EventEncodingVersion event_encoding_version = 6; + entities.EventEncodingVersion event_encoding_version = 3; } // The response for SubscribeAccountStatuses @@ -299,18 +390,23 @@ message SubscribeAccountStatusesResponse { // Block ID of the block containing the events. bytes block_id = 1; - // Unique identifier for the account being streamed - bytes address = 2; - - // Events matching the StatusFilter in the request. - // The API may return no events which signals a periodic heartbeat. This - // allows clients to track which blocks were searched. Client can use this - // information to determine which block to start from when reconnecting. - repeated entities.Event events = 3; + // Block ID of the block containing the events. + uint64 block_height = 2; // The MessageIndex of the response message. - // Used by the client to ensure they received all messages. - uint64 messageIndex = 4; + // Used by the client to ensure they have received all messages. + uint64 messageIndex = 3; + + message Result { + // Unique identifier for the account being streamed + bytes address = 1; + // Events matching the StatusFilter in the request. + // The API may return no events which signals a periodic heartbeat. This + // allows clients to track which blocks were searched. Client can use this + // information to determine which block to start from when reconnecting. + repeated entities.Event events = 2; + } + repeated Result results = 4; } // StatusesFilter defines the filter to apply to block events. @@ -327,5 +423,14 @@ message StatusFilter { // - Protocol events: // flow.[event name] repeated string event_type = 1; + // A list of addresses who's events should be included. + // + // All events emitted by any contract held by any of the provided addresses + // will be returned. + // + // Addresses must be Flow account addresses in hex format and valid for the + // network the node is connected to. i.e. only a mainnet address is valid for + // a mainnet node. Addresses may optionally include the 0x prefix. + repeated string address = 3; } diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index aadf2ad16..2bb928efe 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -589,23 +589,16 @@ func (m *GetRegisterValuesResponse) GetValues() [][]byte { return nil } -// The request for SubscribeAccountStatuses -type SubscribeAccountStatusesRequest struct { +// The request for SubscribeAccountStatusesFromStartBlockID +type SubscribeAccountStatusesFromStartBlockIDRequest struct { // Block ID of the first block to search for events. // Only one of start_block_id and start_block_height may be provided, // otherwise an InvalidArgument error is returned. If neither are provided, // the latest sealed block is used. StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` - // Block height of the first block to search for events. - // Only one of start_block_id and start_block_height may be provided, - // otherwise an InvalidArgument error is returned. If neither are provided, - // the latest sealed block is used. - StartBlockHeight uint64 `protobuf:"varint,2,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` - // Unique identifier for the account being streamed - Address []byte `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` // Filter to apply to events for each block searched. // If no filter is provided, all statuses are returned. - Filter *StatusFilter `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` + Filter *StatusFilter `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` // Interval in block heights at which the server should return a heartbeat // message to the client. The heartbeat is a normal SubscribeAccountStatusesResponse // with no events, and allows clients to track which blocks were searched. @@ -614,78 +607,228 @@ type SubscribeAccountStatusesRequest struct { // // The interval is calculated from the last response returned, which could be // either another heartbeat or a response containing events. - HeartbeatInterval uint64 `protobuf:"varint,5,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"` + HeartbeatInterval uint64 `protobuf:"varint,3,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"` // Preferred event encoding version of the block events payload. // Possible variants: // 1. CCF // 2. JSON-CDC - EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,6,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` + EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,4,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } -func (m *SubscribeAccountStatusesRequest) Reset() { *m = SubscribeAccountStatusesRequest{} } -func (m *SubscribeAccountStatusesRequest) String() string { return proto.CompactTextString(m) } -func (*SubscribeAccountStatusesRequest) ProtoMessage() {} -func (*SubscribeAccountStatusesRequest) Descriptor() ([]byte, []int) { +func (m *SubscribeAccountStatusesFromStartBlockIDRequest) Reset() { + *m = SubscribeAccountStatusesFromStartBlockIDRequest{} +} +func (m *SubscribeAccountStatusesFromStartBlockIDRequest) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeAccountStatusesFromStartBlockIDRequest) ProtoMessage() {} +func (*SubscribeAccountStatusesFromStartBlockIDRequest) Descriptor() ([]byte, []int) { return fileDescriptor_da469632570513fb, []int{9} } -func (m *SubscribeAccountStatusesRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_SubscribeAccountStatusesRequest.Unmarshal(m, b) +func (m *SubscribeAccountStatusesFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeAccountStatusesFromStartBlockIDRequest.Unmarshal(m, b) } -func (m *SubscribeAccountStatusesRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_SubscribeAccountStatusesRequest.Marshal(b, m, deterministic) +func (m *SubscribeAccountStatusesFromStartBlockIDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeAccountStatusesFromStartBlockIDRequest.Marshal(b, m, deterministic) } -func (m *SubscribeAccountStatusesRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_SubscribeAccountStatusesRequest.Merge(m, src) +func (m *SubscribeAccountStatusesFromStartBlockIDRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeAccountStatusesFromStartBlockIDRequest.Merge(m, src) } -func (m *SubscribeAccountStatusesRequest) XXX_Size() int { - return xxx_messageInfo_SubscribeAccountStatusesRequest.Size(m) +func (m *SubscribeAccountStatusesFromStartBlockIDRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeAccountStatusesFromStartBlockIDRequest.Size(m) } -func (m *SubscribeAccountStatusesRequest) XXX_DiscardUnknown() { - xxx_messageInfo_SubscribeAccountStatusesRequest.DiscardUnknown(m) +func (m *SubscribeAccountStatusesFromStartBlockIDRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeAccountStatusesFromStartBlockIDRequest.DiscardUnknown(m) } -var xxx_messageInfo_SubscribeAccountStatusesRequest proto.InternalMessageInfo +var xxx_messageInfo_SubscribeAccountStatusesFromStartBlockIDRequest proto.InternalMessageInfo -func (m *SubscribeAccountStatusesRequest) GetStartBlockId() []byte { +func (m *SubscribeAccountStatusesFromStartBlockIDRequest) GetStartBlockId() []byte { if m != nil { return m.StartBlockId } return nil } -func (m *SubscribeAccountStatusesRequest) GetStartBlockHeight() uint64 { +func (m *SubscribeAccountStatusesFromStartBlockIDRequest) GetFilter() *StatusFilter { + if m != nil { + return m.Filter + } + return nil +} + +func (m *SubscribeAccountStatusesFromStartBlockIDRequest) GetHeartbeatInterval() uint64 { + if m != nil { + return m.HeartbeatInterval + } + return 0 +} + +func (m *SubscribeAccountStatusesFromStartBlockIDRequest) GetEventEncodingVersion() entities.EventEncodingVersion { + if m != nil { + return m.EventEncodingVersion + } + return entities.EventEncodingVersion_JSON_CDC_V0 +} + +// The request for SubscribeAccountStatusesFromStartHeight +type SubscribeAccountStatusesFromStartHeightRequest struct { + // Block height of the first block to search for events. + // Only one of start_block_id and start_block_height may be provided, + // otherwise an InvalidArgument error is returned. If neither are provided, + // the latest sealed block is used. + StartBlockHeight uint64 `protobuf:"varint,1,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Filter to apply to events for each block searched. + // If no filter is provided, all statuses are returned. + Filter *StatusFilter `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Interval in block heights at which the server should return a heartbeat + // message to the client. The heartbeat is a normal SubscribeAccountStatusesResponse + // with no events, and allows clients to track which blocks were searched. + // Clients can use this information to determine which block to start from + // when reconnecting. + // + // The interval is calculated from the last response returned, which could be + // either another heartbeat or a response containing events. + HeartbeatInterval uint64 `protobuf:"varint,3,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"` + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,4,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeAccountStatusesFromStartHeightRequest) Reset() { + *m = SubscribeAccountStatusesFromStartHeightRequest{} +} +func (m *SubscribeAccountStatusesFromStartHeightRequest) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeAccountStatusesFromStartHeightRequest) ProtoMessage() {} +func (*SubscribeAccountStatusesFromStartHeightRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{10} +} + +func (m *SubscribeAccountStatusesFromStartHeightRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeAccountStatusesFromStartHeightRequest.Unmarshal(m, b) +} +func (m *SubscribeAccountStatusesFromStartHeightRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeAccountStatusesFromStartHeightRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeAccountStatusesFromStartHeightRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeAccountStatusesFromStartHeightRequest.Merge(m, src) +} +func (m *SubscribeAccountStatusesFromStartHeightRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeAccountStatusesFromStartHeightRequest.Size(m) +} +func (m *SubscribeAccountStatusesFromStartHeightRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeAccountStatusesFromStartHeightRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeAccountStatusesFromStartHeightRequest proto.InternalMessageInfo + +func (m *SubscribeAccountStatusesFromStartHeightRequest) GetStartBlockHeight() uint64 { if m != nil { return m.StartBlockHeight } return 0 } -func (m *SubscribeAccountStatusesRequest) GetAddress() []byte { +func (m *SubscribeAccountStatusesFromStartHeightRequest) GetFilter() *StatusFilter { if m != nil { - return m.Address + return m.Filter } return nil } -func (m *SubscribeAccountStatusesRequest) GetFilter() *StatusFilter { +func (m *SubscribeAccountStatusesFromStartHeightRequest) GetHeartbeatInterval() uint64 { + if m != nil { + return m.HeartbeatInterval + } + return 0 +} + +func (m *SubscribeAccountStatusesFromStartHeightRequest) GetEventEncodingVersion() entities.EventEncodingVersion { + if m != nil { + return m.EventEncodingVersion + } + return entities.EventEncodingVersion_JSON_CDC_V0 +} + +// The request for SubscribeAccountStatusesFromLatestBlock +type SubscribeAccountStatusesFromLatestBlockRequest struct { + // Filter to apply to events for each block searched. + // If no filter is provided, all statuses are returned. + Filter *StatusFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` + // Interval in block heights at which the server should return a heartbeat + // message to the client. The heartbeat is a normal SubscribeAccountStatusesResponse + // with no events, and allows clients to track which blocks were searched. + // Clients can use this information to determine which block to start from + // when reconnecting. + // + // The interval is calculated from the last response returned, which could be + // either another heartbeat or a response containing events. + HeartbeatInterval uint64 `protobuf:"varint,2,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"` + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,3,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeAccountStatusesFromLatestBlockRequest) Reset() { + *m = SubscribeAccountStatusesFromLatestBlockRequest{} +} +func (m *SubscribeAccountStatusesFromLatestBlockRequest) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeAccountStatusesFromLatestBlockRequest) ProtoMessage() {} +func (*SubscribeAccountStatusesFromLatestBlockRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{11} +} + +func (m *SubscribeAccountStatusesFromLatestBlockRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeAccountStatusesFromLatestBlockRequest.Unmarshal(m, b) +} +func (m *SubscribeAccountStatusesFromLatestBlockRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeAccountStatusesFromLatestBlockRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeAccountStatusesFromLatestBlockRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeAccountStatusesFromLatestBlockRequest.Merge(m, src) +} +func (m *SubscribeAccountStatusesFromLatestBlockRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeAccountStatusesFromLatestBlockRequest.Size(m) +} +func (m *SubscribeAccountStatusesFromLatestBlockRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeAccountStatusesFromLatestBlockRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeAccountStatusesFromLatestBlockRequest proto.InternalMessageInfo + +func (m *SubscribeAccountStatusesFromLatestBlockRequest) GetFilter() *StatusFilter { if m != nil { return m.Filter } return nil } -func (m *SubscribeAccountStatusesRequest) GetHeartbeatInterval() uint64 { +func (m *SubscribeAccountStatusesFromLatestBlockRequest) GetHeartbeatInterval() uint64 { if m != nil { return m.HeartbeatInterval } return 0 } -func (m *SubscribeAccountStatusesRequest) GetEventEncodingVersion() entities.EventEncodingVersion { +func (m *SubscribeAccountStatusesFromLatestBlockRequest) GetEventEncodingVersion() entities.EventEncodingVersion { if m != nil { return m.EventEncodingVersion } @@ -696,26 +839,22 @@ func (m *SubscribeAccountStatusesRequest) GetEventEncodingVersion() entities.Eve type SubscribeAccountStatusesResponse struct { // Block ID of the block containing the events. BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` - // Unique identifier for the account being streamed - Address []byte `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - // Events matching the StatusFilter in the request. - // The API may return no events which signals a periodic heartbeat. This - // allows clients to track which blocks were searched. Client can use this - // information to determine which block to start from when reconnecting. - Events []*entities.Event `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"` + // Block ID of the block containing the events. + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` // The MessageIndex of the response message. - // Used by the client to ensure they received all messages. - MessageIndex uint64 `protobuf:"varint,4,opt,name=messageIndex,proto3" json:"messageIndex,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + // Used by the client to ensure they have received all messages. + MessageIndex uint64 `protobuf:"varint,3,opt,name=messageIndex,proto3" json:"messageIndex,omitempty"` + Results []*SubscribeAccountStatusesResponse_Result `protobuf:"bytes,4,rep,name=results,proto3" json:"results,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SubscribeAccountStatusesResponse) Reset() { *m = SubscribeAccountStatusesResponse{} } func (m *SubscribeAccountStatusesResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeAccountStatusesResponse) ProtoMessage() {} func (*SubscribeAccountStatusesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{10} + return fileDescriptor_da469632570513fb, []int{12} } func (m *SubscribeAccountStatusesResponse) XXX_Unmarshal(b []byte) error { @@ -743,25 +882,79 @@ func (m *SubscribeAccountStatusesResponse) GetBlockId() []byte { return nil } -func (m *SubscribeAccountStatusesResponse) GetAddress() []byte { +func (m *SubscribeAccountStatusesResponse) GetBlockHeight() uint64 { if m != nil { - return m.Address + return m.BlockHeight + } + return 0 +} + +func (m *SubscribeAccountStatusesResponse) GetMessageIndex() uint64 { + if m != nil { + return m.MessageIndex + } + return 0 +} + +func (m *SubscribeAccountStatusesResponse) GetResults() []*SubscribeAccountStatusesResponse_Result { + if m != nil { + return m.Results } return nil } -func (m *SubscribeAccountStatusesResponse) GetEvents() []*entities.Event { +type SubscribeAccountStatusesResponse_Result struct { + // Unique identifier for the account being streamed + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Events matching the StatusFilter in the request. + // The API may return no events which signals a periodic heartbeat. This + // allows clients to track which blocks were searched. Client can use this + // information to determine which block to start from when reconnecting. + Events []*entities.Event `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeAccountStatusesResponse_Result) Reset() { + *m = SubscribeAccountStatusesResponse_Result{} +} +func (m *SubscribeAccountStatusesResponse_Result) String() string { return proto.CompactTextString(m) } +func (*SubscribeAccountStatusesResponse_Result) ProtoMessage() {} +func (*SubscribeAccountStatusesResponse_Result) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{12, 0} +} + +func (m *SubscribeAccountStatusesResponse_Result) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeAccountStatusesResponse_Result.Unmarshal(m, b) +} +func (m *SubscribeAccountStatusesResponse_Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeAccountStatusesResponse_Result.Marshal(b, m, deterministic) +} +func (m *SubscribeAccountStatusesResponse_Result) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeAccountStatusesResponse_Result.Merge(m, src) +} +func (m *SubscribeAccountStatusesResponse_Result) XXX_Size() int { + return xxx_messageInfo_SubscribeAccountStatusesResponse_Result.Size(m) +} +func (m *SubscribeAccountStatusesResponse_Result) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeAccountStatusesResponse_Result.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeAccountStatusesResponse_Result proto.InternalMessageInfo + +func (m *SubscribeAccountStatusesResponse_Result) GetAddress() []byte { if m != nil { - return m.Events + return m.Address } return nil } -func (m *SubscribeAccountStatusesResponse) GetMessageIndex() uint64 { +func (m *SubscribeAccountStatusesResponse_Result) GetEvents() []*entities.Event { if m != nil { - return m.MessageIndex + return m.Events } - return 0 + return nil } // StatusesFilter defines the filter to apply to block events. @@ -777,7 +970,16 @@ type StatusFilter struct { // Event types have 2 formats: // - Protocol events: // flow.[event name] - EventType []string `protobuf:"bytes,1,rep,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + EventType []string `protobuf:"bytes,1,rep,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` + // A list of addresses who's events should be included. + // + // All events emitted by any contract held by any of the provided addresses + // will be returned. + // + // Addresses must be Flow account addresses in hex format and valid for the + // network the node is connected to. i.e. only a mainnet address is valid for + // a mainnet node. Addresses may optionally include the 0x prefix. + Address []string `protobuf:"bytes,3,rep,name=address,proto3" json:"address,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -787,7 +989,7 @@ func (m *StatusFilter) Reset() { *m = StatusFilter{} } func (m *StatusFilter) String() string { return proto.CompactTextString(m) } func (*StatusFilter) ProtoMessage() {} func (*StatusFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{11} + return fileDescriptor_da469632570513fb, []int{13} } func (m *StatusFilter) XXX_Unmarshal(b []byte) error { @@ -815,6 +1017,13 @@ func (m *StatusFilter) GetEventType() []string { return nil } +func (m *StatusFilter) GetAddress() []string { + if m != nil { + return m.Address + } + return nil +} + func init() { proto.RegisterType((*GetExecutionDataByBlockIDRequest)(nil), "flow.executiondata.GetExecutionDataByBlockIDRequest") proto.RegisterType((*GetExecutionDataByBlockIDResponse)(nil), "flow.executiondata.GetExecutionDataByBlockIDResponse") @@ -825,8 +1034,11 @@ func init() { proto.RegisterType((*EventFilter)(nil), "flow.executiondata.EventFilter") proto.RegisterType((*GetRegisterValuesRequest)(nil), "flow.executiondata.GetRegisterValuesRequest") proto.RegisterType((*GetRegisterValuesResponse)(nil), "flow.executiondata.GetRegisterValuesResponse") - proto.RegisterType((*SubscribeAccountStatusesRequest)(nil), "flow.executiondata.SubscribeAccountStatusesRequest") + proto.RegisterType((*SubscribeAccountStatusesFromStartBlockIDRequest)(nil), "flow.executiondata.SubscribeAccountStatusesFromStartBlockIDRequest") + proto.RegisterType((*SubscribeAccountStatusesFromStartHeightRequest)(nil), "flow.executiondata.SubscribeAccountStatusesFromStartHeightRequest") + proto.RegisterType((*SubscribeAccountStatusesFromLatestBlockRequest)(nil), "flow.executiondata.SubscribeAccountStatusesFromLatestBlockRequest") proto.RegisterType((*SubscribeAccountStatusesResponse)(nil), "flow.executiondata.SubscribeAccountStatusesResponse") + proto.RegisterType((*SubscribeAccountStatusesResponse_Result)(nil), "flow.executiondata.SubscribeAccountStatusesResponse.Result") proto.RegisterType((*StatusFilter)(nil), "flow.executiondata.StatusFilter") } @@ -835,59 +1047,66 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 849 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcd, 0x6e, 0xd3, 0x4a, - 0x14, 0x96, 0x93, 0x36, 0x6d, 0x4f, 0xa2, 0xfe, 0x8c, 0xaa, 0x5e, 0xc7, 0xba, 0xbd, 0x4d, 0x7c, - 0x11, 0x8a, 0xa0, 0x75, 0x20, 0x6d, 0x05, 0x0b, 0x36, 0x0d, 0x2d, 0x25, 0x3b, 0xe4, 0x56, 0x95, - 0xe8, 0x26, 0xf2, 0xcf, 0xd4, 0xb1, 0x48, 0x3c, 0xc1, 0x33, 0x0e, 0xad, 0x58, 0xb1, 0x02, 0x89, - 0x17, 0xe0, 0x15, 0x58, 0xf1, 0x1e, 0x2c, 0xd8, 0xb0, 0xe6, 0x5d, 0x50, 0xc6, 0x63, 0x37, 0x4e, - 0x9c, 0x34, 0x51, 0xd4, 0x8d, 0xa5, 0x33, 0xe7, 0x3b, 0x33, 0xdf, 0x7c, 0xe7, 0x67, 0x0c, 0x0f, - 0xaf, 0xda, 0xe4, 0x43, 0x15, 0x5f, 0x63, 0x2b, 0x60, 0x2e, 0xf1, 0x6c, 0x83, 0x19, 0x49, 0x4b, - 0xeb, 0xfa, 0x84, 0x11, 0x84, 0xfa, 0x38, 0x2d, 0xe1, 0x51, 0x2a, 0x61, 0xac, 0xc7, 0x5c, 0xe6, - 0x62, 0x5a, 0x35, 0xdb, 0xc4, 0x7a, 0xd7, 0x8c, 0x21, 0xcd, 0xdb, 0x68, 0xa5, 0x98, 0x44, 0xe2, - 0x1e, 0xf6, 0x98, 0x70, 0xfd, 0x9b, 0x74, 0xf9, 0xd8, 0x71, 0x29, 0xc3, 0xbe, 0xf0, 0xee, 0x38, - 0x84, 0x38, 0x6d, 0x5c, 0xe5, 0x96, 0x19, 0x5c, 0x55, 0x99, 0xdb, 0xc1, 0x94, 0x19, 0x9d, 0x6e, - 0x08, 0x50, 0xbf, 0x49, 0x50, 0x3a, 0xc5, 0xec, 0x24, 0x3a, 0xf5, 0xd8, 0x60, 0x46, 0xfd, 0xa6, - 0xde, 0xa7, 0xd2, 0x38, 0xd6, 0xf1, 0xfb, 0x00, 0x53, 0x86, 0x8a, 0xb0, 0x1c, 0x92, 0x73, 0x6d, - 0x59, 0x2a, 0x49, 0x95, 0x82, 0xbe, 0xc4, 0xed, 0x86, 0x8d, 0xde, 0xc2, 0x16, 0x67, 0xd3, 0xc4, - 0x9e, 0x45, 0x6c, 0xd7, 0x73, 0x9a, 0x3d, 0xec, 0x53, 0x97, 0x78, 0x72, 0xa6, 0x24, 0x55, 0x56, - 0x6b, 0xff, 0x6b, 0xe1, 0xc5, 0x05, 0x3f, 0xed, 0xa4, 0x0f, 0x3e, 0x11, 0xd8, 0x8b, 0x10, 0xaa, - 0x6f, 0xe2, 0x94, 0x55, 0xf5, 0x1a, 0xca, 0x13, 0x98, 0xd1, 0x2e, 0xf1, 0x28, 0x46, 0x67, 0xb0, - 0x99, 0xa6, 0x1b, 0xa7, 0x99, 0xaf, 0x95, 0x87, 0x4e, 0xe7, 0xd1, 0x89, 0x1d, 0x75, 0x64, 0x8e, - 0xac, 0xa9, 0xbf, 0x24, 0xd8, 0x3e, 0x0b, 0x4c, 0x6a, 0xf9, 0xae, 0x89, 0x93, 0x70, 0xa1, 0xc8, - 0x03, 0x58, 0xa5, 0xcc, 0xf0, 0x59, 0x73, 0x48, 0x97, 0x02, 0x5f, 0xad, 0x0b, 0x71, 0x76, 0x01, - 0x0d, 0xa2, 0x5a, 0xd8, 0x75, 0x5a, 0x8c, 0x0b, 0xb3, 0xa0, 0xaf, 0xdf, 0x22, 0x5f, 0xf3, 0xf5, - 0x09, 0x52, 0x66, 0xe7, 0x95, 0xf2, 0x8f, 0x04, 0xff, 0x8d, 0xbb, 0x90, 0x10, 0xb2, 0x0c, 0x85, - 0x04, 0x4b, 0x89, 0xb3, 0xcc, 0x9b, 0x03, 0x04, 0xc7, 0x69, 0x9d, 0x99, 0x43, 0x6b, 0xf4, 0x12, - 0xd6, 0xc2, 0x4d, 0xe3, 0xca, 0xe4, 0xd7, 0xcd, 0xd7, 0x14, 0x2d, 0xac, 0x5d, 0x2d, 0xaa, 0x5d, - 0xed, 0x3c, 0x42, 0xe8, 0xab, 0x3c, 0x24, 0xb6, 0xd5, 0x1f, 0x19, 0xd8, 0xba, 0xbd, 0x5f, 0x5f, - 0x01, 0x7a, 0x9f, 0x99, 0x7a, 0x06, 0xb9, 0x2b, 0xb7, 0xcd, 0xb0, 0x2f, 0xa8, 0xee, 0x68, 0xa3, - 0xdd, 0x1d, 0xa6, 0xe7, 0x15, 0x87, 0xe9, 0x02, 0x8e, 0xf6, 0x00, 0xb5, 0xb0, 0xe1, 0x33, 0x13, - 0x1b, 0xac, 0xe9, 0x7a, 0x0c, 0xfb, 0x3d, 0xa3, 0x2d, 0x2f, 0xf0, 0x63, 0x36, 0x62, 0x4f, 0x43, - 0x38, 0x26, 0x54, 0xc4, 0xe2, 0xbc, 0x15, 0xf1, 0x53, 0x82, 0x7f, 0x46, 0x14, 0x13, 0xa5, 0x30, - 0xa1, 0xdd, 0x87, 0xab, 0x24, 0x33, 0x5a, 0x25, 0xbb, 0x90, 0xe3, 0x27, 0x52, 0x39, 0x5b, 0xca, - 0x56, 0xf2, 0xb5, 0xcd, 0x34, 0x92, 0xba, 0xc0, 0xa4, 0xa5, 0x7f, 0x61, 0xe6, 0xf4, 0x9b, 0x90, - 0x1f, 0x50, 0x1b, 0x6d, 0x03, 0x84, 0xb2, 0xb1, 0x9b, 0x2e, 0x96, 0xa5, 0x52, 0xb6, 0xb2, 0xa2, - 0xaf, 0xf0, 0x95, 0xf3, 0x9b, 0x2e, 0x46, 0x0a, 0x2c, 0x5b, 0xc4, 0x63, 0xbe, 0x61, 0xf5, 0xf9, - 0xf7, 0x9d, 0xb1, 0x8d, 0x64, 0x58, 0x32, 0x6c, 0xdb, 0xc7, 0x34, 0x64, 0xbf, 0xa2, 0x47, 0xa6, - 0xfa, 0x11, 0xe4, 0x53, 0xcc, 0x74, 0x31, 0x5e, 0x2f, 0x8c, 0x76, 0x80, 0xe3, 0x1a, 0x9b, 0xa2, - 0x77, 0x5e, 0x40, 0x21, 0x1a, 0xcd, 0x4d, 0xd7, 0xa6, 0xfc, 0xe0, 0x7c, 0xad, 0x38, 0xa4, 0x4d, - 0xb4, 0x7d, 0xe3, 0x58, 0xcf, 0x47, 0xf0, 0x86, 0x4d, 0xd5, 0x7d, 0x28, 0xa6, 0x1c, 0x2e, 0xd2, - 0xb5, 0x05, 0xb9, 0x1e, 0x5f, 0xe1, 0x57, 0x2d, 0xe8, 0xc2, 0x52, 0x7f, 0x67, 0x60, 0x27, 0x4e, - 0xf1, 0x91, 0x65, 0x91, 0xc0, 0x63, 0x67, 0xcc, 0x60, 0x01, 0xc5, 0xf7, 0xda, 0x1d, 0x09, 0x0d, - 0x79, 0xf5, 0x08, 0x13, 0x3d, 0x8f, 0xfb, 0x26, 0xcc, 0x71, 0x29, 0xad, 0x6f, 0x42, 0x8a, 0x53, - 0x35, 0xce, 0xe2, 0xec, 0x8d, 0x93, 0x9b, 0xb7, 0x71, 0xbe, 0x4b, 0x50, 0x1a, 0xaf, 0xea, 0xdd, - 0x1d, 0x34, 0xa0, 0x4e, 0x26, 0xa9, 0xce, 0x6c, 0x8d, 0xa3, 0x42, 0xa1, 0x83, 0x29, 0x35, 0x1c, - 0xdc, 0xf0, 0x6c, 0x7c, 0x2d, 0x86, 0x48, 0x62, 0x4d, 0xdd, 0x83, 0xc2, 0xa0, 0x9a, 0x77, 0x34, - 0x46, 0xed, 0xeb, 0x22, 0xac, 0x27, 0x86, 0xf3, 0xd1, 0x9b, 0x06, 0xfa, 0x22, 0xf1, 0xda, 0x4b, - 0x7f, 0x86, 0xd1, 0x41, 0x5a, 0x06, 0xef, 0xfa, 0x9f, 0x50, 0x0e, 0x67, 0x8c, 0x12, 0xaa, 0x7e, - 0x92, 0x06, 0xa7, 0x7c, 0xe2, 0x15, 0x79, 0x9a, 0x5a, 0x49, 0x93, 0x9e, 0x70, 0xa5, 0x36, 0x4b, - 0x48, 0xc8, 0xe0, 0x89, 0x84, 0xda, 0xb0, 0x36, 0x34, 0x36, 0xd1, 0xa3, 0xc9, 0x1b, 0x0d, 0xbe, - 0x46, 0xca, 0xe3, 0xa9, 0xb0, 0xf1, 0x69, 0x5d, 0xd8, 0x18, 0xe9, 0x7b, 0xb4, 0x3b, 0x46, 0xbd, - 0xd4, 0xd9, 0xa4, 0xec, 0x4d, 0x89, 0x16, 0x1a, 0x7f, 0x96, 0x40, 0x1e, 0x57, 0xde, 0x68, 0x7f, - 0x22, 0xfb, 0xf4, 0x11, 0xa3, 0x1c, 0xcc, 0x16, 0x14, 0xdd, 0xbd, 0x7e, 0x09, 0x65, 0xe2, 0x3b, - 0x1a, 0xf1, 0x78, 0x78, 0xfc, 0x0a, 0x24, 0xf6, 0xb9, 0x3c, 0x74, 0x5c, 0xd6, 0x0a, 0x4c, 0xcd, - 0x22, 0x9d, 0x6a, 0x88, 0xac, 0xf2, 0x4f, 0xfc, 0xbf, 0xeb, 0x90, 0xea, 0xe8, 0x1f, 0xba, 0x99, - 0xe3, 0xfe, 0xfd, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf3, 0xf6, 0xab, 0x88, 0xbe, 0x0b, 0x00, - 0x00, + // 971 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0x4d, 0x8f, 0xdb, 0x44, + 0x18, 0xd6, 0x38, 0x21, 0xdb, 0x7d, 0x13, 0x6d, 0xdb, 0xd1, 0x6a, 0xc9, 0x5a, 0x94, 0x66, 0x0d, + 0x82, 0x08, 0xb6, 0x4e, 0x49, 0x5b, 0x81, 0x04, 0x97, 0xa6, 0xbb, 0x5d, 0x22, 0x71, 0xa8, 0xbc, + 0xa5, 0x12, 0xbd, 0x44, 0xfe, 0x98, 0xf5, 0x5a, 0x24, 0x9e, 0xe0, 0x19, 0x2f, 0xbb, 0xe2, 0xc4, + 0x8d, 0x9f, 0x80, 0xc4, 0x0d, 0x09, 0x71, 0x42, 0xfc, 0x0f, 0x0e, 0xfc, 0x03, 0xfe, 0x05, 0x37, + 0x2e, 0x28, 0x33, 0x63, 0xc7, 0x4e, 0x9c, 0x0f, 0x6f, 0xda, 0x4b, 0x2f, 0x96, 0x66, 0xe6, 0x99, + 0x99, 0xe7, 0x7d, 0xde, 0xaf, 0x31, 0x7c, 0x70, 0x36, 0xa4, 0xdf, 0x77, 0xc8, 0x25, 0x71, 0x63, + 0x1e, 0xd0, 0xd0, 0xb3, 0xb9, 0x9d, 0x1f, 0x99, 0xe3, 0x88, 0x72, 0x8a, 0xf1, 0x04, 0x67, 0xe6, + 0x56, 0xf4, 0xb6, 0xdc, 0x1b, 0xf2, 0x80, 0x07, 0x84, 0x75, 0x9c, 0x21, 0x75, 0xbf, 0x1d, 0xa4, + 0x90, 0xc1, 0x74, 0xb7, 0xbe, 0x9f, 0x47, 0x92, 0x0b, 0x12, 0x72, 0xb5, 0xf4, 0x4e, 0x7e, 0x29, + 0x22, 0x7e, 0xc0, 0x38, 0x89, 0xd4, 0xea, 0x5d, 0x9f, 0x52, 0x7f, 0x48, 0x3a, 0x62, 0xe4, 0xc4, + 0x67, 0x1d, 0x1e, 0x8c, 0x08, 0xe3, 0xf6, 0x68, 0x2c, 0x01, 0xc6, 0xcf, 0x08, 0x5a, 0x27, 0x84, + 0x1f, 0x27, 0xb7, 0x1e, 0xd9, 0xdc, 0xee, 0x5d, 0xf5, 0x26, 0x54, 0xfa, 0x47, 0x16, 0xf9, 0x2e, + 0x26, 0x8c, 0xe3, 0x7d, 0xb8, 0x21, 0xc9, 0x05, 0x5e, 0x13, 0xb5, 0x50, 0xbb, 0x61, 0x6d, 0x89, + 0x71, 0xdf, 0xc3, 0xdf, 0xc0, 0x9e, 0x60, 0x33, 0x20, 0xa1, 0x4b, 0xbd, 0x20, 0xf4, 0x07, 0x17, + 0x24, 0x62, 0x01, 0x0d, 0x9b, 0x5a, 0x0b, 0xb5, 0x77, 0xba, 0xef, 0x99, 0xd2, 0x70, 0xc5, 0xcf, + 0x3c, 0x9e, 0x80, 0x8f, 0x15, 0xf6, 0x85, 0x84, 0x5a, 0xbb, 0xa4, 0x60, 0xd6, 0xb8, 0x84, 0x83, + 0x25, 0xcc, 0xd8, 0x98, 0x86, 0x8c, 0xe0, 0x53, 0xd8, 0x2d, 0xd2, 0x4d, 0xd0, 0xac, 0x77, 0x0f, + 0x66, 0x6e, 0x17, 0xbb, 0x73, 0x27, 0x5a, 0xd8, 0x99, 0x9b, 0x33, 0xfe, 0x46, 0x70, 0xe7, 0x34, + 0x76, 0x98, 0x1b, 0x05, 0x0e, 0xc9, 0xc3, 0x95, 0x22, 0xef, 0xc3, 0x0e, 0xe3, 0x76, 0xc4, 0x07, + 0x33, 0xba, 0x34, 0xc4, 0x6c, 0x4f, 0x89, 0x73, 0x08, 0x38, 0x8b, 0x3a, 0x27, 0x81, 0x7f, 0xce, + 0x85, 0x30, 0x55, 0xeb, 0xd6, 0x14, 0xf9, 0xa5, 0x98, 0x5f, 0x22, 0x65, 0x65, 0x53, 0x29, 0xff, + 0x41, 0xf0, 0xee, 0x22, 0x83, 0x94, 0x90, 0x07, 0xd0, 0xc8, 0xb1, 0x44, 0x82, 0x65, 0xdd, 0xc9, + 0x10, 0x5c, 0xa4, 0xb5, 0xb6, 0x81, 0xd6, 0xf8, 0x09, 0xdc, 0x94, 0x87, 0xa6, 0x91, 0x29, 0xcc, + 0xad, 0x77, 0x75, 0x53, 0xc6, 0xae, 0x99, 0xc4, 0xae, 0xf9, 0x3c, 0x41, 0x58, 0x3b, 0x62, 0x4b, + 0x3a, 0x36, 0xfe, 0xd4, 0x60, 0x6f, 0x6a, 0xdf, 0x44, 0x01, 0xf6, 0x3a, 0x3d, 0xf5, 0x29, 0xd4, + 0xce, 0x82, 0x21, 0x27, 0x91, 0xa2, 0x7a, 0xd7, 0x9c, 0xcf, 0x6e, 0xe9, 0x9e, 0xa7, 0x02, 0x66, + 0x29, 0x38, 0xbe, 0x07, 0xf8, 0x9c, 0xd8, 0x11, 0x77, 0x88, 0xcd, 0x07, 0x41, 0xc8, 0x49, 0x74, + 0x61, 0x0f, 0x9b, 0x55, 0x71, 0xcd, 0xed, 0x74, 0xa5, 0xaf, 0x16, 0x96, 0x44, 0xc4, 0x5b, 0x9b, + 0x46, 0xc4, 0x5f, 0x08, 0xde, 0x9e, 0x53, 0x4c, 0x85, 0xc2, 0x92, 0x74, 0x9f, 0x8d, 0x12, 0x6d, + 0x3e, 0x4a, 0x0e, 0xa1, 0x26, 0x6e, 0x64, 0xcd, 0x4a, 0xab, 0xd2, 0xae, 0x77, 0x77, 0x8b, 0x48, + 0x5a, 0x0a, 0x53, 0xe4, 0xfe, 0x6a, 0x69, 0xf7, 0x3b, 0x50, 0xcf, 0xa8, 0x8d, 0xef, 0x00, 0x48, + 0xd9, 0xf8, 0xd5, 0x98, 0x34, 0x51, 0xab, 0xd2, 0xde, 0xb6, 0xb6, 0xc5, 0xcc, 0xf3, 0xab, 0x31, + 0xc1, 0x3a, 0xdc, 0x70, 0x69, 0xc8, 0x23, 0xdb, 0x9d, 0xf0, 0x9f, 0x2c, 0xa6, 0x63, 0xdc, 0x84, + 0x2d, 0xdb, 0xf3, 0x22, 0xc2, 0x24, 0xfb, 0x6d, 0x2b, 0x19, 0x1a, 0x3f, 0x40, 0xf3, 0x84, 0x70, + 0x4b, 0x95, 0xd7, 0x17, 0xf6, 0x30, 0x26, 0x69, 0x8c, 0xad, 0x91, 0x3b, 0x5f, 0x40, 0x23, 0x29, + 0xcd, 0x83, 0xc0, 0x63, 0xe2, 0xe2, 0x7a, 0x77, 0x7f, 0x46, 0x9b, 0xe4, 0xf8, 0xfe, 0x91, 0x55, + 0x4f, 0xe0, 0x7d, 0x8f, 0x19, 0x0f, 0x60, 0xbf, 0xe0, 0x72, 0xe5, 0xae, 0x3d, 0xa8, 0x5d, 0x88, + 0x19, 0x61, 0x6a, 0xc3, 0x52, 0x23, 0xe3, 0x17, 0x0d, 0x3a, 0xa9, 0x8b, 0x1f, 0xbb, 0x2e, 0x8d, + 0x43, 0x7e, 0xca, 0x6d, 0x1e, 0x33, 0xc2, 0x9e, 0x46, 0x74, 0x74, 0x3a, 0x4d, 0x80, 0xa3, 0x72, + 0xd9, 0xf2, 0x59, 0x1a, 0xff, 0x32, 0xf5, 0x5b, 0x45, 0xf1, 0x2f, 0xaf, 0x5a, 0x2b, 0x01, 0x2a, + 0xe5, 0x13, 0xa0, 0xba, 0x69, 0x02, 0xfc, 0xaa, 0x81, 0xb9, 0x52, 0x1d, 0xe9, 0xbc, 0x44, 0x9c, + 0xe2, 0x22, 0x81, 0x16, 0x14, 0x89, 0x37, 0x41, 0xa4, 0x7f, 0xd1, 0x72, 0x91, 0xbe, 0xb2, 0x39, + 0x61, 0xd2, 0xea, 0x44, 0xa4, 0xa9, 0xd9, 0xe8, 0x95, 0x98, 0xad, 0x95, 0x37, 0x7b, 0xe3, 0x76, + 0xf9, 0x87, 0x06, 0xad, 0x45, 0x66, 0xbf, 0xa2, 0x2a, 0x69, 0x40, 0x63, 0x44, 0x18, 0xb3, 0x7d, + 0xd2, 0x0f, 0x3d, 0x72, 0xa9, 0xbc, 0x9b, 0x9b, 0xc3, 0x5f, 0xc3, 0x56, 0x44, 0x58, 0x3c, 0xe4, + 0xac, 0x59, 0x15, 0xe5, 0xe2, 0xf3, 0x42, 0x2d, 0x57, 0x10, 0x35, 0x2d, 0x71, 0x86, 0x95, 0x9c, + 0xa5, 0x3f, 0x83, 0x9a, 0x9c, 0xca, 0x56, 0x3b, 0x65, 0x81, 0x1a, 0x66, 0x8a, 0xb8, 0xb6, 0xba, + 0x88, 0x1b, 0x27, 0xd0, 0xc8, 0x7a, 0x74, 0x55, 0x01, 0x5e, 0x58, 0x64, 0xbb, 0xff, 0x6d, 0xc1, + 0xad, 0xdc, 0xf3, 0xe0, 0xf1, 0xb3, 0x3e, 0xfe, 0x09, 0x89, 0xea, 0x57, 0xfc, 0x10, 0xc4, 0x0f, + 0x8b, 0x34, 0x59, 0xf5, 0xa2, 0xd5, 0x1f, 0x95, 0xdc, 0xa5, 0x7c, 0xfe, 0x23, 0xca, 0xbe, 0x33, + 0x72, 0xef, 0x98, 0x4f, 0x96, 0xfa, 0xa6, 0xe8, 0x11, 0xa9, 0x77, 0xcb, 0x6c, 0x91, 0x0c, 0xee, + 0x23, 0x3c, 0x84, 0x9b, 0x33, 0x8d, 0x1b, 0x7f, 0xb4, 0xfc, 0xa0, 0xec, 0x7b, 0x48, 0xff, 0x78, + 0x2d, 0x6c, 0x7a, 0xdb, 0x18, 0x6e, 0xcf, 0x75, 0x1e, 0x7c, 0xb8, 0x40, 0xbd, 0xc2, 0xee, 0xa8, + 0xdf, 0x5b, 0x13, 0xad, 0x34, 0xfe, 0x1d, 0x41, 0x7b, 0xdd, 0xb6, 0x85, 0x9f, 0x94, 0xc9, 0x88, + 0x05, 0x4d, 0x4f, 0x7f, 0x78, 0x9d, 0xb4, 0xba, 0x8f, 0xf0, 0x6f, 0x08, 0x3e, 0x5c, 0xb3, 0x85, + 0xe0, 0xde, 0xb5, 0x88, 0xe6, 0xfa, 0xcf, 0x6b, 0xe3, 0x99, 0xa9, 0xe2, 0xe5, 0x79, 0xce, 0xb7, + 0x80, 0xeb, 0xf2, 0xec, 0xbd, 0x84, 0x03, 0x1a, 0xf9, 0x26, 0x0d, 0xc5, 0xf6, 0xf4, 0xdd, 0x97, + 0x3b, 0xe7, 0xe5, 0x23, 0x3f, 0xe0, 0xe7, 0xb1, 0x63, 0xba, 0x74, 0xd4, 0x91, 0xc8, 0x8e, 0xf8, + 0xa4, 0x7f, 0xb8, 0x3e, 0xed, 0xcc, 0xff, 0x93, 0x3b, 0x35, 0xb1, 0xfe, 0xe0, 0xff, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xd3, 0xc0, 0x73, 0xc5, 0xb0, 0x0f, 0x00, 0x00, } diff --git a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go index 3b9898726..cde6bb05d 100644 --- a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go +++ b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go @@ -72,8 +72,31 @@ type ExecutionDataAPIClient interface { SubscribeEvents(ctx context.Context, in *SubscribeEventsRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsClient, error) // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(ctx context.Context, in *GetRegisterValuesRequest, opts ...grpc.CallOption) (*GetRegisterValuesResponse, error) - // SubscribeAccountStatuses streams account statuses for all blocks starting at the requested - // start block, up until the latest available block. Once the latest is + // SubscribeAccountStatusesFromStartBlockID streams account statuses for all blocks starting at the requested + // start block ID, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided StatusFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heartbeat responses + // (SubscribeAccountStatusesResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // StatusFilter or start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // + // not been received. + SubscribeAccountStatusesFromStartBlockID(ctx context.Context, in *SubscribeAccountStatusesFromStartBlockIDRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockIDClient, error) + // SubscribeAccountStatusesFromStartHeight streams account statuses for all blocks starting at the requested + // start block height, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new // block as it becomes available. // @@ -94,7 +117,30 @@ type ExecutionDataAPIClient interface { // node. This may happen if the block was from a previous spork, or if the block has yet // // not been received. - SubscribeAccountStatuses(ctx context.Context, in *SubscribeAccountStatusesRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesClient, error) + SubscribeAccountStatusesFromStartHeight(ctx context.Context, in *SubscribeAccountStatusesFromStartHeightRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesFromStartHeightClient, error) + // SubscribeAccountStatusesFromLatestBlock streams account statuses for all blocks starting + // at the last sealed block, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided StatusFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heartbeat responses + // (SubscribeAccountStatusesResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // StatusFilter or start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // + // not been received. + SubscribeAccountStatusesFromLatestBlock(ctx context.Context, in *SubscribeAccountStatusesFromLatestBlockRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlockClient, error) } type executionDataAPIClient struct { @@ -187,12 +233,76 @@ func (c *executionDataAPIClient) GetRegisterValues(ctx context.Context, in *GetR return out, nil } -func (c *executionDataAPIClient) SubscribeAccountStatuses(ctx context.Context, in *SubscribeAccountStatusesRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[2], "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatuses", opts...) +func (c *executionDataAPIClient) SubscribeAccountStatusesFromStartBlockID(ctx context.Context, in *SubscribeAccountStatusesFromStartBlockIDRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockIDClient, error) { + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[2], "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromStartBlockID", opts...) + if err != nil { + return nil, err + } + x := &executionDataAPISubscribeAccountStatusesFromStartBlockIDClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockIDClient interface { + Recv() (*SubscribeAccountStatusesResponse, error) + grpc.ClientStream +} + +type executionDataAPISubscribeAccountStatusesFromStartBlockIDClient struct { + grpc.ClientStream +} + +func (x *executionDataAPISubscribeAccountStatusesFromStartBlockIDClient) Recv() (*SubscribeAccountStatusesResponse, error) { + m := new(SubscribeAccountStatusesResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *executionDataAPIClient) SubscribeAccountStatusesFromStartHeight(ctx context.Context, in *SubscribeAccountStatusesFromStartHeightRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesFromStartHeightClient, error) { + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[3], "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromStartHeight", opts...) + if err != nil { + return nil, err + } + x := &executionDataAPISubscribeAccountStatusesFromStartHeightClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ExecutionDataAPI_SubscribeAccountStatusesFromStartHeightClient interface { + Recv() (*SubscribeAccountStatusesResponse, error) + grpc.ClientStream +} + +type executionDataAPISubscribeAccountStatusesFromStartHeightClient struct { + grpc.ClientStream +} + +func (x *executionDataAPISubscribeAccountStatusesFromStartHeightClient) Recv() (*SubscribeAccountStatusesResponse, error) { + m := new(SubscribeAccountStatusesResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *executionDataAPIClient) SubscribeAccountStatusesFromLatestBlock(ctx context.Context, in *SubscribeAccountStatusesFromLatestBlockRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlockClient, error) { + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[4], "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromLatestBlock", opts...) if err != nil { return nil, err } - x := &executionDataAPISubscribeAccountStatusesClient{stream} + x := &executionDataAPISubscribeAccountStatusesFromLatestBlockClient{stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -202,16 +312,16 @@ func (c *executionDataAPIClient) SubscribeAccountStatuses(ctx context.Context, i return x, nil } -type ExecutionDataAPI_SubscribeAccountStatusesClient interface { +type ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlockClient interface { Recv() (*SubscribeAccountStatusesResponse, error) grpc.ClientStream } -type executionDataAPISubscribeAccountStatusesClient struct { +type executionDataAPISubscribeAccountStatusesFromLatestBlockClient struct { grpc.ClientStream } -func (x *executionDataAPISubscribeAccountStatusesClient) Recv() (*SubscribeAccountStatusesResponse, error) { +func (x *executionDataAPISubscribeAccountStatusesFromLatestBlockClient) Recv() (*SubscribeAccountStatusesResponse, error) { m := new(SubscribeAccountStatusesResponse) if err := x.ClientStream.RecvMsg(m); err != nil { return nil, err @@ -273,8 +383,54 @@ type ExecutionDataAPIServer interface { SubscribeEvents(*SubscribeEventsRequest, ExecutionDataAPI_SubscribeEventsServer) error // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) - // SubscribeAccountStatuses streams account statuses for all blocks starting at the requested - // start block, up until the latest available block. Once the latest is + // SubscribeAccountStatusesFromStartBlockID streams account statuses for all blocks starting at the requested + // start block ID, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided StatusFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heartbeat responses + // (SubscribeAccountStatusesResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // StatusFilter or start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // + // not been received. + SubscribeAccountStatusesFromStartBlockID(*SubscribeAccountStatusesFromStartBlockIDRequest, ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockIDServer) error + // SubscribeAccountStatusesFromStartHeight streams account statuses for all blocks starting at the requested + // start block height, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided StatusFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heartbeat responses + // (SubscribeAccountStatusesResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid + // StatusFilter or start block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, or if the block has yet + // + // not been received. + SubscribeAccountStatusesFromStartHeight(*SubscribeAccountStatusesFromStartHeightRequest, ExecutionDataAPI_SubscribeAccountStatusesFromStartHeightServer) error + // SubscribeAccountStatusesFromLatestBlock streams account statuses for all blocks starting + // at the last sealed block, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new // block as it becomes available. // @@ -295,7 +451,7 @@ type ExecutionDataAPIServer interface { // node. This may happen if the block was from a previous spork, or if the block has yet // // not been received. - SubscribeAccountStatuses(*SubscribeAccountStatusesRequest, ExecutionDataAPI_SubscribeAccountStatusesServer) error + SubscribeAccountStatusesFromLatestBlock(*SubscribeAccountStatusesFromLatestBlockRequest, ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlockServer) error } // UnimplementedExecutionDataAPIServer should be embedded to have forward compatible implementations. @@ -314,8 +470,14 @@ func (UnimplementedExecutionDataAPIServer) SubscribeEvents(*SubscribeEventsReque func (UnimplementedExecutionDataAPIServer) GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetRegisterValues not implemented") } -func (UnimplementedExecutionDataAPIServer) SubscribeAccountStatuses(*SubscribeAccountStatusesRequest, ExecutionDataAPI_SubscribeAccountStatusesServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeAccountStatuses not implemented") +func (UnimplementedExecutionDataAPIServer) SubscribeAccountStatusesFromStartBlockID(*SubscribeAccountStatusesFromStartBlockIDRequest, ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockIDServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeAccountStatusesFromStartBlockID not implemented") +} +func (UnimplementedExecutionDataAPIServer) SubscribeAccountStatusesFromStartHeight(*SubscribeAccountStatusesFromStartHeightRequest, ExecutionDataAPI_SubscribeAccountStatusesFromStartHeightServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeAccountStatusesFromStartHeight not implemented") +} +func (UnimplementedExecutionDataAPIServer) SubscribeAccountStatusesFromLatestBlock(*SubscribeAccountStatusesFromLatestBlockRequest, ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlockServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeAccountStatusesFromLatestBlock not implemented") } // UnsafeExecutionDataAPIServer may be embedded to opt out of forward compatibility for this service. @@ -407,24 +569,66 @@ func _ExecutionDataAPI_GetRegisterValues_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } -func _ExecutionDataAPI_SubscribeAccountStatuses_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SubscribeAccountStatusesRequest) +func _ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockID_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeAccountStatusesFromStartBlockIDRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ExecutionDataAPIServer).SubscribeAccountStatusesFromStartBlockID(m, &executionDataAPISubscribeAccountStatusesFromStartBlockIDServer{stream}) +} + +type ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockIDServer interface { + Send(*SubscribeAccountStatusesResponse) error + grpc.ServerStream +} + +type executionDataAPISubscribeAccountStatusesFromStartBlockIDServer struct { + grpc.ServerStream +} + +func (x *executionDataAPISubscribeAccountStatusesFromStartBlockIDServer) Send(m *SubscribeAccountStatusesResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _ExecutionDataAPI_SubscribeAccountStatusesFromStartHeight_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeAccountStatusesFromStartHeightRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ExecutionDataAPIServer).SubscribeAccountStatuses(m, &executionDataAPISubscribeAccountStatusesServer{stream}) + return srv.(ExecutionDataAPIServer).SubscribeAccountStatusesFromStartHeight(m, &executionDataAPISubscribeAccountStatusesFromStartHeightServer{stream}) } -type ExecutionDataAPI_SubscribeAccountStatusesServer interface { +type ExecutionDataAPI_SubscribeAccountStatusesFromStartHeightServer interface { Send(*SubscribeAccountStatusesResponse) error grpc.ServerStream } -type executionDataAPISubscribeAccountStatusesServer struct { +type executionDataAPISubscribeAccountStatusesFromStartHeightServer struct { grpc.ServerStream } -func (x *executionDataAPISubscribeAccountStatusesServer) Send(m *SubscribeAccountStatusesResponse) error { +func (x *executionDataAPISubscribeAccountStatusesFromStartHeightServer) Send(m *SubscribeAccountStatusesResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlock_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeAccountStatusesFromLatestBlockRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ExecutionDataAPIServer).SubscribeAccountStatusesFromLatestBlock(m, &executionDataAPISubscribeAccountStatusesFromLatestBlockServer{stream}) +} + +type ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlockServer interface { + Send(*SubscribeAccountStatusesResponse) error + grpc.ServerStream +} + +type executionDataAPISubscribeAccountStatusesFromLatestBlockServer struct { + grpc.ServerStream +} + +func (x *executionDataAPISubscribeAccountStatusesFromLatestBlockServer) Send(m *SubscribeAccountStatusesResponse) error { return x.ServerStream.SendMsg(m) } @@ -456,8 +660,18 @@ var ExecutionDataAPI_ServiceDesc = grpc.ServiceDesc{ ServerStreams: true, }, { - StreamName: "SubscribeAccountStatuses", - Handler: _ExecutionDataAPI_SubscribeAccountStatuses_Handler, + StreamName: "SubscribeAccountStatusesFromStartBlockID", + Handler: _ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockID_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeAccountStatusesFromStartHeight", + Handler: _ExecutionDataAPI_SubscribeAccountStatusesFromStartHeight_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeAccountStatusesFromLatestBlock", + Handler: _ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlock_Handler, ServerStreams: true, }, }, From 3a249a30685562e9f8aec62dce7caf53295003ed Mon Sep 17 00:00:00 2001 From: Andrii Date: Tue, 5 Mar 2024 14:18:59 +0200 Subject: [PATCH 134/626] Fixed remarks --- protobuf/flow/executiondata/executiondata.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index b0b921b41..00a04e437 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -281,7 +281,7 @@ message EventFilter { // All events emitted by any contract held by any of the provided addresses // will be returned. // - // Addresses must be Flow account addresses in hex format and valid for the + // Addresses must be Flgit ow account addresses in hex format and valid for the // network the node is connected to. i.e. only a mainnet address is valid for // a mainnet node. Addresses may optionally include the 0x prefix. repeated string address = 3; From d0ee0148839b9fd069a5601bc0221288011afa91 Mon Sep 17 00:00:00 2001 From: Andrii Date: Tue, 5 Mar 2024 14:20:16 +0200 Subject: [PATCH 135/626] Fixed typo --- protobuf/flow/executiondata/executiondata.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 00a04e437..b0b921b41 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -281,7 +281,7 @@ message EventFilter { // All events emitted by any contract held by any of the provided addresses // will be returned. // - // Addresses must be Flgit ow account addresses in hex format and valid for the + // Addresses must be Flow account addresses in hex format and valid for the // network the node is connected to. i.e. only a mainnet address is valid for // a mainnet node. Addresses may optionally include the 0x prefix. repeated string address = 3; From 82fb4a67fbd6bb589021b5c1402d4f46f83dc9d3 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 7 Mar 2024 09:13:20 -0800 Subject: [PATCH 136/626] Create 2024-03-07-Protocol-Product-Sync.md --- agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md diff --git a/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md new file mode 100644 index 000000000..d092228cb --- /dev/null +++ b/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md @@ -0,0 +1,4 @@ +# Please add agenda items below + +1. Vishal's time off (March 19th to March 27th) +2. From cc3bb771722b95a1b6ef3bc89996626ab3f76d95 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 7 Mar 2024 13:14:20 -0800 Subject: [PATCH 137/626] Update 2024-03-07-Protocol-Product-Sync.md --- agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md index d092228cb..c617e635c 100644 --- a/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md @@ -1,4 +1,4 @@ # Please add agenda items below 1. Vishal's time off (March 19th to March 27th) -2. +2. Fastbreak analysis - What are the things to consider? From b2b2c94867f23e75739f000d33c588d9beba9e82 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Tue, 12 Mar 2024 09:07:10 -0700 Subject: [PATCH 138/626] Create 2024-03-15-Flow-Sprint-Kickoff.md --- .../2024-03-15-Flow-Sprint-Kickoff.md | 265 ++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..a377fa2af --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -0,0 +1,265 @@ +# Overview + + ### Team Wins 🎉 + + * + +--- + +### Mainnet Uptime - Last 14 days (xx/xx/24 to xx/xx/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.97% | 32.2% | + +#### Incidents +* + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 7 | 6 | 0 | 5 | **18** | +| Proposed | 3 | 1 | 2 | 1 | **7** | +| Accepted | 2 | 1 | 1 | 2 | **6** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 1 | 19 | 1 | 0 | **21** | +| Released | 4 | 0 | 2 | 4 | **10** | +| Total | **17** | **27** | **7** | **12** | **63** | + +- Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) +- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. +(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): End of Feb - Crescendo update, Testnet and mainnet sporks TBD. +- Next Mainnet/Testnet HCU: Testnet HCU - Monday, 5th Feb, Mainnet HCU - Wednesday, 7th Feb. +- End of Cycle: + +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + +* + +**This sprint** + +* + +**On Hold** + +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) + + +**Active Epics** + +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR2: Launch Cadence 1.0 on Crescendo Testnet +- KR3: Launch EVM on Crescendo Testnet +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Translate crypto performance improvements to consensus block rate increase +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue BFT mitigations to enable 10 permissionless ANs +* Continue design of Dynamic Protocol + +**Done last sprint** + +* + +**This sprint** + +* + +**On Hold** +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- DEX Prep - IncrementFi +- Bridge Prep - Axelar + +**Done last sprint** + +* + +**This sprint** + +* + +**On Hold** +- N/A + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + +* + +**This sprint** + +**Sprint goal focusing on adding docs and tool support for Crescendo network and Cadence 1.0** + +- [Add Crescendo network support to FCL Discovery](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50332654) +- [Add Crescendo Network to CLI (config, cmds, docs, etc)](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50297186) +- [Add/Publish Initial EVM Docs](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952883) +- [Docs Revamp v3](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49327073) +- [Add C1.0 Rules to Cadence Linter](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952640) +- [Update Playground to support Cadence 1.0](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49844013) +- [Stable Cadence Installation Workflow](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51951905) + + +**On Hold** + +- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +- N/A + +**This sprint** + +- Begin creating developer documentation highlighting FlowEVM +- Updating cadence transactions / scripts for Cadence 1.0 +- Begin executing on FlowEVM updates to Flow Wallet +- Scheduled calls with MetaMask and Coinbase Wallet teams to intro FlowEVM and gather their requirements. + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Migrate Flow metrics & logs to Flow Foundation grafana account to reduce cost on DapperLabs + +**Done last sprint** + +* + +**This sprint** + +**Goal of Sprint is to migrate from DapperLabs account to FlowFoundation account** + +* + +**On Hold** +**Active Epics** + +--- + +### **Governance and Tokenomics** \[Vishal] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** + +* + +**This sprint** + +- Research transaction fees on other L1s +- Research Transaction fees for Flow EVM. + + +**On Hold** + +- N/A + + +**Active Epics** + +- N/A From d9a12f7827e6bff6863fef9a0a72a9beb8dcee08 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Wed, 13 Mar 2024 14:11:10 -0700 Subject: [PATCH 139/626] Create 2024-03-14-Protocol-Product-Sync.md --- .../2024/product-sync/2024-03-14-Protocol-Product-Sync.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 agendas/2024/product-sync/agendas/2024/product-sync/2024-03-14-Protocol-Product-Sync.md diff --git a/agendas/2024/product-sync/agendas/2024/product-sync/2024-03-14-Protocol-Product-Sync.md b/agendas/2024/product-sync/agendas/2024/product-sync/2024-03-14-Protocol-Product-Sync.md new file mode 100644 index 000000000..1c494166c --- /dev/null +++ b/agendas/2024/product-sync/agendas/2024/product-sync/2024-03-14-Protocol-Product-Sync.md @@ -0,0 +1,3 @@ +# Please enter agenda items below + +1. Consensus block rate improvement rollout plan From c5021add6a1ba760ce74956b10e71225ed875512 Mon Sep 17 00:00:00 2001 From: Alexander Hentschel Date: Wed, 13 Mar 2024 15:09:50 -0700 Subject: [PATCH 140/626] Update 2024-03-07-Protocol-Product-Sync.md --- .../product-sync/2024-03-07-Protocol-Product-Sync.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md index c617e635c..d3d0b27e0 100644 --- a/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md @@ -2,3 +2,12 @@ 1. Vishal's time off (March 19th to March 27th) 2. Fastbreak analysis - What are the things to consider? +2. Timing of consensus speedup ([Data Analysis](https://www.notion.so/flowfoundation/Cruise-Control-headroom-for-speedups-46dc17e07ae14462b03341e4432a907d?pvs=4)) + + Proposal for Next Steps: + 1. Review the results in the `Core-Protocol Working Group` (next meeting is scheduled March 28) + 2. Discussion on how to adjust cruise-control parameters specifically in `Byzantine Fault Tolerance [BFT]` sub-working-group (schedule a meeting on April 4th?). + 3. Governance multi-sig and possible an update of the Epoch smart contract to deploy the new parameter set for Cruise Control [DRI: Vishal] + 4. some technical background content for marketing. + + When do we want to deploy consensus speedup? Timed with Crescendo? Or earlier? From f59316b570e6e235dc38f596ee54f2351b4149df Mon Sep 17 00:00:00 2001 From: Alexander Hentschel Date: Wed, 13 Mar 2024 15:10:05 -0700 Subject: [PATCH 141/626] Update 2024-03-07-Protocol-Product-Sync.md --- agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md index d3d0b27e0..ed8a0b21d 100644 --- a/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md @@ -10,4 +10,4 @@ 3. Governance multi-sig and possible an update of the Epoch smart contract to deploy the new parameter set for Cruise Control [DRI: Vishal] 4. some technical background content for marketing. - When do we want to deploy consensus speedup? Timed with Crescendo? Or earlier? + When do we want to deploy consensus speedup? Timed with Crescendo? Or earlier? From 77b381c51c501a205d4d42b4fdb650619296a2a5 Mon Sep 17 00:00:00 2001 From: Alexander Hentschel Date: Wed, 13 Mar 2024 15:16:22 -0700 Subject: [PATCH 142/626] Update 2024-03-07-Protocol-Product-Sync.md wrong date --- .../product-sync/2024-03-07-Protocol-Product-Sync.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md index ed8a0b21d..90f3add1d 100644 --- a/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-03-07-Protocol-Product-Sync.md @@ -2,12 +2,4 @@ 1. Vishal's time off (March 19th to March 27th) 2. Fastbreak analysis - What are the things to consider? -2. Timing of consensus speedup ([Data Analysis](https://www.notion.so/flowfoundation/Cruise-Control-headroom-for-speedups-46dc17e07ae14462b03341e4432a907d?pvs=4)) - - Proposal for Next Steps: - 1. Review the results in the `Core-Protocol Working Group` (next meeting is scheduled March 28) - 2. Discussion on how to adjust cruise-control parameters specifically in `Byzantine Fault Tolerance [BFT]` sub-working-group (schedule a meeting on April 4th?). - 3. Governance multi-sig and possible an update of the Epoch smart contract to deploy the new parameter set for Cruise Control [DRI: Vishal] - 4. some technical background content for marketing. - - When do we want to deploy consensus speedup? Timed with Crescendo? Or earlier? + From 6b3543eabed2547ae4749967e554bd5a52cd9665 Mon Sep 17 00:00:00 2001 From: Alexander Hentschel Date: Wed, 13 Mar 2024 15:16:29 -0700 Subject: [PATCH 143/626] Update 2024-03-14-Protocol-Product-Sync.md --- .../product-sync/2024-03-14-Protocol-Product-Sync.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/agendas/2024/product-sync/agendas/2024/product-sync/2024-03-14-Protocol-Product-Sync.md b/agendas/2024/product-sync/agendas/2024/product-sync/2024-03-14-Protocol-Product-Sync.md index 1c494166c..d979adfa9 100644 --- a/agendas/2024/product-sync/agendas/2024/product-sync/2024-03-14-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/agendas/2024/product-sync/2024-03-14-Protocol-Product-Sync.md @@ -1,3 +1,11 @@ # Please enter agenda items below -1. Consensus block rate improvement rollout plan +1. Consensus block rate improvement rollout plan ([Data Analysis](https://www.notion.so/flowfoundation/Cruise-Control-headroom-for-speedups-46dc17e07ae14462b03341e4432a907d?pvs=4)) + + Proposal for Next Steps: + 1. Review the results in the `Core-Protocol Working Group` (next meeting is scheduled March 28) + 2. Discussion on how to adjust cruise-control parameters specifically in `Byzantine Fault Tolerance [BFT]` sub-working-group (schedule a meeting on April 4th?). + 3. Governance multi-sig and possible an update of the Epoch smart contract to deploy the new parameter set for Cruise Control [DRI: Vishal] + 4. some technical background content for marketing. + + When do we want to deploy consensus speedup? Timed with Crescendo? Or earlier? From e2977c24b94031d8fbb14866c5771df15199c5ef Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 14 Mar 2024 10:29:55 -0700 Subject: [PATCH 144/626] Added protocol updates --- .../2024-03-15-Flow-Sprint-Kickoff.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index a377fa2af..99cde04ad 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -93,19 +93,26 @@ Cycle Objective(s): * Translate crypto performance improvements to consensus block rate increase * Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node * Reduce CPU usage on Execution node by 30% -* Continue BFT mitigations to enable 10 permissionless ANs -* Continue design of Dynamic Protocol +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution **Done last sprint** -* +* EFM Recovery + * Finished implementation of the KV store state machine. Aligned with team about design questions and possible improvements. Currently incorporating previously discussed changes: https://github.com/onflow/flow-go/pull/5513 + * Finished and merged adding KV Store service event https://github.com/onflow/flow-go/pull/5428 + * Writeup on protocol version upgrade status, base for discussion in a future working group https://forum.flow.com/t/protocol-version-upgrade-mechanisms-discussion/5717 **This sprint** -* +* EFM Recovery + * Merge KV store state machine PR + * Integrate state machine with the higher level logic: https://github.com/onflow/flow-go/issues/5319 + * Integrating KV Store state machine into upgrade integration tests (extending https://github.com/onflow/flow-go/pull/5477) + * Finalizing smart contract changes https://github.com/onflow/flow-core-contracts/pull/411 **On Hold** * Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. +* Implement BFT mitigations to enable 20 permissionless ANs **Active Epics** From dfeedef035b558a7741bb44a71535c3156c4d472 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 14 Mar 2024 13:07:23 -0700 Subject: [PATCH 145/626] Add DeFi updates --- .../2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 99cde04ad..3677a7110 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -134,11 +134,12 @@ Cycle Objective(s): **Done last sprint** -* +* Completed milestone #4 of JVM SDK update concluding all needs for testing +* Completed most of USDC Cadence 1.0 contract update, but currently in holding pattern waiting for confirmation from Circle on next steps **This sprint** -* +* Start milestones #5 & #6 of JVM SDK update to update example repo, then analyze scope of work for subsequent grant **On Hold** - N/A From b290ae69a4cb34325ced88e890c067e5aba5c0e0 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 14 Mar 2024 13:29:12 -0700 Subject: [PATCH 146/626] Added Data Availability update --- .../sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 3677a7110..5148cbb67 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -101,6 +101,13 @@ Cycle Objective(s): * Finished implementation of the KV store state machine. Aligned with team about design questions and possible improvements. Currently incorporating previously discussed changes: https://github.com/onflow/flow-go/pull/5513 * Finished and merged adding KV Store service event https://github.com/onflow/flow-go/pull/5428 * Writeup on protocol version upgrade status, base for discussion in a future working group https://forum.flow.com/t/protocol-version-upgrade-mechanisms-discussion/5717 +* Data Availability + * KROK team + * [Add implementation for usage of the local transaction result in Access API](https://github.com/onflow/flow-go/pull/5306) + * [Add support for indexing execution data on Observers](https://github.com/onflow/flow-go/pull/5256) + * [Add state streaming API to observers](https://github.com/onflow/flow-go/pull/5368) + * [Implement gRPC streaming endpoint SubscribeBlocks](https://github.com/onflow/flow-go/pull/5307) + * [Emulator - Subscribe endpoint is missing](https://github.com/onflow/flow-emulator/pull/593) **This sprint** @@ -109,6 +116,11 @@ Cycle Objective(s): * Integrate state machine with the higher level logic: https://github.com/onflow/flow-go/issues/5319 * Integrating KV Store state machine into upgrade integration tests (extending https://github.com/onflow/flow-go/pull/5477) * Finalizing smart contract changes https://github.com/onflow/flow-core-contracts/pull/411 +* Data Availability + * KROK team - merge remaining Event streaming PRs which are nearly done + * [SendAndSubscribeTransactionStatuses endpoint implementation for Access Streaming API](https://github.com/onflow/flow-go/pull/5310) + * [Add standard Access API implementations on Observer](https://github.com/onflow/flow-go/pull/5358) + * [Benchmark testing and analysis of execution data indexing on Observers](https://github.com/onflow/flow-go/issues/4849) **On Hold** * Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. From a0ea4a6d458932b39b2217084b07317ad5cd25b3 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 14 Mar 2024 13:30:19 -0700 Subject: [PATCH 147/626] Added missing DeFi update --- agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 5148cbb67..25dfa68a1 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -154,7 +154,7 @@ Cycle Objective(s): * Start milestones #5 & #6 of JVM SDK update to update example repo, then analyze scope of work for subsequent grant **On Hold** -- N/A +- Axelar release waiting confirmation of new timeline, no engineering ongoing **Active Epics** From 16553a6f2dcf0a4092da319098f38ec92d043ae3 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 14 Mar 2024 14:05:17 -0700 Subject: [PATCH 148/626] Minor update for DeFi --- agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 25dfa68a1..9ec7c34ac 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -148,6 +148,7 @@ Cycle Objective(s): * Completed milestone #4 of JVM SDK update concluding all needs for testing * Completed most of USDC Cadence 1.0 contract update, but currently in holding pattern waiting for confirmation from Circle on next steps +* IncrementFi Cadence 1.0 contract updates are completed and ready for testing **This sprint** From eee1de72ae1be119abdee64d47dff8fc99c34d36 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 15 Mar 2024 11:23:58 +0100 Subject: [PATCH 149/626] adding Cadence WG update --- .../2024-03-15-Flow-Sprint-Kickoff.md | 107 +++++++++++++++++- 1 file changed, 104 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 9ec7c34ac..30b6481ff 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -2,7 +2,10 @@ ### Team Wins 🎉 - * + * Great progress on the C1.0 migration, now passes on full TN state, taking ~4 hours on m1-ultramem-160. + * C1.0 TN migration environment - successfully started the network from migrated TN state and executed system transaction. + * Bluesign helping with migration, found 2 optimizations - community power! + * Completed another Atree optimization that reduces RAM and persistent storage usage on ENs: [Deduplicating Cadence dictionary type info](https://github.com/onflow/atree/issues/358) --- @@ -63,11 +66,109 @@ Cycle Objective(s): **Done last sprint** -* +Cadence 1.0 migration testing with emulator +- [Assert payloads before migration](https://github.com/onflow/flow-emulator/pull/615) +- [Loading values from a migrated emulator state fails](https://github.com/onflow/cadence/issues/3143) + +Cadence 1.0 TN migration environment +- improved tooling + - [Add feature to migration program to show diff of Cadence values before and after migration](https://github.com/onflow/flow-go/issues/5483) + - [Add Atree storage health checks to migrations](https://github.com/onflow/cadence/issues/3149) +- [Run full Cadence 1.0 migration on TN state](https://github.com/onflow/cadence/issues/3096) + - [Optimize string migration: only return new value if needed](https://github.com/onflow/cadence/pull/3173) + - [Improve migration](https://github.com/onflow/cadence/pull/3169) + - [Improve static type and entitlements migrations: Update array/dictionary type directly](https://github.com/onflow/cadence/pull/3158) + - [Optimize storage migration: Allow skipping of values](https://github.com/onflow/cadence/issues/3157) + - [Improve errors in state migration](https://github.com/onflow/cadence/issues/3154) + - bugfix: [Payload grouping has data races](https://github.com/onflow/flow-go/issues/5485) + - [Add util command to generate payloads for bootsrapped execution state](https://github.com/onflow/flow-go/pull/5487) + - [Improve Migration](https://github.com/onflow/flow-go/pull/5479) + - [Optimize deployment migration](https://github.com/onflow/flow-go/pull/5470) + - [Fix migrating values with empty intersection type](https://github.com/onflow/cadence/pull/3138) +- [Cadence 1.0 state migration fixes and improvements](https://github.com/onflow/cadence/issues/3162) + - [Fix intersection type's legacy type getting converted to intersection type](https://github.com/onflow/cadence/pull/3166) + - [Cadence 1.0 Improve migrations](https://github.com/onflow/flow-go/pull/5533) + - [Cadence 1.0 ledger - Add missing rule for NonFungibleToken.Collection type](https://github.com/onflow/flow-go/issues/5541) + - [Handle legacy type getting converted to intersection type](https://github.com/onflow/cadence/pull/3164) +- Atree features needed for migration + - [Add support for changing type info of atree maps](https://github.com/onflow/atree/pull/377) + - [Allow updating static types of Array](https://github.com/onflow/atree/issues/372) + - [Allow updating static types of OrderedMap](https://github.com/onflow/atree/issues/373) + +Cadence 1.0 features & improvements +- breaking change: [Cannot take a reference to a nested-optional](https://github.com/onflow/cadence/issues/2541) +- [Meter computation in new stdlib functions](https://github.com/onflow/cadence/issues/2879) +- [Improve type inference for authorized references](https://github.com/onflow/cadence/issues/2826) +- bugfix: [Implicitly track composite reference in attachment iteration](https://github.com/onflow/cadence/pull/3168) +- bugfix: [Check invalidation of the looped reference](https://github.com/onflow/cadence/pull/3160) +- bugfix: [SupportedEntitlements implementations are non thread-safe](https://github.com/onflow/cadence/issues/3121) +- bugfix: [Fix location ranges](https://github.com/onflow/cadence/pull/3151) +- bugfix: [Creating reference to type-erased reference errors at run-time](https://github.com/onflow/cadence/issues/3011) +- [Improve update tool](https://github.com/onflow/cadence/pull/3163) +- check-tidy fix: [Update version](https://github.com/onflow/cadence/pull/3161) + +Docs +- [Add CLI installation instructions to the emulator migration guide](https://github.com/onflow/cadence-lang.org/pull/68) +- [Add emulator state migration guide](https://github.com/onflow/cadence-lang.org/issues/66) +- [Document extended update checker rules for Cadence 1.0 migration](https://github.com/onflow/cadence/issues/3155) +- [Improve emulator installation instructions](https://github.com/onflow/cadence-lang.org/pull/61) +- FLip update: [Add note about migration changes to entitlements migration](https://github.com/onflow/flips/issues/252) +- [Add example for reference with disjoint entitlement set](https://github.com/onflow/cadence-lang.org/issues/57) +- [Upgrade guide for types](https://github.com/onflow/cadence-lang.org/issues/53) + +Cadence 1.0 dependency updates +- flow-go: [1](https://github.com/onflow/flow-go/pull/5546), [2](https://github.com/onflow/flow-go/issues/5543), [3](https://github.com/onflow/flow-go/issues/5540), [4](https://github.com/onflow/flow-go/issues/5539), [5](https://github.com/onflow/flow-go/issues/5529), [6](https://github.com/onflow/flow-go/issues/5498), [7](https://github.com/onflow/flow-go/issues/5493) +- flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/issues/606), [2](https://github.com/onflow/flow-go-sdk/issues/605), [3](https://github.com/onflow/flow-go-sdk/issues/604), [4](https://github.com/onflow/flow-go-sdk/issues/600), [5](https://github.com/onflow/flow-go-sdk/issues/594) +- flow-cli: [1](https://github.com/onflow/flow-cli/issues/1452), [2](https://github.com/onflow/flow-cli/issues/1450) +- flixkit-go: [1](https://github.com/onflow/flixkit-go/issues/49), [2](https://github.com/onflow/flixkit-go/issues/48) +- cadence-tools: [1](https://github.com/onflow/cadence-tools/issues/312), [2](https://github.com/onflow/cadence-tools/issues/311), [3](https://github.com/onflow/cadence-tools/issues/310), [4](https://github.com/onflow/cadence-tools/issues/308), [5](https://github.com/onflow/cadence-tools/issues/305), [6](https://github.com/onflow/cadence-tools/issues/304), [7](https://github.com/onflow/cadence-tools/issues/303) +- flowkit: [1](https://github.com/onflow/flowkit/issues/28), [2](https://github.com/onflow/flowkit/issues/27) +- flow-emulator: [1](https://github.com/onflow/flow-emulator/issues/610), [2](https://github.com/onflow/flow-emulator/issues/608), [3](https://github.com/onflow/flow-emulator/issues/596) + +Cadence Execution +- Atree: [Additional memory and storage savings are possible by deduplicating Cadence dictionary type info](https://github.com/onflow/atree/issues/358) +- [test environment for execution node that can follow and execute latest blocks](https://github.com/onflow/flow-go/issues/5118) +- [Meter (and charge for) the transaction storage check](https://github.com/onflow/flow-go/issues/3834) +- minor fixes + - [public execution state sync port to v0.33](https://github.com/onflow/flow-go/pull/5530) + - [Fix integration test](https://github.com/onflow/flow-go/pull/5510) + +EVM Gateway productization + - [Engine restart logic](https://github.com/onflow/flow-evm-gateway/issues/85) + - avoid persisting data on error conditions - [Batch database operations](https://github.com/onflow/flow-evm-gateway/issues/116) + - [General improvements and tech-debt](https://github.com/onflow/flow-evm-gateway/pull/121) +minor fixes: + - [Fix logging IDs when numbers](https://github.com/onflow/flow-evm-gateway/pull/151) + - [Log bugfix values](https://github.com/onflow/flow-evm-gateway/pull/150) + - [Request response value logging](https://github.com/onflow/flow-evm-gateway/pull/149) + - [Configuration for logs](https://github.com/onflow/flow-evm-gateway/pull/147) + - [Log improvements](https://github.com/onflow/flow-evm-gateway/pull/128) + +EVM Core +- [Provide toHexString and fromHexString for evm address](https://github.com/onflow/flow-go/issues/5459) +- [Add extra safeguards to EVM handler](https://github.com/onflow/flow-go/pull/5516) +- [Make deposit available for any EVM address](https://github.com/onflow/flow-go/issues/5468) +- [Adding integration test cases](https://github.com/onflow/flow-go/issues/5228) +- bugfix: [Use EVM chain ID for mainnet when deployed on mainnet](https://github.com/onflow/flow-go/issues/5441) +- bugfix: [missing uuid on vault returned by the withdraw method](https://github.com/onflow/flow-go/issues/5514) + +TPS Loader +- [EVM load test fix](https://github.com/onflow/flow-go/issues/5491) + - [Bootstrap with EVM by default](https://github.com/onflow/flow-go/pull/5482) **This sprint** -* +Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +* [Emulator release is ready](https://github.com/onflow/flow-cli/releases/tag/v1.12.0-cadence-v1.0.0-preview.9), going through last [testing](https://github.com/onflow/cadence/issues/3098) before we announce it. +* Testnet migration completed, moving on to adding [Atree register inlining](https://github.com/onflow/cadence/pull/3048) migration and validating migrated state on the TN migration environment. + +Objective 1, KR4: Testnet Upgrade to Crescendo Release +* Continue with [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) for production readiness. + +Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind +* Continue refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +* Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) **On Hold** From bbdcb8f87257a5ea5fa420d28f161228b12ea9bb Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 15 Mar 2024 11:41:42 +0100 Subject: [PATCH 150/626] update Cadence WG --- .../2024-03-15-Flow-Sprint-Kickoff.md | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 30b6481ff..a25c65a3c 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -2,7 +2,8 @@ ### Team Wins 🎉 - * Great progress on the C1.0 migration, now passes on full TN state, taking ~4 hours on m1-ultramem-160. + * [CLI release](https://github.com/onflow/flow-cli/releases/tag/v1.12.0-cadence-v1.0.0-preview.9) that enables local contract migration testing to Cadence 1.0 with emulator is going through [last round of testing](https://github.com/onflow/cadence/issues/3098). + * Great progress on the C1.0 migrations, now passes on full TN state, taking ~4 hours on m1-ultramem-160. * C1.0 TN migration environment - successfully started the network from migrated TN state and executed system transaction. * Bluesign helping with migration, found 2 optimizations - community power! * Completed another Atree optimization that reduces RAM and persistent storage usage on ENs: [Deduplicating Cadence dictionary type info](https://github.com/onflow/atree/issues/358) @@ -134,15 +135,15 @@ Cadence Execution - [Fix integration test](https://github.com/onflow/flow-go/pull/5510) EVM Gateway productization - - [Engine restart logic](https://github.com/onflow/flow-evm-gateway/issues/85) - - avoid persisting data on error conditions - [Batch database operations](https://github.com/onflow/flow-evm-gateway/issues/116) - - [General improvements and tech-debt](https://github.com/onflow/flow-evm-gateway/pull/121) +- [Engine restart logic](https://github.com/onflow/flow-evm-gateway/issues/85) +- avoid persisting data on error conditions - [Batch database operations](https://github.com/onflow/flow-evm-gateway/issues/116) +- [General improvements and tech-debt](https://github.com/onflow/flow-evm-gateway/pull/121) minor fixes: - - [Fix logging IDs when numbers](https://github.com/onflow/flow-evm-gateway/pull/151) - - [Log bugfix values](https://github.com/onflow/flow-evm-gateway/pull/150) - - [Request response value logging](https://github.com/onflow/flow-evm-gateway/pull/149) - - [Configuration for logs](https://github.com/onflow/flow-evm-gateway/pull/147) - - [Log improvements](https://github.com/onflow/flow-evm-gateway/pull/128) + - [Fix logging IDs when numbers](https://github.com/onflow/flow-evm-gateway/pull/151) + - [Log bugfix values](https://github.com/onflow/flow-evm-gateway/pull/150) + - [Request response value logging](https://github.com/onflow/flow-evm-gateway/pull/149) + - [Configuration for logs](https://github.com/onflow/flow-evm-gateway/pull/147) + - [Log improvements](https://github.com/onflow/flow-evm-gateway/pull/128) EVM Core - [Provide toHexString and fromHexString for evm address](https://github.com/onflow/flow-go/issues/5459) @@ -168,6 +169,9 @@ Objective 1, KR4: Testnet Upgrade to Crescendo Release Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind * Continue refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +* Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) **On Hold** From 61a97f3c32b1050d544a8054dcc2f611b574f2f6 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 15 Mar 2024 11:45:14 +0100 Subject: [PATCH 151/626] update active KRs for Cadence WG --- .../2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index a25c65a3c..6b0a51dca 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -185,8 +185,9 @@ Objective 2: Calibrate Transaction fees so that they accurately reflect resource Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow - KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades -- KR2: Launch Cadence 1.0 on Crescendo Testnet -- KR3: Launch EVM on Crescendo Testnet +- KR4: Testnet Upgrade to Crescendo Release +- KR6: Develop & share with community a disaster recovery plan to address potential issues after migration to Crescendo Release. +- KR7: Decision on how to deal with contracts that have not been upgraded to Cadence 1.0 by developers. Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs - KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency From fb3f64276d31812af6156e11013f5f3f2da62f55 Mon Sep 17 00:00:00 2001 From: Andrii Date: Fri, 15 Mar 2024 13:28:24 +0200 Subject: [PATCH 152/626] Fixed documentation --- .../flow/executiondata/executiondata.proto | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index b0b921b41..2aea8a480 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -390,7 +390,7 @@ message SubscribeAccountStatusesResponse { // Block ID of the block containing the events. bytes block_id = 1; - // Block ID of the block containing the events. + // Block height of the block containing the events. uint64 block_height = 2; // The MessageIndex of the response message. @@ -410,23 +410,25 @@ message SubscribeAccountStatusesResponse { } // StatusesFilter defines the filter to apply to block events. -// Filters are applied as an OR operation, i.e. any event matching any of the -// filters is returned. If no filters are provided, all events are returned. If -// there are any invalid filters, the API will return an InvalidArgument error. +// Filters match for events with types in the included event_type list, that are +// related to at least one address from the provided address list. An event who's +// type matches but address does not is ignored, and vice versa. +// If no event_types are provided, all account related protocol event types are matched. +// If no addresses are provided, any address matches. +// If there are any invalid filters, the API will return an InvalidArgument error. message StatusFilter { // A list of full event types to include. // // All events exactly matching any of the provided event types will be // returned. // - // Event types have 2 formats: - // - Protocol events: + // Event types must be protocol events. e.g. // flow.[event name] repeated string event_type = 1; // A list of addresses who's events should be included. // - // All events emitted by any contract held by any of the provided addresses - // will be returned. + // All events matching the provided event_types that are related to any of the provided addresses + // will be returned. If no addresses are provided, all events matching event_types will be returned. // // Addresses must be Flow account addresses in hex format and valid for the // network the node is connected to. i.e. only a mainnet address is valid for From 9a9a5c9bab0733afb6dcd0bf8619b11e35d8a7d6 Mon Sep 17 00:00:00 2001 From: Andrii Date: Fri, 15 Mar 2024 14:27:48 +0200 Subject: [PATCH 153/626] Moved godoc to proper place --- protobuf/flow/executiondata/executiondata.proto | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 2aea8a480..f32549ed3 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -398,14 +398,14 @@ message SubscribeAccountStatusesResponse { uint64 messageIndex = 3; message Result { - // Unique identifier for the account being streamed + // Unique identifier for the account being streamed bytes address = 1; // Events matching the StatusFilter in the request. - // The API may return no events which signals a periodic heartbeat. This - // allows clients to track which blocks were searched. Client can use this - // information to determine which block to start from when reconnecting. repeated entities.Event events = 2; } + // The API may return no results which signals a periodic heartbeat. This + // allows clients to track which blocks were searched. Client can use this + // information to determine which block to start from when reconnecting. repeated Result results = 4; } From 800b01fc0dac429a69133502050619912de9b231 Mon Sep 17 00:00:00 2001 From: Andrii Date: Fri, 15 Mar 2024 14:28:47 +0200 Subject: [PATCH 154/626] Generated proto --- .../go/flow/executiondata/executiondata.pb.go | 29 ++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index 2bb928efe..191895838 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -839,11 +839,14 @@ func (m *SubscribeAccountStatusesFromLatestBlockRequest) GetEventEncodingVersion type SubscribeAccountStatusesResponse struct { // Block ID of the block containing the events. BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` - // Block ID of the block containing the events. + // Block height of the block containing the events. BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` // The MessageIndex of the response message. // Used by the client to ensure they have received all messages. - MessageIndex uint64 `protobuf:"varint,3,opt,name=messageIndex,proto3" json:"messageIndex,omitempty"` + MessageIndex uint64 `protobuf:"varint,3,opt,name=messageIndex,proto3" json:"messageIndex,omitempty"` + // The API may return no results which signals a periodic heartbeat. This + // allows clients to track which blocks were searched. Client can use this + // information to determine which block to start from when reconnecting. Results []*SubscribeAccountStatusesResponse_Result `protobuf:"bytes,4,rep,name=results,proto3" json:"results,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -907,9 +910,6 @@ type SubscribeAccountStatusesResponse_Result struct { // Unique identifier for the account being streamed Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // Events matching the StatusFilter in the request. - // The API may return no events which signals a periodic heartbeat. This - // allows clients to track which blocks were searched. Client can use this - // information to determine which block to start from when reconnecting. Events []*entities.Event `protobuf:"bytes,2,rep,name=events,proto3" json:"events,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -958,23 +958,26 @@ func (m *SubscribeAccountStatusesResponse_Result) GetEvents() []*entities.Event } // StatusesFilter defines the filter to apply to block events. -// Filters are applied as an OR operation, i.e. any event matching any of the -// filters is returned. If no filters are provided, all events are returned. If -// there are any invalid filters, the API will return an InvalidArgument error. +// Filters match for events with types in the included event_type list, that are +// related to at least one address from the provided address list. An event who's +// type matches but address does not is ignored, and vice versa. +// If no event_types are provided, all account related protocol event types are matched. +// If no addresses are provided, any address matches. +// If there are any invalid filters, the API will return an InvalidArgument error. type StatusFilter struct { // A list of full event types to include. // // All events exactly matching any of the provided event types will be // returned. // - // Event types have 2 formats: - // - Protocol events: - // flow.[event name] + // Event types must be protocol events. e.g. + // + // flow.[event name] EventType []string `protobuf:"bytes,1,rep,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` // A list of addresses who's events should be included. // - // All events emitted by any contract held by any of the provided addresses - // will be returned. + // All events matching the provided event_types that are related to any of the provided addresses + // will be returned. If no addresses are provided, all events matching event_types will be returned. // // Addresses must be Flow account addresses in hex format and valid for the // network the node is connected to. i.e. only a mainnet address is valid for From cd37149fff28122b555ad3aa1859925ad405623d Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 15 Mar 2024 05:53:55 -0700 Subject: [PATCH 155/626] update data availability sprint 2024-03-15 --- .../2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 6b0a51dca..f22a34f99 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -208,6 +208,9 @@ Cycle Objective(s): * Finished and merged adding KV Store service event https://github.com/onflow/flow-go/pull/5428 * Writeup on protocol version upgrade status, base for discussion in a future working group https://forum.flow.com/t/protocol-version-upgrade-mechanisms-discussion/5717 * Data Availability + * [Add register cache to AN](https://github.com/onflow/flow-go/pull/5347) (deployed to mainnet & QuickNode) + * [Handle system transaction in local result mode](https://github.com/onflow/flow-go/pull/5532) + * [Enable forked mainnet in emulator using AN](https://github.com/onflow/flow-emulator/pull/594) * KROK team * [Add implementation for usage of the local transaction result in Access API](https://github.com/onflow/flow-go/pull/5306) * [Add support for indexing execution data on Observers](https://github.com/onflow/flow-go/pull/5256) @@ -223,6 +226,8 @@ Cycle Objective(s): * Integrating KV Store state machine into upgrade integration tests (extending https://github.com/onflow/flow-go/pull/5477) * Finalizing smart contract changes https://github.com/onflow/flow-core-contracts/pull/411 * Data Availability + * [Enable programs cache on AN](https://github.com/onflow/flow-go/issues/5278) - finish and deploy to devnet + * [Debug unusual disk usage on ANs](https://github.com/onflow/flow-go/issues/5549) * KROK team - merge remaining Event streaming PRs which are nearly done * [SendAndSubscribeTransactionStatuses endpoint implementation for Access Streaming API](https://github.com/onflow/flow-go/pull/5310) * [Add standard Access API implementations on Observer](https://github.com/onflow/flow-go/pull/5358) From 47ae4254ba5d707b1f757aa7560d4d10a4de99d6 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Mar 2024 06:35:24 -0700 Subject: [PATCH 156/626] Add protocol update --- .../sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index f22a34f99..a4c4af4de 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -7,6 +7,7 @@ * C1.0 TN migration environment - successfully started the network from migrated TN state and executed system transaction. * Bluesign helping with migration, found 2 optimizations - community power! * Completed another Atree optimization that reduces RAM and persistent storage usage on ENs: [Deduplicating Cadence dictionary type info](https://github.com/onflow/atree/issues/358) + * Cross-VM bridge contract changes now locked in and moving ahead with delivery --- @@ -207,6 +208,8 @@ Cycle Objective(s): * Finished implementation of the KV store state machine. Aligned with team about design questions and possible improvements. Currently incorporating previously discussed changes: https://github.com/onflow/flow-go/pull/5513 * Finished and merged adding KV Store service event https://github.com/onflow/flow-go/pull/5428 * Writeup on protocol version upgrade status, base for discussion in a future working group https://forum.flow.com/t/protocol-version-upgrade-mechanisms-discussion/5717 + * Reading docs ramping up + * [Started EFM data recovery](https://github.com/dapperlabs/flow-go/issues/6957) * Data Availability * [Add register cache to AN](https://github.com/onflow/flow-go/pull/5347) (deployed to mainnet & QuickNode) * [Handle system transaction in local result mode](https://github.com/onflow/flow-go/pull/5532) @@ -222,9 +225,12 @@ Cycle Objective(s): * EFM Recovery * Merge KV store state machine PR - * Integrate state machine with the higher level logic: https://github.com/onflow/flow-go/issues/5319 - * Integrating KV Store state machine into upgrade integration tests (extending https://github.com/onflow/flow-go/pull/5477) - * Finalizing smart contract changes https://github.com/onflow/flow-core-contracts/pull/411 + * [Integrate state machine with the higher level logic](https://github.com/onflow/flow-go/issues/5319) + * [Integrating KV Store state machine into upgrade integration tests](extending https://github.com/onflow/flow-go/pull/5477) + * [Finalizing smart contract changes](https://github.com/onflow/flow-core-contracts/pull/411) + * [Complete EFM data recovery](https://github.com/dapperlabs/flow-go/issues/6957) + * Wrap up reading and knowledge ramp up for Khalil + * [Start EFM recovery transaction](https://github.com/dapperlabs/flow-go/issues/6956) * Data Availability * [Enable programs cache on AN](https://github.com/onflow/flow-go/issues/5278) - finish and deploy to devnet * [Debug unusual disk usage on ANs](https://github.com/onflow/flow-go/issues/5549) From 76f9f871a31c8e1b73d05789fdce430341322bb8 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Mar 2024 06:36:20 -0700 Subject: [PATCH 157/626] Minor update --- agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index a4c4af4de..610d27312 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -7,7 +7,7 @@ * C1.0 TN migration environment - successfully started the network from migrated TN state and executed system transaction. * Bluesign helping with migration, found 2 optimizations - community power! * Completed another Atree optimization that reduces RAM and persistent storage usage on ENs: [Deduplicating Cadence dictionary type info](https://github.com/onflow/atree/issues/358) - * Cross-VM bridge contract changes now locked in and moving ahead with delivery + * Cross-VM bridge design changes now locked in and moving ahead with delivery --- @@ -291,7 +291,7 @@ Cycle Objective(s): **Done last sprint** -* +* Cross-VM bridge design changes now locked in and moving ahead with delivery **This sprint** From fbd8c81c49ace88f2c60fb81d2a84255647ece16 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 15 Mar 2024 08:08:32 -0700 Subject: [PATCH 158/626] ux updates for 3/15 sprint plan --- .../2024-03-15-Flow-Sprint-Kickoff.md | 71 ++++++++++++------- 1 file changed, 47 insertions(+), 24 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 610d27312..2b8005def 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -2,14 +2,17 @@ ### Team Wins 🎉 - * [CLI release](https://github.com/onflow/flow-cli/releases/tag/v1.12.0-cadence-v1.0.0-preview.9) that enables local contract migration testing to Cadence 1.0 with emulator is going through [last round of testing](https://github.com/onflow/cadence/issues/3098). - * Great progress on the C1.0 migrations, now passes on full TN state, taking ~4 hours on m1-ultramem-160. - * C1.0 TN migration environment - successfully started the network from migrated TN state and executed system transaction. - * Bluesign helping with migration, found 2 optimizations - community power! - * Completed another Atree optimization that reduces RAM and persistent storage usage on ENs: [Deduplicating Cadence dictionary type info](https://github.com/onflow/atree/issues/358) - * Cross-VM bridge design changes now locked in and moving ahead with delivery +* [CLI release](https://github.com/onflow/flow-cli/releases/tag/v1.12.0-cadence-v1.0.0-preview.9) that enables local contract migration testing to Cadence 1.0 with emulator is going through [last round of testing](https://github.com/onflow/cadence/issues/3098). +* Great progress on the C1.0 migrations, now passes on full TN state, taking ~4 hours on m1-ultramem-160. +* C1.0 TN migration environment - successfully started the network from migrated TN state and executed system transaction. +* Bluesign helping with migration, found 2 optimizations - community power! +* Completed another Atree optimization that reduces RAM and persistent storage usage on ENs: [Deduplicating Cadence dictionary type info](https://github.com/onflow/atree/issues/358) +* Cross-VM bridge design changes now locked in and moving ahead with delivery +* Cadence contracts test boilerplate now included in CLI `generate` command +* CLI updates - Cadence lint command added, New CLI build addressing crypto library changes now supported on master and stable cadence branches, `flow dev` command now starts emulator automatically +* Documentation - Cadence 1.0 Staging and state migration docs added ---- +--- ### Mainnet Uptime - Last 14 days (xx/xx/24 to xx/xx/24) \[Vishal] @@ -284,31 +287,51 @@ Cycle Objective(s): ### **User Experience** \[Greg] -Cycle Objective(s): -- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort -- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network -- Use the Crescendo Release grow Flow's developer base and network activity +Cycle Objective(s): + +* Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +* Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +* Use the Crescendo Release grow Flow's developer base and network activity **Done last sprint** -* Cross-VM bridge design changes now locked in and moving ahead with delivery +* flow dev command now starts emulator automatically +* Flow evm networks configurations added to viem +* Shipped CI onto flixkit-go to ensure proper testing done on each merge +* Add latest EVM Contracts to CLI +* Update Discovery docs with Previenet network +* [Fix dependency issues for Cadence 1.0](https://github.com/onflow/flow-cli/issues/1371) +* [Urgent SEO issues fixed flow.com](https://github.com/onflow/docs/issues/593) +* [EPIC - Flow Contract Migration Manager](https://github.com/onflow/flow-cli/issues/1375) +* [Add VSCode Test Runner information to Cadence testing docs](https://github.com/onflow/docs/issues/497) +* [Previewnet Faucet improvements](https://github.com/onflow/faucet/issues/94) +* [FlowEVM Video Demo](https://github.com/onflow/docs/issues/581) +* [Generate tests from flow generate contract](https://github.com/onflow/flow-cli/issues/1394) +* [Add core contract deployment addresses for Previewnet](https://github.com/onflow/docs/issues/569) +* [Implement WaitServer in flowkit](https://github.com/onflow/flowkit/issues/22) +* [Expose Cadence 1.0 CLI Install/Usage docs](https://github.com/onflow/docs/issues/660) +* [Update standards, simplify COA bridging interface](https://github.com/onflow/flow-evm-bridge/pull/14) +* [Add Migration Guide to all versions of the Cadence Lang docs](https://github.com/onflow/docs/issues/634) **This sprint** - -**Sprint goal focusing on adding docs and tool support for Crescendo network and Cadence 1.0** - -- [Add Crescendo network support to FCL Discovery](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50332654) -- [Add Crescendo Network to CLI (config, cmds, docs, etc)](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50297186) -- [Add/Publish Initial EVM Docs](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952883) -- [Docs Revamp v3](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49327073) -- [Add C1.0 Rules to Cadence Linter](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952640) -- [Update Playground to support Cadence 1.0](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49844013) -- [Stable Cadence Installation Workflow](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51951905) - +**Sprint goal focusing on updating EVM docs, tooling support, and examples for Cadence 1.0** + +* EVM Docs v2 +* Add viem guide (EVM) +* Update Access Node Docs +* Create video to demonstrate local upgrade, staging, and state migration +* [Add dependencies from Dependency Manager to a deployment account](https://github.com/onflow/flow-cli/issues/1362) +* [Allow adding alias when adding a contract with Dependency Manager](https://github.com/onflow/flow-cli/issues/1363) +* [QA full Cadence 1.0 state migration in Emulator](https://github.com/onflow/cadence/issues/3098) +* [Add Linter and Cadence checker to CLI stage command](https://github.com/onflow/flow-cli/issues/1454) +* [Review Code Changes for New Token Standards #648](https://github.com/onflow/docs/issues/648) +* Create Cadence 1.0 Project Upgrade demo repo +* [New Dev Docs Landing Page](https://github.com/onflow/docs/issues/509) **On Hold** -- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) +* [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) +* [Update Playground to support Cadence 1.0](https://github.com/onflow/flow-playground/issues/760) --- From 5fad2e6da5e994cd7f43cc1a87be7e5e0863fb78 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 15 Mar 2024 16:54:30 +0100 Subject: [PATCH 159/626] Update 2024-03-15-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 2b8005def..37d8ffc8e 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -3,7 +3,7 @@ ### Team Wins 🎉 * [CLI release](https://github.com/onflow/flow-cli/releases/tag/v1.12.0-cadence-v1.0.0-preview.9) that enables local contract migration testing to Cadence 1.0 with emulator is going through [last round of testing](https://github.com/onflow/cadence/issues/3098). -* Great progress on the C1.0 migrations, now passes on full TN state, taking ~4 hours on m1-ultramem-160. +* Great progress on the C1.0 migrations, now passes on full TN state, taking ~7.5 hours on m1-ultramem-160. * C1.0 TN migration environment - successfully started the network from migrated TN state and executed system transaction. * Bluesign helping with migration, found 2 optimizations - community power! * Completed another Atree optimization that reduces RAM and persistent storage usage on ENs: [Deduplicating Cadence dictionary type info](https://github.com/onflow/atree/issues/358) From 2d8f782068aa748467c026978281a7a778cebb6b Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 15 Mar 2024 09:48:45 -0600 Subject: [PATCH 160/626] Create Infra section --- .../2024-03-15-Flow-Sprint-Kickoff.md | 43 +++++++++++++------ 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 37d8ffc8e..449179402 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -386,20 +386,39 @@ Cycle Objective(s): ### **Infra - JP** Cycle Objective(s): -- Migrate Flow metrics & logs to Flow Foundation grafana account to reduce cost on DapperLabs +- Finish GCP project migration to the Flow Foundation org **Done last sprint** - -* - -**This sprint** - -**Goal of Sprint is to migrate from DapperLabs account to FlowFoundation account** - -* - -**On Hold** -**Active Epics** +- QuickNode + - Worked with QuickNode team to configure profiling agent for ANs +- Previewnet Setup + - Enabled alerts for previewnet +- Migration Network + - [Create Ansible configuration for migration network](https://github.com/dapperlabs/dapper-flow-hosting/pull/1467) + - [Create infra for migration network](https://github.com/dapperlabs/terraform/pull/4179) + - Support the configuration & bootstrapping of the migration network +- Node Hosting Support + - [Increase MN & TN disk sizes](https://github.com/dapperlabs/terraform/pull/4180/files) + - [Increase MN24 Access Node disk sizes](https://github.com/dapperlabs/terraform/pull/4166) + - [Upgrade Devnet49 AN3 to increase memory](https://github.com/dapperlabs/terraform/pull/4171) + - [Increase LN disk size for DL nodes](https://github.com/dapperlabs/dapper-flow-nodes-infrastructure/pull/15) + - Prune CDP on Mainnet Execution Nodes to reduce costs + - Prune boot disks for access nodes on Devnet +- FF GCP Migration + - Migrated all projects except for those hosting mainnet nodes and account keys + - [Updated Ansible config to avoid issues with project migration](https://github.com/dapperlabs/dapper-flow-hosting/pull/1471) +- DevEx Migration + - Supported the DevEx migration to Cloud Run effort + - [Assisted in enabling a load balancer in front of the services](https://github.com/dapperlabs/flow-devex-infrastructure/pull/136) + +**Goal of Sprint is to prepare for GCP migration to FF account** +**This Sprint** +- Finish migrating all GCP projects and shift billing accounts for these projects +- Enable FF groups in the GCP projects for IAM shift +- Evaluate best path forward for Terraform management +- Create plan for CloudFlare account migration +- Continue suppporting migration network initiative +- Continue supporting Cloud Run migration initiative --- From 6ed365d440d00c0e09c44cd3fbb61e973166e07c Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 15 Mar 2024 08:58:24 -0700 Subject: [PATCH 161/626] Update 2024-03-15-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 449179402..82d4c62d2 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -14,7 +14,7 @@ --- -### Mainnet Uptime - Last 14 days (xx/xx/24 to xx/xx/24) \[Vishal] +### Mainnet Uptime - Last 14 days (3/1/24 to 3/15/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -22,10 +22,11 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.97% | 32.2% | +| Access API Liveness | 99.9% | 100% | 0% | -#### Incidents -* +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) are now live again on FF Grafana + +[YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) --- From 21de2f061af143d4441c7f7f5f062c3ff4b11954 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 15 Mar 2024 08:59:50 -0700 Subject: [PATCH 162/626] Update 2024-03-15-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 82d4c62d2..19a86d5f7 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -48,9 +48,7 @@ ### Key Release Dates & Breaking Changes -- Next Mainnet/Testnet network upgrade (spork): End of Feb - Crescendo update, Testnet and mainnet sporks TBD. -- Next Mainnet/Testnet HCU: Testnet HCU - Monday, 5th Feb, Mainnet HCU - Wednesday, 7th Feb. -- End of Cycle: +- Next Mainnet/Testnet network upgrade (spork): TBD --- @@ -423,7 +421,7 @@ Cycle Objective(s): --- -### **Governance and Tokenomics** \[Vishal] +### **Governance and Tokenomics** \[Kshitij] Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** From 10f65ee3ba86bed9aff3b93e85db0e8a63cfbc82 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 15 Mar 2024 09:00:16 -0700 Subject: [PATCH 163/626] Update 2024-03-15-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 19a86d5f7..023eb6c54 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -28,6 +28,10 @@ [YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): TBD + --- ### FLIPs Tracker \[Kshitij] @@ -46,10 +50,6 @@ - Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) -### Key Release Dates & Breaking Changes - -- Next Mainnet/Testnet network upgrade (spork): TBD - --- From 2d7880a067bd63734eee49e157d66d660c334e58 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 15 Mar 2024 09:01:23 -0700 Subject: [PATCH 164/626] Update 2024-03-15-Flow-Sprint-Kickoff.md Updating FLIP tracker --- .../sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 023eb6c54..a0e251824 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -38,15 +38,15 @@ | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 7 | 6 | 0 | 5 | **18** | -| Proposed | 3 | 1 | 2 | 1 | **7** | +| Drafted | 7 | 8 (+2) | 0 | 5 | **20** (+2) | +| Proposed | 3 | 2 (+1) | 2 | 1 | **8** (+1) | | Accepted | 2 | 1 | 1 | 2 | **6** | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 1 | 19 | 1 | 0 | **21** | -| Released | 4 | 0 | 2 | 4 | **10** | -| Total | **17** | **27** | **7** | **12** | **63** | +| Implemented | 1 | 19 | 2 | 0 | **22** | +| Released | 4 | 0 | 3 (+1) | 4 | **11** (+1) | +| Total | **17** | **30** (+3) | **9** (+1) | **12** | **68** (+4) | -- Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) +- Overall FLIPs went up by 4 in the last sprint. 3 new Cadence FLIPs were drafted and proposed; 1 new Governance FLIP was drafted, implemented and released during the sprint. - Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) From 3b932a1dac6cbd573bd6f220dab3659582a6573d Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 15 Mar 2024 09:08:34 -0700 Subject: [PATCH 165/626] Update 2024-03-15-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index a0e251824..0c6d7a99c 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -14,7 +14,7 @@ --- -### Mainnet Uptime - Last 14 days (3/1/24 to 3/15/24) \[Vishal] +### Mainnet Uptime - Last 7 days (3/9/24 to 3/15/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -22,12 +22,15 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.92% | 79.0 | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) are now live again on FF Grafana [YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) +## Incidents +N/A + ### Key Release Dates & Breaking Changes - Next Mainnet/Testnet network upgrade (spork): TBD From dc0e5b080a3b97bbc721eca2b3148932c3f50082 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 15 Mar 2024 09:14:55 -0700 Subject: [PATCH 166/626] Update 2024-03-15-Flow-Sprint-Kickoff.md + Governance working group updates --- .../2024-03-15-Flow-Sprint-Kickoff.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 0c6d7a99c..bcc53f00d 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -428,14 +428,20 @@ Cycle Objective(s): Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** - -* +- Estimation of execution effort for EVM transactions on Flow and determining the ratios and differences between Flow Cadence and Flow EVM transaction fees +- Evaluation of the impact of EIP 4844 on L2 transaction fees and Flow's planned 100x increase [see document](https://docs.google.com/spreadsheets/d/1PPxxAotsIYLzydAnuBAgQe1BmEcamiuSQUmsDtrpaKs/edit#gid=1064090175) +- Assessed how much computation can fit into a block and thus decided to raise the computation limit by 5x +- Finalized computation conversion ratio of 5000:1, and a 100x transaction fee increase - forum post and FLIP to follow +- Drove GWG meeting and provided community updates on recent changes **This sprint** -- Research transaction fees on other L1s -- Research Transaction fees for Flow EVM. - +- Publish forum post detailing the computation limit, gas to compute conversion, and the transaction fee increase +- EIP 4844 vs Flow analysis - create self explanatory publicly available spreadsheets, write a blog post +- Partner outreach regarding the upcoming transaction fee increase +- Model inflation reduction via two methods - (1) a planned reduction in reward rate over time like sol, and (2) a capped reward number that reduces inflation over time when the cap hits in future +- Finalize cresendo related governance and tokenomics plan +- Consneus node rebalancing exercise to maintain decentralization **On Hold** From b84ea07e3a46adb8a550a0cbae47cbf69d6b208d Mon Sep 17 00:00:00 2001 From: Jeff Doyle Date: Fri, 15 Mar 2024 09:25:36 -0700 Subject: [PATCH 167/626] Update 2024-03-15-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index bcc53f00d..3fa11e89a 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -367,14 +367,15 @@ Cycle Objective(s): **Done last sprint** -- N/A +- Completed UI components for EVM support in Flow Wallet +- Completed Web3.js integration with Flow Wallet (Not with COA, with EOA to start) **This sprint** -- Begin creating developer documentation highlighting FlowEVM -- Updating cadence transactions / scripts for Cadence 1.0 -- Begin executing on FlowEVM updates to Flow Wallet -- Scheduled calls with MetaMask and Coinbase Wallet teams to intro FlowEVM and gather their requirements. +- CTD cadence transactions / scripts for Cadence 1.0 +- COA integration (including Web3.js integration with COA) +- VM Bridge integration, meeting scheduled for Monday. +- CTD: Outreach with Coinbase Wallet, MetaMask, Shadow Wallet and Blocto **On Hold** From da02a833e75ce1344d1c705bdc7da8177772d908 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 15 Mar 2024 09:26:22 -0700 Subject: [PATCH 168/626] Update 2024-03-15-Flow-Sprint-Kickoff.md correcting typo --- agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 3fa11e89a..446a32cdd 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -442,7 +442,7 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf - Partner outreach regarding the upcoming transaction fee increase - Model inflation reduction via two methods - (1) a planned reduction in reward rate over time like sol, and (2) a capped reward number that reduces inflation over time when the cap hits in future - Finalize cresendo related governance and tokenomics plan -- Consneus node rebalancing exercise to maintain decentralization +- Consensus node rebalancing exercise to maintain decentralization **On Hold** From 009bde73390c2fb338b7e580c43a918e9bf3bbe0 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Mar 2024 09:49:24 -0700 Subject: [PATCH 169/626] Add crypto update --- .../2024-03-15-Flow-Sprint-Kickoff.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md index 446a32cdd..0f3b2faa2 100644 --- a/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-15-Flow-Sprint-Kickoff.md @@ -225,6 +225,16 @@ Cycle Objective(s): * [Add state streaming API to observers](https://github.com/onflow/flow-go/pull/5368) * [Implement gRPC streaming endpoint SubscribeBlocks](https://github.com/onflow/flow-go/pull/5307) * [Emulator - Subscribe endpoint is missing](https://github.com/onflow/flow-emulator/pull/593) +* Crypto + * New crypto lib + * Artblock CPU issue: tested, validated and simulated + * Investigate CPU issue + * [fix potential issue in the image build](https://github.com/onflow/flow-go/pull/5525) + * Worked with Figment to borrow a machine + * BN2 + * [Minor fixes](https://github.com/onflow/flow-go/pull/5528) and documentation of the process + * [Emulator pre Cadence 1.0 branch required for flow-go](https://github.com/onflow/flow-emulator/pull/592) + * Randomness-on chain contract: investigate issue caused by epoch contract update - minor progress **This sprint** @@ -243,6 +253,11 @@ Cycle Objective(s): * [SendAndSubscribeTransactionStatuses endpoint implementation for Access Streaming API](https://github.com/onflow/flow-go/pull/5310) * [Add standard Access API implementations on Observer](https://github.com/onflow/flow-go/pull/5358) * [Benchmark testing and analysis of execution data indexing on Observers](https://github.com/onflow/flow-go/issues/4849) +* Crypto + * New crypto lib + * Continue following up with ArtBlocks and make sure their node work + * [Reproducing CPU issue on similar CPUs from gcloud](https://github.com/onflow/flow-go/pull/5471) + * Randomness-on chain contract: get back to the contract fix **On Hold** * Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. From 08aa0f9411cb3a6b839e7ae6d5c35776fdf901e8 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Wed, 20 Mar 2024 21:04:42 +0200 Subject: [PATCH 170/626] Added SubscribeEventsFromStartBlockID, SubscribeEventsFromStartHeight, SubscribeEventsFromLatest to execution data protobuf --- .../flow/executiondata/executiondata.proto | 124 +++++++ .../go/flow/executiondata/executiondata.pb.go | 344 +++++++++++++++--- .../executiondata/executiondata_grpc.pb.go | 280 +++++++++++++- 3 files changed, 693 insertions(+), 55 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 087ca2579..ba3f758bf 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -63,6 +63,55 @@ service ExecutionDataAPI { rpc SubscribeEvents(SubscribeEventsRequest) returns (stream SubscribeEventsResponse); + // SubscribeEventsFromStartBlockID streams events for all blocks starting at the requested + // start block id, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided EventFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heatbeat responses + // (SubscribeEventsResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + rpc SubscribeEventsFromStartBlockID(SubscribeEventsFromStartBlockIDRequest) + returns (stream SubscribeEventsResponse); + + // SubscribeEventsFromStartHeight streams events for all blocks starting at the requested + // start block height, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided EventFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heatbeat responses + // (SubscribeEventsResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + rpc SubscribeEventsFromStartHeight(SubscribeEventsFromStartHeightRequest) + returns (stream SubscribeEventsResponse); + + // SubscribeEventsFromLatest streams events for all blocks starting from the latest sealed + // block. The stream will remain open and responses are sent for each new block as it becomes available. + // + // Events within each block are filtered by the provided EventFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heatbeat responses + // (SubscribeEventsResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + rpc SubscribeEventsFromLatest(SubscribeEventsFromLatestRequest) + returns (stream SubscribeEventsResponse); + // GetRegisterValues gets the values for the given register IDs as of the given block height rpc GetRegisterValues(GetRegisterValuesRequest) returns (GetRegisterValuesResponse); @@ -155,6 +204,81 @@ message SubscribeEventsRequest { } +// The request for SubscribeEventsFromStartBlockID +message SubscribeEventsFromStartBlockIDRequest { + // Block ID of the first block to search for events. + bytes start_block_id = 1; + + // Filter to apply to events for each block searched. + // If no filter is provided, all events are returned. + EventFilter filter = 2; + + // Interval in block heights at which the server should return a heartbeat + // message to the client. The heartbeat is a normal SubscribeEventsResponse + // with no events, and allows clients to track which blocks were searched. + // Clients can use this information to determine which block to start from + // when reconnecting. + // + // The interval is calculated from the last response returned, which could be + // either another heartbeat or a response containing events. + uint64 heartbeat_interval = 3; + + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + entities.EventEncodingVersion event_encoding_version = 4; +} + +// The request for SubscribeEventsFromStartHeight +message SubscribeEventsFromStartHeightRequest { + // Block height of the first block to search for events. + uint64 start_block_height = 1; + + // Filter to apply to events for each block searched. + // If no filter is provided, all events are returned. + EventFilter filter = 2; + + // Interval in block heights at which the server should return a heartbeat + // message to the client. The heartbeat is a normal SubscribeEventsResponse + // with no events, and allows clients to track which blocks were searched. + // Clients can use this information to determine which block to start from + // when reconnecting. + // + // The interval is calculated from the last response returned, which could be + // either another heartbeat or a response containing events. + uint64 heartbeat_interval = 3; + + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + entities.EventEncodingVersion event_encoding_version = 4; +} + +// The request for SubscribeEventsFromLatest +message SubscribeEventsFromLatestRequest { + // Filter to apply to events for each block searched. + // If no filter is provided, all events are returned. + EventFilter filter = 1; + + // Interval in block heights at which the server should return a heartbeat + // message to the client. The heartbeat is a normal SubscribeEventsResponse + // with no events, and allows clients to track which blocks were searched. + // Clients can use this information to determine which block to start from + // when reconnecting. + // + // The interval is calculated from the last response returned, which could be + // either another heartbeat or a response containing events. + uint64 heartbeat_interval = 2; + + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + entities.EventEncodingVersion event_encoding_version = 3; +} + // The response for SubscribeEvents message SubscribeEventsResponse { // Block ID of the block containing the events. diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index f68b32889..3af5a0c5d 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -338,6 +338,236 @@ func (m *SubscribeEventsRequest) GetEventEncodingVersion() entities.EventEncodin return entities.EventEncodingVersion_JSON_CDC_V0 } +// The request for SubscribeEventsFromStartBlockID +type SubscribeEventsFromStartBlockIDRequest struct { + // Block ID of the first block to search for events. + StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` + // Filter to apply to events for each block searched. + // If no filter is provided, all events are returned. + Filter *EventFilter `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Interval in block heights at which the server should return a heartbeat + // message to the client. The heartbeat is a normal SubscribeEventsResponse + // with no events, and allows clients to track which blocks were searched. + // Clients can use this information to determine which block to start from + // when reconnecting. + // + // The interval is calculated from the last response returned, which could be + // either another heartbeat or a response containing events. + HeartbeatInterval uint64 `protobuf:"varint,3,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"` + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,4,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeEventsFromStartBlockIDRequest) Reset() { + *m = SubscribeEventsFromStartBlockIDRequest{} +} +func (m *SubscribeEventsFromStartBlockIDRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeEventsFromStartBlockIDRequest) ProtoMessage() {} +func (*SubscribeEventsFromStartBlockIDRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{5} +} + +func (m *SubscribeEventsFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeEventsFromStartBlockIDRequest.Unmarshal(m, b) +} +func (m *SubscribeEventsFromStartBlockIDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeEventsFromStartBlockIDRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeEventsFromStartBlockIDRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeEventsFromStartBlockIDRequest.Merge(m, src) +} +func (m *SubscribeEventsFromStartBlockIDRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeEventsFromStartBlockIDRequest.Size(m) +} +func (m *SubscribeEventsFromStartBlockIDRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeEventsFromStartBlockIDRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeEventsFromStartBlockIDRequest proto.InternalMessageInfo + +func (m *SubscribeEventsFromStartBlockIDRequest) GetStartBlockId() []byte { + if m != nil { + return m.StartBlockId + } + return nil +} + +func (m *SubscribeEventsFromStartBlockIDRequest) GetFilter() *EventFilter { + if m != nil { + return m.Filter + } + return nil +} + +func (m *SubscribeEventsFromStartBlockIDRequest) GetHeartbeatInterval() uint64 { + if m != nil { + return m.HeartbeatInterval + } + return 0 +} + +func (m *SubscribeEventsFromStartBlockIDRequest) GetEventEncodingVersion() entities.EventEncodingVersion { + if m != nil { + return m.EventEncodingVersion + } + return entities.EventEncodingVersion_JSON_CDC_V0 +} + +// The request for SubscribeEventsFromStartHeight +type SubscribeEventsFromStartHeightRequest struct { + // Block height of the first block to search for events. + StartBlockHeight uint64 `protobuf:"varint,1,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Filter to apply to events for each block searched. + // If no filter is provided, all events are returned. + Filter *EventFilter `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Interval in block heights at which the server should return a heartbeat + // message to the client. The heartbeat is a normal SubscribeEventsResponse + // with no events, and allows clients to track which blocks were searched. + // Clients can use this information to determine which block to start from + // when reconnecting. + // + // The interval is calculated from the last response returned, which could be + // either another heartbeat or a response containing events. + HeartbeatInterval uint64 `protobuf:"varint,3,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"` + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,4,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeEventsFromStartHeightRequest) Reset() { *m = SubscribeEventsFromStartHeightRequest{} } +func (m *SubscribeEventsFromStartHeightRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeEventsFromStartHeightRequest) ProtoMessage() {} +func (*SubscribeEventsFromStartHeightRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{6} +} + +func (m *SubscribeEventsFromStartHeightRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeEventsFromStartHeightRequest.Unmarshal(m, b) +} +func (m *SubscribeEventsFromStartHeightRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeEventsFromStartHeightRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeEventsFromStartHeightRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeEventsFromStartHeightRequest.Merge(m, src) +} +func (m *SubscribeEventsFromStartHeightRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeEventsFromStartHeightRequest.Size(m) +} +func (m *SubscribeEventsFromStartHeightRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeEventsFromStartHeightRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeEventsFromStartHeightRequest proto.InternalMessageInfo + +func (m *SubscribeEventsFromStartHeightRequest) GetStartBlockHeight() uint64 { + if m != nil { + return m.StartBlockHeight + } + return 0 +} + +func (m *SubscribeEventsFromStartHeightRequest) GetFilter() *EventFilter { + if m != nil { + return m.Filter + } + return nil +} + +func (m *SubscribeEventsFromStartHeightRequest) GetHeartbeatInterval() uint64 { + if m != nil { + return m.HeartbeatInterval + } + return 0 +} + +func (m *SubscribeEventsFromStartHeightRequest) GetEventEncodingVersion() entities.EventEncodingVersion { + if m != nil { + return m.EventEncodingVersion + } + return entities.EventEncodingVersion_JSON_CDC_V0 +} + +// The request for SubscribeEventsFromLatest +type SubscribeEventsFromLatestRequest struct { + // Filter to apply to events for each block searched. + // If no filter is provided, all events are returned. + Filter *EventFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` + // Interval in block heights at which the server should return a heartbeat + // message to the client. The heartbeat is a normal SubscribeEventsResponse + // with no events, and allows clients to track which blocks were searched. + // Clients can use this information to determine which block to start from + // when reconnecting. + // + // The interval is calculated from the last response returned, which could be + // either another heartbeat or a response containing events. + HeartbeatInterval uint64 `protobuf:"varint,2,opt,name=heartbeat_interval,json=heartbeatInterval,proto3" json:"heartbeat_interval,omitempty"` + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,3,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeEventsFromLatestRequest) Reset() { *m = SubscribeEventsFromLatestRequest{} } +func (m *SubscribeEventsFromLatestRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeEventsFromLatestRequest) ProtoMessage() {} +func (*SubscribeEventsFromLatestRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{7} +} + +func (m *SubscribeEventsFromLatestRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeEventsFromLatestRequest.Unmarshal(m, b) +} +func (m *SubscribeEventsFromLatestRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeEventsFromLatestRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeEventsFromLatestRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeEventsFromLatestRequest.Merge(m, src) +} +func (m *SubscribeEventsFromLatestRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeEventsFromLatestRequest.Size(m) +} +func (m *SubscribeEventsFromLatestRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeEventsFromLatestRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeEventsFromLatestRequest proto.InternalMessageInfo + +func (m *SubscribeEventsFromLatestRequest) GetFilter() *EventFilter { + if m != nil { + return m.Filter + } + return nil +} + +func (m *SubscribeEventsFromLatestRequest) GetHeartbeatInterval() uint64 { + if m != nil { + return m.HeartbeatInterval + } + return 0 +} + +func (m *SubscribeEventsFromLatestRequest) GetEventEncodingVersion() entities.EventEncodingVersion { + if m != nil { + return m.EventEncodingVersion + } + return entities.EventEncodingVersion_JSON_CDC_V0 +} + // The response for SubscribeEvents type SubscribeEventsResponse struct { // Block ID of the block containing the events. @@ -360,7 +590,7 @@ func (m *SubscribeEventsResponse) Reset() { *m = SubscribeEventsResponse func (m *SubscribeEventsResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeEventsResponse) ProtoMessage() {} func (*SubscribeEventsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{5} + return fileDescriptor_da469632570513fb, []int{8} } func (m *SubscribeEventsResponse) XXX_Unmarshal(b []byte) error { @@ -456,7 +686,7 @@ func (m *EventFilter) Reset() { *m = EventFilter{} } func (m *EventFilter) String() string { return proto.CompactTextString(m) } func (*EventFilter) ProtoMessage() {} func (*EventFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{6} + return fileDescriptor_da469632570513fb, []int{9} } func (m *EventFilter) XXX_Unmarshal(b []byte) error { @@ -513,7 +743,7 @@ func (m *GetRegisterValuesRequest) Reset() { *m = GetRegisterValuesReque func (m *GetRegisterValuesRequest) String() string { return proto.CompactTextString(m) } func (*GetRegisterValuesRequest) ProtoMessage() {} func (*GetRegisterValuesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{7} + return fileDescriptor_da469632570513fb, []int{10} } func (m *GetRegisterValuesRequest) XXX_Unmarshal(b []byte) error { @@ -561,7 +791,7 @@ func (m *GetRegisterValuesResponse) Reset() { *m = GetRegisterValuesResp func (m *GetRegisterValuesResponse) String() string { return proto.CompactTextString(m) } func (*GetRegisterValuesResponse) ProtoMessage() {} func (*GetRegisterValuesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{8} + return fileDescriptor_da469632570513fb, []int{11} } func (m *GetRegisterValuesResponse) XXX_Unmarshal(b []byte) error { @@ -595,6 +825,9 @@ func init() { proto.RegisterType((*SubscribeExecutionDataRequest)(nil), "flow.executiondata.SubscribeExecutionDataRequest") proto.RegisterType((*SubscribeExecutionDataResponse)(nil), "flow.executiondata.SubscribeExecutionDataResponse") proto.RegisterType((*SubscribeEventsRequest)(nil), "flow.executiondata.SubscribeEventsRequest") + proto.RegisterType((*SubscribeEventsFromStartBlockIDRequest)(nil), "flow.executiondata.SubscribeEventsFromStartBlockIDRequest") + proto.RegisterType((*SubscribeEventsFromStartHeightRequest)(nil), "flow.executiondata.SubscribeEventsFromStartHeightRequest") + proto.RegisterType((*SubscribeEventsFromLatestRequest)(nil), "flow.executiondata.SubscribeEventsFromLatestRequest") proto.RegisterType((*SubscribeEventsResponse)(nil), "flow.executiondata.SubscribeEventsResponse") proto.RegisterType((*EventFilter)(nil), "flow.executiondata.EventFilter") proto.RegisterType((*GetRegisterValuesRequest)(nil), "flow.executiondata.GetRegisterValuesRequest") @@ -606,51 +839,60 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 735 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcb, 0x6e, 0xd3, 0x4c, - 0x14, 0x96, 0x93, 0xfc, 0x69, 0x7b, 0x12, 0xf5, 0x32, 0xaa, 0xfa, 0x3b, 0x16, 0xa5, 0x49, 0x40, - 0x28, 0x82, 0xd6, 0x06, 0x97, 0x8a, 0x0d, 0x1b, 0x42, 0x4b, 0xc9, 0x0e, 0xb9, 0x55, 0x25, 0xba, - 0xb1, 0x7c, 0x99, 0x3a, 0x23, 0x5c, 0x4f, 0xf0, 0x4c, 0x42, 0x2b, 0x56, 0xdd, 0xf1, 0x08, 0xbc, - 0x05, 0xef, 0xc1, 0x82, 0x37, 0xe0, 0x5d, 0x50, 0xc6, 0x63, 0x37, 0x4e, 0xdc, 0xd0, 0xaa, 0x62, - 0x13, 0xe9, 0xcc, 0xf9, 0xce, 0x9c, 0x6f, 0xbe, 0x73, 0x89, 0xe1, 0xc9, 0x59, 0x48, 0xbf, 0x18, - 0xf8, 0x02, 0x7b, 0x43, 0x4e, 0x68, 0xe4, 0x3b, 0xdc, 0xc9, 0x5b, 0xfa, 0x20, 0xa6, 0x9c, 0x22, - 0x34, 0xc6, 0xe9, 0x39, 0x8f, 0xd6, 0x49, 0x62, 0x23, 0x4e, 0x38, 0xc1, 0xcc, 0x70, 0x43, 0xea, - 0x7d, 0xb2, 0x33, 0x88, 0x7d, 0x1d, 0xad, 0x35, 0xf2, 0x48, 0x3c, 0xc2, 0x11, 0x97, 0xae, 0x07, - 0x79, 0x57, 0x8c, 0x03, 0xc2, 0x38, 0x8e, 0xa5, 0x77, 0x2b, 0xa0, 0x34, 0x08, 0xb1, 0x21, 0x2c, - 0x77, 0x78, 0x66, 0x70, 0x72, 0x8e, 0x19, 0x77, 0xce, 0x07, 0x09, 0xa0, 0xfd, 0x5d, 0x81, 0xe6, - 0x21, 0xe6, 0x07, 0x69, 0xd6, 0x7d, 0x87, 0x3b, 0xdd, 0xcb, 0xee, 0x98, 0x4a, 0x6f, 0xdf, 0xc2, - 0x9f, 0x87, 0x98, 0x71, 0xd4, 0x80, 0xc5, 0x84, 0x1c, 0xf1, 0x55, 0xa5, 0xa9, 0x74, 0xea, 0xd6, - 0x82, 0xb0, 0x7b, 0x3e, 0xfa, 0x08, 0x1b, 0x82, 0x8d, 0x8d, 0x23, 0x8f, 0xfa, 0x24, 0x0a, 0xec, - 0x11, 0x8e, 0x19, 0xa1, 0x91, 0x5a, 0x6a, 0x2a, 0x9d, 0x65, 0xf3, 0x91, 0x9e, 0x3c, 0x5c, 0xf2, - 0xd3, 0x0f, 0xc6, 0xe0, 0x03, 0x89, 0x3d, 0x49, 0xa0, 0xd6, 0x3a, 0x2e, 0x38, 0x6d, 0x5f, 0x40, - 0x6b, 0x0e, 0x33, 0x36, 0xa0, 0x11, 0xc3, 0xe8, 0x08, 0xd6, 0x8b, 0x74, 0x13, 0x34, 0x6b, 0x66, - 0x6b, 0x2a, 0xbb, 0x88, 0xce, 0xdd, 0x68, 0x21, 0x77, 0xe6, 0xac, 0xfd, 0x4b, 0x81, 0xcd, 0xa3, - 0xa1, 0xcb, 0xbc, 0x98, 0xb8, 0x38, 0x0f, 0x97, 0x8a, 0x3c, 0x86, 0x65, 0xc6, 0x9d, 0x98, 0xdb, - 0x53, 0xba, 0xd4, 0xc5, 0x69, 0x57, 0x8a, 0xb3, 0x0d, 0x68, 0x12, 0xd5, 0xc7, 0x24, 0xe8, 0x73, - 0x21, 0x4c, 0xc5, 0x5a, 0xbd, 0x46, 0xbe, 0x17, 0xe7, 0x73, 0xa4, 0x2c, 0xdf, 0x57, 0xca, 0xdf, - 0x0a, 0x3c, 0xbc, 0xe9, 0x41, 0x52, 0xc8, 0x16, 0xd4, 0x73, 0x2c, 0x15, 0xc1, 0xb2, 0xe6, 0x4e, - 0x10, 0xbc, 0x49, 0xeb, 0xd2, 0x3d, 0xb4, 0x46, 0x6f, 0x61, 0x25, 0xb9, 0x34, 0xeb, 0x4c, 0xf1, - 0xdc, 0x9a, 0xa9, 0xe9, 0x49, 0xef, 0xea, 0x69, 0xef, 0xea, 0xc7, 0x29, 0xc2, 0x5a, 0x16, 0x21, - 0x99, 0xdd, 0xfe, 0x51, 0x82, 0x8d, 0xeb, 0xf7, 0x8d, 0x15, 0x60, 0xff, 0xb2, 0x52, 0xaf, 0xa0, - 0x7a, 0x46, 0x42, 0x8e, 0x63, 0x49, 0x75, 0x4b, 0x9f, 0x9d, 0xee, 0xa4, 0x3c, 0xef, 0x04, 0xcc, - 0x92, 0x70, 0xb4, 0x03, 0xa8, 0x8f, 0x9d, 0x98, 0xbb, 0xd8, 0xe1, 0x36, 0x89, 0x38, 0x8e, 0x47, - 0x4e, 0xa8, 0x56, 0x44, 0x9a, 0xb5, 0xcc, 0xd3, 0x93, 0x8e, 0x39, 0x1d, 0xf1, 0xdf, 0x7d, 0x3b, - 0xe2, 0xa7, 0x02, 0xff, 0xcf, 0x28, 0x26, 0x5b, 0x61, 0xce, 0xb8, 0x4f, 0x77, 0x49, 0x69, 0xb6, - 0x4b, 0xb6, 0xa1, 0x2a, 0x32, 0x32, 0xb5, 0xdc, 0x2c, 0x77, 0x6a, 0xe6, 0x7a, 0x11, 0x49, 0x4b, - 0x62, 0x8a, 0xca, 0x5f, 0xb9, 0x73, 0xf9, 0x5d, 0xa8, 0x4d, 0xa8, 0x8d, 0x36, 0x01, 0x12, 0xd9, - 0xf8, 0xe5, 0x00, 0xab, 0x4a, 0xb3, 0xdc, 0x59, 0xb2, 0x96, 0xc4, 0xc9, 0xf1, 0xe5, 0x00, 0x23, - 0x0d, 0x16, 0x3d, 0x1a, 0xf1, 0xd8, 0xf1, 0xc6, 0xfc, 0xc7, 0xce, 0xcc, 0x46, 0x2a, 0x2c, 0x38, - 0xbe, 0x1f, 0x63, 0x96, 0xb0, 0x5f, 0xb2, 0x52, 0xb3, 0xfd, 0x15, 0xd4, 0x43, 0xcc, 0x2d, 0xb9, - 0x5e, 0x4f, 0x9c, 0x70, 0x88, 0xb3, 0x1e, 0xbb, 0xc5, 0xec, 0xbc, 0x86, 0x7a, 0xba, 0x9a, 0x6d, - 0xe2, 0x33, 0x91, 0xb8, 0x66, 0x36, 0xa6, 0xb4, 0x49, 0xaf, 0xef, 0xed, 0x5b, 0xb5, 0x14, 0xde, - 0xf3, 0x59, 0x7b, 0x17, 0x1a, 0x05, 0xc9, 0x65, 0xb9, 0x36, 0xa0, 0x3a, 0x12, 0x27, 0xe2, 0xa9, - 0x75, 0x4b, 0x5a, 0xe6, 0x55, 0x05, 0x56, 0x73, 0xb3, 0xf6, 0xe6, 0x43, 0x0f, 0x7d, 0x53, 0xc4, - 0x55, 0xc5, 0x5b, 0x15, 0xbd, 0x2c, 0x6a, 0xe4, 0xbf, 0xfd, 0x3d, 0x68, 0x7b, 0x77, 0x8c, 0x92, - 0xbc, 0xaf, 0x94, 0xc9, 0xa1, 0xcd, 0x2d, 0x85, 0x17, 0x45, 0x37, 0xce, 0xdd, 0xc8, 0x9a, 0x79, - 0x97, 0x90, 0x84, 0xc1, 0x73, 0x05, 0x85, 0xb0, 0x32, 0x35, 0x05, 0xe8, 0xe9, 0xfc, 0x8b, 0x26, - 0x97, 0x8b, 0xf6, 0xec, 0x56, 0xd8, 0x2c, 0xdb, 0x00, 0xd6, 0x66, 0xca, 0x88, 0xb6, 0x6f, 0x50, - 0xaf, 0xb0, 0xd5, 0xb4, 0x9d, 0x5b, 0xa2, 0x93, 0x9c, 0xdd, 0x53, 0x68, 0xd1, 0x38, 0xd0, 0x69, - 0x24, 0xa2, 0xb2, 0x51, 0xca, 0x85, 0x9f, 0xee, 0x05, 0x84, 0xf7, 0x87, 0xae, 0xee, 0xd1, 0x73, - 0x23, 0x41, 0x1a, 0xe2, 0x27, 0xfb, 0x68, 0x08, 0xa8, 0x31, 0xfb, 0x99, 0xe3, 0x56, 0x85, 0x7f, - 0xf7, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x45, 0x79, 0x16, 0x03, 0x09, 0x00, 0x00, + // 870 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x57, 0xcd, 0x6e, 0xdb, 0x46, + 0x10, 0xc6, 0x52, 0xaa, 0x6c, 0x8f, 0x04, 0xff, 0x2c, 0x0c, 0x57, 0x22, 0xea, 0x5a, 0x52, 0x5b, + 0x43, 0x68, 0x6d, 0xaa, 0x95, 0x6b, 0x14, 0x2d, 0x7a, 0xa9, 0x2a, 0xdb, 0x11, 0x90, 0x43, 0x40, + 0x1b, 0x06, 0xe2, 0x8b, 0x40, 0x8a, 0x6b, 0x8a, 0x88, 0xc4, 0x55, 0xc8, 0x95, 0x62, 0x23, 0x97, + 0xe4, 0x16, 0x04, 0xb9, 0xe4, 0xe6, 0x63, 0xde, 0x20, 0xef, 0x91, 0x43, 0xde, 0x20, 0xc7, 0xbc, + 0x47, 0xa0, 0xe5, 0x92, 0x12, 0x25, 0xea, 0x87, 0x90, 0x73, 0xc8, 0x45, 0xc0, 0xee, 0x7c, 0xb3, + 0xf3, 0xcd, 0xb7, 0xc3, 0x99, 0x15, 0xec, 0x5f, 0xb7, 0xe9, 0xb3, 0x32, 0xb9, 0x21, 0xcd, 0x1e, + 0xb3, 0xa8, 0x6d, 0x68, 0x4c, 0x0b, 0xaf, 0x94, 0xae, 0x43, 0x19, 0xc5, 0x78, 0x80, 0x53, 0x42, + 0x16, 0xb9, 0xe4, 0xf9, 0xda, 0xcc, 0x62, 0x16, 0x71, 0xcb, 0x7a, 0x9b, 0x36, 0x9f, 0x34, 0x02, + 0x48, 0x63, 0xe8, 0x2d, 0xe7, 0xc2, 0x48, 0xd2, 0x27, 0x36, 0x13, 0xa6, 0x1f, 0xc2, 0x26, 0x87, + 0x98, 0x96, 0xcb, 0x88, 0x23, 0xac, 0x7b, 0x26, 0xa5, 0x66, 0x9b, 0x94, 0xf9, 0x4a, 0xef, 0x5d, + 0x97, 0x99, 0xd5, 0x21, 0x2e, 0xd3, 0x3a, 0x5d, 0x0f, 0x50, 0xbc, 0x43, 0x90, 0x3f, 0x23, 0xec, + 0xc4, 0x8f, 0x5a, 0xd3, 0x98, 0x56, 0xbd, 0xad, 0x0e, 0xa8, 0xd4, 0x6b, 0x2a, 0x79, 0xda, 0x23, + 0x2e, 0xc3, 0x39, 0x58, 0xf5, 0xc8, 0x59, 0x46, 0x16, 0xe5, 0x51, 0x29, 0xa3, 0xae, 0xf0, 0x75, + 0xdd, 0xc0, 0x8f, 0x61, 0x87, 0xb3, 0x69, 0x10, 0xbb, 0x49, 0x0d, 0xcb, 0x36, 0x1b, 0x7d, 0xe2, + 0xb8, 0x16, 0xb5, 0xb3, 0x52, 0x1e, 0x95, 0xd6, 0x2b, 0x3f, 0x29, 0x5e, 0xe2, 0x82, 0x9f, 0x72, + 0x32, 0x00, 0x9f, 0x08, 0xec, 0xa5, 0x07, 0x55, 0xb7, 0x49, 0xc4, 0x6e, 0xf1, 0x06, 0x0a, 0x33, + 0x98, 0xb9, 0x5d, 0x6a, 0xbb, 0x04, 0x9f, 0xc3, 0x76, 0x94, 0x6e, 0x9c, 0x66, 0xba, 0x52, 0x18, + 0x8b, 0xce, 0xbd, 0x43, 0x27, 0xaa, 0x58, 0x9f, 0xd8, 0x2b, 0x7e, 0x44, 0xb0, 0x7b, 0xde, 0xd3, + 0xdd, 0xa6, 0x63, 0xe9, 0x24, 0x0c, 0x17, 0x8a, 0xfc, 0x0c, 0xeb, 0x2e, 0xd3, 0x1c, 0xd6, 0x18, + 0xd3, 0x25, 0xc3, 0x77, 0xab, 0x42, 0x9c, 0x03, 0xc0, 0xa3, 0xa8, 0x16, 0xb1, 0xcc, 0x16, 0xe3, + 0xc2, 0x24, 0xd5, 0xcd, 0x21, 0xf2, 0x01, 0xdf, 0x9f, 0x21, 0x65, 0x62, 0x59, 0x29, 0x3f, 0x21, + 0xf8, 0x71, 0x5a, 0x42, 0x42, 0xc8, 0x02, 0x64, 0x42, 0x2c, 0x11, 0x67, 0x99, 0xd6, 0x47, 0x08, + 0x4e, 0xd3, 0x5a, 0x5a, 0x42, 0x6b, 0xfc, 0x3f, 0x6c, 0x78, 0x87, 0x06, 0x95, 0xc9, 0xd3, 0x4d, + 0x57, 0x64, 0xc5, 0xab, 0x5d, 0xc5, 0xaf, 0x5d, 0xe5, 0xc2, 0x47, 0xa8, 0xeb, 0xdc, 0x25, 0x58, + 0x17, 0xdf, 0x4b, 0xb0, 0x33, 0xcc, 0x6f, 0xa0, 0x80, 0xfb, 0x35, 0x6f, 0xea, 0x2f, 0x48, 0x5d, + 0x5b, 0x6d, 0x46, 0x1c, 0x41, 0x75, 0x4f, 0x99, 0xfc, 0xba, 0xbd, 0xeb, 0x39, 0xe5, 0x30, 0x55, + 0xc0, 0xf1, 0x21, 0xe0, 0x16, 0xd1, 0x1c, 0xa6, 0x13, 0x8d, 0x35, 0x2c, 0x9b, 0x11, 0xa7, 0xaf, + 0xb5, 0xb3, 0x49, 0x1e, 0x66, 0x2b, 0xb0, 0xd4, 0x85, 0x61, 0x46, 0x45, 0x7c, 0xb7, 0x6c, 0x45, + 0xbc, 0x95, 0x60, 0x7f, 0x4c, 0xb1, 0x53, 0x87, 0x76, 0xce, 0x87, 0xa2, 0xd4, 0xe2, 0x29, 0x38, + 0xd4, 0x44, 0xba, 0x0f, 0x4d, 0x12, 0xf1, 0x35, 0x49, 0x2e, 0xab, 0xc9, 0x9d, 0x04, 0xbf, 0x4c, + 0xd3, 0xc4, 0xbb, 0x79, 0x5f, 0x92, 0xe8, 0x72, 0x41, 0x73, 0xcb, 0xe5, 0x9b, 0x95, 0xe6, 0x33, + 0x82, 0x7c, 0x84, 0x34, 0x0f, 0x35, 0x46, 0xdc, 0x40, 0x95, 0x61, 0x9e, 0xe8, 0x3e, 0xf2, 0x94, + 0xe2, 0xe7, 0xb9, 0x74, 0xa3, 0xfc, 0x80, 0xe0, 0xfb, 0x89, 0x46, 0x22, 0x3a, 0xe4, 0x8c, 0x29, + 0x38, 0xde, 0x3c, 0xa5, 0xc9, 0xe6, 0x79, 0x00, 0x29, 0x1e, 0xd1, 0xcd, 0x26, 0xf2, 0x89, 0x52, + 0xba, 0xb2, 0x1d, 0x45, 0x52, 0x15, 0x98, 0xa8, 0xae, 0x98, 0x8c, 0xdd, 0x15, 0x75, 0x48, 0x8f, + 0xa8, 0x8d, 0x77, 0x01, 0x3c, 0xd9, 0xd8, 0x6d, 0x97, 0x64, 0x51, 0x3e, 0x51, 0x5a, 0x53, 0xd7, + 0xf8, 0xce, 0xc5, 0x6d, 0x97, 0x60, 0x19, 0x56, 0x9b, 0xd4, 0x66, 0x8e, 0xd6, 0x1c, 0xf0, 0x1f, + 0x18, 0x83, 0x35, 0xce, 0xc2, 0x8a, 0x66, 0x18, 0x0e, 0x71, 0x3d, 0xf6, 0x6b, 0xaa, 0xbf, 0x2c, + 0x3e, 0x87, 0xec, 0x19, 0x61, 0xaa, 0x78, 0x75, 0x5c, 0x6a, 0xed, 0x1e, 0x09, 0x5a, 0xef, 0x02, + 0x23, 0xe5, 0x5f, 0xc8, 0xf8, 0x2f, 0x96, 0x86, 0x65, 0xb8, 0x3c, 0x70, 0xba, 0x92, 0x1b, 0xd3, + 0xc6, 0x3f, 0xbe, 0x5e, 0x53, 0xd3, 0x3e, 0xbc, 0x6e, 0xb8, 0xc5, 0x23, 0xc8, 0x45, 0x04, 0x17, + 0xd7, 0xb5, 0x03, 0xa9, 0x3e, 0xdf, 0xe1, 0xa9, 0x66, 0x54, 0xb1, 0xaa, 0xbc, 0x5b, 0x81, 0xcd, + 0xd0, 0x08, 0xfa, 0xef, 0x51, 0x1d, 0xbf, 0x42, 0xfc, 0xa8, 0xe8, 0xc7, 0x06, 0xfe, 0x33, 0xaa, + 0x90, 0xe7, 0xbd, 0x9a, 0xe4, 0xe3, 0x98, 0x5e, 0x82, 0xf7, 0x4b, 0x34, 0x3a, 0xcb, 0x42, 0xb3, + 0xf2, 0x8f, 0xa8, 0x13, 0x67, 0x3e, 0x54, 0xe4, 0x4a, 0x1c, 0x17, 0x8f, 0xc1, 0xef, 0x08, 0xb7, + 0x61, 0x63, 0xec, 0x2b, 0xc0, 0xbf, 0xce, 0x3e, 0x68, 0x74, 0xe6, 0xca, 0xbf, 0x2d, 0x84, 0x0d, + 0xa2, 0xbd, 0x41, 0xb0, 0x37, 0x67, 0x16, 0xe1, 0x7f, 0x16, 0x38, 0x72, 0xca, 0x00, 0x8b, 0x4b, + 0xe7, 0x75, 0xe8, 0xb1, 0x14, 0x35, 0x06, 0xf0, 0xdf, 0x71, 0xd8, 0x84, 0x46, 0x47, 0x5c, 0x32, + 0x2f, 0x10, 0xe4, 0xa6, 0x36, 0xde, 0xe8, 0xc2, 0x9c, 0xd7, 0xa7, 0xe3, 0x52, 0xe8, 0xc2, 0xd6, + 0xc4, 0x57, 0x86, 0x0f, 0xa6, 0x14, 0x77, 0x64, 0x27, 0x90, 0x0f, 0x17, 0x44, 0x7b, 0x31, 0xab, + 0x57, 0x50, 0xa0, 0x8e, 0xa9, 0x50, 0x9b, 0x7b, 0x05, 0x9d, 0x2e, 0xe4, 0x7e, 0x75, 0x6c, 0x5a, + 0xac, 0xd5, 0xd3, 0x95, 0x26, 0xed, 0x94, 0x3d, 0x64, 0x99, 0xff, 0x04, 0x7f, 0x75, 0x4c, 0x5a, + 0x9e, 0xfc, 0x73, 0xa6, 0xa7, 0xb8, 0xfd, 0xe8, 0x4b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x32, 0x60, + 0x28, 0x33, 0xb9, 0x0d, 0x00, 0x00, } diff --git a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go index 801610aa3..78a60954d 100644 --- a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go +++ b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go @@ -19,10 +19,13 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID" - ExecutionDataAPI_SubscribeExecutionData_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionData" - ExecutionDataAPI_SubscribeEvents_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEvents" - ExecutionDataAPI_GetRegisterValues_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetRegisterValues" + ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID" + ExecutionDataAPI_SubscribeExecutionData_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionData" + ExecutionDataAPI_SubscribeEvents_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEvents" + ExecutionDataAPI_SubscribeEventsFromStartBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEventsFromStartBlockID" + ExecutionDataAPI_SubscribeEventsFromStartHeight_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEventsFromStartHeight" + ExecutionDataAPI_SubscribeEventsFromLatest_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEventsFromLatest" + ExecutionDataAPI_GetRegisterValues_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetRegisterValues" ) // ExecutionDataAPIClient is the client API for ExecutionDataAPI service. @@ -77,6 +80,49 @@ type ExecutionDataAPIClient interface { // happen if the block was from a previous spork, or if the block has yet // not been received. SubscribeEvents(ctx context.Context, in *SubscribeEventsRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsClient, error) + // SubscribeEventsFromStartBlockID streams events for all blocks starting at the requested + // start block id, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided EventFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heatbeat responses + // (SubscribeEventsResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + SubscribeEventsFromStartBlockID(ctx context.Context, in *SubscribeEventsFromStartBlockIDRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromStartBlockIDClient, error) + // SubscribeEventsFromStartHeight streams events for all blocks starting at the requested + // start block height, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided EventFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heatbeat responses + // (SubscribeEventsResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + SubscribeEventsFromStartHeight(ctx context.Context, in *SubscribeEventsFromStartHeightRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromStartHeightClient, error) + // SubscribeEventsFromLatest streams events for all blocks starting from the latest sealed + // block. The stream will remain open and responses are sent for each new block as it becomes available. + // + // Events within each block are filtered by the provided EventFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heatbeat responses + // (SubscribeEventsResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + SubscribeEventsFromLatest(ctx context.Context, in *SubscribeEventsFromLatestRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromLatestClient, error) // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(ctx context.Context, in *GetRegisterValuesRequest, opts ...grpc.CallOption) (*GetRegisterValuesResponse, error) } @@ -162,6 +208,102 @@ func (x *executionDataAPISubscribeEventsClient) Recv() (*SubscribeEventsResponse return m, nil } +func (c *executionDataAPIClient) SubscribeEventsFromStartBlockID(ctx context.Context, in *SubscribeEventsFromStartBlockIDRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromStartBlockIDClient, error) { + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[2], ExecutionDataAPI_SubscribeEventsFromStartBlockID_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &executionDataAPISubscribeEventsFromStartBlockIDClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ExecutionDataAPI_SubscribeEventsFromStartBlockIDClient interface { + Recv() (*SubscribeEventsResponse, error) + grpc.ClientStream +} + +type executionDataAPISubscribeEventsFromStartBlockIDClient struct { + grpc.ClientStream +} + +func (x *executionDataAPISubscribeEventsFromStartBlockIDClient) Recv() (*SubscribeEventsResponse, error) { + m := new(SubscribeEventsResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *executionDataAPIClient) SubscribeEventsFromStartHeight(ctx context.Context, in *SubscribeEventsFromStartHeightRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromStartHeightClient, error) { + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[3], ExecutionDataAPI_SubscribeEventsFromStartHeight_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &executionDataAPISubscribeEventsFromStartHeightClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ExecutionDataAPI_SubscribeEventsFromStartHeightClient interface { + Recv() (*SubscribeEventsResponse, error) + grpc.ClientStream +} + +type executionDataAPISubscribeEventsFromStartHeightClient struct { + grpc.ClientStream +} + +func (x *executionDataAPISubscribeEventsFromStartHeightClient) Recv() (*SubscribeEventsResponse, error) { + m := new(SubscribeEventsResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *executionDataAPIClient) SubscribeEventsFromLatest(ctx context.Context, in *SubscribeEventsFromLatestRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromLatestClient, error) { + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[4], ExecutionDataAPI_SubscribeEventsFromLatest_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &executionDataAPISubscribeEventsFromLatestClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ExecutionDataAPI_SubscribeEventsFromLatestClient interface { + Recv() (*SubscribeEventsResponse, error) + grpc.ClientStream +} + +type executionDataAPISubscribeEventsFromLatestClient struct { + grpc.ClientStream +} + +func (x *executionDataAPISubscribeEventsFromLatestClient) Recv() (*SubscribeEventsResponse, error) { + m := new(SubscribeEventsResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + func (c *executionDataAPIClient) GetRegisterValues(ctx context.Context, in *GetRegisterValuesRequest, opts ...grpc.CallOption) (*GetRegisterValuesResponse, error) { out := new(GetRegisterValuesResponse) err := c.cc.Invoke(ctx, ExecutionDataAPI_GetRegisterValues_FullMethodName, in, out, opts...) @@ -223,6 +365,49 @@ type ExecutionDataAPIServer interface { // happen if the block was from a previous spork, or if the block has yet // not been received. SubscribeEvents(*SubscribeEventsRequest, ExecutionDataAPI_SubscribeEventsServer) error + // SubscribeEventsFromStartBlockID streams events for all blocks starting at the requested + // start block id, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided EventFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heatbeat responses + // (SubscribeEventsResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + SubscribeEventsFromStartBlockID(*SubscribeEventsFromStartBlockIDRequest, ExecutionDataAPI_SubscribeEventsFromStartBlockIDServer) error + // SubscribeEventsFromStartHeight streams events for all blocks starting at the requested + // start block height, up until the latest available block. Once the latest is + // reached, the stream will remain open and responses are sent for each new + // block as it becomes available. + // + // Events within each block are filtered by the provided EventFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heatbeat responses + // (SubscribeEventsResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + SubscribeEventsFromStartHeight(*SubscribeEventsFromStartHeightRequest, ExecutionDataAPI_SubscribeEventsFromStartHeightServer) error + // SubscribeEventsFromLatest streams events for all blocks starting from the latest sealed + // block. The stream will remain open and responses are sent for each new block as it becomes available. + // + // Events within each block are filtered by the provided EventFilter, and only + // those events that match the filter are returned. If no filter is provided, + // all events are returned. + // + // Responses are returned for each block containing at least one event that + // matches the filter. Additionally, heatbeat responses + // (SubscribeEventsResponse with no events) are returned periodically to allow + // clients to track which blocks were searched. Clients can use this + // information to determine which block to start from when reconnecting. + SubscribeEventsFromLatest(*SubscribeEventsFromLatestRequest, ExecutionDataAPI_SubscribeEventsFromLatestServer) error // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) } @@ -240,6 +425,15 @@ func (UnimplementedExecutionDataAPIServer) SubscribeExecutionData(*SubscribeExec func (UnimplementedExecutionDataAPIServer) SubscribeEvents(*SubscribeEventsRequest, ExecutionDataAPI_SubscribeEventsServer) error { return status.Errorf(codes.Unimplemented, "method SubscribeEvents not implemented") } +func (UnimplementedExecutionDataAPIServer) SubscribeEventsFromStartBlockID(*SubscribeEventsFromStartBlockIDRequest, ExecutionDataAPI_SubscribeEventsFromStartBlockIDServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeEventsFromStartBlockID not implemented") +} +func (UnimplementedExecutionDataAPIServer) SubscribeEventsFromStartHeight(*SubscribeEventsFromStartHeightRequest, ExecutionDataAPI_SubscribeEventsFromStartHeightServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeEventsFromStartHeight not implemented") +} +func (UnimplementedExecutionDataAPIServer) SubscribeEventsFromLatest(*SubscribeEventsFromLatestRequest, ExecutionDataAPI_SubscribeEventsFromLatestServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeEventsFromLatest not implemented") +} func (UnimplementedExecutionDataAPIServer) GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetRegisterValues not implemented") } @@ -315,6 +509,69 @@ func (x *executionDataAPISubscribeEventsServer) Send(m *SubscribeEventsResponse) return x.ServerStream.SendMsg(m) } +func _ExecutionDataAPI_SubscribeEventsFromStartBlockID_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeEventsFromStartBlockIDRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ExecutionDataAPIServer).SubscribeEventsFromStartBlockID(m, &executionDataAPISubscribeEventsFromStartBlockIDServer{stream}) +} + +type ExecutionDataAPI_SubscribeEventsFromStartBlockIDServer interface { + Send(*SubscribeEventsResponse) error + grpc.ServerStream +} + +type executionDataAPISubscribeEventsFromStartBlockIDServer struct { + grpc.ServerStream +} + +func (x *executionDataAPISubscribeEventsFromStartBlockIDServer) Send(m *SubscribeEventsResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _ExecutionDataAPI_SubscribeEventsFromStartHeight_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeEventsFromStartHeightRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ExecutionDataAPIServer).SubscribeEventsFromStartHeight(m, &executionDataAPISubscribeEventsFromStartHeightServer{stream}) +} + +type ExecutionDataAPI_SubscribeEventsFromStartHeightServer interface { + Send(*SubscribeEventsResponse) error + grpc.ServerStream +} + +type executionDataAPISubscribeEventsFromStartHeightServer struct { + grpc.ServerStream +} + +func (x *executionDataAPISubscribeEventsFromStartHeightServer) Send(m *SubscribeEventsResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _ExecutionDataAPI_SubscribeEventsFromLatest_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeEventsFromLatestRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ExecutionDataAPIServer).SubscribeEventsFromLatest(m, &executionDataAPISubscribeEventsFromLatestServer{stream}) +} + +type ExecutionDataAPI_SubscribeEventsFromLatestServer interface { + Send(*SubscribeEventsResponse) error + grpc.ServerStream +} + +type executionDataAPISubscribeEventsFromLatestServer struct { + grpc.ServerStream +} + +func (x *executionDataAPISubscribeEventsFromLatestServer) Send(m *SubscribeEventsResponse) error { + return x.ServerStream.SendMsg(m) +} + func _ExecutionDataAPI_GetRegisterValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetRegisterValuesRequest) if err := dec(in); err != nil { @@ -360,6 +617,21 @@ var ExecutionDataAPI_ServiceDesc = grpc.ServiceDesc{ Handler: _ExecutionDataAPI_SubscribeEvents_Handler, ServerStreams: true, }, + { + StreamName: "SubscribeEventsFromStartBlockID", + Handler: _ExecutionDataAPI_SubscribeEventsFromStartBlockID_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeEventsFromStartHeight", + Handler: _ExecutionDataAPI_SubscribeEventsFromStartHeight_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeEventsFromLatest", + Handler: _ExecutionDataAPI_SubscribeEventsFromLatest_Handler, + ServerStreams: true, + }, }, Metadata: "flow/executiondata/executiondata.proto", } From 95e76cabc0aa6d346a7085d3e7f623d5ff60db5f Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Thu, 21 Mar 2024 00:49:04 +0530 Subject: [PATCH 171/626] Create 2024-03-21-Protocol-Product-Sync.md Adding this week's sync doc --- agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md diff --git a/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md new file mode 100644 index 000000000..c87bcbd4b --- /dev/null +++ b/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md @@ -0,0 +1,3 @@ +# Please add agenda items below + +1. From 8bd001435949f4259a582c3ad095006ee218203a Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 22 Mar 2024 02:58:43 +0530 Subject: [PATCH 172/626] Update 2024-03-21-Protocol-Product-Sync.md + discussion notes --- .../2024/product-sync/2024-03-21-Protocol-Product-Sync.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md index c87bcbd4b..137333f5a 100644 --- a/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md @@ -1,3 +1,7 @@ # Please add agenda items below -1. +1. Hiring/ Recruitment + a. Probably need a TPM - Come up with a list of priorities, draft and share JD for this role. Check with UX WG's priorities + b. Engineering hires - plans to hire interns, young grads. Protocol should figure the engg resources we'd need. Young grads are preferred (for delegation); senior hiring and onboarding is time-consuming + +2. Flow as a data availability layer - to be discussed with Dete From 7c98663df21c528cad17ac11cc2d6e02a0c696a1 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 22 Mar 2024 03:01:22 +0530 Subject: [PATCH 173/626] Update 2024-03-21-Protocol-Product-Sync.md editing syntax --- .../2024/product-sync/2024-03-21-Protocol-Product-Sync.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md index 137333f5a..3c9dc6975 100644 --- a/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md @@ -1,7 +1,7 @@ # Please add agenda items below -1. Hiring/ Recruitment - a. Probably need a TPM - Come up with a list of priorities, draft and share JD for this role. Check with UX WG's priorities - b. Engineering hires - plans to hire interns, young grads. Protocol should figure the engg resources we'd need. Young grads are preferred (for delegation); senior hiring and onboarding is time-consuming +1. Hiring/ Recruitment
+ a. Probably need a TPM - Come up with a list of priorities, draft and share JD for this role. Check with UX WG's priorities
+ b. Engineering hires - plans to hire interns, young grads. Protocol should figure the engg resources we'd need. Young grads are preferred (for delegation); senior hiring and onboarding is time-consuming 2. Flow as a data availability layer - to be discussed with Dete From cee23759952ee2d0c1a1301a74161991cc032c9c Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 22 Mar 2024 03:02:14 +0530 Subject: [PATCH 174/626] Update 2024-03-21-Protocol-Product-Sync.md adding names --- agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md index 3c9dc6975..b8ea1f4cd 100644 --- a/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-03-21-Protocol-Product-Sync.md @@ -1,7 +1,7 @@ # Please add agenda items below 1. Hiring/ Recruitment
- a. Probably need a TPM - Come up with a list of priorities, draft and share JD for this role. Check with UX WG's priorities
+ a. Probably need a TPM - Come up with a list of priorities, @Kan and @Sean would draft and share JD for this role. Check with UX WG's priorities
b. Engineering hires - plans to hire interns, young grads. Protocol should figure the engg resources we'd need. Young grads are preferred (for delegation); senior hiring and onboarding is time-consuming -2. Flow as a data availability layer - to be discussed with Dete +2. Flow as a data availability layer - to be discussed with @dete From 39a249cc0ec32c676667949a71c34fb05daa4097 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 22 Mar 2024 09:13:59 +0100 Subject: [PATCH 175/626] adding spring kickoff file for Mar 29 2024 --- .../2024-03-29-Flow-Sprint-Kickoff.md | 320 ++++++++++++++++++ 1 file changed, 320 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..ac85e442e --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -0,0 +1,320 @@ +# Overview + + ### Team Wins 🎉 + +* + +--- + +### Mainnet Uptime - Last 7 days (3/9/24 to 3/15/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.92% | 79.0 | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) are now live again on FF Grafana + +[YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents +N/A + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): TBD + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 7 | 8 (+2) | 0 | 5 | **20** (+2) | +| Proposed | 3 | 2 (+1) | 2 | 1 | **8** (+1) | +| Accepted | 2 | 1 | 1 | 2 | **6** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 1 | 19 | 2 | 0 | **22** | +| Released | 4 | 0 | 3 (+1) | 4 | **11** (+1) | +| Total | **17** | **30** (+3) | **9** (+1) | **12** | **68** (+4) | + +- Overall FLIPs went up by 4 in the last sprint. 3 new Cadence FLIPs were drafted and proposed; 1 new Governance FLIP was drafted, implemented and released during the sprint. +- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. +(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) + +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + +Cadence 1.0 migration testing with emulator + +Cadence 1.0 TN migration environment + +Cadence 1.0 features & improvements + +Cadence 1.0 dependency updates + +Cadence Execution + +EVM Gateway productization + +EVM Core + + +**This sprint** + +Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +* [Emulator release is ready](https://github.com/onflow/flow-cli/releases/tag/v1.12.0-cadence-v1.0.0-preview.9), going through last [testing](https://github.com/onflow/cadence/issues/3098) before we announce it. +* Testnet migration completed, moving on to adding [Atree register inlining](https://github.com/onflow/cadence/pull/3048) migration and validating migrated state on the TN migration environment. + +Objective 1, KR4: Testnet Upgrade to Crescendo Release +* Continue with [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) for production readiness. + +Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind +* Continue refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +* Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +* Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + +**On Hold** + +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) + + +**Active Epics** + +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR4: Testnet Upgrade to Crescendo Release +- KR6: Develop & share with community a disaster recovery plan to address potential issues after migration to Crescendo Release. +- KR7: Decision on how to deal with contracts that have not been upgraded to Cadence 1.0 by developers. +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Translate crypto performance improvements to consensus block rate increase +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution + +**Done last sprint** + +* + +**This sprint** + +* EFM Recovery + * Merge KV store state machine PR + * [Integrate state machine with the higher level logic](https://github.com/onflow/flow-go/issues/5319) + * [Integrating KV Store state machine into upgrade integration tests](extending https://github.com/onflow/flow-go/pull/5477) + * [Finalizing smart contract changes](https://github.com/onflow/flow-core-contracts/pull/411) + * [Complete EFM data recovery](https://github.com/dapperlabs/flow-go/issues/6957) + * Wrap up reading and knowledge ramp up for Khalil + * [Start EFM recovery transaction](https://github.com/dapperlabs/flow-go/issues/6956) +* Data Availability + * [Enable programs cache on AN](https://github.com/onflow/flow-go/issues/5278) - finish and deploy to devnet + * [Debug unusual disk usage on ANs](https://github.com/onflow/flow-go/issues/5549) + * KROK team - merge remaining Event streaming PRs which are nearly done + * [SendAndSubscribeTransactionStatuses endpoint implementation for Access Streaming API](https://github.com/onflow/flow-go/pull/5310) + * [Add standard Access API implementations on Observer](https://github.com/onflow/flow-go/pull/5358) + * [Benchmark testing and analysis of execution data indexing on Observers](https://github.com/onflow/flow-go/issues/4849) +* Crypto + * New crypto lib + * Continue following up with ArtBlocks and make sure their node work + * [Reproducing CPU issue on similar CPUs from gcloud](https://github.com/onflow/flow-go/pull/5471) + * Randomness-on chain contract: get back to the contract fix + +**On Hold** +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. +* Implement BFT mitigations to enable 20 permissionless ANs + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- DEX Prep - IncrementFi +- Bridge Prep - Axelar + +**Done last sprint** + +* + +**This sprint** + +* Start milestones #5 & #6 of JVM SDK update to update example repo, then analyze scope of work for subsequent grant + +**On Hold** +- Axelar release waiting confirmation of new timeline, no engineering ongoing + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +* Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +* Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +* Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + +* + +**This sprint** +**Sprint goal focusing on updating EVM docs, tooling support, and examples for Cadence 1.0** + +* EVM Docs v2 +* Add viem guide (EVM) +* Update Access Node Docs +* Create video to demonstrate local upgrade, staging, and state migration +* [Add dependencies from Dependency Manager to a deployment account](https://github.com/onflow/flow-cli/issues/1362) +* [Allow adding alias when adding a contract with Dependency Manager](https://github.com/onflow/flow-cli/issues/1363) +* [QA full Cadence 1.0 state migration in Emulator](https://github.com/onflow/cadence/issues/3098) +* [Add Linter and Cadence checker to CLI stage command](https://github.com/onflow/flow-cli/issues/1454) +* [Review Code Changes for New Token Standards #648](https://github.com/onflow/docs/issues/648) +* Create Cadence 1.0 Project Upgrade demo repo +* [New Dev Docs Landing Page](https://github.com/onflow/docs/issues/509) + +**On Hold** + +* [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) +* [Update Playground to support Cadence 1.0](https://github.com/onflow/flow-playground/issues/760) + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +* + +**This sprint** + +- CTD cadence transactions / scripts for Cadence 1.0 +- COA integration (including Web3.js integration with COA) +- VM Bridge integration, meeting scheduled for Monday. +- CTD: Outreach with Coinbase Wallet, MetaMask, Shadow Wallet and Blocto + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Finish GCP project migration to the Flow Foundation org + +**Done last sprint** + +* + +**Goal of Sprint is to prepare for GCP migration to FF account** +**This Sprint** +- Finish migrating all GCP projects and shift billing accounts for these projects +- Enable FF groups in the GCP projects for IAM shift +- Evaluate best path forward for Terraform management +- Create plan for CloudFlare account migration +- Continue suppporting migration network initiative +- Continue supporting Cloud Run migration initiative + +--- + +### **Governance and Tokenomics** \[Kshitij] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** + +* + +**This sprint** + +- Publish forum post detailing the computation limit, gas to compute conversion, and the transaction fee increase +- EIP 4844 vs Flow analysis - create self explanatory publicly available spreadsheets, write a blog post +- Partner outreach regarding the upcoming transaction fee increase +- Model inflation reduction via two methods - (1) a planned reduction in reward rate over time like sol, and (2) a capped reward number that reduces inflation over time when the cap hits in future +- Finalize cresendo related governance and tokenomics plan +- Consensus node rebalancing exercise to maintain decentralization + +**On Hold** + +- N/A + + +**Active Epics** + +- N/A From 0d8db0296cf6c6e59bb7f3b913d921b5d9ec3f0d Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 22 Mar 2024 09:33:19 +0100 Subject: [PATCH 176/626] adding Cadence updates 18-23 Mar --- .../2024-03-29-Flow-Sprint-Kickoff.md | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index ac85e442e..149e9747e 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -65,19 +65,33 @@ Cycle Objective(s): **Done last sprint** -Cadence 1.0 migration testing with emulator +Cadence 1.0 migration testing with emulator & TN migration environment +- [Make contract update validation thread safe](https://github.com/onflow/flow-go/issues/5565) +- [Improve cadence migrations](https://github.com/onflow/flow-go/issues/5564) +- [Relax interface conformance changes in contract update validator](https://github.com/onflow/cadence/pull/3184) +- [Fix import resolving during staged contract updates](https://github.com/onflow/flow-go/issues/5551) -Cadence 1.0 TN migration environment +Cadence 1.0 dependency updates +- CLI: [1](https://github.com/onflow/flow-cli/issues/1470), [2](https://github.com/onflow/flow-cli/issues/1462) +- EVM Gateway: [1](https://github.com/onflow/flow-evm-gateway/issues/175), [2](https://github.com/onflow/flow-evm-gateway/issues/165) +- flixkit-go: [1](https://github.com/onflow/flixkit-go/issues/52), [2](https://github.com/onflow/flixkit-go/issues/51) +- cadence-tools: [1](https://github.com/onflow/cadence-tools/issues/323), [2](https://github.com/onflow/cadence-tools/issues/322), [3](https://github.com/onflow/cadence-tools/issues/320), [4](https://github.com/onflow/cadence-tools/issues/318), [5](https://github.com/onflow/cadence-tools/issues/316) +- flowkit: [1](https://github.com/onflow/flowkit/issues/32), [2](https://github.com/onflow/flowkit/issues/31), [3](https://github.com/onflow/flowkit/issues/30) +- emulator: [1](https://github.com/onflow/flow-emulator/issues/622), [2](https://github.com/onflow/flow-emulator/issues/621), [3](https://github.com/onflow/flow-emulator/issues/618) +- flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/issues/610), [2](https://github.com/onflow/flow-go-sdk/issues/609) +- flow-go: [1](https://github.com/onflow/flow-go/issues/5555) Cadence 1.0 features & improvements -Cadence 1.0 dependency updates - Cadence Execution EVM Gateway productization EVM Core +- [Populate receiptRoot in the block](https://github.com/onflow/flow-go/issues/5509) +- [Add flow token bridge events](https://github.com/onflow/flow-go/issues/5537) +- [Fix the possibility of concurrent Precompile setup calls](https://github.com/onflow/flow-go/issues/5512) +- Go-ethereum: [Update internal package references](https://github.com/onflow/go-ethereum/pull/5) **This sprint** From e992f45aaa3e9360767e633f57d797c5e45a1002 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Mon, 25 Mar 2024 11:15:50 +0200 Subject: [PATCH 177/626] Added message index to SubscribeEventsResponse --- .../flow/executiondata/executiondata.proto | 3 + .../go/flow/executiondata/executiondata.pb.go | 130 ++++++++++-------- 2 files changed, 73 insertions(+), 60 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index ba3f758bf..e5f6f3ba4 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -295,6 +295,9 @@ message SubscribeEventsResponse { // Timestamp from the block containing the events. google.protobuf.Timestamp block_timestamp = 4; + + // The message index of the response message. Used by the client to ensure they received all messages. Starts from "0". + uint64 message_index = 5; } // EventFilter defines the filter to apply to block events. diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index 3af5a0c5d..a8721ca04 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -580,10 +580,12 @@ type SubscribeEventsResponse struct { // information to determine which block to start from when reconnecting. Events []*entities.Event `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"` // Timestamp from the block containing the events. - BlockTimestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=block_timestamp,json=blockTimestamp,proto3" json:"block_timestamp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + BlockTimestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=block_timestamp,json=blockTimestamp,proto3" json:"block_timestamp,omitempty"` + // The message index of the response message. Used by the client to ensure they received all messages. Starts from "0". + MessageIndex uint64 `protobuf:"varint,5,opt,name=message_index,json=messageIndex,proto3" json:"message_index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SubscribeEventsResponse) Reset() { *m = SubscribeEventsResponse{} } @@ -639,6 +641,13 @@ func (m *SubscribeEventsResponse) GetBlockTimestamp() *timestamppb.Timestamp { return nil } +func (m *SubscribeEventsResponse) GetMessageIndex() uint64 { + if m != nil { + return m.MessageIndex + } + return 0 +} + // EventFilter defines the filter to apply to block events. // Filters are applied as an OR operation, i.e. any event matching any of the // filters is returned. If no filters are provided, all events are returned. If @@ -839,60 +848,61 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 870 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x57, 0xcd, 0x6e, 0xdb, 0x46, - 0x10, 0xc6, 0x52, 0xaa, 0x6c, 0x8f, 0x04, 0xff, 0x2c, 0x0c, 0x57, 0x22, 0xea, 0x5a, 0x52, 0x5b, - 0x43, 0x68, 0x6d, 0xaa, 0x95, 0x6b, 0x14, 0x2d, 0x7a, 0xa9, 0x2a, 0xdb, 0x11, 0x90, 0x43, 0x40, - 0x1b, 0x06, 0xe2, 0x8b, 0x40, 0x8a, 0x6b, 0x8a, 0x88, 0xc4, 0x55, 0xc8, 0x95, 0x62, 0x23, 0x97, - 0xe4, 0x16, 0x04, 0xb9, 0xe4, 0xe6, 0x63, 0xde, 0x20, 0xef, 0x91, 0x43, 0xde, 0x20, 0xc7, 0xbc, - 0x47, 0xa0, 0xe5, 0x92, 0x12, 0x25, 0xea, 0x87, 0x90, 0x73, 0xc8, 0x45, 0xc0, 0xee, 0x7c, 0xb3, - 0xf3, 0xcd, 0xb7, 0xc3, 0x99, 0x15, 0xec, 0x5f, 0xb7, 0xe9, 0xb3, 0x32, 0xb9, 0x21, 0xcd, 0x1e, - 0xb3, 0xa8, 0x6d, 0x68, 0x4c, 0x0b, 0xaf, 0x94, 0xae, 0x43, 0x19, 0xc5, 0x78, 0x80, 0x53, 0x42, - 0x16, 0xb9, 0xe4, 0xf9, 0xda, 0xcc, 0x62, 0x16, 0x71, 0xcb, 0x7a, 0x9b, 0x36, 0x9f, 0x34, 0x02, - 0x48, 0x63, 0xe8, 0x2d, 0xe7, 0xc2, 0x48, 0xd2, 0x27, 0x36, 0x13, 0xa6, 0x1f, 0xc2, 0x26, 0x87, - 0x98, 0x96, 0xcb, 0x88, 0x23, 0xac, 0x7b, 0x26, 0xa5, 0x66, 0x9b, 0x94, 0xf9, 0x4a, 0xef, 0x5d, - 0x97, 0x99, 0xd5, 0x21, 0x2e, 0xd3, 0x3a, 0x5d, 0x0f, 0x50, 0xbc, 0x43, 0x90, 0x3f, 0x23, 0xec, - 0xc4, 0x8f, 0x5a, 0xd3, 0x98, 0x56, 0xbd, 0xad, 0x0e, 0xa8, 0xd4, 0x6b, 0x2a, 0x79, 0xda, 0x23, - 0x2e, 0xc3, 0x39, 0x58, 0xf5, 0xc8, 0x59, 0x46, 0x16, 0xe5, 0x51, 0x29, 0xa3, 0xae, 0xf0, 0x75, - 0xdd, 0xc0, 0x8f, 0x61, 0x87, 0xb3, 0x69, 0x10, 0xbb, 0x49, 0x0d, 0xcb, 0x36, 0x1b, 0x7d, 0xe2, - 0xb8, 0x16, 0xb5, 0xb3, 0x52, 0x1e, 0x95, 0xd6, 0x2b, 0x3f, 0x29, 0x5e, 0xe2, 0x82, 0x9f, 0x72, - 0x32, 0x00, 0x9f, 0x08, 0xec, 0xa5, 0x07, 0x55, 0xb7, 0x49, 0xc4, 0x6e, 0xf1, 0x06, 0x0a, 0x33, - 0x98, 0xb9, 0x5d, 0x6a, 0xbb, 0x04, 0x9f, 0xc3, 0x76, 0x94, 0x6e, 0x9c, 0x66, 0xba, 0x52, 0x18, - 0x8b, 0xce, 0xbd, 0x43, 0x27, 0xaa, 0x58, 0x9f, 0xd8, 0x2b, 0x7e, 0x44, 0xb0, 0x7b, 0xde, 0xd3, - 0xdd, 0xa6, 0x63, 0xe9, 0x24, 0x0c, 0x17, 0x8a, 0xfc, 0x0c, 0xeb, 0x2e, 0xd3, 0x1c, 0xd6, 0x18, - 0xd3, 0x25, 0xc3, 0x77, 0xab, 0x42, 0x9c, 0x03, 0xc0, 0xa3, 0xa8, 0x16, 0xb1, 0xcc, 0x16, 0xe3, - 0xc2, 0x24, 0xd5, 0xcd, 0x21, 0xf2, 0x01, 0xdf, 0x9f, 0x21, 0x65, 0x62, 0x59, 0x29, 0x3f, 0x21, - 0xf8, 0x71, 0x5a, 0x42, 0x42, 0xc8, 0x02, 0x64, 0x42, 0x2c, 0x11, 0x67, 0x99, 0xd6, 0x47, 0x08, - 0x4e, 0xd3, 0x5a, 0x5a, 0x42, 0x6b, 0xfc, 0x3f, 0x6c, 0x78, 0x87, 0x06, 0x95, 0xc9, 0xd3, 0x4d, - 0x57, 0x64, 0xc5, 0xab, 0x5d, 0xc5, 0xaf, 0x5d, 0xe5, 0xc2, 0x47, 0xa8, 0xeb, 0xdc, 0x25, 0x58, - 0x17, 0xdf, 0x4b, 0xb0, 0x33, 0xcc, 0x6f, 0xa0, 0x80, 0xfb, 0x35, 0x6f, 0xea, 0x2f, 0x48, 0x5d, - 0x5b, 0x6d, 0x46, 0x1c, 0x41, 0x75, 0x4f, 0x99, 0xfc, 0xba, 0xbd, 0xeb, 0x39, 0xe5, 0x30, 0x55, - 0xc0, 0xf1, 0x21, 0xe0, 0x16, 0xd1, 0x1c, 0xa6, 0x13, 0x8d, 0x35, 0x2c, 0x9b, 0x11, 0xa7, 0xaf, - 0xb5, 0xb3, 0x49, 0x1e, 0x66, 0x2b, 0xb0, 0xd4, 0x85, 0x61, 0x46, 0x45, 0x7c, 0xb7, 0x6c, 0x45, - 0xbc, 0x95, 0x60, 0x7f, 0x4c, 0xb1, 0x53, 0x87, 0x76, 0xce, 0x87, 0xa2, 0xd4, 0xe2, 0x29, 0x38, - 0xd4, 0x44, 0xba, 0x0f, 0x4d, 0x12, 0xf1, 0x35, 0x49, 0x2e, 0xab, 0xc9, 0x9d, 0x04, 0xbf, 0x4c, - 0xd3, 0xc4, 0xbb, 0x79, 0x5f, 0x92, 0xe8, 0x72, 0x41, 0x73, 0xcb, 0xe5, 0x9b, 0x95, 0xe6, 0x33, - 0x82, 0x7c, 0x84, 0x34, 0x0f, 0x35, 0x46, 0xdc, 0x40, 0x95, 0x61, 0x9e, 0xe8, 0x3e, 0xf2, 0x94, - 0xe2, 0xe7, 0xb9, 0x74, 0xa3, 0xfc, 0x80, 0xe0, 0xfb, 0x89, 0x46, 0x22, 0x3a, 0xe4, 0x8c, 0x29, - 0x38, 0xde, 0x3c, 0xa5, 0xc9, 0xe6, 0x79, 0x00, 0x29, 0x1e, 0xd1, 0xcd, 0x26, 0xf2, 0x89, 0x52, - 0xba, 0xb2, 0x1d, 0x45, 0x52, 0x15, 0x98, 0xa8, 0xae, 0x98, 0x8c, 0xdd, 0x15, 0x75, 0x48, 0x8f, - 0xa8, 0x8d, 0x77, 0x01, 0x3c, 0xd9, 0xd8, 0x6d, 0x97, 0x64, 0x51, 0x3e, 0x51, 0x5a, 0x53, 0xd7, - 0xf8, 0xce, 0xc5, 0x6d, 0x97, 0x60, 0x19, 0x56, 0x9b, 0xd4, 0x66, 0x8e, 0xd6, 0x1c, 0xf0, 0x1f, - 0x18, 0x83, 0x35, 0xce, 0xc2, 0x8a, 0x66, 0x18, 0x0e, 0x71, 0x3d, 0xf6, 0x6b, 0xaa, 0xbf, 0x2c, - 0x3e, 0x87, 0xec, 0x19, 0x61, 0xaa, 0x78, 0x75, 0x5c, 0x6a, 0xed, 0x1e, 0x09, 0x5a, 0xef, 0x02, - 0x23, 0xe5, 0x5f, 0xc8, 0xf8, 0x2f, 0x96, 0x86, 0x65, 0xb8, 0x3c, 0x70, 0xba, 0x92, 0x1b, 0xd3, - 0xc6, 0x3f, 0xbe, 0x5e, 0x53, 0xd3, 0x3e, 0xbc, 0x6e, 0xb8, 0xc5, 0x23, 0xc8, 0x45, 0x04, 0x17, - 0xd7, 0xb5, 0x03, 0xa9, 0x3e, 0xdf, 0xe1, 0xa9, 0x66, 0x54, 0xb1, 0xaa, 0xbc, 0x5b, 0x81, 0xcd, - 0xd0, 0x08, 0xfa, 0xef, 0x51, 0x1d, 0xbf, 0x42, 0xfc, 0xa8, 0xe8, 0xc7, 0x06, 0xfe, 0x33, 0xaa, - 0x90, 0xe7, 0xbd, 0x9a, 0xe4, 0xe3, 0x98, 0x5e, 0x82, 0xf7, 0x4b, 0x34, 0x3a, 0xcb, 0x42, 0xb3, - 0xf2, 0x8f, 0xa8, 0x13, 0x67, 0x3e, 0x54, 0xe4, 0x4a, 0x1c, 0x17, 0x8f, 0xc1, 0xef, 0x08, 0xb7, - 0x61, 0x63, 0xec, 0x2b, 0xc0, 0xbf, 0xce, 0x3e, 0x68, 0x74, 0xe6, 0xca, 0xbf, 0x2d, 0x84, 0x0d, - 0xa2, 0xbd, 0x41, 0xb0, 0x37, 0x67, 0x16, 0xe1, 0x7f, 0x16, 0x38, 0x72, 0xca, 0x00, 0x8b, 0x4b, - 0xe7, 0x75, 0xe8, 0xb1, 0x14, 0x35, 0x06, 0xf0, 0xdf, 0x71, 0xd8, 0x84, 0x46, 0x47, 0x5c, 0x32, - 0x2f, 0x10, 0xe4, 0xa6, 0x36, 0xde, 0xe8, 0xc2, 0x9c, 0xd7, 0xa7, 0xe3, 0x52, 0xe8, 0xc2, 0xd6, - 0xc4, 0x57, 0x86, 0x0f, 0xa6, 0x14, 0x77, 0x64, 0x27, 0x90, 0x0f, 0x17, 0x44, 0x7b, 0x31, 0xab, - 0x57, 0x50, 0xa0, 0x8e, 0xa9, 0x50, 0x9b, 0x7b, 0x05, 0x9d, 0x2e, 0xe4, 0x7e, 0x75, 0x6c, 0x5a, - 0xac, 0xd5, 0xd3, 0x95, 0x26, 0xed, 0x94, 0x3d, 0x64, 0x99, 0xff, 0x04, 0x7f, 0x75, 0x4c, 0x5a, - 0x9e, 0xfc, 0x73, 0xa6, 0xa7, 0xb8, 0xfd, 0xe8, 0x4b, 0x00, 0x00, 0x00, 0xff, 0xff, 0x32, 0x60, - 0x28, 0x33, 0xb9, 0x0d, 0x00, 0x00, + // 891 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x57, 0xcf, 0x6e, 0xf3, 0x44, + 0x10, 0xd7, 0x3a, 0x21, 0xfd, 0x3a, 0x09, 0xfd, 0xbe, 0xae, 0xaa, 0x92, 0x58, 0x94, 0x26, 0x29, + 0x54, 0x11, 0xb4, 0x0e, 0xa4, 0x54, 0x08, 0xc4, 0x85, 0x90, 0xb6, 0x44, 0xe2, 0x80, 0xdc, 0xaa, + 0x12, 0xbd, 0x58, 0x76, 0xbc, 0x75, 0x2c, 0x12, 0x6f, 0xf0, 0x6e, 0x42, 0x2b, 0x2e, 0x70, 0x43, + 0x88, 0x0b, 0xb7, 0x1e, 0x79, 0x03, 0xde, 0x84, 0x37, 0xe0, 0xc8, 0x99, 0x57, 0x40, 0x59, 0xaf, + 0x9d, 0x38, 0x71, 0xfe, 0x58, 0x29, 0x87, 0xef, 0x12, 0x69, 0x77, 0x7e, 0xb3, 0xf3, 0x9b, 0xdf, + 0x8e, 0x67, 0x36, 0x70, 0x7c, 0xdf, 0xa3, 0x3f, 0xd4, 0xc9, 0x03, 0xe9, 0x0c, 0xb9, 0x4b, 0x3d, + 0xdb, 0xe4, 0x66, 0x7c, 0xa5, 0x0d, 0x7c, 0xca, 0x29, 0xc6, 0x63, 0x9c, 0x16, 0xb3, 0xa8, 0xb5, + 0xc0, 0xd7, 0xe3, 0x2e, 0x77, 0x09, 0xab, 0x5b, 0x3d, 0xda, 0xf9, 0xce, 0x88, 0x20, 0xc6, 0xc4, + 0x5b, 0x2d, 0xc5, 0x91, 0x64, 0x44, 0x3c, 0x2e, 0x4d, 0x6f, 0xc7, 0x4d, 0x3e, 0x71, 0x5c, 0xc6, + 0x89, 0x2f, 0xad, 0x87, 0x0e, 0xa5, 0x4e, 0x8f, 0xd4, 0xc5, 0xca, 0x1a, 0xde, 0xd7, 0xb9, 0xdb, + 0x27, 0x8c, 0x9b, 0xfd, 0x41, 0x00, 0xa8, 0x3e, 0x21, 0x28, 0x5f, 0x11, 0x7e, 0x11, 0x46, 0x6d, + 0x99, 0xdc, 0x6c, 0x3e, 0x36, 0xc7, 0x54, 0xda, 0x2d, 0x9d, 0x7c, 0x3f, 0x24, 0x8c, 0xe3, 0x12, + 0xbc, 0x08, 0xc8, 0xb9, 0x76, 0x11, 0x95, 0x51, 0xad, 0xa0, 0x6f, 0x89, 0x75, 0xdb, 0xc6, 0xdf, + 0xc2, 0xbe, 0x60, 0x63, 0x10, 0xaf, 0x43, 0x6d, 0xd7, 0x73, 0x8c, 0x11, 0xf1, 0x99, 0x4b, 0xbd, + 0xa2, 0x52, 0x46, 0xb5, 0x9d, 0xc6, 0x91, 0x16, 0x24, 0x2e, 0xf9, 0x69, 0x17, 0x63, 0xf0, 0x85, + 0xc4, 0xde, 0x06, 0x50, 0x7d, 0x8f, 0x24, 0xec, 0x56, 0x1f, 0xa0, 0xb2, 0x84, 0x19, 0x1b, 0x50, + 0x8f, 0x11, 0x7c, 0x0d, 0x7b, 0x49, 0xba, 0x09, 0x9a, 0xf9, 0x46, 0x65, 0x26, 0xba, 0xf0, 0x8e, + 0x9d, 0xa8, 0x63, 0x6b, 0x6e, 0xaf, 0xfa, 0x17, 0x82, 0x83, 0xeb, 0xa1, 0xc5, 0x3a, 0xbe, 0x6b, + 0x91, 0x38, 0x5c, 0x2a, 0xf2, 0x2e, 0xec, 0x30, 0x6e, 0xfa, 0xdc, 0x98, 0xd1, 0xa5, 0x20, 0x76, + 0x9b, 0x52, 0x9c, 0x13, 0xc0, 0xd3, 0xa8, 0x2e, 0x71, 0x9d, 0x2e, 0x17, 0xc2, 0x64, 0xf5, 0x57, + 0x13, 0xe4, 0x57, 0x62, 0x7f, 0x89, 0x94, 0x99, 0x4d, 0xa5, 0xfc, 0x1b, 0xc1, 0x3b, 0x8b, 0x12, + 0x92, 0x42, 0x56, 0xa0, 0x10, 0x63, 0x89, 0x04, 0xcb, 0xbc, 0x35, 0x45, 0x70, 0x91, 0xd6, 0xca, + 0x06, 0x5a, 0xe3, 0x2f, 0xe1, 0x65, 0x70, 0x68, 0x54, 0x99, 0x22, 0xdd, 0x7c, 0x43, 0xd5, 0x82, + 0xda, 0xd5, 0xc2, 0xda, 0xd5, 0x6e, 0x42, 0x84, 0xbe, 0x23, 0x5c, 0xa2, 0x75, 0xf5, 0x4f, 0x05, + 0xf6, 0x27, 0xf9, 0x8d, 0x15, 0x60, 0xff, 0xe7, 0x4d, 0x7d, 0x02, 0xb9, 0x7b, 0xb7, 0xc7, 0x89, + 0x2f, 0xa9, 0x1e, 0x6a, 0xf3, 0x5f, 0x77, 0x70, 0x3d, 0x97, 0x02, 0xa6, 0x4b, 0x38, 0x3e, 0x05, + 0xdc, 0x25, 0xa6, 0xcf, 0x2d, 0x62, 0x72, 0xc3, 0xf5, 0x38, 0xf1, 0x47, 0x66, 0xaf, 0x98, 0x15, + 0x61, 0x76, 0x23, 0x4b, 0x5b, 0x1a, 0x96, 0x54, 0xc4, 0x1b, 0x9b, 0x56, 0xc4, 0xef, 0x0a, 0x1c, + 0xcf, 0x28, 0x76, 0xe9, 0xd3, 0xfe, 0xf5, 0x44, 0x94, 0x56, 0x3a, 0x05, 0x27, 0x9a, 0x28, 0xcf, + 0xa1, 0x49, 0x26, 0xbd, 0x26, 0xd9, 0x4d, 0x35, 0x79, 0x52, 0xe0, 0xbd, 0x45, 0x9a, 0x04, 0x37, + 0x1f, 0x4a, 0x92, 0x5c, 0x2e, 0x68, 0x65, 0xb9, 0xbc, 0xb6, 0xd2, 0xfc, 0x83, 0xa0, 0x9c, 0x20, + 0xcd, 0xd7, 0x26, 0x27, 0x2c, 0x52, 0x65, 0x92, 0x27, 0x7a, 0x8e, 0x3c, 0x95, 0xf4, 0x79, 0x6e, + 0xdc, 0x28, 0xff, 0x45, 0xf0, 0xd6, 0x5c, 0x23, 0x91, 0x1d, 0x72, 0xc9, 0x14, 0x9c, 0x6d, 0x9e, + 0xca, 0x7c, 0xf3, 0x3c, 0x81, 0x9c, 0x88, 0xc8, 0x8a, 0x99, 0x72, 0xa6, 0x96, 0x6f, 0xec, 0x25, + 0x91, 0xd4, 0x25, 0x26, 0xa9, 0x2b, 0x66, 0xd3, 0x76, 0x45, 0x7c, 0x04, 0x6f, 0xf6, 0x09, 0x63, + 0xa6, 0x43, 0x0c, 0xd7, 0xb3, 0xc9, 0x83, 0xe8, 0x1a, 0x59, 0xbd, 0x20, 0x37, 0xdb, 0xe3, 0xbd, + 0xaa, 0x05, 0xf9, 0xa9, 0x2b, 0xc1, 0x07, 0x00, 0x81, 0xb6, 0xfc, 0x71, 0x40, 0x8a, 0xa8, 0x9c, + 0xa9, 0x6d, 0xeb, 0xdb, 0x62, 0xe7, 0xe6, 0x71, 0x40, 0xb0, 0x0a, 0x2f, 0x3a, 0xd4, 0xe3, 0xbe, + 0xd9, 0x19, 0x27, 0x39, 0x36, 0x46, 0x6b, 0x5c, 0x84, 0x2d, 0xd3, 0xb6, 0x7d, 0xc2, 0x82, 0x14, + 0xb7, 0xf5, 0x70, 0x59, 0xfd, 0x11, 0x8a, 0x57, 0x84, 0xeb, 0xf2, 0x69, 0x72, 0x6b, 0xf6, 0x86, + 0x24, 0xea, 0xcf, 0x6b, 0xcc, 0x9d, 0xcf, 0xa1, 0x10, 0x3e, 0x6b, 0x0c, 0xd7, 0x66, 0x22, 0x70, + 0xbe, 0x51, 0x9a, 0x11, 0x30, 0x3c, 0xbe, 0xdd, 0xd2, 0xf3, 0x21, 0xbc, 0x6d, 0xb3, 0xea, 0x19, + 0x94, 0x12, 0x82, 0xcb, 0x3b, 0xdd, 0x87, 0xdc, 0x48, 0xec, 0x88, 0x54, 0x0b, 0xba, 0x5c, 0x35, + 0xfe, 0xd8, 0x82, 0x57, 0xb1, 0x39, 0xf5, 0xc5, 0x37, 0x6d, 0xfc, 0x0b, 0x12, 0x47, 0x25, 0xbf, + 0x48, 0xf0, 0xc7, 0x49, 0xd5, 0xbe, 0xea, 0x69, 0xa5, 0x9e, 0xa7, 0xf4, 0x92, 0xbc, 0x7f, 0x46, + 0xd3, 0x03, 0x2f, 0x36, 0x50, 0x3f, 0x4a, 0x3a, 0x71, 0xe9, 0x6b, 0x46, 0x6d, 0xa4, 0x71, 0x09, + 0x18, 0x7c, 0x88, 0x70, 0x0f, 0x5e, 0xce, 0x7c, 0x2a, 0xf8, 0xfd, 0xe5, 0x07, 0x4d, 0x0f, 0x66, + 0xf5, 0x83, 0xb5, 0xb0, 0x51, 0xb4, 0xdf, 0x10, 0x1c, 0xae, 0x18, 0x58, 0xf8, 0xb3, 0x35, 0x8e, + 0x5c, 0x30, 0xe5, 0xd2, 0xd2, 0xf9, 0x35, 0xf6, 0xa2, 0x4a, 0x9a, 0x15, 0xf8, 0xd3, 0x34, 0x6c, + 0x62, 0xf3, 0x25, 0x2d, 0x99, 0x9f, 0x10, 0x94, 0x16, 0x76, 0xe7, 0xe4, 0xc2, 0x5c, 0xd5, 0xcc, + 0xd3, 0x52, 0x18, 0xc0, 0xee, 0xdc, 0x57, 0x86, 0x4f, 0x16, 0x14, 0x77, 0x62, 0x27, 0x50, 0x4f, + 0xd7, 0x44, 0x07, 0x31, 0x9b, 0x77, 0x50, 0xa1, 0xbe, 0xa3, 0x51, 0x4f, 0x78, 0x45, 0xed, 0x30, + 0xe6, 0x7e, 0x77, 0xee, 0xb8, 0xbc, 0x3b, 0xb4, 0xb4, 0x0e, 0xed, 0xd7, 0x03, 0x64, 0x5d, 0xfc, + 0x44, 0xff, 0x87, 0x1c, 0x5a, 0x9f, 0xff, 0x07, 0x67, 0xe5, 0x84, 0xfd, 0xec, 0xbf, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x63, 0x6b, 0x4b, 0x9d, 0xde, 0x0d, 0x00, 0x00, } From d668d54a6c4cdc4814ee973840a66b3184a8337b Mon Sep 17 00:00:00 2001 From: Andrii Slisarchuk Date: Tue, 26 Mar 2024 14:51:30 +0200 Subject: [PATCH 178/626] Added TX Result --- protobuf/flow/access/access.proto | 14 +- protobuf/go/flow/access/access.pb.go | 327 +++++++++++++-------------- 2 files changed, 159 insertions(+), 182 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index fc826ba1b..1909ceebe 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -660,16 +660,8 @@ message SendAndSubscribeTransactionStatusesRequest { // Response message for transaction status changes. message SendAndSubscribeTransactionStatusesResponse { - // The ID of the tracked transaction. - bytes id = 1; - // The status of the tracked transaction - // Possible transaction statuses are: - // - TransactionStatusPending - // - TransactionStatusFinalized - // - TransactionStatusExecuted - // - TransactionStatusSealed - // - `TransactionStatusExpired - entities.TransactionStatus status = 2; + // Transaction result of the tracked transaction + TransactionResultResponse transaction_results = 1; // The message index of the response message. Used by the client to ensure they received all messages. Starts from "0". - uint64 message_index = 3; + uint64 message_index = 2; } \ No newline at end of file diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 3a6138835..1e0c2967c 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2950,18 +2950,10 @@ func (m *SendAndSubscribeTransactionStatusesRequest) GetTransaction() *entities. // Response message for transaction status changes. type SendAndSubscribeTransactionStatusesResponse struct { - // The ID of the tracked transaction. - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // The status of the tracked transaction - // Possible transaction statuses are: - // - TransactionStatusPending - // - TransactionStatusFinalized - // - TransactionStatusExecuted - // - TransactionStatusSealed - // - `TransactionStatusExpired - Status entities.TransactionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=flow.entities.TransactionStatus" json:"status,omitempty"` + // Transaction result of the tracked transaction + TransactionResults *TransactionResultResponse `protobuf:"bytes,1,opt,name=transaction_results,json=transactionResults,proto3" json:"transaction_results,omitempty"` // The message index of the response message. Used by the client to ensure they received all messages. Starts from "0". - MessageIndex uint64 `protobuf:"varint,3,opt,name=message_index,json=messageIndex,proto3" json:"message_index,omitempty"` + MessageIndex uint64 `protobuf:"varint,2,opt,name=message_index,json=messageIndex,proto3" json:"message_index,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2996,20 +2988,13 @@ func (m *SendAndSubscribeTransactionStatusesResponse) XXX_DiscardUnknown() { var xxx_messageInfo_SendAndSubscribeTransactionStatusesResponse proto.InternalMessageInfo -func (m *SendAndSubscribeTransactionStatusesResponse) GetId() []byte { +func (m *SendAndSubscribeTransactionStatusesResponse) GetTransactionResults() *TransactionResultResponse { if m != nil { - return m.Id + return m.TransactionResults } return nil } -func (m *SendAndSubscribeTransactionStatusesResponse) GetStatus() entities.TransactionStatus { - if m != nil { - return m.Status - } - return entities.TransactionStatus_UNKNOWN -} - func (m *SendAndSubscribeTransactionStatusesResponse) GetMessageIndex() uint64 { if m != nil { return m.MessageIndex @@ -3085,155 +3070,155 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2393 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcd, 0x6f, 0xdc, 0xc6, - 0x15, 0x07, 0x77, 0x65, 0x7d, 0x3c, 0xad, 0x64, 0x7b, 0xac, 0xc8, 0x2b, 0xca, 0x92, 0xd6, 0x94, - 0x14, 0x2b, 0xb6, 0xb3, 0x32, 0xe4, 0x16, 0xb1, 0xd3, 0x0f, 0x54, 0x72, 0x14, 0x45, 0x80, 0x1d, - 0x08, 0x5c, 0xc7, 0x45, 0xda, 0x26, 0x02, 0xb5, 0x1c, 0xad, 0x58, 0xef, 0x92, 0x5b, 0x92, 0x6b, - 0x5b, 0x6d, 0x50, 0xe4, 0x60, 0x14, 0x05, 0x0a, 0xf4, 0x03, 0x3d, 0x14, 0x0d, 0xda, 0x4b, 0x7b, - 0x6a, 0x2f, 0x3d, 0xf5, 0x50, 0x14, 0x45, 0x81, 0xa2, 0xff, 0x40, 0xff, 0xa2, 0x16, 0x9c, 0x19, - 0x72, 0x39, 0xc3, 0xe1, 0x2c, 0x77, 0xe5, 0x54, 0xbe, 0x24, 0x22, 0xe7, 0xcd, 0x7b, 0xbf, 0x99, - 0xf7, 0x31, 0xc3, 0xdf, 0x5b, 0x43, 0xf5, 0xb8, 0xed, 0x3d, 0xdf, 0xb4, 0x9a, 0x4d, 0x1c, 0x04, - 0xec, 0x7f, 0xf5, 0xae, 0xef, 0x85, 0x1e, 0x9a, 0x8e, 0x46, 0xea, 0xf4, 0x95, 0xbe, 0x48, 0xc4, - 0xb0, 0x1b, 0x3a, 0xa1, 0x83, 0x89, 0xa0, 0xd7, 0x73, 0x43, 0x2a, 0xa9, 0xd7, 0xf8, 0xc1, 0xa3, - 0xb6, 0xd7, 0x7c, 0x7a, 0x78, 0x82, 0x2d, 0x1b, 0xfb, 0x4c, 0x62, 0x41, 0x22, 0xc1, 0x86, 0x96, - 0xf9, 0xa1, 0xa6, 0xd7, 0x6e, 0xe3, 0x66, 0xe8, 0x78, 0xae, 0x7c, 0x2a, 0x7e, 0x86, 0x13, 0xbb, - 0x6b, 0xc2, 0xd0, 0x0b, 0xdc, 0xec, 0x45, 0x33, 0x0f, 0x7d, 0x1c, 0xf4, 0xda, 0xb1, 0xd4, 0x35, - 0x5e, 0xaa, 0x83, 0x43, 0xcb, 0xb6, 0x42, 0x8b, 0x8d, 0xae, 0xf3, 0xa3, 0xae, 0x67, 0xe3, 0xc3, - 0x67, 0xd8, 0x0f, 0x22, 0x35, 0x8e, 0x7b, 0xec, 0x31, 0xb1, 0x15, 0x5e, 0x2c, 0xf4, 0x2d, 0x37, - 0xb0, 0xd2, 0x30, 0x57, 0x5a, 0x9e, 0xd7, 0x6a, 0xe3, 0x4d, 0xf2, 0x74, 0xd4, 0x3b, 0xde, 0x0c, - 0x9d, 0x0e, 0x0e, 0x42, 0xab, 0xd3, 0xa5, 0x02, 0xc6, 0x0c, 0x4c, 0x1f, 0x38, 0x6e, 0xcb, 0xc4, - 0x3f, 0xe8, 0xe1, 0x20, 0x34, 0x66, 0xa1, 0x42, 0x1f, 0x83, 0xae, 0xe7, 0x06, 0xd8, 0x58, 0x84, - 0x85, 0x3d, 0x1c, 0x7e, 0xe8, 0xd9, 0xf8, 0x09, 0xb5, 0xbe, 0xef, 0x1e, 0x7b, 0xb1, 0xf0, 0x01, - 0xe8, 0xb2, 0x41, 0x3a, 0x15, 0x6d, 0xc1, 0x58, 0x84, 0xb4, 0xaa, 0xd5, 0xb4, 0x8d, 0xe9, 0xad, - 0xe5, 0x3a, 0xf1, 0x5b, 0x0c, 0xb5, 0x2e, 0xce, 0x22, 0xb2, 0xc6, 0xbb, 0xb0, 0xb8, 0x87, 0xc3, - 0x87, 0x56, 0x88, 0x83, 0x70, 0x27, 0xf2, 0xc6, 0x07, 0xc4, 0x5d, 0xcc, 0x20, 0x5a, 0x84, 0x29, - 0x27, 0x38, 0x0c, 0xb0, 0xd5, 0xc6, 0x36, 0xd1, 0x3b, 0x69, 0x4e, 0x3a, 0x41, 0x83, 0x3c, 0x1b, - 0xb7, 0x08, 0xd4, 0xd4, 0xac, 0x9d, 0xd3, 0xfd, 0xf7, 0xe2, 0x99, 0xb3, 0x50, 0x72, 0xe8, 0x94, - 0x8a, 0x59, 0x72, 0x6c, 0xe3, 0x1d, 0x58, 0x12, 0x85, 0x3f, 0xc0, 0x4e, 0xeb, 0x24, 0x8c, 0x27, - 0xcc, 0xc3, 0xf8, 0x09, 0x79, 0x41, 0x26, 0x8d, 0x99, 0xec, 0xc9, 0xf8, 0xbb, 0x06, 0x57, 0x38, - 0x64, 0x6c, 0xb5, 0x77, 0xe0, 0x02, 0x09, 0x1f, 0xb6, 0x5c, 0x5d, 0x58, 0x6e, 0x7a, 0x0a, 0x15, - 0x44, 0xdf, 0x80, 0x0a, 0x0d, 0xc9, 0x20, 0xb4, 0xc2, 0x5e, 0x50, 0x2d, 0xd5, 0xb4, 0x8d, 0x59, - 0xf9, 0xc4, 0x06, 0x91, 0x30, 0xa7, 0x8f, 0xfa, 0x0f, 0xe8, 0x2e, 0x4c, 0xc6, 0x31, 0x53, 0x2d, - 0x13, 0x9b, 0x57, 0x85, 0xa9, 0x8f, 0xd8, 0xb0, 0x99, 0x08, 0x1a, 0x36, 0xbc, 0xc1, 0xef, 0x6f, - 0x91, 0x9d, 0x45, 0x75, 0xb8, 0x72, 0xdc, 0x6b, 0xb7, 0x0f, 0x29, 0x5c, 0x9f, 0x2d, 0x99, 0x00, - 0x9e, 0x34, 0x2f, 0x47, 0x43, 0x4c, 0x17, 0x0b, 0x9a, 0x8f, 0xe0, 0x4a, 0xbc, 0xb9, 0x0a, 0x1f, - 0x0c, 0xad, 0xd6, 0x82, 0xab, 0x7d, 0xb5, 0x85, 0xbc, 0x35, 0xb4, 0x89, 0xbf, 0x68, 0x30, 0xc3, - 0xbd, 0x41, 0x37, 0x79, 0xbf, 0xce, 0xc9, 0xdc, 0x73, 0x9e, 0x1e, 0xbd, 0x09, 0xd5, 0x3d, 0x1c, - 0x3e, 0x48, 0xca, 0x93, 0x2a, 0xe8, 0x5f, 0x6a, 0x80, 0xfa, 0x92, 0xc9, 0x12, 0xef, 0x03, 0xf4, - 0xcb, 0x1b, 0x5b, 0xe7, 0x82, 0x60, 0x39, 0x35, 0x2d, 0x25, 0xcc, 0x41, 0x2e, 0x15, 0x85, 0xfc, - 0x04, 0xe6, 0x1b, 0xd8, 0xb5, 0x1f, 0xf7, 0x8b, 0x55, 0x0c, 0xf8, 0xeb, 0x30, 0x9d, 0x2a, 0x61, - 0x39, 0xa9, 0x94, 0x9e, 0x97, 0x16, 0x37, 0x3e, 0x85, 0xab, 0x19, 0xbd, 0x6c, 0x89, 0x62, 0xe8, - 0x8d, 0x84, 0xfb, 0x5f, 0x1a, 0xc9, 0x1e, 0x09, 0x6e, 0x51, 0xfd, 0x02, 0x4c, 0xd2, 0x40, 0x70, - 0x6c, 0xa2, 0xbe, 0x62, 0x4e, 0x90, 0xe7, 0x7d, 0x1b, 0xad, 0xc2, 0x4c, 0x7f, 0xff, 0xa2, 0xf1, - 0x32, 0x19, 0xaf, 0xf4, 0x5f, 0xee, 0xdb, 0xe8, 0x63, 0x98, 0x27, 0x07, 0xca, 0x21, 0x76, 0x9b, - 0x9e, 0xed, 0xb8, 0xad, 0xb8, 0xf6, 0x57, 0xc7, 0x48, 0x48, 0xad, 0x0a, 0x60, 0x77, 0x23, 0xe1, - 0x5d, 0x26, 0xcb, 0xaa, 0xaa, 0x39, 0x87, 0x25, 0x6f, 0x8d, 0x7b, 0xa4, 0xc2, 0x36, 0x4e, 0x83, - 0x10, 0x77, 0x24, 0x2b, 0x49, 0x23, 0xd7, 0x38, 0xe4, 0xc6, 0x6f, 0x35, 0xb8, 0x2e, 0x9f, 0x1a, - 0x9d, 0x6a, 0x83, 0x15, 0x28, 0x56, 0x55, 0x3a, 0xeb, 0xaa, 0xfe, 0xac, 0xc1, 0x35, 0xde, 0x35, - 0x3b, 0xa7, 0xfb, 0xae, 0x8d, 0x5f, 0x14, 0x80, 0x35, 0x07, 0x17, 0x9c, 0x48, 0x94, 0xa0, 0x98, - 0x31, 0xe9, 0x83, 0x02, 0x6c, 0xf9, 0xac, 0x60, 0x7f, 0xa3, 0xc1, 0x0a, 0x0f, 0x36, 0xd8, 0x39, - 0x25, 0x55, 0xa1, 0x9f, 0xba, 0xe7, 0xb6, 0x8d, 0x7a, 0xc6, 0xb3, 0x41, 0x92, 0x45, 0xdf, 0x86, - 0x2b, 0xa9, 0x7c, 0x63, 0xd7, 0x99, 0xa0, 0xaa, 0xd5, 0xca, 0x1b, 0xd3, 0x5b, 0x6f, 0xd6, 0x53, - 0x17, 0xb3, 0xba, 0x24, 0x3e, 0xa8, 0x12, 0x13, 0x85, 0x19, 0x03, 0xa3, 0xa5, 0xe3, 0xcf, 0x34, - 0x98, 0x4b, 0xef, 0x61, 0x02, 0xf3, 0x9b, 0x50, 0x49, 0xd9, 0x88, 0xf1, 0xa9, 0xca, 0x08, 0x27, - 0x3f, 0x1a, 0x9a, 0x9f, 0x6a, 0x70, 0x45, 0x56, 0x79, 0xce, 0x54, 0xd2, 0x46, 0x83, 0xf2, 0xd7, - 0x32, 0x2c, 0xe4, 0xee, 0x3f, 0xba, 0x07, 0xe3, 0xec, 0x78, 0xd2, 0x48, 0xb8, 0xd4, 0xf2, 0xb1, - 0xb0, 0x43, 0x8a, 0xc9, 0xa3, 0x15, 0x98, 0xa6, 0x7f, 0x1d, 0x36, 0x3d, 0x1b, 0xb3, 0x74, 0x01, - 0xfa, 0xea, 0x81, 0x67, 0xe3, 0xa8, 0xb6, 0x61, 0xdf, 0xf7, 0xfc, 0xc3, 0x0e, 0x0e, 0x02, 0xab, - 0x85, 0x49, 0xaa, 0x4c, 0x99, 0x15, 0xf2, 0xf2, 0x11, 0x7d, 0x87, 0x6e, 0xc3, 0x38, 0x89, 0xbd, - 0xa0, 0x3a, 0x46, 0xfc, 0x32, 0x27, 0x0b, 0x57, 0x93, 0xc9, 0x70, 0x79, 0x70, 0x81, 0xcf, 0x83, - 0x75, 0x98, 0x4d, 0x47, 0xa3, 0x63, 0x57, 0xc7, 0x89, 0xc0, 0x4c, 0xea, 0xad, 0xac, 0xe0, 0x4e, - 0x48, 0x0a, 0xee, 0xf5, 0xf8, 0xe4, 0x66, 0xb7, 0x88, 0x49, 0x72, 0x8b, 0xa0, 0xa7, 0x33, 0xbd, - 0x69, 0x70, 0xae, 0x98, 0x2a, 0xe8, 0x0a, 0x74, 0x0b, 0x2e, 0x37, 0xbd, 0x4e, 0xb7, 0x17, 0x5a, - 0xc4, 0x7a, 0x8f, 0xec, 0x0a, 0x10, 0xe5, 0x97, 0x52, 0x03, 0x1f, 0x45, 0xef, 0x8d, 0xb7, 0xe1, - 0xf2, 0x1e, 0x0e, 0xb7, 0xe9, 0x37, 0x4c, 0x5c, 0x08, 0xaa, 0x30, 0x61, 0xd9, 0xb6, 0x8f, 0x83, - 0x20, 0xae, 0x03, 0xec, 0xd1, 0xf8, 0x11, 0xa0, 0xb4, 0x78, 0x72, 0x0f, 0x9d, 0x60, 0x5f, 0x41, - 0x2c, 0xd6, 0xe6, 0x05, 0x94, 0xf1, 0x84, 0x58, 0x6c, 0xb4, 0x18, 0x7b, 0x17, 0x96, 0xfb, 0xc6, - 0xb7, 0x65, 0x37, 0xca, 0x7c, 0xe0, 0x2f, 0xe0, 0xe2, 0x39, 0xa1, 0xfe, 0x84, 0x47, 0xbd, 0xd3, - 0x77, 0xef, 0x40, 0xd4, 0x99, 0x10, 0x29, 0x65, 0x42, 0xc4, 0xf8, 0x18, 0xae, 0xef, 0x92, 0x8f, - 0x3d, 0xdc, 0x68, 0xfa, 0x4e, 0x57, 0xbe, 0x2f, 0xf3, 0x30, 0x1e, 0x90, 0x51, 0x66, 0x80, 0x3d, - 0xa1, 0x6b, 0x30, 0x65, 0xf9, 0xad, 0x5e, 0x87, 0xa4, 0x46, 0xa9, 0x56, 0xde, 0xa8, 0x98, 0xfd, - 0x17, 0x46, 0x17, 0x96, 0x04, 0xd5, 0xc5, 0x0f, 0x8c, 0xbe, 0xc5, 0x52, 0xbe, 0xc5, 0xb2, 0x68, - 0xf1, 0xb3, 0xcc, 0x62, 0x24, 0xdb, 0x25, 0x6e, 0x8a, 0x96, 0xcd, 0x9b, 0xd1, 0xac, 0xff, 0x42, - 0x83, 0x37, 0x38, 0xf3, 0x49, 0xa8, 0xcc, 0xc1, 0x85, 0x67, 0x56, 0xbb, 0x87, 0xd9, 0x2a, 0xe9, - 0xc3, 0x48, 0xe1, 0x20, 0xcf, 0xce, 0x72, 0x4e, 0x76, 0xfe, 0x47, 0x23, 0xc1, 0x43, 0xca, 0x53, - 0xf0, 0xbe, 0xe7, 0xb3, 0x8d, 0xb0, 0xdc, 0x16, 0x8e, 0x77, 0x03, 0xc1, 0x58, 0x78, 0xda, 0xa5, - 0xc8, 0xa6, 0x4c, 0xf2, 0x77, 0xb4, 0x43, 0x41, 0x68, 0xf9, 0xa1, 0x10, 0x36, 0xe4, 0x1d, 0xdb, - 0xa1, 0x25, 0x00, 0xec, 0xda, 0xb1, 0x00, 0xb5, 0x3f, 0x85, 0x5d, 0x9b, 0x0d, 0x7f, 0x89, 0x97, - 0xc1, 0x3f, 0x69, 0xe4, 0x36, 0x98, 0xac, 0x89, 0xc5, 0x54, 0xa0, 0x5a, 0xd0, 0x22, 0x4c, 0xc5, - 0x81, 0x16, 0xc7, 0xe9, 0x24, 0x8b, 0xb4, 0xe0, 0xcb, 0xbc, 0x35, 0xfd, 0xb3, 0x04, 0xb3, 0x14, - 0x68, 0xea, 0x6c, 0x9d, 0xe0, 0xef, 0x20, 0x06, 0x77, 0x07, 0xe1, 0xa5, 0xeb, 0xec, 0x1c, 0x8c, - 0xa7, 0x8c, 0x14, 0x32, 0xfa, 0xdf, 0x34, 0x18, 0xa7, 0x8a, 0x54, 0x19, 0x37, 0xb8, 0x56, 0xa4, - 0x8e, 0xc1, 0x72, 0x81, 0x63, 0xf0, 0x01, 0x5c, 0xa4, 0x0a, 0x13, 0xfa, 0x86, 0x38, 0x3f, 0xba, - 0x49, 0x50, 0x82, 0xa7, 0x1e, 0x13, 0x3c, 0xf5, 0xc7, 0xb1, 0x84, 0x39, 0x4b, 0xa6, 0x24, 0xcf, - 0xc6, 0x12, 0x71, 0xf6, 0x87, 0x38, 0x7c, 0xee, 0xf9, 0x4f, 0x0f, 0x2c, 0xdf, 0xea, 0xe0, 0x10, - 0xfb, 0xb1, 0xb3, 0x8d, 0xfb, 0xe4, 0x0a, 0x2d, 0x19, 0x66, 0xbb, 0xbd, 0x00, 0x93, 0xcd, 0x13, - 0xcb, 0x71, 0xe3, 0xf5, 0x4e, 0x99, 0x13, 0xe4, 0x79, 0xdf, 0x36, 0x6e, 0xc0, 0x7a, 0x42, 0x2b, - 0x1c, 0x44, 0x40, 0x9a, 0x5e, 0x3b, 0xba, 0x3c, 0xe0, 0x86, 0x6b, 0x75, 0x83, 0x13, 0x2f, 0xae, - 0x17, 0xc6, 0x2e, 0x6c, 0xec, 0x61, 0xb9, 0xc8, 0x10, 0x57, 0x60, 0xe3, 0x21, 0xdc, 0xc8, 0x57, - 0x33, 0x6c, 0x85, 0x8a, 0x3e, 0x8b, 0x97, 0x72, 0x50, 0xb3, 0xa5, 0xd7, 0x01, 0x05, 0xd8, 0x77, - 0xac, 0xb6, 0xf3, 0x43, 0x6c, 0xc7, 0xa3, 0x0c, 0x94, 0x64, 0x64, 0xb4, 0xc3, 0xe9, 0x5b, 0xb0, - 0x1a, 0xe5, 0x62, 0xcc, 0x16, 0xd2, 0x28, 0xeb, 0x27, 0x65, 0x81, 0x6d, 0xf9, 0xa3, 0x16, 0xd7, - 0x6c, 0xe9, 0x7c, 0xb6, 0x98, 0x7d, 0xb8, 0x24, 0x52, 0x92, 0x39, 0x1c, 0x9d, 0xa0, 0xcb, 0xbc, - 0x88, 0xf9, 0x17, 0xa3, 0xad, 0x73, 0x93, 0x50, 0x6f, 0x82, 0x6e, 0x15, 0x6d, 0xf1, 0x7b, 0x0d, - 0x16, 0xa5, 0xe2, 0xaf, 0xc9, 0x82, 0xfe, 0xa1, 0xc1, 0x9b, 0x8d, 0xde, 0x51, 0x74, 0xae, 0x1d, - 0x61, 0xb2, 0xdb, 0xc1, 0xfb, 0xbe, 0xd7, 0x69, 0x44, 0x25, 0x5e, 0x70, 0xde, 0x1a, 0xcc, 0xd2, - 0xd3, 0x40, 0x70, 0x21, 0x3d, 0x23, 0x76, 0x58, 0xf9, 0x38, 0x23, 0x8f, 0x94, 0x43, 0x7a, 0x95, - 0xf3, 0x48, 0xaf, 0x7f, 0x6b, 0xb0, 0x9e, 0x87, 0x9f, 0x4f, 0xa6, 0xdb, 0x80, 0xd2, 0xf0, 0xb9, - 0x94, 0xba, 0xd4, 0x5f, 0x02, 0x2b, 0x71, 0xff, 0xe7, 0x65, 0xfc, 0x4a, 0x83, 0x9a, 0x64, 0x19, - 0xb4, 0x2a, 0xc5, 0x2b, 0x10, 0x31, 0x69, 0xaf, 0x04, 0x53, 0x2e, 0x9f, 0xb8, 0x0b, 0x57, 0x05, - 0x48, 0xa3, 0x10, 0x8b, 0xc6, 0xaf, 0x35, 0xb8, 0xcd, 0xeb, 0xa1, 0x54, 0xf2, 0xb9, 0xc6, 0x99, - 0xf1, 0x85, 0x06, 0xb7, 0xd4, 0xa8, 0xce, 0x2f, 0x7a, 0x8c, 0x96, 0x98, 0x93, 0x29, 0x6c, 0xaf, - 0x32, 0x24, 0x8c, 0x06, 0x2c, 0x49, 0x0d, 0xa5, 0xfa, 0x20, 0xe3, 0xb4, 0xe9, 0x54, 0xa0, 0x35, - 0xc0, 0x24, 0x25, 0x0e, 0x7f, 0xcf, 0x69, 0xe1, 0x20, 0x7c, 0xdd, 0x1c, 0x2e, 0xa2, 0x7a, 0x9d, - 0x1c, 0x9e, 0xc2, 0xf6, 0x4a, 0x1d, 0xfe, 0x07, 0x4d, 0xf4, 0x38, 0xb3, 0x94, 0xbe, 0x29, 0x9d, - 0xe1, 0x66, 0x28, 0xb9, 0xeb, 0x95, 0x87, 0xbe, 0xeb, 0x7d, 0x1f, 0x6e, 0x36, 0xb0, 0x6b, 0x6f, - 0xbb, 0x76, 0x02, 0x35, 0x43, 0xec, 0xe0, 0xe0, 0xd5, 0xf0, 0xee, 0xbf, 0x8b, 0xc2, 0xa2, 0x88, - 0xb1, 0x1c, 0x32, 0xbe, 0xcf, 0x48, 0x95, 0x86, 0x64, 0xa4, 0x56, 0x61, 0x86, 0x51, 0x4d, 0x87, - 0x94, 0xc2, 0xa5, 0x1f, 0x4f, 0x15, 0xf6, 0x92, 0x30, 0xc0, 0x5b, 0xff, 0x5d, 0x85, 0xa9, 0x6d, - 0xf2, 0x45, 0xb0, 0x7d, 0xb0, 0x8f, 0xbe, 0x06, 0x63, 0x07, 0x8e, 0xdb, 0x42, 0x55, 0xee, 0x53, - 0x21, 0xd5, 0x02, 0xd5, 0x17, 0x24, 0x23, 0x0c, 0x39, 0x26, 0x94, 0x8b, 0xd0, 0xba, 0x44, 0x3c, - 0xf3, 0x99, 0xdb, 0x2e, 0xd5, 0x6f, 0x0c, 0x94, 0x63, 0x66, 0x8e, 0x60, 0x4e, 0xd6, 0x05, 0x45, - 0x1b, 0xa2, 0x82, 0xbc, 0x46, 0xa9, 0x5e, 0xe3, 0x24, 0x65, 0xfd, 0xca, 0x4f, 0xc9, 0x52, 0x84, - 0x6e, 0x69, 0x76, 0x29, 0xf2, 0x76, 0x6a, 0x01, 0xfd, 0xc7, 0x30, 0x2f, 0x6f, 0xb0, 0xa2, 0x9b, - 0x4a, 0x1b, 0x5c, 0x05, 0x29, 0x60, 0xe7, 0x00, 0x66, 0xf9, 0x8d, 0x40, 0x86, 0x62, 0x97, 0x62, - 0xbd, 0x7a, 0x56, 0x6f, 0xa2, 0xf1, 0x21, 0x54, 0xd2, 0xdd, 0x4b, 0x54, 0x93, 0xe2, 0x4d, 0xef, - 0x86, 0x4a, 0xdb, 0x63, 0xb8, 0x24, 0x36, 0x2d, 0xd1, 0x5a, 0x8e, 0x46, 0x7e, 0xed, 0x2a, 0xad, - 0xdf, 0x25, 0x54, 0x21, 0xdf, 0xf5, 0x43, 0xeb, 0xa2, 0x5a, 0x69, 0x57, 0x50, 0x5f, 0xe1, 0xc4, - 0x24, 0xfd, 0xc0, 0xef, 0xc1, 0x45, 0xa1, 0x8f, 0x86, 0x56, 0xb9, 0x39, 0xf2, 0xee, 0x9d, 0xbe, - 0xa6, 0x16, 0x62, 0xda, 0x9f, 0x10, 0x87, 0xa5, 0x95, 0x67, 0x1c, 0x26, 0xd1, 0x5d, 0x53, 0x74, - 0x17, 0xd2, 0x49, 0x93, 0xe1, 0xbd, 0x0b, 0x69, 0x2f, 0xd8, 0xbb, 0x40, 0x5d, 0xf2, 0x05, 0x9d, - 0x19, 0x67, 0xbd, 0x26, 0xf4, 0x96, 0xc2, 0x14, 0xdf, 0x8f, 0x2a, 0x6c, 0xf1, 0x39, 0x21, 0x9d, - 0xb2, 0x3d, 0x99, 0xe4, 0x6b, 0x19, 0xdd, 0x56, 0x18, 0xcd, 0xf4, 0x95, 0x84, 0x1a, 0xa4, 0xe8, - 0xf5, 0x3c, 0x25, 0x7d, 0x65, 0xa9, 0xae, 0x21, 0x4d, 0x5e, 0xcf, 0x33, 0x19, 0x08, 0xbe, 0xcb, - 0x74, 0x16, 0xb3, 0x05, 0x2f, 0xaf, 0x6f, 0x59, 0x20, 0x3e, 0x42, 0xf2, 0x63, 0x95, 0x9c, 0xee, - 0x25, 0xaa, 0x17, 0xb0, 0x94, 0x6a, 0x73, 0x16, 0xf6, 0xdf, 0x23, 0x80, 0x3e, 0xe3, 0x8c, 0x96, - 0x45, 0x2b, 0x3c, 0xd9, 0x2f, 0xa4, 0xa6, 0x84, 0xdd, 0xb7, 0xc9, 0x4f, 0x20, 0x64, 0xb4, 0x3b, - 0xba, 0x95, 0x33, 0x57, 0x46, 0x42, 0xeb, 0xd7, 0x38, 0xe1, 0x01, 0x56, 0xd2, 0x97, 0xb4, 0x7c, - 0x2b, 0x59, 0x76, 0x78, 0x80, 0x95, 0x2e, 0xe8, 0xf9, 0x6c, 0xb9, 0xe0, 0x90, 0x81, 0xb4, 0xba, - 0x6e, 0xe4, 0xcb, 0x27, 0x16, 0x4f, 0x60, 0x5e, 0x4e, 0xa2, 0x0b, 0x67, 0x92, 0x92, 0x69, 0x2f, - 0x64, 0x29, 0xbb, 0xb6, 0xf4, 0x26, 0xd6, 0x07, 0x5a, 0xe3, 0xf7, 0xb1, 0x88, 0xc5, 0x26, 0xf1, - 0x99, 0x8c, 0x9d, 0xce, 0xfa, 0x4c, 0xc1, 0x61, 0xeb, 0x8b, 0x0a, 0x0a, 0x15, 0x7d, 0x42, 0xf2, - 0x34, 0x43, 0x17, 0x67, 0xf3, 0x34, 0x8f, 0x51, 0x56, 0xab, 0x7f, 0x4a, 0xd4, 0x67, 0x18, 0xc8, - 0xac, 0xfa, 0x3c, 0x0e, 0x53, 0x7f, 0xab, 0x80, 0x24, 0x33, 0xf6, 0x39, 0xe5, 0xf3, 0x15, 0xa4, - 0x25, 0xda, 0x92, 0xdf, 0x24, 0x54, 0x0c, 0xa7, 0xce, 0x47, 0x92, 0x9a, 0x56, 0xfc, 0x09, 0xfd, - 0x45, 0x85, 0x9a, 0x0e, 0x45, 0x5f, 0x15, 0x51, 0x14, 0xa2, 0x4f, 0x87, 0x02, 0xf2, 0x52, 0x83, - 0xda, 0x20, 0x42, 0x15, 0x7d, 0xa5, 0x20, 0x0e, 0x3e, 0x76, 0x87, 0x81, 0xf1, 0x39, 0xfd, 0x15, - 0x47, 0x2e, 0x85, 0x89, 0xee, 0x64, 0xe2, 0x6c, 0x00, 0x5b, 0xaa, 0xcb, 0x52, 0x4d, 0x45, 0x8e, - 0xba, 0xe4, 0xda, 0x2a, 0x61, 0x1b, 0xb3, 0xd7, 0xd6, 0x7c, 0x06, 0x53, 0xdf, 0x50, 0x59, 0xe5, - 0xb8, 0xcb, 0x1f, 0xc3, 0xca, 0x00, 0xea, 0x10, 0xdd, 0xe5, 0xaf, 0x55, 0x85, 0x88, 0x46, 0xf1, - 0x2e, 0x26, 0xe7, 0xa0, 0xee, 0x68, 0xe8, 0x33, 0x58, 0x56, 0x53, 0x7f, 0x42, 0x12, 0x14, 0xe2, - 0x09, 0x0b, 0x5b, 0xf7, 0x61, 0x21, 0x97, 0xb1, 0x43, 0x6f, 0x0f, 0x32, 0xcc, 0x7d, 0xd5, 0x17, - 0xb6, 0xf9, 0xcb, 0x0c, 0xdb, 0x99, 0xc3, 0xa5, 0xa1, 0xfb, 0x0a, 0x8d, 0x6a, 0xfe, 0x4d, 0x88, - 0x7a, 0x25, 0x3f, 0x74, 0x47, 0x43, 0x3f, 0xd7, 0x60, 0xad, 0x08, 0x91, 0x86, 0xee, 0x0d, 0x81, - 0x48, 0x95, 0x86, 0x83, 0x00, 0xbd, 0xd4, 0xc4, 0xb0, 0xcc, 0xb0, 0x67, 0xca, 0xb0, 0xcc, 0xe3, - 0xda, 0x86, 0x84, 0x91, 0x75, 0x55, 0x0e, 0x0b, 0xa6, 0x74, 0x95, 0x9a, 0x39, 0x53, 0x42, 0x12, - 0x88, 0x1d, 0xa9, 0xab, 0xe4, 0x14, 0x98, 0xd2, 0x55, 0x4a, 0xd6, 0x6c, 0x48, 0x40, 0x59, 0x57, - 0x65, 0x78, 0x2f, 0xa5, 0xab, 0xf2, 0x58, 0xb2, 0x21, 0x61, 0x7c, 0xa1, 0xc1, 0x6a, 0x01, 0x0e, - 0x08, 0xbd, 0x93, 0xf9, 0x46, 0x2c, 0x46, 0x51, 0xe9, 0xf7, 0x86, 0x9f, 0x18, 0x83, 0xdb, 0x79, - 0x08, 0xba, 0xe7, 0xb7, 0xea, 0x9e, 0x4b, 0x54, 0x24, 0xec, 0x19, 0xd5, 0xf5, 0x9d, 0x7a, 0xcb, - 0x09, 0x4f, 0x7a, 0x47, 0xf5, 0xa6, 0xd7, 0xd9, 0xa4, 0x22, 0x9b, 0xe4, 0x3f, 0xc9, 0x4f, 0xe6, - 0x5b, 0xde, 0x66, 0xea, 0x5f, 0x23, 0x1c, 0x8d, 0x93, 0x81, 0xbb, 0xff, 0x0b, 0x00, 0x00, 0xff, - 0xff, 0x04, 0x89, 0xcb, 0x9f, 0xa3, 0x30, 0x00, 0x00, + // 2388 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdd, 0x6f, 0xdc, 0xc6, + 0x11, 0x07, 0x75, 0xb2, 0x3e, 0x46, 0x27, 0xd9, 0x5e, 0x2b, 0xf2, 0x89, 0xb2, 0xa4, 0x33, 0x25, + 0xc5, 0x8a, 0xed, 0x9c, 0x0c, 0xb9, 0x45, 0xec, 0xf4, 0x03, 0x95, 0x1c, 0x45, 0x11, 0x60, 0x07, + 0x02, 0xcf, 0x71, 0x91, 0xb6, 0xc9, 0x81, 0x3a, 0xae, 0x4e, 0xac, 0xef, 0xc8, 0x2b, 0xc9, 0xb3, + 0xad, 0x36, 0x28, 0xf2, 0x60, 0x14, 0x05, 0x0a, 0xf4, 0x03, 0x7d, 0x28, 0x1a, 0xa0, 0x2f, 0xed, + 0x53, 0xdb, 0x87, 0x3e, 0xf5, 0xa1, 0x28, 0x8a, 0x02, 0x45, 0xff, 0x81, 0xfe, 0x45, 0x2d, 0xb8, + 0xbb, 0xe4, 0x71, 0x97, 0xcb, 0x3d, 0xde, 0xc9, 0xa9, 0xfc, 0x92, 0x88, 0xdc, 0xd9, 0x99, 0xdf, + 0xec, 0xcc, 0xce, 0x2e, 0x7f, 0x73, 0x86, 0xca, 0x71, 0xdb, 0x7b, 0xbe, 0x65, 0x35, 0x9b, 0x38, + 0x08, 0xd8, 0xff, 0x6a, 0x5d, 0xdf, 0x0b, 0x3d, 0x34, 0x13, 0x8d, 0xd4, 0xe8, 0x2b, 0x7d, 0x89, + 0x88, 0x61, 0x37, 0x74, 0x42, 0x07, 0x13, 0x41, 0xaf, 0xe7, 0x86, 0x54, 0x52, 0xaf, 0xf2, 0x83, + 0x47, 0x6d, 0xaf, 0xf9, 0xb4, 0x71, 0x82, 0x2d, 0x1b, 0xfb, 0x4c, 0x62, 0x51, 0x22, 0xc1, 0x86, + 0x56, 0xf8, 0xa1, 0xa6, 0xd7, 0x6e, 0xe3, 0x66, 0xe8, 0x78, 0xae, 0x7c, 0x2a, 0x7e, 0x86, 0x13, + 0xbb, 0xeb, 0xc2, 0xd0, 0x0b, 0xdc, 0xec, 0x45, 0x33, 0x1b, 0x3e, 0x0e, 0x7a, 0xed, 0x58, 0xea, + 0x1a, 0x2f, 0xd5, 0xc1, 0xa1, 0x65, 0x5b, 0xa1, 0xc5, 0x46, 0x37, 0xf8, 0x51, 0xd7, 0xb3, 0x71, + 0xe3, 0x19, 0xf6, 0x83, 0x48, 0x8d, 0xe3, 0x1e, 0x7b, 0x4c, 0x6c, 0x95, 0x17, 0x0b, 0x7d, 0xcb, + 0x0d, 0xac, 0x34, 0xcc, 0xd5, 0x96, 0xe7, 0xb5, 0xda, 0x78, 0x8b, 0x3c, 0x1d, 0xf5, 0x8e, 0xb7, + 0x42, 0xa7, 0x83, 0x83, 0xd0, 0xea, 0x74, 0xa9, 0x80, 0x31, 0x0b, 0x33, 0x87, 0x8e, 0xdb, 0x32, + 0xf1, 0x0f, 0x7a, 0x38, 0x08, 0x8d, 0x39, 0x28, 0xd3, 0xc7, 0xa0, 0xeb, 0xb9, 0x01, 0x36, 0x96, + 0x60, 0x71, 0x1f, 0x87, 0x1f, 0x7a, 0x36, 0x7e, 0x42, 0xad, 0x1f, 0xb8, 0xc7, 0x5e, 0x2c, 0x7c, + 0x08, 0xba, 0x6c, 0x90, 0x4e, 0x45, 0xdb, 0x30, 0x1e, 0x21, 0xad, 0x68, 0x55, 0x6d, 0x73, 0x66, + 0x7b, 0xa5, 0x46, 0xe2, 0x16, 0x43, 0xad, 0x89, 0xb3, 0x88, 0xac, 0xf1, 0x2e, 0x2c, 0xed, 0xe3, + 0xf0, 0xa1, 0x15, 0xe2, 0x20, 0xdc, 0x8d, 0xa2, 0xf1, 0x01, 0x09, 0x17, 0x33, 0x88, 0x96, 0x60, + 0xda, 0x09, 0x1a, 0x01, 0xb6, 0xda, 0xd8, 0x26, 0x7a, 0xa7, 0xcc, 0x29, 0x27, 0xa8, 0x93, 0x67, + 0xe3, 0x16, 0x81, 0x9a, 0x9a, 0xb5, 0x7b, 0x7a, 0xf0, 0x5e, 0x3c, 0x73, 0x0e, 0xc6, 0x1c, 0x3a, + 0xa5, 0x6c, 0x8e, 0x39, 0xb6, 0xf1, 0x0e, 0x2c, 0x8b, 0xc2, 0x1f, 0x60, 0xa7, 0x75, 0x12, 0xc6, + 0x13, 0x16, 0x60, 0xe2, 0x84, 0xbc, 0x20, 0x93, 0xc6, 0x4d, 0xf6, 0x64, 0xfc, 0x5d, 0x83, 0x2b, + 0x1c, 0x32, 0xe6, 0xed, 0x1d, 0xb8, 0x40, 0xd2, 0x87, 0xb9, 0xab, 0x0b, 0xee, 0xa6, 0xa7, 0x50, + 0x41, 0xf4, 0x0d, 0x28, 0xd3, 0x94, 0x0c, 0x42, 0x2b, 0xec, 0x05, 0x95, 0xb1, 0xaa, 0xb6, 0x39, + 0x27, 0x9f, 0x58, 0x27, 0x12, 0xe6, 0xcc, 0x51, 0xff, 0x01, 0xdd, 0x85, 0xa9, 0x38, 0x67, 0x2a, + 0x25, 0x62, 0xf3, 0xaa, 0x30, 0xf5, 0x11, 0x1b, 0x36, 0x13, 0x41, 0xc3, 0x86, 0x37, 0xf8, 0xf5, + 0x2d, 0xb2, 0xb2, 0xa8, 0x06, 0x57, 0x8e, 0x7b, 0xed, 0x76, 0x83, 0xc2, 0xf5, 0x99, 0xcb, 0x04, + 0xf0, 0x94, 0x79, 0x39, 0x1a, 0x62, 0xba, 0x58, 0xd2, 0x7c, 0x04, 0x57, 0xe2, 0xc5, 0x55, 0xc4, + 0x60, 0x68, 0xb5, 0x16, 0x5c, 0xed, 0xab, 0x2d, 0x14, 0xad, 0xa1, 0x4d, 0xfc, 0x45, 0x83, 0x59, + 0xee, 0x0d, 0xba, 0xc9, 0xc7, 0x75, 0x5e, 0x16, 0x9e, 0xf3, 0x8c, 0xe8, 0x4d, 0xa8, 0xec, 0xe3, + 0xf0, 0x41, 0x52, 0x9e, 0x54, 0x49, 0xff, 0x52, 0x03, 0xd4, 0x97, 0x4c, 0x5c, 0xbc, 0x0f, 0xd0, + 0x2f, 0x6f, 0xcc, 0xcf, 0x45, 0xc1, 0x72, 0x6a, 0x5a, 0x4a, 0x98, 0x83, 0x3c, 0x56, 0x14, 0xf2, + 0x13, 0x58, 0xa8, 0x63, 0xd7, 0x7e, 0xdc, 0x2f, 0x56, 0x31, 0xe0, 0xaf, 0xc3, 0x4c, 0xaa, 0x84, + 0xe5, 0x6c, 0xa5, 0xf4, 0xbc, 0xb4, 0xb8, 0xf1, 0x29, 0x5c, 0xcd, 0xe8, 0x65, 0x2e, 0x8a, 0xa9, + 0x37, 0x12, 0xee, 0x7f, 0x69, 0x64, 0xf7, 0x48, 0x70, 0x8b, 0xea, 0x17, 0x61, 0x8a, 0x26, 0x82, + 0x63, 0x13, 0xf5, 0x65, 0x73, 0x92, 0x3c, 0x1f, 0xd8, 0x68, 0x0d, 0x66, 0xfb, 0xeb, 0x17, 0x8d, + 0x97, 0xc8, 0x78, 0xb9, 0xff, 0xf2, 0xc0, 0x46, 0x1f, 0xc3, 0x02, 0x39, 0x50, 0x1a, 0xd8, 0x6d, + 0x7a, 0xb6, 0xe3, 0xb6, 0xe2, 0xda, 0x5f, 0x19, 0x27, 0x29, 0xb5, 0x26, 0x80, 0xdd, 0x8b, 0x84, + 0xf7, 0x98, 0x2c, 0xab, 0xaa, 0xe6, 0x3c, 0x96, 0xbc, 0x35, 0xee, 0x91, 0x0a, 0x5b, 0x3f, 0x0d, + 0x42, 0xdc, 0x91, 0x78, 0x92, 0x46, 0xae, 0x71, 0xc8, 0x8d, 0xdf, 0x6a, 0x70, 0x5d, 0x3e, 0x35, + 0x3a, 0xd5, 0x06, 0x2b, 0x50, 0x78, 0x35, 0x76, 0x56, 0xaf, 0xfe, 0xa4, 0xc1, 0x35, 0x3e, 0x34, + 0xbb, 0xa7, 0x07, 0xae, 0x8d, 0x5f, 0x14, 0x80, 0x35, 0x0f, 0x17, 0x9c, 0x48, 0x94, 0xa0, 0x98, + 0x35, 0xe9, 0x83, 0x02, 0x6c, 0xe9, 0xac, 0x60, 0x7f, 0xa3, 0xc1, 0x2a, 0x0f, 0x36, 0xd8, 0x3d, + 0x25, 0x55, 0xa1, 0xbf, 0x75, 0xcf, 0x6d, 0x19, 0xf5, 0x4c, 0x64, 0x83, 0x64, 0x17, 0x7d, 0x1b, + 0xae, 0xa4, 0xf6, 0x1b, 0xbb, 0xce, 0x04, 0x15, 0xad, 0x5a, 0xda, 0x9c, 0xd9, 0x7e, 0xb3, 0x96, + 0xba, 0x98, 0xd5, 0x24, 0xf9, 0x41, 0x95, 0x98, 0x28, 0xcc, 0x18, 0x18, 0x6d, 0x3b, 0xfe, 0x4c, + 0x83, 0xf9, 0xf4, 0x1a, 0x26, 0x30, 0xbf, 0x09, 0xe5, 0x94, 0x8d, 0x18, 0x9f, 0xaa, 0x8c, 0x70, + 0xf2, 0xa3, 0xa1, 0xf9, 0xa9, 0x06, 0x57, 0x64, 0x95, 0xe7, 0x4c, 0x25, 0x6d, 0x34, 0x28, 0x7f, + 0x2d, 0xc1, 0x62, 0xee, 0xfa, 0xa3, 0x7b, 0x30, 0xc1, 0x8e, 0x27, 0x8d, 0xa4, 0x4b, 0x35, 0x1f, + 0x0b, 0x3b, 0xa4, 0x98, 0x3c, 0x5a, 0x85, 0x19, 0xfa, 0x57, 0xa3, 0xe9, 0xd9, 0x98, 0x6d, 0x17, + 0xa0, 0xaf, 0x1e, 0x78, 0x36, 0x8e, 0x6a, 0x1b, 0xf6, 0x7d, 0xcf, 0x6f, 0x74, 0x70, 0x10, 0x58, + 0x2d, 0x4c, 0xb6, 0xca, 0xb4, 0x59, 0x26, 0x2f, 0x1f, 0xd1, 0x77, 0xe8, 0x36, 0x4c, 0x90, 0xdc, + 0x0b, 0x2a, 0xe3, 0x24, 0x2e, 0xf3, 0xb2, 0x74, 0x35, 0x99, 0x0c, 0xb7, 0x0f, 0x2e, 0xf0, 0xfb, + 0x60, 0x03, 0xe6, 0xd2, 0xd9, 0xe8, 0xd8, 0x95, 0x09, 0x22, 0x30, 0x9b, 0x7a, 0x2b, 0x2b, 0xb8, + 0x93, 0x92, 0x82, 0x7b, 0x3d, 0x3e, 0xb9, 0xd9, 0x2d, 0x62, 0x8a, 0xdc, 0x22, 0xe8, 0xe9, 0x4c, + 0x6f, 0x1a, 0x5c, 0x28, 0xa6, 0x0b, 0x86, 0x02, 0xdd, 0x82, 0xcb, 0x4d, 0xaf, 0xd3, 0xed, 0x85, + 0x16, 0xb1, 0xde, 0x23, 0xab, 0x02, 0x44, 0xf9, 0xa5, 0xd4, 0xc0, 0x47, 0xd1, 0x7b, 0xe3, 0x6d, + 0xb8, 0xbc, 0x8f, 0xc3, 0x1d, 0xfa, 0x0d, 0x13, 0x17, 0x82, 0x0a, 0x4c, 0x5a, 0xb6, 0xed, 0xe3, + 0x20, 0x88, 0xeb, 0x00, 0x7b, 0x34, 0x7e, 0x04, 0x28, 0x2d, 0x9e, 0xdc, 0x43, 0x27, 0xd9, 0x57, + 0x10, 0xcb, 0xb5, 0x05, 0x01, 0x65, 0x3c, 0x21, 0x16, 0x1b, 0x2d, 0xc7, 0xde, 0x85, 0x95, 0xbe, + 0xf1, 0x1d, 0xd9, 0x8d, 0x32, 0x1f, 0xf8, 0x0b, 0xb8, 0x78, 0x4e, 0xa8, 0x3f, 0xe1, 0x51, 0xef, + 0xf6, 0xc3, 0x3b, 0x10, 0x75, 0x26, 0x45, 0xc6, 0x32, 0x29, 0x62, 0x7c, 0x0c, 0xd7, 0xf7, 0xc8, + 0xc7, 0x1e, 0xae, 0x37, 0x7d, 0xa7, 0x2b, 0x5f, 0x97, 0x05, 0x98, 0x08, 0xc8, 0x28, 0x33, 0xc0, + 0x9e, 0xd0, 0x35, 0x98, 0xb6, 0xfc, 0x56, 0xaf, 0x43, 0xb6, 0xc6, 0x58, 0xb5, 0xb4, 0x59, 0x36, + 0xfb, 0x2f, 0x8c, 0x2e, 0x2c, 0x0b, 0xaa, 0x8b, 0x1f, 0x18, 0x7d, 0x8b, 0x63, 0xf9, 0x16, 0x4b, + 0xa2, 0xc5, 0xcf, 0x32, 0xce, 0x48, 0x96, 0x4b, 0x5c, 0x14, 0x2d, 0xbb, 0x6f, 0x46, 0xb3, 0xfe, + 0x0b, 0x0d, 0xde, 0xe0, 0xcc, 0x27, 0xa9, 0x32, 0x0f, 0x17, 0x9e, 0x59, 0xed, 0x1e, 0x66, 0x5e, + 0xd2, 0x87, 0x91, 0xd2, 0x41, 0xbe, 0x3b, 0x4b, 0x39, 0xbb, 0xf3, 0x3f, 0x1a, 0x49, 0x1e, 0x52, + 0x9e, 0x82, 0xf7, 0x3d, 0x9f, 0x2d, 0x84, 0xe5, 0xb6, 0x70, 0xbc, 0x1a, 0x08, 0xc6, 0xc3, 0xd3, + 0x2e, 0x45, 0x36, 0x6d, 0x92, 0xbf, 0xa3, 0x15, 0x0a, 0x42, 0xcb, 0x0f, 0x85, 0xb4, 0x21, 0xef, + 0xd8, 0x0a, 0x2d, 0x03, 0x60, 0xd7, 0x8e, 0x05, 0xa8, 0xfd, 0x69, 0xec, 0xda, 0x6c, 0xf8, 0x4b, + 0xbc, 0x0c, 0xfe, 0x51, 0x23, 0xb7, 0xc1, 0xc4, 0x27, 0x96, 0x53, 0x81, 0xca, 0xa1, 0x25, 0x98, + 0x8e, 0x13, 0x2d, 0xce, 0xd3, 0x29, 0x96, 0x69, 0xc1, 0x97, 0x79, 0x6b, 0xfa, 0xe7, 0x18, 0xcc, + 0x51, 0xa0, 0xa9, 0xb3, 0x75, 0x92, 0xbf, 0x83, 0x18, 0xdc, 0x1d, 0x84, 0x97, 0xae, 0xb1, 0x73, + 0x30, 0x9e, 0x32, 0x52, 0xca, 0xe8, 0x7f, 0xd3, 0x60, 0x82, 0x2a, 0x52, 0xed, 0xb8, 0xc1, 0xb5, + 0x22, 0x75, 0x0c, 0x96, 0x0a, 0x1c, 0x83, 0x0f, 0xe0, 0x22, 0x55, 0x98, 0xd0, 0x37, 0x24, 0xf8, + 0xd1, 0x4d, 0x82, 0x12, 0x3c, 0xb5, 0x98, 0xe0, 0xa9, 0x3d, 0x8e, 0x25, 0xcc, 0x39, 0x32, 0x25, + 0x79, 0x36, 0x96, 0x49, 0xb0, 0x3f, 0xc4, 0xe1, 0x73, 0xcf, 0x7f, 0x7a, 0x68, 0xf9, 0x56, 0x07, + 0x87, 0xd8, 0x8f, 0x83, 0x6d, 0xdc, 0x27, 0x57, 0x68, 0xc9, 0x30, 0x5b, 0xed, 0x45, 0x98, 0x6a, + 0x9e, 0x58, 0x8e, 0x1b, 0xfb, 0x3b, 0x6d, 0x4e, 0x92, 0xe7, 0x03, 0xdb, 0xb8, 0x01, 0x1b, 0x09, + 0xad, 0x70, 0x18, 0x01, 0x69, 0x7a, 0xed, 0xe8, 0xf2, 0x80, 0xeb, 0xae, 0xd5, 0x0d, 0x4e, 0xbc, + 0xb8, 0x5e, 0x18, 0x7b, 0xb0, 0xb9, 0x8f, 0xe5, 0x22, 0x43, 0x5c, 0x81, 0x8d, 0x87, 0x70, 0x23, + 0x5f, 0xcd, 0xb0, 0x15, 0x2a, 0xfa, 0x2c, 0x5e, 0xce, 0x41, 0xcd, 0x5c, 0xaf, 0x01, 0x0a, 0xb0, + 0xef, 0x58, 0x6d, 0xe7, 0x87, 0xd8, 0x8e, 0x47, 0x19, 0x28, 0xc9, 0xc8, 0x68, 0x87, 0xd3, 0xb7, + 0x60, 0x2d, 0xda, 0x8b, 0x31, 0x5b, 0x48, 0xb3, 0xac, 0xbf, 0x29, 0x0b, 0x2c, 0xcb, 0x1f, 0xb4, + 0xb8, 0x66, 0x4b, 0xe7, 0x33, 0x67, 0x0e, 0xe0, 0x92, 0x48, 0x49, 0xe6, 0x70, 0x74, 0x82, 0x2e, + 0xf3, 0x22, 0xe6, 0x5f, 0x8c, 0xe6, 0xe7, 0x16, 0xa1, 0xde, 0x04, 0xdd, 0x2a, 0xda, 0xe2, 0x77, + 0x1a, 0x2c, 0x49, 0xc5, 0x5f, 0x13, 0x87, 0xfe, 0xa1, 0xc1, 0x9b, 0xf5, 0xde, 0x51, 0x74, 0xae, + 0x1d, 0x61, 0xb2, 0xda, 0xc1, 0xfb, 0xbe, 0xd7, 0xa9, 0x47, 0x25, 0x5e, 0x08, 0xde, 0x3a, 0xcc, + 0xd1, 0xd3, 0x40, 0x08, 0x21, 0x3d, 0x23, 0x76, 0x59, 0xf9, 0x38, 0x23, 0x8f, 0x94, 0x43, 0x7a, + 0x95, 0xf2, 0x48, 0xaf, 0x7f, 0x6b, 0xb0, 0x91, 0x87, 0x9f, 0xdf, 0x4c, 0xb7, 0x01, 0xa5, 0xe1, + 0x73, 0x5b, 0xea, 0x52, 0xdf, 0x05, 0x56, 0xe2, 0xfe, 0xcf, 0x6e, 0xfc, 0x4a, 0x83, 0xaa, 0xc4, + 0x0d, 0x5a, 0x95, 0x62, 0x0f, 0x44, 0x4c, 0xda, 0x2b, 0xc1, 0x94, 0xcb, 0x27, 0xee, 0xc1, 0x55, + 0x01, 0xd2, 0x28, 0xc4, 0xa2, 0xf1, 0x6b, 0x0d, 0x6e, 0xf3, 0x7a, 0x28, 0x95, 0x7c, 0xae, 0x79, + 0x66, 0x7c, 0xa1, 0xc1, 0x2d, 0x35, 0xaa, 0xf3, 0xcb, 0x1e, 0xa3, 0x25, 0xee, 0xc9, 0x14, 0xb6, + 0x57, 0x99, 0x12, 0x46, 0x1d, 0x96, 0xa5, 0x86, 0x52, 0x7d, 0x90, 0x09, 0xda, 0x74, 0x2a, 0xd0, + 0x1a, 0x60, 0x92, 0x92, 0x80, 0xbf, 0xe7, 0xb4, 0x70, 0x10, 0xbe, 0x6e, 0x01, 0x17, 0x51, 0xbd, + 0x4e, 0x01, 0x4f, 0x61, 0x7b, 0xa5, 0x01, 0xff, 0xbd, 0x26, 0x46, 0x9c, 0x59, 0x4a, 0xdf, 0x94, + 0xce, 0x70, 0x33, 0x94, 0xdc, 0xf5, 0x4a, 0x43, 0xdf, 0xf5, 0xbe, 0x0f, 0x37, 0xeb, 0xd8, 0xb5, + 0x77, 0x5c, 0x3b, 0x81, 0x9a, 0x21, 0x76, 0x70, 0xf0, 0x6a, 0x78, 0xf7, 0x3f, 0x47, 0x69, 0x51, + 0xc4, 0xd8, 0x20, 0x1a, 0x51, 0x3b, 0x23, 0x8d, 0xb8, 0x06, 0xb3, 0x8c, 0x79, 0x6a, 0xf4, 0x19, + 0xdd, 0x71, 0xb3, 0xcc, 0x5e, 0x12, 0x42, 0x78, 0xfb, 0xbf, 0x6b, 0x30, 0xbd, 0x43, 0xb4, 0xef, + 0x1c, 0x1e, 0xa0, 0xaf, 0xc1, 0xf8, 0xa1, 0xe3, 0xb6, 0x50, 0x85, 0x33, 0x9b, 0xea, 0x88, 0xea, + 0x8b, 0x92, 0x11, 0xe6, 0x08, 0x26, 0x0c, 0x8c, 0xd0, 0xc9, 0x44, 0xbc, 0x07, 0xb9, 0xdd, 0x53, + 0xfd, 0xc6, 0x40, 0x39, 0x66, 0xe6, 0x08, 0xe6, 0x65, 0x4d, 0x51, 0xb4, 0x29, 0x2a, 0xc8, 0xeb, + 0x9b, 0xea, 0x55, 0x4e, 0x52, 0xd6, 0xbe, 0xfc, 0x94, 0xb8, 0x22, 0x34, 0x4f, 0xb3, 0xae, 0xc8, + 0xbb, 0xab, 0x05, 0xf4, 0x1f, 0xc3, 0x82, 0xbc, 0xdf, 0x8a, 0x6e, 0x2a, 0x6d, 0x70, 0x05, 0xa5, + 0x80, 0x9d, 0x43, 0x98, 0xe3, 0x17, 0x02, 0x19, 0x8a, 0x55, 0x8a, 0xf5, 0xea, 0x59, 0xbd, 0x89, + 0xc6, 0x87, 0x50, 0x4e, 0x37, 0x33, 0x51, 0x55, 0x8a, 0x37, 0xbd, 0x1a, 0x2a, 0x6d, 0x8f, 0xe1, + 0x92, 0xd8, 0xc3, 0x44, 0xeb, 0x39, 0x1a, 0x79, 0xdf, 0x55, 0x5a, 0xbf, 0x4b, 0x98, 0x43, 0xbe, + 0x09, 0x88, 0x36, 0x44, 0xb5, 0xd2, 0x26, 0xa1, 0xbe, 0xca, 0x89, 0x49, 0xda, 0x83, 0xdf, 0x83, + 0x8b, 0x42, 0x5b, 0x0d, 0xad, 0x71, 0x73, 0xe4, 0xcd, 0x3c, 0x7d, 0x5d, 0x2d, 0xc4, 0xb4, 0x3f, + 0x21, 0x01, 0x4b, 0x2b, 0xcf, 0x04, 0x4c, 0xa2, 0xbb, 0xaa, 0xa8, 0x12, 0xe9, 0x4d, 0x93, 0xa9, + 0x1f, 0x85, 0xb4, 0x17, 0xac, 0x41, 0xa8, 0x4b, 0x3e, 0xa8, 0x33, 0xe3, 0xac, 0xf5, 0x84, 0xde, + 0x52, 0x98, 0xe2, 0xdb, 0x53, 0x85, 0x2d, 0x3e, 0x27, 0x1c, 0x54, 0xb6, 0x45, 0x93, 0x7c, 0x3c, + 0xa3, 0xdb, 0x0a, 0xa3, 0x99, 0x36, 0x93, 0x50, 0x83, 0x14, 0xad, 0x9f, 0xa7, 0xa4, 0xcd, 0x2c, + 0xd5, 0x35, 0xa4, 0xc9, 0xeb, 0x79, 0x26, 0x03, 0x21, 0x76, 0x99, 0x46, 0x63, 0xb6, 0xe0, 0xe5, + 0xb5, 0x31, 0x0b, 0xe4, 0x47, 0x48, 0x7e, 0xbb, 0x92, 0xd3, 0xcc, 0x44, 0xb5, 0x02, 0x96, 0x52, + 0x5d, 0xcf, 0xc2, 0xf1, 0x7b, 0x04, 0xd0, 0x27, 0xa0, 0xd1, 0x8a, 0x68, 0x85, 0xe7, 0xfe, 0x85, + 0xad, 0x29, 0x21, 0xfb, 0x6d, 0xf2, 0x8b, 0x08, 0x19, 0x0b, 0x8f, 0x6e, 0xe5, 0xcc, 0x95, 0x71, + 0xd2, 0xfa, 0x35, 0x4e, 0x78, 0x80, 0x95, 0xf4, 0x9d, 0x2d, 0xdf, 0x4a, 0x96, 0x2c, 0x1e, 0x60, + 0xa5, 0x0b, 0x7a, 0x3e, 0x79, 0x2e, 0x04, 0x64, 0x20, 0xcb, 0xae, 0x1b, 0xf9, 0xf2, 0x89, 0xc5, + 0x13, 0x58, 0x90, 0x73, 0xea, 0xc2, 0x99, 0xa4, 0x24, 0xde, 0x0b, 0x59, 0xca, 0xfa, 0x96, 0x5e, + 0xc4, 0xda, 0x40, 0x6b, 0xfc, 0x3a, 0x16, 0xb1, 0xd8, 0x24, 0x31, 0x93, 0x91, 0xd5, 0xd9, 0x98, + 0x29, 0x28, 0x6d, 0x7d, 0x49, 0xc1, 0xa8, 0xa2, 0x4f, 0xc8, 0x3e, 0xcd, 0xb0, 0xc7, 0xd9, 0x7d, + 0x9a, 0x47, 0x30, 0xab, 0xd5, 0x3f, 0x25, 0xea, 0x33, 0x84, 0x64, 0x56, 0x7d, 0x1e, 0xa5, 0xa9, + 0xbf, 0x55, 0x40, 0x92, 0x19, 0xfb, 0x9c, 0xd2, 0xfb, 0x0a, 0x0e, 0x13, 0x6d, 0xcb, 0x6f, 0x12, + 0x2a, 0xc2, 0x53, 0xe7, 0x33, 0x49, 0xcd, 0x32, 0xfe, 0x84, 0xfe, 0xc0, 0x42, 0xcd, 0x8e, 0xa2, + 0xaf, 0x8a, 0x28, 0x0a, 0xb1, 0xa9, 0x43, 0x01, 0x79, 0xa9, 0x41, 0x75, 0x10, 0xbf, 0x8a, 0xbe, + 0x52, 0x10, 0x07, 0x9f, 0xbb, 0xc3, 0xc0, 0xf8, 0x9c, 0xfe, 0xa8, 0x23, 0x97, 0xd1, 0x44, 0x77, + 0x32, 0x79, 0x36, 0x80, 0x3c, 0xd5, 0x65, 0x5b, 0x4d, 0xc5, 0x95, 0xba, 0xe4, 0xda, 0x2a, 0x21, + 0x1f, 0xb3, 0xd7, 0xd6, 0x7c, 0x42, 0x53, 0xdf, 0x54, 0x59, 0xe5, 0xa8, 0xcc, 0x1f, 0xc3, 0xea, + 0x00, 0x26, 0x11, 0xdd, 0xe5, 0xaf, 0x55, 0x85, 0x78, 0x47, 0xf1, 0x2e, 0x26, 0xa7, 0xa4, 0xee, + 0x68, 0xe8, 0x33, 0x58, 0x51, 0x33, 0x81, 0xc2, 0x26, 0x28, 0x44, 0x1b, 0x16, 0xb6, 0xee, 0xc3, + 0x62, 0x2e, 0x81, 0x87, 0xde, 0x1e, 0x64, 0x98, 0xfb, 0xc8, 0x2f, 0x6c, 0xf3, 0x97, 0x19, 0xf2, + 0x33, 0x87, 0x5a, 0x43, 0xf7, 0x15, 0x1a, 0xd5, 0x74, 0x9c, 0x90, 0xf5, 0x4a, 0xba, 0xe8, 0x8e, + 0x86, 0x7e, 0xae, 0xc1, 0x7a, 0x11, 0x5e, 0x0d, 0xdd, 0x1b, 0x02, 0x91, 0x6a, 0x1b, 0x0e, 0x02, + 0xf4, 0x52, 0x13, 0xd3, 0x32, 0x43, 0xa6, 0x29, 0xd3, 0x32, 0x8f, 0x7a, 0x1b, 0x12, 0x46, 0x36, + 0x54, 0x39, 0xa4, 0x98, 0x32, 0x54, 0x6a, 0x22, 0x4d, 0x09, 0x49, 0xe0, 0x79, 0xa4, 0xa1, 0x92, + 0x33, 0x62, 0xca, 0x50, 0x29, 0x49, 0xb4, 0x21, 0x01, 0x65, 0x43, 0x95, 0xa1, 0xc1, 0x94, 0xa1, + 0xca, 0x23, 0xcd, 0x86, 0x84, 0xf1, 0x85, 0x06, 0x6b, 0x05, 0x28, 0x21, 0xf4, 0x4e, 0xe6, 0x1b, + 0xb1, 0x18, 0x63, 0xa5, 0xdf, 0x1b, 0x7e, 0x62, 0x0c, 0x6e, 0xf7, 0x21, 0xe8, 0x9e, 0xdf, 0xaa, + 0x79, 0x2e, 0x51, 0x91, 0x90, 0x69, 0x54, 0xd7, 0x77, 0x6a, 0x2d, 0x27, 0x3c, 0xe9, 0x1d, 0xd5, + 0x9a, 0x5e, 0x67, 0x8b, 0x8a, 0x6c, 0x91, 0xff, 0x24, 0xbf, 0xa0, 0x6f, 0x79, 0x5b, 0xa9, 0x7f, + 0x9c, 0x70, 0x34, 0x41, 0x06, 0xee, 0xfe, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x78, 0xed, 0x3b, 0xf4, + 0xb2, 0x30, 0x00, 0x00, } From 0b1a9b9cf38f53a4ffe43c3ca58529ba05fd8150 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Wed, 27 Mar 2024 06:35:26 +0100 Subject: [PATCH 179/626] Cadence wg updates 23-27 March --- .../sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 149e9747e..2314f4f0e 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -66,6 +66,15 @@ Cycle Objective(s): **Done last sprint** Cadence 1.0 migration testing with emulator & TN migration environment +- [State migration fails in some cases](https://github.com/onflow/cadence/issues/3192) + - [Handle unparameterized Capability static types](https://github.com/onflow/cadence/pull/3196) +- [Make custom contract update rules mandatory](https://github.com/onflow/cadence/issues/3187) +- Fix for the Migration environment using tons of compute after migration to C1.0 + - [Don't copy dictionary in getEpochMetadata](https://github.com/onflow/flow-core-contracts/pull/413) + - [Update Core Contracts](https://github.com/onflow/flow-go/pull/5579) +- [Make ExampleNFT compatible for contract update](https://github.com/onflow/flow-nft/pull/205) +- [Optimise merge registers for migrations](https://github.com/onflow/flow-go/pull/5522) +- new tool: [Storage Explorer](https://github.com/onflow/cadence/pull/3147) - [Make contract update validation thread safe](https://github.com/onflow/flow-go/issues/5565) - [Improve cadence migrations](https://github.com/onflow/flow-go/issues/5564) - [Relax interface conformance changes in contract update validator](https://github.com/onflow/cadence/pull/3184) @@ -82,6 +91,8 @@ Cadence 1.0 dependency updates - flow-go: [1](https://github.com/onflow/flow-go/issues/5555) Cadence 1.0 features & improvements +- bugfix: [Crasher when converting integer to opional address](https://github.com/onflow/cadence/issues/3194) +- Docs: [Improve development documentation](https://github.com/onflow/cadence/pull/3189) Cadence Execution From 21d7d8424262df083f88db160037eadb258f44fe Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Wed, 27 Mar 2024 21:22:51 +0530 Subject: [PATCH 180/626] Create 2024-03-27-Protocol-Product-Sync.md Creating new meeting file --- agendas/2024/product-sync/2024-03-27-Protocol-Product-Sync.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 agendas/2024/product-sync/2024-03-27-Protocol-Product-Sync.md diff --git a/agendas/2024/product-sync/2024-03-27-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-03-27-Protocol-Product-Sync.md new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/agendas/2024/product-sync/2024-03-27-Protocol-Product-Sync.md @@ -0,0 +1 @@ + From 95a7509b7cf26ad9b90eabacc72695b28bf58d5c Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Wed, 27 Mar 2024 21:23:44 +0530 Subject: [PATCH 181/626] Update 2024-03-27-Protocol-Product-Sync.md Editing text --- agendas/2024/product-sync/2024-03-27-Protocol-Product-Sync.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/agendas/2024/product-sync/2024-03-27-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-03-27-Protocol-Product-Sync.md index 8b1378917..c87bcbd4b 100644 --- a/agendas/2024/product-sync/2024-03-27-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-03-27-Protocol-Product-Sync.md @@ -1 +1,3 @@ +# Please add agenda items below +1. From e8c5c58531640abece15021f6072fe625098f534 Mon Sep 17 00:00:00 2001 From: Kan Zhang Date: Wed, 27 Mar 2024 11:06:27 -0700 Subject: [PATCH 182/626] Update 2024-03-29-Flow-Sprint-Kickoff.md --- .../2024-03-29-Flow-Sprint-Kickoff.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 2314f4f0e..bdafca216 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -1,8 +1,22 @@ # Overview - ### Team Wins 🎉 + +### Team Wins 🎉 + +- Emulator state migration of NFT example to Cadence 1.0 finally successful! +- + +### General updates + +- Starting to move towards Grafana Incident Management, as well as a split EU/NA schedule during the work week. Feel free to take a look at the current setup [here](https://flowfoundation.grafana.net/a/grafana-oncall-app/schedules/S8X18TEALX93Z?p=1) +- Open to discussion, how the weekends should be handled (EU/NA split, or standard rotation) +- Reminder for US folks to submit their 83(b) forms before tomorrow + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) +- Starting Next Week: + - G - April 1st to April 15th -* --- @@ -26,6 +40,7 @@ N/A ### Key Release Dates & Breaking Changes - Next Mainnet/Testnet network upgrade (spork): TBD +- First Testnet Migration test run: April 3rd --- From 0d8b01fa6d3318e32169c7df706d7f404bf4fd50 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Thu, 28 Mar 2024 00:03:51 +0530 Subject: [PATCH 183/626] Rename 2024-03-27-Protocol-Product-Sync.md to 2024-03-28-Protocol-Product-Sync.md editing file name --- ...otocol-Product-Sync.md => 2024-03-28-Protocol-Product-Sync.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename agendas/2024/product-sync/{2024-03-27-Protocol-Product-Sync.md => 2024-03-28-Protocol-Product-Sync.md} (100%) diff --git a/agendas/2024/product-sync/2024-03-27-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-03-28-Protocol-Product-Sync.md similarity index 100% rename from agendas/2024/product-sync/2024-03-27-Protocol-Product-Sync.md rename to agendas/2024/product-sync/2024-03-28-Protocol-Product-Sync.md From 01b75bf70b596854c81e8cdf5611cdabdf144cb0 Mon Sep 17 00:00:00 2001 From: Ali Serag Date: Wed, 27 Mar 2024 16:30:09 -0700 Subject: [PATCH 184/626] Update 2024-03-29-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index bdafca216..cd466ea70 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -215,7 +215,10 @@ Cycle Objective(s): **Done last sprint** -* +* Blocto, Metapier, Celer have not started upgrading to C1.0, encouraging them to start asap. IncrementFi started but blocked on merging FT Standard +* Axelar is set to deploy on EVM +* Circle update contract and USDC +* IncrementFi lending, borrowing and staking multisig **This sprint** From 0a561c221f9af7b0bcdc6255c27f7275aef8cd01 Mon Sep 17 00:00:00 2001 From: Alexander Hentschel Date: Wed, 27 Mar 2024 16:53:30 -0700 Subject: [PATCH 185/626] first version --- .../2024-03-29-Flow-Sprint-Kickoff.md | 67 ++++++++++++------- 1 file changed, 44 insertions(+), 23 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index bdafca216..fccba1b4b 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -156,7 +156,7 @@ Objective 3: Analyze execution runtime trends and risks to plan next set of scal --- -### **Core Protocol** \[Jerome] +### **Core Protocol** \[Yurii] Cycle Objective(s): * Translate crypto performance improvements to consensus block rate increase @@ -164,32 +164,53 @@ Cycle Objective(s): * Reduce CPU usage on Execution node by 30% * Continue design and implementation of Sporkless Epoch Fallback Recovery solution -**Done last sprint** +**Significant Progress Last Sprint:** + +* Zero-downtime Upgrades of Node Software: + - Integrated Key-Value Store into Dynamic Protocol State and added framework for independent state machines to update values in Key-Value Store ([PR #5513](https://github.com/onflow/flow-go/pull/5513) merged) + - [proof of concept] used Key-Value in Dynamic Protocol State for upgrading protocol; + + confirmed with tests on prototype code ([draft PR #5477](https://github.com/onflow/flow-go/pull/5477)): + - upgrading Protocol at a coordinated view without downtime works + - Nodes that don't support new version yet will halt at specified view (tested on prototype code) + + - large refactoring for cleanup (ongoing) + - Smart contract to coordinate protocol upgrade ([PR #411](https://github.com/onflow/flow-core-contracts/pull/411) in progress) + + +* EFM Recovery + * Khalil onboarded + * Tooling to generate data for EFM recovery ([PR #5576](https://github.com/onflow/flow-go/pull/5576) in progress) -* + +* Cryptography + - Randomness-on chain contract: aligning on solution + implemented proposal + implemented tests ([PR #416](https://github.com/onflow/flow-core-contracts/pull/416) in progress) + - New cryptography stack: + - further optimization and build docs ([PR #5](https://github.com/onflow/crypto/pull/5) merged) + - investigate root cause of CPU-compatability issue that `Figment` encountered (ongoing) + + +* Consensus speedup: + - completed analysis ([notion](https://www.notion.so/flowfoundation/Cruise-Control-headroom-for-speedups-46dc17e07ae14462b03341e4432a907d?pvs=4)) **This sprint** -* EFM Recovery - * Merge KV store state machine PR - * [Integrate state machine with the higher level logic](https://github.com/onflow/flow-go/issues/5319) - * [Integrating KV Store state machine into upgrade integration tests](extending https://github.com/onflow/flow-go/pull/5477) - * [Finalizing smart contract changes](https://github.com/onflow/flow-core-contracts/pull/411) - * [Complete EFM data recovery](https://github.com/dapperlabs/flow-go/issues/6957) - * Wrap up reading and knowledge ramp up for Khalil - * [Start EFM recovery transaction](https://github.com/dapperlabs/flow-go/issues/6956) -* Data Availability - * [Enable programs cache on AN](https://github.com/onflow/flow-go/issues/5278) - finish and deploy to devnet - * [Debug unusual disk usage on ANs](https://github.com/onflow/flow-go/issues/5549) - * KROK team - merge remaining Event streaming PRs which are nearly done - * [SendAndSubscribeTransactionStatuses endpoint implementation for Access Streaming API](https://github.com/onflow/flow-go/pull/5310) - * [Add standard Access API implementations on Observer](https://github.com/onflow/flow-go/pull/5358) - * [Benchmark testing and analysis of execution data indexing on Observers](https://github.com/onflow/flow-go/issues/4849) -* Crypto - * New crypto lib - * Continue following up with ArtBlocks and make sure their node work - * [Reproducing CPU issue on similar CPUs from gcloud](https://github.com/onflow/flow-go/pull/5471) - * Randomness-on chain contract: get back to the contract fix +* Zero-downtime Upgrades of Node Software: + - Cleanup and fix tests (large!) + - Finish smart contract to coordinate protocol upgrade ([PR #411](https://github.com/onflow/flow-core-contracts/pull/411)) + - Continue on integration tests ([draft PR #5477](https://github.com/onflow/flow-go/pull/5477)) + + +* EFM Recovery + - Generate data for EFM recovery (complete [PR #5576](https://github.com/onflow/flow-go/pull/5576) and potential follow-up) + - Start on [Governance Transaction to initiate EFM recovery](https://github.com/dapperlabs/flow-go/issues/6956) + + +* Cryptography + - Randomness-on chain contract: finish the implementation and update the contracts onchain + - new cryptography stack: + - continue on CPU-compatability issue + - extra build docs in all repos **On Hold** * Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. From 616c8ebccecdaf7f3063724da8d21c1c4ae154e4 Mon Sep 17 00:00:00 2001 From: Alexander Hentschel Date: Wed, 27 Mar 2024 17:04:57 -0700 Subject: [PATCH 186/626] Update 2024-03-29-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 6b4d75eba..27194a763 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -156,7 +156,7 @@ Objective 3: Analyze execution runtime trends and risks to plan next set of scal --- -### **Core Protocol** \[Yurii] +### **Core Protocol** \[Yurii & Peter] Cycle Objective(s): * Translate crypto performance improvements to consensus block rate increase From 9ba5c32ce04200281d1f9d42ce2f602528eac651 Mon Sep 17 00:00:00 2001 From: Tarak Ben Youssef <50252200+tarakby@users.noreply.github.com> Date: Wed, 27 Mar 2024 18:08:48 -0600 Subject: [PATCH 187/626] Update 2024-03-29-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 27194a763..0dc6fd24e 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -186,8 +186,8 @@ Cycle Objective(s): * Cryptography - Randomness-on chain contract: aligning on solution + implemented proposal + implemented tests ([PR #416](https://github.com/onflow/flow-core-contracts/pull/416) in progress) - New cryptography stack: - - further optimization and build docs ([PR #5](https://github.com/onflow/crypto/pull/5) merged) - - investigate root cause of CPU-compatability issue that `Figment` encountered (ongoing) + - fix CPU-compatability issue: `Artblocks` are unblocked, root cause and long-term solutions are still ongoing (requires `Figment`'s help) + - further optimization and docs clarifications ([PR #5](https://github.com/onflow/crypto/pull/5) merged) * Consensus speedup: From 6b50540306f301fdc41d86c124c288ed3051789d Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 29 Mar 2024 03:14:05 +0530 Subject: [PATCH 188/626] Update 2024-03-29-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 0dc6fd24e..a2de9018d 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -20,7 +20,7 @@ --- -### Mainnet Uptime - Last 7 days (3/9/24 to 3/15/24) \[Vishal] +### Mainnet Uptime - Last 7 days (3/15/24 to 3/29/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -28,9 +28,9 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.92% | 79.0 | +| Access API Liveness | 99.9% | 99.992% | 8.27% | -[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) are now live again on FF Grafana +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) [YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) From d608145a980b4869c3b5bb86ae7500214f38a182 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 29 Mar 2024 03:28:42 +0530 Subject: [PATCH 189/626] Update 2024-03-29-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index a2de9018d..3785addc5 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -35,11 +35,18 @@ [YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) ## Incidents -N/A + +### Mainnet +1. March 25th 5:14 AM Pacific: EN1 memory leak observed by JP and mitigated by a restart ([slack thread](https://dapperlabs.slack.com/archives/C014WBGR1J9/p1711323881744749)) - Root cause: https://github.com/onflow/flow-go/issues/5150 +2. March 25th 10:45 PM Paficic: AN9 went OOM ([slack thread](https://dapperlabs.slack.com/archives/CUU2KQL4A/p1711386932706579)) - Same root cause as 1. +3. QN Public EU-based ANs went offline for 10 mins. ([RCA](https://discord.com/channels/613813861610684416/1162086721471647874/1223025960769818799])) + +### Testnet +1. ### Key Release Dates & Breaking Changes -- Next Mainnet/Testnet network upgrade (spork): TBD +- Next Mainnet/Testnet network upgrade (spork): ~End of April/ early May. - First Testnet Migration test run: April 3rd --- From 83a262418fc60238a8d5b900db1049c9e0d81b83 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 29 Mar 2024 03:45:53 +0530 Subject: [PATCH 190/626] Update 2024-03-29-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 3785addc5..e2aae9d89 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -37,12 +37,14 @@ ## Incidents ### Mainnet -1. March 25th 5:14 AM Pacific: EN1 memory leak observed by JP and mitigated by a restart ([slack thread](https://dapperlabs.slack.com/archives/C014WBGR1J9/p1711323881744749)) - Root cause: https://github.com/onflow/flow-go/issues/5150 -2. March 25th 10:45 PM Paficic: AN9 went OOM ([slack thread](https://dapperlabs.slack.com/archives/CUU2KQL4A/p1711386932706579)) - Same root cause as 1. -3. QN Public EU-based ANs went offline for 10 mins. ([RCA](https://discord.com/channels/613813861610684416/1162086721471647874/1223025960769818799])) +1. March 24th 4:45 PM Pacific: EN1 memory leak observed by JP and mitigated by a restart ([slack thread](https://dapperlabs.slack.com/archives/C014WBGR1J9/p1711323881744749)) - Root cause: https://github.com/onflow/flow-go/issues/5150 +2. March 25th 10:15 AM Pacific: AN9 went OOM ([slack thread](https://dapperlabs.slack.com/archives/CUU2KQL4A/p1711386932706579)) - Same root cause as 1. +3. March 25th 7:50 AM Pacific: QN Public EU-based ANs went offline for 10 minutes. ([RCA](https://discord.com/channels/613813861610684416/1162086721471647874/1223025960769818799])) +4. March 27th 0:00 AM Pacific: TTF spiked on QN public Access nodes. Root cause is yet to be determined. ### Testnet -1. +1. March 20th 11:12 AM: Sealing halt ([slack thread](https://dapperlabs.slack.com/archives/C015ABLUV41/p1710914042806219)) - Root cause: EN3 had failed to start after a move/restart. +2. March 28th 11:28 AM: EN1 deleted ([slack thread](https://dapperlabs.slack.com/archives/C015ABLUV41/p1711650523244509) - Root cause: human error. ### Key Release Dates & Breaking Changes From b6d67c625097d37154f149fb6bf1eeb90198fb8d Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 28 Mar 2024 17:34:02 -0600 Subject: [PATCH 191/626] Add infra section --- .../2024-03-29-Flow-Sprint-Kickoff.md | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index e2aae9d89..6bba807e2 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -351,19 +351,45 @@ Cycle Objective(s): ### **Infra - JP** Cycle Objective(s): - Finish GCP project migration to the Flow Foundation org +- Start planning CloudFlare migration +- Finish DevEx migration to Cloud Run **Done last sprint** -* +**CloudFlare Migration** +- [Develop load balancer solution for migrating existing ingresses](https://github.com/dapperlabs/terraform/pull/4187) + +**DevEx Migration +- [Update module to support load balancer services and apply to staging service](https://github.com/dapperlabs/flow-devex-infrastructure/pull/138) + +**GCP Project Migration** +- Migrate project containing Mainnet nodes to FF org +- Validate IAM access to nodes following migration + +**Grafana OnCall migration** +- Created Grafana teams for Grafana OnCall +- Created Esalatiton policies for Grafana OnCall +- Created on-call schedules for Grafana OnCall +- Designed split schedules for protocol team to enable flexible coverage + +**Node Hosting** +- Pruned chunk data packs on Devnet ENs to reclaim disk space +- Executed dynamic bootstrap on Devnet EN3 to get node caught up +- Pruned Devnet node logs to clean up boot disks +- [Increase Devnet LN disk sizes](https://github.com/dapperlabs/terraform/pull/4189) +- [Update SN disk sizes for Mainnet](https://github.com/dapperlabs/terraform/pull/4189) + +**Support** +- Generate credentials for QN +- Generate new KMS keys for new accounts +- Support migration network setup **Goal of Sprint is to prepare for GCP migration to FF account** **This Sprint** - Finish migrating all GCP projects and shift billing accounts for these projects - Enable FF groups in the GCP projects for IAM shift -- Evaluate best path forward for Terraform management -- Create plan for CloudFlare account migration -- Continue suppporting migration network initiative -- Continue supporting Cloud Run migration initiative +- Start eveluating & planning CloudFlare migration +- Finish migration to Cloud Run & deprecate clusters --- From c2db26e6e51b80f7330e32555d2e2417d7f21225 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 29 Mar 2024 06:05:26 +0100 Subject: [PATCH 192/626] Cadence wg updates 27-29 March --- .../2024-03-29-Flow-Sprint-Kickoff.md | 43 +++++++++++++------ 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 6bba807e2..ae7e29fce 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -4,7 +4,7 @@ ### Team Wins 🎉 - Emulator state migration of NFT example to Cadence 1.0 finally successful! -- +- Successfully bootstrapped and run TN Migration environment from TN stated migrated to Cadence 1.0 (Fixed [issue with epoch contract](https://github.com/onflow/flow-core-contracts/pull/413) that caused ENs on migration network to hog CPU) ### General updates @@ -90,6 +90,14 @@ Cycle Objective(s): **Done last sprint** Cadence 1.0 migration testing with emulator & TN migration environment +- [Contract update fails if there were enums as type-requirements](https://github.com/onflow/cadence/issues/3186) +- [Run existing tests for C1.0 contract update validator](https://github.com/onflow/cadence/issues/3188) +- [State migration fails in some cases](https://github.com/onflow/cadence/issues/3192) + - [Only encode reference static type in legacy format if it was decoded as such](https://github.com/onflow/cadence/pull/3199) + - [Name storage migration, include in error](https://github.com/onflow/cadence/pull/3198) + - [Optionally check atree storage health before migration](https://github.com/onflow/flow-go/pull/5591) +- [Improve error printing in contract validator](https://github.com/onflow/flow-go/pull/5596) + - dependency for ^: [Simplify AuthorizationMismatchError](https://github.com/onflow/cadence/pull/3201) - [State migration fails in some cases](https://github.com/onflow/cadence/issues/3192) - [Handle unparameterized Capability static types](https://github.com/onflow/cadence/pull/3196) - [Make custom contract update rules mandatory](https://github.com/onflow/cadence/issues/3187) @@ -104,30 +112,39 @@ Cadence 1.0 migration testing with emulator & TN migration environment - [Relax interface conformance changes in contract update validator](https://github.com/onflow/cadence/pull/3184) - [Fix import resolving during staged contract updates](https://github.com/onflow/flow-go/issues/5551) -Cadence 1.0 dependency updates -- CLI: [1](https://github.com/onflow/flow-cli/issues/1470), [2](https://github.com/onflow/flow-cli/issues/1462) -- EVM Gateway: [1](https://github.com/onflow/flow-evm-gateway/issues/175), [2](https://github.com/onflow/flow-evm-gateway/issues/165) -- flixkit-go: [1](https://github.com/onflow/flixkit-go/issues/52), [2](https://github.com/onflow/flixkit-go/issues/51) -- cadence-tools: [1](https://github.com/onflow/cadence-tools/issues/323), [2](https://github.com/onflow/cadence-tools/issues/322), [3](https://github.com/onflow/cadence-tools/issues/320), [4](https://github.com/onflow/cadence-tools/issues/318), [5](https://github.com/onflow/cadence-tools/issues/316) -- flowkit: [1](https://github.com/onflow/flowkit/issues/32), [2](https://github.com/onflow/flowkit/issues/31), [3](https://github.com/onflow/flowkit/issues/30) -- emulator: [1](https://github.com/onflow/flow-emulator/issues/622), [2](https://github.com/onflow/flow-emulator/issues/621), [3](https://github.com/onflow/flow-emulator/issues/618) -- flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/issues/610), [2](https://github.com/onflow/flow-go-sdk/issues/609) -- flow-go: [1](https://github.com/onflow/flow-go/issues/5555) - Cadence 1.0 features & improvements +- bugfix: [Enums in Contract Interfaces cannot be updated to Cadence 1.0](https://github.com/onflow/cadence/issues/3182) - bugfix: [Crasher when converting integer to opional address](https://github.com/onflow/cadence/issues/3194) - Docs: [Improve development documentation](https://github.com/onflow/cadence/pull/3189) +- Docs: [Improve Cadence 1.0 migration guide](https://github.com/onflow/cadence-lang.org/pull/74) -Cadence Execution +Cadence 1.0 dependency updates +- CLI: [1](https://github.com/onflow/flow-cli/issues/1470), [2](https://github.com/onflow/flow-cli/issues/1462), [3](https://github.com/onflow/flow-cli/pull/1480) +- EVM Gateway: [1](https://github.com/onflow/flow-evm-gateway/issues/175), [2](https://github.com/onflow/flow-evm-gateway/issues/165) +- flixkit-go: [1](https://github.com/onflow/flixkit-go/issues/52), [2](https://github.com/onflow/flixkit-go/issues/51), [3](https://github.com/onflow/flixkit-go/pull/53) +- cadence-tools: [1](https://github.com/onflow/cadence-tools/issues/323), [2](https://github.com/onflow/cadence-tools/issues/322), [3](https://github.com/onflow/cadence-tools/issues/320), [4](https://github.com/onflow/cadence-tools/issues/318), [5](https://github.com/onflow/cadence-tools/issues/316), [6](https://github.com/onflow/cadence-tools/pull/328), [7](https://github.com/onflow/cadence-tools/pull/327), [8](https://github.com/onflow/cadence-tools/pull/326) +- flowkit: [1](https://github.com/onflow/flowkit/issues/32), [2](https://github.com/onflow/flowkit/issues/31), [3](https://github.com/onflow/flowkit/issues/30), [4](https://github.com/onflow/flowkit/pull/33) +- emulator: [1](https://github.com/onflow/flow-emulator/issues/622), [2](https://github.com/onflow/flow-emulator/issues/621), [3](https://github.com/onflow/flow-emulator/issues/618), [4](https://github.com/onflow/flow-emulator/pull/626) +- flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/issues/610), [2](https://github.com/onflow/flow-go-sdk/issues/609), [3](https://github.com/onflow/flow-go-sdk/pull/612), [4](https://github.com/onflow/flow-go-sdk/pull/611) +- flow-go: [1](https://github.com/onflow/flow-go/issues/5555), [2](https://github.com/onflow/flow-go/pull/5600) -EVM Gateway productization +Cadence Execution +- [Bump atree version in Cadence v1.0 for new features (e.g. deduplication of Cadence dictionary type info)](https://github.com/onflow/cadence/pull/3178) +- Test bugfix: [Fix data races in tests](https://github.com/onflow/flow-go/pull/5599) +- Reverting migration optimization causing unstable test behaviour: [Revert "Optimise merge registers for migrations"](https://github.com/onflow/flow-go/pull/5594) EVM Core +- [[Flow EVM] supporting evm.batchRun](https://github.com/onflow/flow-go/issues/5501) + - work towards ^: [prepare the StateDB and the Emulator to support batch run operations](https://github.com/onflow/flow-go/pull/5577) - [Populate receiptRoot in the block](https://github.com/onflow/flow-go/issues/5509) - [Add flow token bridge events](https://github.com/onflow/flow-go/issues/5537) - [Fix the possibility of concurrent Precompile setup calls](https://github.com/onflow/flow-go/issues/5512) - Go-ethereum: [Update internal package references](https://github.com/onflow/go-ethereum/pull/5) +EVM Gateway +- [Implement filter management](https://github.com/onflow/flow-evm-gateway/issues/7) +- [Support polling new data since filter changes](https://github.com/onflow/flow-evm-gateway/issues/141) + **This sprint** From 296bd1fee6be0403c8ed0d0c46516269845c7f2a Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 29 Mar 2024 06:15:58 +0100 Subject: [PATCH 193/626] Update 2024-03-29-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index ae7e29fce..ed3f87279 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -149,7 +149,7 @@ EVM Gateway **This sprint** Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades -* [Emulator release is ready](https://github.com/onflow/flow-cli/releases/tag/v1.12.0-cadence-v1.0.0-preview.9), going through last [testing](https://github.com/onflow/cadence/issues/3098) before we announce it. +* [Emulator release is ready](https://github.com/onflow/flow-cli/releases/tag/v1.15.0-cadence-v1.0.0-preview.14), support devs that are teting migration, monitor Discord questions. * Testnet migration completed, moving on to adding [Atree register inlining](https://github.com/onflow/cadence/pull/3048) migration and validating migrated state on the TN migration environment. Objective 1, KR4: Testnet Upgrade to Crescendo Release From c9d8e9c202401f429aad38d3ddd1f7357ab33e28 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 29 Mar 2024 06:16:20 +0100 Subject: [PATCH 194/626] Update 2024-03-29-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index ed3f87279..4942ab608 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -5,6 +5,7 @@ - Emulator state migration of NFT example to Cadence 1.0 finally successful! - Successfully bootstrapped and run TN Migration environment from TN stated migrated to Cadence 1.0 (Fixed [issue with epoch contract](https://github.com/onflow/flow-core-contracts/pull/413) that caused ENs on migration network to hog CPU) +- [New CLI released](https://github.com/onflow/flow-cli/releases/tag/v1.15.0-cadence-v1.0.0-preview.14) with updated Cadence 1.0 (preview 18), supporting testig of contract upgrade to C1.0. ### General updates From 99e567d13301d73a981104cb615087bd69dc5bbe Mon Sep 17 00:00:00 2001 From: Andrii Date: Fri, 29 Mar 2024 15:10:02 +0200 Subject: [PATCH 195/626] Generated protobuf --- protobuf/go/flow/access/access_grpc.pb.go | 190 +++++++++++------- .../go/flow/execution/execution_grpc.pb.go | 70 ++++--- .../executiondata/executiondata_grpc.pb.go | 30 ++- .../go/flow/legacy/access/access_grpc.pb.go | 105 ++++++---- .../legacy/execution/execution_grpc.pb.go | 30 ++- 5 files changed, 263 insertions(+), 162 deletions(-) diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index 172e340f4..e1cad3888 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc (unknown) // source: flow/access/access.proto @@ -18,6 +18,50 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + AccessAPI_Ping_FullMethodName = "/flow.access.AccessAPI/Ping" + AccessAPI_GetNodeVersionInfo_FullMethodName = "/flow.access.AccessAPI/GetNodeVersionInfo" + AccessAPI_GetLatestBlockHeader_FullMethodName = "/flow.access.AccessAPI/GetLatestBlockHeader" + AccessAPI_GetBlockHeaderByID_FullMethodName = "/flow.access.AccessAPI/GetBlockHeaderByID" + AccessAPI_GetBlockHeaderByHeight_FullMethodName = "/flow.access.AccessAPI/GetBlockHeaderByHeight" + AccessAPI_GetLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetLatestBlock" + AccessAPI_GetBlockByID_FullMethodName = "/flow.access.AccessAPI/GetBlockByID" + AccessAPI_GetBlockByHeight_FullMethodName = "/flow.access.AccessAPI/GetBlockByHeight" + AccessAPI_GetCollectionByID_FullMethodName = "/flow.access.AccessAPI/GetCollectionByID" + AccessAPI_SendTransaction_FullMethodName = "/flow.access.AccessAPI/SendTransaction" + AccessAPI_GetTransaction_FullMethodName = "/flow.access.AccessAPI/GetTransaction" + AccessAPI_GetTransactionResult_FullMethodName = "/flow.access.AccessAPI/GetTransactionResult" + AccessAPI_GetTransactionResultByIndex_FullMethodName = "/flow.access.AccessAPI/GetTransactionResultByIndex" + AccessAPI_GetTransactionResultsByBlockID_FullMethodName = "/flow.access.AccessAPI/GetTransactionResultsByBlockID" + AccessAPI_GetTransactionsByBlockID_FullMethodName = "/flow.access.AccessAPI/GetTransactionsByBlockID" + AccessAPI_GetSystemTransaction_FullMethodName = "/flow.access.AccessAPI/GetSystemTransaction" + AccessAPI_GetSystemTransactionResult_FullMethodName = "/flow.access.AccessAPI/GetSystemTransactionResult" + AccessAPI_GetAccount_FullMethodName = "/flow.access.AccessAPI/GetAccount" + AccessAPI_GetAccountAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountAtLatestBlock" + AccessAPI_GetAccountAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountAtBlockHeight" + AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock" + AccessAPI_ExecuteScriptAtBlockID_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockID" + AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight" + AccessAPI_GetEventsForHeightRange_FullMethodName = "/flow.access.AccessAPI/GetEventsForHeightRange" + AccessAPI_GetEventsForBlockIDs_FullMethodName = "/flow.access.AccessAPI/GetEventsForBlockIDs" + AccessAPI_GetNetworkParameters_FullMethodName = "/flow.access.AccessAPI/GetNetworkParameters" + AccessAPI_GetLatestProtocolStateSnapshot_FullMethodName = "/flow.access.AccessAPI/GetLatestProtocolStateSnapshot" + AccessAPI_GetProtocolStateSnapshotByBlockID_FullMethodName = "/flow.access.AccessAPI/GetProtocolStateSnapshotByBlockID" + AccessAPI_GetProtocolStateSnapshotByHeight_FullMethodName = "/flow.access.AccessAPI/GetProtocolStateSnapshotByHeight" + AccessAPI_GetExecutionResultForBlockID_FullMethodName = "/flow.access.AccessAPI/GetExecutionResultForBlockID" + AccessAPI_GetExecutionResultByID_FullMethodName = "/flow.access.AccessAPI/GetExecutionResultByID" + AccessAPI_SubscribeBlocksFromStartBlockID_FullMethodName = "/flow.access.AccessAPI/SubscribeBlocksFromStartBlockID" + AccessAPI_SubscribeBlocksFromStartHeight_FullMethodName = "/flow.access.AccessAPI/SubscribeBlocksFromStartHeight" + AccessAPI_SubscribeBlocksFromLatest_FullMethodName = "/flow.access.AccessAPI/SubscribeBlocksFromLatest" + AccessAPI_SubscribeBlockHeadersFromStartBlockID_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockHeadersFromStartBlockID" + AccessAPI_SubscribeBlockHeadersFromStartHeight_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockHeadersFromStartHeight" + AccessAPI_SubscribeBlockHeadersFromLatest_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockHeadersFromLatest" + AccessAPI_SubscribeBlockDigestsFromStartBlockID_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockDigestsFromStartBlockID" + AccessAPI_SubscribeBlockDigestsFromStartHeight_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockDigestsFromStartHeight" + AccessAPI_SubscribeBlockDigestsFromLatest_FullMethodName = "/flow.access.AccessAPI/SubscribeBlockDigestsFromLatest" + AccessAPI_SendAndSubscribeTransactionStatuses_FullMethodName = "/flow.access.AccessAPI/SendAndSubscribeTransactionStatuses" +) + // AccessAPIClient is the client API for AccessAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -188,7 +232,7 @@ func NewAccessAPIClient(cc grpc.ClientConnInterface) AccessAPIClient { func (c *accessAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/Ping", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_Ping_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -197,7 +241,7 @@ func (c *accessAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grp func (c *accessAPIClient) GetNodeVersionInfo(ctx context.Context, in *GetNodeVersionInfoRequest, opts ...grpc.CallOption) (*GetNodeVersionInfoResponse, error) { out := new(GetNodeVersionInfoResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetNodeVersionInfo", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetNodeVersionInfo_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -206,7 +250,7 @@ func (c *accessAPIClient) GetNodeVersionInfo(ctx context.Context, in *GetNodeVer func (c *accessAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLatestBlockHeaderRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetLatestBlockHeader", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetLatestBlockHeader_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -215,7 +259,7 @@ func (c *accessAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLates func (c *accessAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHeaderByIDRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetBlockHeaderByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockHeaderByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -224,7 +268,7 @@ func (c *accessAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHe func (c *accessAPIClient) GetBlockHeaderByHeight(ctx context.Context, in *GetBlockHeaderByHeightRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetBlockHeaderByHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockHeaderByHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -233,7 +277,7 @@ func (c *accessAPIClient) GetBlockHeaderByHeight(ctx context.Context, in *GetBlo func (c *accessAPIClient) GetLatestBlock(ctx context.Context, in *GetLatestBlockRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetLatestBlock", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -242,7 +286,7 @@ func (c *accessAPIClient) GetLatestBlock(ctx context.Context, in *GetLatestBlock func (c *accessAPIClient) GetBlockByID(ctx context.Context, in *GetBlockByIDRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetBlockByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -251,7 +295,7 @@ func (c *accessAPIClient) GetBlockByID(ctx context.Context, in *GetBlockByIDRequ func (c *accessAPIClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHeightRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetBlockByHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockByHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -260,7 +304,7 @@ func (c *accessAPIClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHe func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollectionByIDRequest, opts ...grpc.CallOption) (*CollectionResponse, error) { out := new(CollectionResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetCollectionByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetCollectionByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -269,7 +313,7 @@ func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollecti func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransactionRequest, opts ...grpc.CallOption) (*SendTransactionResponse, error) { out := new(SendTransactionResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/SendTransaction", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_SendTransaction_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -278,7 +322,7 @@ func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransacti func (c *accessAPIClient) GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*TransactionResponse, error) { out := new(TransactionResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransaction", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransaction_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -287,7 +331,7 @@ func (c *accessAPIClient) GetTransaction(ctx context.Context, in *GetTransaction func (c *accessAPIClient) GetTransactionResult(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*TransactionResultResponse, error) { out := new(TransactionResultResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransactionResult", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransactionResult_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -296,7 +340,7 @@ func (c *accessAPIClient) GetTransactionResult(ctx context.Context, in *GetTrans func (c *accessAPIClient) GetTransactionResultByIndex(ctx context.Context, in *GetTransactionByIndexRequest, opts ...grpc.CallOption) (*TransactionResultResponse, error) { out := new(TransactionResultResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransactionResultByIndex", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransactionResultByIndex_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -305,7 +349,7 @@ func (c *accessAPIClient) GetTransactionResultByIndex(ctx context.Context, in *G func (c *accessAPIClient) GetTransactionResultsByBlockID(ctx context.Context, in *GetTransactionsByBlockIDRequest, opts ...grpc.CallOption) (*TransactionResultsResponse, error) { out := new(TransactionResultsResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransactionResultsByBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransactionResultsByBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -314,7 +358,7 @@ func (c *accessAPIClient) GetTransactionResultsByBlockID(ctx context.Context, in func (c *accessAPIClient) GetTransactionsByBlockID(ctx context.Context, in *GetTransactionsByBlockIDRequest, opts ...grpc.CallOption) (*TransactionsResponse, error) { out := new(TransactionsResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetTransactionsByBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransactionsByBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -323,7 +367,7 @@ func (c *accessAPIClient) GetTransactionsByBlockID(ctx context.Context, in *GetT func (c *accessAPIClient) GetSystemTransaction(ctx context.Context, in *GetSystemTransactionRequest, opts ...grpc.CallOption) (*TransactionResponse, error) { out := new(TransactionResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetSystemTransaction", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetSystemTransaction_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -332,7 +376,7 @@ func (c *accessAPIClient) GetSystemTransaction(ctx context.Context, in *GetSyste func (c *accessAPIClient) GetSystemTransactionResult(ctx context.Context, in *GetSystemTransactionResultRequest, opts ...grpc.CallOption) (*TransactionResultResponse, error) { out := new(TransactionResultResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetSystemTransactionResult", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetSystemTransactionResult_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -341,7 +385,7 @@ func (c *accessAPIClient) GetSystemTransactionResult(ctx context.Context, in *Ge func (c *accessAPIClient) GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error) { out := new(GetAccountResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetAccount", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetAccount_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -350,7 +394,7 @@ func (c *accessAPIClient) GetAccount(ctx context.Context, in *GetAccountRequest, func (c *accessAPIClient) GetAccountAtLatestBlock(ctx context.Context, in *GetAccountAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountResponse, error) { out := new(AccountResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetAccountAtLatestBlock", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountAtLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -359,7 +403,7 @@ func (c *accessAPIClient) GetAccountAtLatestBlock(ctx context.Context, in *GetAc func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountResponse, error) { out := new(AccountResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetAccountAtBlockHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountAtBlockHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -368,7 +412,7 @@ func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAc func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *ExecuteScriptAtLatestBlockRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -377,7 +421,7 @@ func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *Ex func (c *accessAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *ExecuteScriptAtBlockIDRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/ExecuteScriptAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -386,7 +430,7 @@ func (c *accessAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *Execut func (c *accessAPIClient) ExecuteScriptAtBlockHeight(ctx context.Context, in *ExecuteScriptAtBlockHeightRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -395,7 +439,7 @@ func (c *accessAPIClient) ExecuteScriptAtBlockHeight(ctx context.Context, in *Ex func (c *accessAPIClient) GetEventsForHeightRange(ctx context.Context, in *GetEventsForHeightRangeRequest, opts ...grpc.CallOption) (*EventsResponse, error) { out := new(EventsResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetEventsForHeightRange", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetEventsForHeightRange_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -404,7 +448,7 @@ func (c *accessAPIClient) GetEventsForHeightRange(ctx context.Context, in *GetEv func (c *accessAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEventsForBlockIDsRequest, opts ...grpc.CallOption) (*EventsResponse, error) { out := new(EventsResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetEventsForBlockIDs", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetEventsForBlockIDs_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -413,7 +457,7 @@ func (c *accessAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEvent func (c *accessAPIClient) GetNetworkParameters(ctx context.Context, in *GetNetworkParametersRequest, opts ...grpc.CallOption) (*GetNetworkParametersResponse, error) { out := new(GetNetworkParametersResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetNetworkParameters", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetNetworkParameters_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -422,7 +466,7 @@ func (c *accessAPIClient) GetNetworkParameters(ctx context.Context, in *GetNetwo func (c *accessAPIClient) GetLatestProtocolStateSnapshot(ctx context.Context, in *GetLatestProtocolStateSnapshotRequest, opts ...grpc.CallOption) (*ProtocolStateSnapshotResponse, error) { out := new(ProtocolStateSnapshotResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetLatestProtocolStateSnapshot", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetLatestProtocolStateSnapshot_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -431,7 +475,7 @@ func (c *accessAPIClient) GetLatestProtocolStateSnapshot(ctx context.Context, in func (c *accessAPIClient) GetProtocolStateSnapshotByBlockID(ctx context.Context, in *GetProtocolStateSnapshotByBlockIDRequest, opts ...grpc.CallOption) (*ProtocolStateSnapshotResponse, error) { out := new(ProtocolStateSnapshotResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetProtocolStateSnapshotByBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetProtocolStateSnapshotByBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -440,7 +484,7 @@ func (c *accessAPIClient) GetProtocolStateSnapshotByBlockID(ctx context.Context, func (c *accessAPIClient) GetProtocolStateSnapshotByHeight(ctx context.Context, in *GetProtocolStateSnapshotByHeightRequest, opts ...grpc.CallOption) (*ProtocolStateSnapshotResponse, error) { out := new(ProtocolStateSnapshotResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetProtocolStateSnapshotByHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetProtocolStateSnapshotByHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -449,7 +493,7 @@ func (c *accessAPIClient) GetProtocolStateSnapshotByHeight(ctx context.Context, func (c *accessAPIClient) GetExecutionResultForBlockID(ctx context.Context, in *GetExecutionResultForBlockIDRequest, opts ...grpc.CallOption) (*ExecutionResultForBlockIDResponse, error) { out := new(ExecutionResultForBlockIDResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetExecutionResultForBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetExecutionResultForBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -458,7 +502,7 @@ func (c *accessAPIClient) GetExecutionResultForBlockID(ctx context.Context, in * func (c *accessAPIClient) GetExecutionResultByID(ctx context.Context, in *GetExecutionResultByIDRequest, opts ...grpc.CallOption) (*ExecutionResultByIDResponse, error) { out := new(ExecutionResultByIDResponse) - err := c.cc.Invoke(ctx, "/flow.access.AccessAPI/GetExecutionResultByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetExecutionResultByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -466,7 +510,7 @@ func (c *accessAPIClient) GetExecutionResultByID(ctx context.Context, in *GetExe } func (c *accessAPIClient) SubscribeBlocksFromStartBlockID(ctx context.Context, in *SubscribeBlocksFromStartBlockIDRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromStartBlockIDClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[0], "/flow.access.AccessAPI/SubscribeBlocksFromStartBlockID", opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[0], AccessAPI_SubscribeBlocksFromStartBlockID_FullMethodName, opts...) if err != nil { return nil, err } @@ -498,7 +542,7 @@ func (x *accessAPISubscribeBlocksFromStartBlockIDClient) Recv() (*SubscribeBlock } func (c *accessAPIClient) SubscribeBlocksFromStartHeight(ctx context.Context, in *SubscribeBlocksFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromStartHeightClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[1], "/flow.access.AccessAPI/SubscribeBlocksFromStartHeight", opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[1], AccessAPI_SubscribeBlocksFromStartHeight_FullMethodName, opts...) if err != nil { return nil, err } @@ -530,7 +574,7 @@ func (x *accessAPISubscribeBlocksFromStartHeightClient) Recv() (*SubscribeBlocks } func (c *accessAPIClient) SubscribeBlocksFromLatest(ctx context.Context, in *SubscribeBlocksFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlocksFromLatestClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[2], "/flow.access.AccessAPI/SubscribeBlocksFromLatest", opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[2], AccessAPI_SubscribeBlocksFromLatest_FullMethodName, opts...) if err != nil { return nil, err } @@ -562,7 +606,7 @@ func (x *accessAPISubscribeBlocksFromLatestClient) Recv() (*SubscribeBlocksRespo } func (c *accessAPIClient) SubscribeBlockHeadersFromStartBlockID(ctx context.Context, in *SubscribeBlockHeadersFromStartBlockIDRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromStartBlockIDClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[3], "/flow.access.AccessAPI/SubscribeBlockHeadersFromStartBlockID", opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[3], AccessAPI_SubscribeBlockHeadersFromStartBlockID_FullMethodName, opts...) if err != nil { return nil, err } @@ -594,7 +638,7 @@ func (x *accessAPISubscribeBlockHeadersFromStartBlockIDClient) Recv() (*Subscrib } func (c *accessAPIClient) SubscribeBlockHeadersFromStartHeight(ctx context.Context, in *SubscribeBlockHeadersFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromStartHeightClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[4], "/flow.access.AccessAPI/SubscribeBlockHeadersFromStartHeight", opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[4], AccessAPI_SubscribeBlockHeadersFromStartHeight_FullMethodName, opts...) if err != nil { return nil, err } @@ -626,7 +670,7 @@ func (x *accessAPISubscribeBlockHeadersFromStartHeightClient) Recv() (*Subscribe } func (c *accessAPIClient) SubscribeBlockHeadersFromLatest(ctx context.Context, in *SubscribeBlockHeadersFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockHeadersFromLatestClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[5], "/flow.access.AccessAPI/SubscribeBlockHeadersFromLatest", opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[5], AccessAPI_SubscribeBlockHeadersFromLatest_FullMethodName, opts...) if err != nil { return nil, err } @@ -658,7 +702,7 @@ func (x *accessAPISubscribeBlockHeadersFromLatestClient) Recv() (*SubscribeBlock } func (c *accessAPIClient) SubscribeBlockDigestsFromStartBlockID(ctx context.Context, in *SubscribeBlockDigestsFromStartBlockIDRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromStartBlockIDClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[6], "/flow.access.AccessAPI/SubscribeBlockDigestsFromStartBlockID", opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[6], AccessAPI_SubscribeBlockDigestsFromStartBlockID_FullMethodName, opts...) if err != nil { return nil, err } @@ -690,7 +734,7 @@ func (x *accessAPISubscribeBlockDigestsFromStartBlockIDClient) Recv() (*Subscrib } func (c *accessAPIClient) SubscribeBlockDigestsFromStartHeight(ctx context.Context, in *SubscribeBlockDigestsFromStartHeightRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromStartHeightClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[7], "/flow.access.AccessAPI/SubscribeBlockDigestsFromStartHeight", opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[7], AccessAPI_SubscribeBlockDigestsFromStartHeight_FullMethodName, opts...) if err != nil { return nil, err } @@ -722,7 +766,7 @@ func (x *accessAPISubscribeBlockDigestsFromStartHeightClient) Recv() (*Subscribe } func (c *accessAPIClient) SubscribeBlockDigestsFromLatest(ctx context.Context, in *SubscribeBlockDigestsFromLatestRequest, opts ...grpc.CallOption) (AccessAPI_SubscribeBlockDigestsFromLatestClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[8], "/flow.access.AccessAPI/SubscribeBlockDigestsFromLatest", opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[8], AccessAPI_SubscribeBlockDigestsFromLatest_FullMethodName, opts...) if err != nil { return nil, err } @@ -754,7 +798,7 @@ func (x *accessAPISubscribeBlockDigestsFromLatestClient) Recv() (*SubscribeBlock } func (c *accessAPIClient) SendAndSubscribeTransactionStatuses(ctx context.Context, in *SendAndSubscribeTransactionStatusesRequest, opts ...grpc.CallOption) (AccessAPI_SendAndSubscribeTransactionStatusesClient, error) { - stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[9], "/flow.access.AccessAPI/SendAndSubscribeTransactionStatuses", opts...) + stream, err := c.cc.NewStream(ctx, &AccessAPI_ServiceDesc.Streams[9], AccessAPI_SendAndSubscribeTransactionStatuses_FullMethodName, opts...) if err != nil { return nil, err } @@ -1094,7 +1138,7 @@ func _AccessAPI_Ping_Handler(srv interface{}, ctx context.Context, dec func(inte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/Ping", + FullMethod: AccessAPI_Ping_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).Ping(ctx, req.(*PingRequest)) @@ -1112,7 +1156,7 @@ func _AccessAPI_GetNodeVersionInfo_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetNodeVersionInfo", + FullMethod: AccessAPI_GetNodeVersionInfo_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetNodeVersionInfo(ctx, req.(*GetNodeVersionInfoRequest)) @@ -1130,7 +1174,7 @@ func _AccessAPI_GetLatestBlockHeader_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetLatestBlockHeader", + FullMethod: AccessAPI_GetLatestBlockHeader_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestBlockHeader(ctx, req.(*GetLatestBlockHeaderRequest)) @@ -1148,7 +1192,7 @@ func _AccessAPI_GetBlockHeaderByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetBlockHeaderByID", + FullMethod: AccessAPI_GetBlockHeaderByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockHeaderByID(ctx, req.(*GetBlockHeaderByIDRequest)) @@ -1166,7 +1210,7 @@ func _AccessAPI_GetBlockHeaderByHeight_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetBlockHeaderByHeight", + FullMethod: AccessAPI_GetBlockHeaderByHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockHeaderByHeight(ctx, req.(*GetBlockHeaderByHeightRequest)) @@ -1184,7 +1228,7 @@ func _AccessAPI_GetLatestBlock_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetLatestBlock", + FullMethod: AccessAPI_GetLatestBlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestBlock(ctx, req.(*GetLatestBlockRequest)) @@ -1202,7 +1246,7 @@ func _AccessAPI_GetBlockByID_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetBlockByID", + FullMethod: AccessAPI_GetBlockByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockByID(ctx, req.(*GetBlockByIDRequest)) @@ -1220,7 +1264,7 @@ func _AccessAPI_GetBlockByHeight_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetBlockByHeight", + FullMethod: AccessAPI_GetBlockByHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockByHeight(ctx, req.(*GetBlockByHeightRequest)) @@ -1238,7 +1282,7 @@ func _AccessAPI_GetCollectionByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetCollectionByID", + FullMethod: AccessAPI_GetCollectionByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetCollectionByID(ctx, req.(*GetCollectionByIDRequest)) @@ -1256,7 +1300,7 @@ func _AccessAPI_SendTransaction_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/SendTransaction", + FullMethod: AccessAPI_SendTransaction_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).SendTransaction(ctx, req.(*SendTransactionRequest)) @@ -1274,7 +1318,7 @@ func _AccessAPI_GetTransaction_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetTransaction", + FullMethod: AccessAPI_GetTransaction_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransaction(ctx, req.(*GetTransactionRequest)) @@ -1292,7 +1336,7 @@ func _AccessAPI_GetTransactionResult_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetTransactionResult", + FullMethod: AccessAPI_GetTransactionResult_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionResult(ctx, req.(*GetTransactionRequest)) @@ -1310,7 +1354,7 @@ func _AccessAPI_GetTransactionResultByIndex_Handler(srv interface{}, ctx context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetTransactionResultByIndex", + FullMethod: AccessAPI_GetTransactionResultByIndex_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionResultByIndex(ctx, req.(*GetTransactionByIndexRequest)) @@ -1328,7 +1372,7 @@ func _AccessAPI_GetTransactionResultsByBlockID_Handler(srv interface{}, ctx cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetTransactionResultsByBlockID", + FullMethod: AccessAPI_GetTransactionResultsByBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionResultsByBlockID(ctx, req.(*GetTransactionsByBlockIDRequest)) @@ -1346,7 +1390,7 @@ func _AccessAPI_GetTransactionsByBlockID_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetTransactionsByBlockID", + FullMethod: AccessAPI_GetTransactionsByBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionsByBlockID(ctx, req.(*GetTransactionsByBlockIDRequest)) @@ -1364,7 +1408,7 @@ func _AccessAPI_GetSystemTransaction_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetSystemTransaction", + FullMethod: AccessAPI_GetSystemTransaction_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetSystemTransaction(ctx, req.(*GetSystemTransactionRequest)) @@ -1382,7 +1426,7 @@ func _AccessAPI_GetSystemTransactionResult_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetSystemTransactionResult", + FullMethod: AccessAPI_GetSystemTransactionResult_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetSystemTransactionResult(ctx, req.(*GetSystemTransactionResultRequest)) @@ -1400,7 +1444,7 @@ func _AccessAPI_GetAccount_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetAccount", + FullMethod: AccessAPI_GetAccount_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccount(ctx, req.(*GetAccountRequest)) @@ -1418,7 +1462,7 @@ func _AccessAPI_GetAccountAtLatestBlock_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetAccountAtLatestBlock", + FullMethod: AccessAPI_GetAccountAtLatestBlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccountAtLatestBlock(ctx, req.(*GetAccountAtLatestBlockRequest)) @@ -1436,7 +1480,7 @@ func _AccessAPI_GetAccountAtBlockHeight_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetAccountAtBlockHeight", + FullMethod: AccessAPI_GetAccountAtBlockHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccountAtBlockHeight(ctx, req.(*GetAccountAtBlockHeightRequest)) @@ -1454,7 +1498,7 @@ func _AccessAPI_ExecuteScriptAtLatestBlock_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock", + FullMethod: AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtLatestBlock(ctx, req.(*ExecuteScriptAtLatestBlockRequest)) @@ -1472,7 +1516,7 @@ func _AccessAPI_ExecuteScriptAtBlockID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/ExecuteScriptAtBlockID", + FullMethod: AccessAPI_ExecuteScriptAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtBlockID(ctx, req.(*ExecuteScriptAtBlockIDRequest)) @@ -1490,7 +1534,7 @@ func _AccessAPI_ExecuteScriptAtBlockHeight_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight", + FullMethod: AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtBlockHeight(ctx, req.(*ExecuteScriptAtBlockHeightRequest)) @@ -1508,7 +1552,7 @@ func _AccessAPI_GetEventsForHeightRange_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetEventsForHeightRange", + FullMethod: AccessAPI_GetEventsForHeightRange_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetEventsForHeightRange(ctx, req.(*GetEventsForHeightRangeRequest)) @@ -1526,7 +1570,7 @@ func _AccessAPI_GetEventsForBlockIDs_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetEventsForBlockIDs", + FullMethod: AccessAPI_GetEventsForBlockIDs_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetEventsForBlockIDs(ctx, req.(*GetEventsForBlockIDsRequest)) @@ -1544,7 +1588,7 @@ func _AccessAPI_GetNetworkParameters_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetNetworkParameters", + FullMethod: AccessAPI_GetNetworkParameters_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetNetworkParameters(ctx, req.(*GetNetworkParametersRequest)) @@ -1562,7 +1606,7 @@ func _AccessAPI_GetLatestProtocolStateSnapshot_Handler(srv interface{}, ctx cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetLatestProtocolStateSnapshot", + FullMethod: AccessAPI_GetLatestProtocolStateSnapshot_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestProtocolStateSnapshot(ctx, req.(*GetLatestProtocolStateSnapshotRequest)) @@ -1580,7 +1624,7 @@ func _AccessAPI_GetProtocolStateSnapshotByBlockID_Handler(srv interface{}, ctx c } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetProtocolStateSnapshotByBlockID", + FullMethod: AccessAPI_GetProtocolStateSnapshotByBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetProtocolStateSnapshotByBlockID(ctx, req.(*GetProtocolStateSnapshotByBlockIDRequest)) @@ -1598,7 +1642,7 @@ func _AccessAPI_GetProtocolStateSnapshotByHeight_Handler(srv interface{}, ctx co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetProtocolStateSnapshotByHeight", + FullMethod: AccessAPI_GetProtocolStateSnapshotByHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetProtocolStateSnapshotByHeight(ctx, req.(*GetProtocolStateSnapshotByHeightRequest)) @@ -1616,7 +1660,7 @@ func _AccessAPI_GetExecutionResultForBlockID_Handler(srv interface{}, ctx contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetExecutionResultForBlockID", + FullMethod: AccessAPI_GetExecutionResultForBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetExecutionResultForBlockID(ctx, req.(*GetExecutionResultForBlockIDRequest)) @@ -1634,7 +1678,7 @@ func _AccessAPI_GetExecutionResultByID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.access.AccessAPI/GetExecutionResultByID", + FullMethod: AccessAPI_GetExecutionResultByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetExecutionResultByID(ctx, req.(*GetExecutionResultByIDRequest)) diff --git a/protobuf/go/flow/execution/execution_grpc.pb.go b/protobuf/go/flow/execution/execution_grpc.pb.go index 7726a8e90..49846e80c 100644 --- a/protobuf/go/flow/execution/execution_grpc.pb.go +++ b/protobuf/go/flow/execution/execution_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc (unknown) // source: flow/execution/execution.proto @@ -18,6 +18,22 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + ExecutionAPI_Ping_FullMethodName = "/flow.execution.ExecutionAPI/Ping" + ExecutionAPI_GetAccountAtBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetAccountAtBlockID" + ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName = "/flow.execution.ExecutionAPI/ExecuteScriptAtBlockID" + ExecutionAPI_GetEventsForBlockIDs_FullMethodName = "/flow.execution.ExecutionAPI/GetEventsForBlockIDs" + ExecutionAPI_GetTransactionResult_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionResult" + ExecutionAPI_GetTransactionResultByIndex_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionResultByIndex" + ExecutionAPI_GetTransactionResultsByBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionResultsByBlockID" + ExecutionAPI_GetTransactionErrorMessage_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionErrorMessage" + ExecutionAPI_GetTransactionErrorMessageByIndex_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionErrorMessageByIndex" + ExecutionAPI_GetTransactionErrorMessagesByBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionErrorMessagesByBlockID" + ExecutionAPI_GetRegisterAtBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetRegisterAtBlockID" + ExecutionAPI_GetLatestBlockHeader_FullMethodName = "/flow.execution.ExecutionAPI/GetLatestBlockHeader" + ExecutionAPI_GetBlockHeaderByID_FullMethodName = "/flow.execution.ExecutionAPI/GetBlockHeaderByID" +) + // ExecutionAPIClient is the client API for ExecutionAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -65,7 +81,7 @@ func NewExecutionAPIClient(cc grpc.ClientConnInterface) ExecutionAPIClient { func (c *executionAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/Ping", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_Ping_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -74,7 +90,7 @@ func (c *executionAPIClient) Ping(ctx context.Context, in *PingRequest, opts ... func (c *executionAPIClient) GetAccountAtBlockID(ctx context.Context, in *GetAccountAtBlockIDRequest, opts ...grpc.CallOption) (*GetAccountAtBlockIDResponse, error) { out := new(GetAccountAtBlockIDResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetAccountAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetAccountAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -83,7 +99,7 @@ func (c *executionAPIClient) GetAccountAtBlockID(ctx context.Context, in *GetAcc func (c *executionAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *ExecuteScriptAtBlockIDRequest, opts ...grpc.CallOption) (*ExecuteScriptAtBlockIDResponse, error) { out := new(ExecuteScriptAtBlockIDResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/ExecuteScriptAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -92,7 +108,7 @@ func (c *executionAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *Exe func (c *executionAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEventsForBlockIDsRequest, opts ...grpc.CallOption) (*GetEventsForBlockIDsResponse, error) { out := new(GetEventsForBlockIDsResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetEventsForBlockIDs", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetEventsForBlockIDs_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -101,7 +117,7 @@ func (c *executionAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEv func (c *executionAPIClient) GetTransactionResult(ctx context.Context, in *GetTransactionResultRequest, opts ...grpc.CallOption) (*GetTransactionResultResponse, error) { out := new(GetTransactionResultResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionResult", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionResult_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -110,7 +126,7 @@ func (c *executionAPIClient) GetTransactionResult(ctx context.Context, in *GetTr func (c *executionAPIClient) GetTransactionResultByIndex(ctx context.Context, in *GetTransactionByIndexRequest, opts ...grpc.CallOption) (*GetTransactionResultResponse, error) { out := new(GetTransactionResultResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionResultByIndex", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionResultByIndex_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -119,7 +135,7 @@ func (c *executionAPIClient) GetTransactionResultByIndex(ctx context.Context, in func (c *executionAPIClient) GetTransactionResultsByBlockID(ctx context.Context, in *GetTransactionsByBlockIDRequest, opts ...grpc.CallOption) (*GetTransactionResultsResponse, error) { out := new(GetTransactionResultsResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionResultsByBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionResultsByBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -128,7 +144,7 @@ func (c *executionAPIClient) GetTransactionResultsByBlockID(ctx context.Context, func (c *executionAPIClient) GetTransactionErrorMessage(ctx context.Context, in *GetTransactionErrorMessageRequest, opts ...grpc.CallOption) (*GetTransactionErrorMessageResponse, error) { out := new(GetTransactionErrorMessageResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionErrorMessage", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionErrorMessage_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -137,7 +153,7 @@ func (c *executionAPIClient) GetTransactionErrorMessage(ctx context.Context, in func (c *executionAPIClient) GetTransactionErrorMessageByIndex(ctx context.Context, in *GetTransactionErrorMessageByIndexRequest, opts ...grpc.CallOption) (*GetTransactionErrorMessageResponse, error) { out := new(GetTransactionErrorMessageResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionErrorMessageByIndex", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionErrorMessageByIndex_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -146,7 +162,7 @@ func (c *executionAPIClient) GetTransactionErrorMessageByIndex(ctx context.Conte func (c *executionAPIClient) GetTransactionErrorMessagesByBlockID(ctx context.Context, in *GetTransactionErrorMessagesByBlockIDRequest, opts ...grpc.CallOption) (*GetTransactionErrorMessagesResponse, error) { out := new(GetTransactionErrorMessagesResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetTransactionErrorMessagesByBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionErrorMessagesByBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -155,7 +171,7 @@ func (c *executionAPIClient) GetTransactionErrorMessagesByBlockID(ctx context.Co func (c *executionAPIClient) GetRegisterAtBlockID(ctx context.Context, in *GetRegisterAtBlockIDRequest, opts ...grpc.CallOption) (*GetRegisterAtBlockIDResponse, error) { out := new(GetRegisterAtBlockIDResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetRegisterAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetRegisterAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -164,7 +180,7 @@ func (c *executionAPIClient) GetRegisterAtBlockID(ctx context.Context, in *GetRe func (c *executionAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLatestBlockHeaderRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetLatestBlockHeader", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetLatestBlockHeader_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -173,7 +189,7 @@ func (c *executionAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLa func (c *executionAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHeaderByIDRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/flow.execution.ExecutionAPI/GetBlockHeaderByID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetBlockHeaderByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -282,7 +298,7 @@ func _ExecutionAPI_Ping_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/Ping", + FullMethod: ExecutionAPI_Ping_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).Ping(ctx, req.(*PingRequest)) @@ -300,7 +316,7 @@ func _ExecutionAPI_GetAccountAtBlockID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetAccountAtBlockID", + FullMethod: ExecutionAPI_GetAccountAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetAccountAtBlockID(ctx, req.(*GetAccountAtBlockIDRequest)) @@ -318,7 +334,7 @@ func _ExecutionAPI_ExecuteScriptAtBlockID_Handler(srv interface{}, ctx context.C } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/ExecuteScriptAtBlockID", + FullMethod: ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).ExecuteScriptAtBlockID(ctx, req.(*ExecuteScriptAtBlockIDRequest)) @@ -336,7 +352,7 @@ func _ExecutionAPI_GetEventsForBlockIDs_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetEventsForBlockIDs", + FullMethod: ExecutionAPI_GetEventsForBlockIDs_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetEventsForBlockIDs(ctx, req.(*GetEventsForBlockIDsRequest)) @@ -354,7 +370,7 @@ func _ExecutionAPI_GetTransactionResult_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetTransactionResult", + FullMethod: ExecutionAPI_GetTransactionResult_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionResult(ctx, req.(*GetTransactionResultRequest)) @@ -372,7 +388,7 @@ func _ExecutionAPI_GetTransactionResultByIndex_Handler(srv interface{}, ctx cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetTransactionResultByIndex", + FullMethod: ExecutionAPI_GetTransactionResultByIndex_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionResultByIndex(ctx, req.(*GetTransactionByIndexRequest)) @@ -390,7 +406,7 @@ func _ExecutionAPI_GetTransactionResultsByBlockID_Handler(srv interface{}, ctx c } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetTransactionResultsByBlockID", + FullMethod: ExecutionAPI_GetTransactionResultsByBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionResultsByBlockID(ctx, req.(*GetTransactionsByBlockIDRequest)) @@ -408,7 +424,7 @@ func _ExecutionAPI_GetTransactionErrorMessage_Handler(srv interface{}, ctx conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetTransactionErrorMessage", + FullMethod: ExecutionAPI_GetTransactionErrorMessage_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionErrorMessage(ctx, req.(*GetTransactionErrorMessageRequest)) @@ -426,7 +442,7 @@ func _ExecutionAPI_GetTransactionErrorMessageByIndex_Handler(srv interface{}, ct } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetTransactionErrorMessageByIndex", + FullMethod: ExecutionAPI_GetTransactionErrorMessageByIndex_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionErrorMessageByIndex(ctx, req.(*GetTransactionErrorMessageByIndexRequest)) @@ -444,7 +460,7 @@ func _ExecutionAPI_GetTransactionErrorMessagesByBlockID_Handler(srv interface{}, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetTransactionErrorMessagesByBlockID", + FullMethod: ExecutionAPI_GetTransactionErrorMessagesByBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionErrorMessagesByBlockID(ctx, req.(*GetTransactionErrorMessagesByBlockIDRequest)) @@ -462,7 +478,7 @@ func _ExecutionAPI_GetRegisterAtBlockID_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetRegisterAtBlockID", + FullMethod: ExecutionAPI_GetRegisterAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetRegisterAtBlockID(ctx, req.(*GetRegisterAtBlockIDRequest)) @@ -480,7 +496,7 @@ func _ExecutionAPI_GetLatestBlockHeader_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetLatestBlockHeader", + FullMethod: ExecutionAPI_GetLatestBlockHeader_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetLatestBlockHeader(ctx, req.(*GetLatestBlockHeaderRequest)) @@ -498,7 +514,7 @@ func _ExecutionAPI_GetBlockHeaderByID_Handler(srv interface{}, ctx context.Conte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.execution.ExecutionAPI/GetBlockHeaderByID", + FullMethod: ExecutionAPI_GetBlockHeaderByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetBlockHeaderByID(ctx, req.(*GetBlockHeaderByIDRequest)) diff --git a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go index cde6bb05d..f10ff7173 100644 --- a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go +++ b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc (unknown) // source: flow/executiondata/executiondata.proto @@ -18,6 +18,16 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID" + ExecutionDataAPI_SubscribeExecutionData_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionData" + ExecutionDataAPI_SubscribeEvents_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEvents" + ExecutionDataAPI_GetRegisterValues_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetRegisterValues" + ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromStartBlockID" + ExecutionDataAPI_SubscribeAccountStatusesFromStartHeight_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromStartHeight" + ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlock_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromLatestBlock" +) + // ExecutionDataAPIClient is the client API for ExecutionDataAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -153,7 +163,7 @@ func NewExecutionDataAPIClient(cc grpc.ClientConnInterface) ExecutionDataAPIClie func (c *executionDataAPIClient) GetExecutionDataByBlockID(ctx context.Context, in *GetExecutionDataByBlockIDRequest, opts ...grpc.CallOption) (*GetExecutionDataByBlockIDResponse, error) { out := new(GetExecutionDataByBlockIDResponse) - err := c.cc.Invoke(ctx, "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -161,7 +171,7 @@ func (c *executionDataAPIClient) GetExecutionDataByBlockID(ctx context.Context, } func (c *executionDataAPIClient) SubscribeExecutionData(ctx context.Context, in *SubscribeExecutionDataRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[0], "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionData", opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[0], ExecutionDataAPI_SubscribeExecutionData_FullMethodName, opts...) if err != nil { return nil, err } @@ -193,7 +203,7 @@ func (x *executionDataAPISubscribeExecutionDataClient) Recv() (*SubscribeExecuti } func (c *executionDataAPIClient) SubscribeEvents(ctx context.Context, in *SubscribeEventsRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[1], "/flow.executiondata.ExecutionDataAPI/SubscribeEvents", opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[1], ExecutionDataAPI_SubscribeEvents_FullMethodName, opts...) if err != nil { return nil, err } @@ -226,7 +236,7 @@ func (x *executionDataAPISubscribeEventsClient) Recv() (*SubscribeEventsResponse func (c *executionDataAPIClient) GetRegisterValues(ctx context.Context, in *GetRegisterValuesRequest, opts ...grpc.CallOption) (*GetRegisterValuesResponse, error) { out := new(GetRegisterValuesResponse) - err := c.cc.Invoke(ctx, "/flow.executiondata.ExecutionDataAPI/GetRegisterValues", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionDataAPI_GetRegisterValues_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -234,7 +244,7 @@ func (c *executionDataAPIClient) GetRegisterValues(ctx context.Context, in *GetR } func (c *executionDataAPIClient) SubscribeAccountStatusesFromStartBlockID(ctx context.Context, in *SubscribeAccountStatusesFromStartBlockIDRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockIDClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[2], "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromStartBlockID", opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[2], ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockID_FullMethodName, opts...) if err != nil { return nil, err } @@ -266,7 +276,7 @@ func (x *executionDataAPISubscribeAccountStatusesFromStartBlockIDClient) Recv() } func (c *executionDataAPIClient) SubscribeAccountStatusesFromStartHeight(ctx context.Context, in *SubscribeAccountStatusesFromStartHeightRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesFromStartHeightClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[3], "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromStartHeight", opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[3], ExecutionDataAPI_SubscribeAccountStatusesFromStartHeight_FullMethodName, opts...) if err != nil { return nil, err } @@ -298,7 +308,7 @@ func (x *executionDataAPISubscribeAccountStatusesFromStartHeightClient) Recv() ( } func (c *executionDataAPIClient) SubscribeAccountStatusesFromLatestBlock(ctx context.Context, in *SubscribeAccountStatusesFromLatestBlockRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlockClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[4], "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromLatestBlock", opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[4], ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlock_FullMethodName, opts...) if err != nil { return nil, err } @@ -501,7 +511,7 @@ func _ExecutionDataAPI_GetExecutionDataByBlockID_Handler(srv interface{}, ctx co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID", + FullMethod: ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionDataAPIServer).GetExecutionDataByBlockID(ctx, req.(*GetExecutionDataByBlockIDRequest)) @@ -561,7 +571,7 @@ func _ExecutionDataAPI_GetRegisterValues_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/flow.executiondata.ExecutionDataAPI/GetRegisterValues", + FullMethod: ExecutionDataAPI_GetRegisterValues_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionDataAPIServer).GetRegisterValues(ctx, req.(*GetRegisterValuesRequest)) diff --git a/protobuf/go/flow/legacy/access/access_grpc.pb.go b/protobuf/go/flow/legacy/access/access_grpc.pb.go index 35afbce0b..76938b868 100644 --- a/protobuf/go/flow/legacy/access/access_grpc.pb.go +++ b/protobuf/go/flow/legacy/access/access_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc (unknown) // source: flow/legacy/access/access.proto @@ -18,6 +18,29 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + AccessAPI_Ping_FullMethodName = "/access.AccessAPI/Ping" + AccessAPI_GetLatestBlockHeader_FullMethodName = "/access.AccessAPI/GetLatestBlockHeader" + AccessAPI_GetBlockHeaderByID_FullMethodName = "/access.AccessAPI/GetBlockHeaderByID" + AccessAPI_GetBlockHeaderByHeight_FullMethodName = "/access.AccessAPI/GetBlockHeaderByHeight" + AccessAPI_GetLatestBlock_FullMethodName = "/access.AccessAPI/GetLatestBlock" + AccessAPI_GetBlockByID_FullMethodName = "/access.AccessAPI/GetBlockByID" + AccessAPI_GetBlockByHeight_FullMethodName = "/access.AccessAPI/GetBlockByHeight" + AccessAPI_GetCollectionByID_FullMethodName = "/access.AccessAPI/GetCollectionByID" + AccessAPI_SendTransaction_FullMethodName = "/access.AccessAPI/SendTransaction" + AccessAPI_GetTransaction_FullMethodName = "/access.AccessAPI/GetTransaction" + AccessAPI_GetTransactionResult_FullMethodName = "/access.AccessAPI/GetTransactionResult" + AccessAPI_GetAccount_FullMethodName = "/access.AccessAPI/GetAccount" + AccessAPI_GetAccountAtLatestBlock_FullMethodName = "/access.AccessAPI/GetAccountAtLatestBlock" + AccessAPI_GetAccountAtBlockHeight_FullMethodName = "/access.AccessAPI/GetAccountAtBlockHeight" + AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName = "/access.AccessAPI/ExecuteScriptAtLatestBlock" + AccessAPI_ExecuteScriptAtBlockID_FullMethodName = "/access.AccessAPI/ExecuteScriptAtBlockID" + AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName = "/access.AccessAPI/ExecuteScriptAtBlockHeight" + AccessAPI_GetEventsForHeightRange_FullMethodName = "/access.AccessAPI/GetEventsForHeightRange" + AccessAPI_GetEventsForBlockIDs_FullMethodName = "/access.AccessAPI/GetEventsForBlockIDs" + AccessAPI_GetNetworkParameters_FullMethodName = "/access.AccessAPI/GetNetworkParameters" +) + // AccessAPIClient is the client API for AccessAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -85,7 +108,7 @@ func NewAccessAPIClient(cc grpc.ClientConnInterface) AccessAPIClient { func (c *accessAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/Ping", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_Ping_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -94,7 +117,7 @@ func (c *accessAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grp func (c *accessAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLatestBlockHeaderRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetLatestBlockHeader", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetLatestBlockHeader_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -103,7 +126,7 @@ func (c *accessAPIClient) GetLatestBlockHeader(ctx context.Context, in *GetLates func (c *accessAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHeaderByIDRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetBlockHeaderByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockHeaderByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -112,7 +135,7 @@ func (c *accessAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBlockHe func (c *accessAPIClient) GetBlockHeaderByHeight(ctx context.Context, in *GetBlockHeaderByHeightRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) { out := new(BlockHeaderResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetBlockHeaderByHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockHeaderByHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -121,7 +144,7 @@ func (c *accessAPIClient) GetBlockHeaderByHeight(ctx context.Context, in *GetBlo func (c *accessAPIClient) GetLatestBlock(ctx context.Context, in *GetLatestBlockRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetLatestBlock", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -130,7 +153,7 @@ func (c *accessAPIClient) GetLatestBlock(ctx context.Context, in *GetLatestBlock func (c *accessAPIClient) GetBlockByID(ctx context.Context, in *GetBlockByIDRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetBlockByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -139,7 +162,7 @@ func (c *accessAPIClient) GetBlockByID(ctx context.Context, in *GetBlockByIDRequ func (c *accessAPIClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHeightRequest, opts ...grpc.CallOption) (*BlockResponse, error) { out := new(BlockResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetBlockByHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetBlockByHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -148,7 +171,7 @@ func (c *accessAPIClient) GetBlockByHeight(ctx context.Context, in *GetBlockByHe func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollectionByIDRequest, opts ...grpc.CallOption) (*CollectionResponse, error) { out := new(CollectionResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetCollectionByID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetCollectionByID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -157,7 +180,7 @@ func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollecti func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransactionRequest, opts ...grpc.CallOption) (*SendTransactionResponse, error) { out := new(SendTransactionResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/SendTransaction", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_SendTransaction_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -166,7 +189,7 @@ func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransacti func (c *accessAPIClient) GetTransaction(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*TransactionResponse, error) { out := new(TransactionResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetTransaction", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransaction_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -175,7 +198,7 @@ func (c *accessAPIClient) GetTransaction(ctx context.Context, in *GetTransaction func (c *accessAPIClient) GetTransactionResult(ctx context.Context, in *GetTransactionRequest, opts ...grpc.CallOption) (*TransactionResultResponse, error) { out := new(TransactionResultResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetTransactionResult", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetTransactionResult_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -184,7 +207,7 @@ func (c *accessAPIClient) GetTransactionResult(ctx context.Context, in *GetTrans func (c *accessAPIClient) GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error) { out := new(GetAccountResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetAccount", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetAccount_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -193,7 +216,7 @@ func (c *accessAPIClient) GetAccount(ctx context.Context, in *GetAccountRequest, func (c *accessAPIClient) GetAccountAtLatestBlock(ctx context.Context, in *GetAccountAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountResponse, error) { out := new(AccountResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetAccountAtLatestBlock", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountAtLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -202,7 +225,7 @@ func (c *accessAPIClient) GetAccountAtLatestBlock(ctx context.Context, in *GetAc func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountResponse, error) { out := new(AccountResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetAccountAtBlockHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountAtBlockHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -211,7 +234,7 @@ func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAc func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *ExecuteScriptAtLatestBlockRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/ExecuteScriptAtLatestBlock", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -220,7 +243,7 @@ func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *Ex func (c *accessAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *ExecuteScriptAtBlockIDRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/ExecuteScriptAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -229,7 +252,7 @@ func (c *accessAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *Execut func (c *accessAPIClient) ExecuteScriptAtBlockHeight(ctx context.Context, in *ExecuteScriptAtBlockHeightRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/ExecuteScriptAtBlockHeight", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -238,7 +261,7 @@ func (c *accessAPIClient) ExecuteScriptAtBlockHeight(ctx context.Context, in *Ex func (c *accessAPIClient) GetEventsForHeightRange(ctx context.Context, in *GetEventsForHeightRangeRequest, opts ...grpc.CallOption) (*EventsResponse, error) { out := new(EventsResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetEventsForHeightRange", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetEventsForHeightRange_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -247,7 +270,7 @@ func (c *accessAPIClient) GetEventsForHeightRange(ctx context.Context, in *GetEv func (c *accessAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEventsForBlockIDsRequest, opts ...grpc.CallOption) (*EventsResponse, error) { out := new(EventsResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetEventsForBlockIDs", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetEventsForBlockIDs_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -256,7 +279,7 @@ func (c *accessAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEvent func (c *accessAPIClient) GetNetworkParameters(ctx context.Context, in *GetNetworkParametersRequest, opts ...grpc.CallOption) (*GetNetworkParametersResponse, error) { out := new(GetNetworkParametersResponse) - err := c.cc.Invoke(ctx, "/access.AccessAPI/GetNetworkParameters", in, out, opts...) + err := c.cc.Invoke(ctx, AccessAPI_GetNetworkParameters_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -406,7 +429,7 @@ func _AccessAPI_Ping_Handler(srv interface{}, ctx context.Context, dec func(inte } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/Ping", + FullMethod: AccessAPI_Ping_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).Ping(ctx, req.(*PingRequest)) @@ -424,7 +447,7 @@ func _AccessAPI_GetLatestBlockHeader_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetLatestBlockHeader", + FullMethod: AccessAPI_GetLatestBlockHeader_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestBlockHeader(ctx, req.(*GetLatestBlockHeaderRequest)) @@ -442,7 +465,7 @@ func _AccessAPI_GetBlockHeaderByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetBlockHeaderByID", + FullMethod: AccessAPI_GetBlockHeaderByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockHeaderByID(ctx, req.(*GetBlockHeaderByIDRequest)) @@ -460,7 +483,7 @@ func _AccessAPI_GetBlockHeaderByHeight_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetBlockHeaderByHeight", + FullMethod: AccessAPI_GetBlockHeaderByHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockHeaderByHeight(ctx, req.(*GetBlockHeaderByHeightRequest)) @@ -478,7 +501,7 @@ func _AccessAPI_GetLatestBlock_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetLatestBlock", + FullMethod: AccessAPI_GetLatestBlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetLatestBlock(ctx, req.(*GetLatestBlockRequest)) @@ -496,7 +519,7 @@ func _AccessAPI_GetBlockByID_Handler(srv interface{}, ctx context.Context, dec f } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetBlockByID", + FullMethod: AccessAPI_GetBlockByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockByID(ctx, req.(*GetBlockByIDRequest)) @@ -514,7 +537,7 @@ func _AccessAPI_GetBlockByHeight_Handler(srv interface{}, ctx context.Context, d } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetBlockByHeight", + FullMethod: AccessAPI_GetBlockByHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetBlockByHeight(ctx, req.(*GetBlockByHeightRequest)) @@ -532,7 +555,7 @@ func _AccessAPI_GetCollectionByID_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetCollectionByID", + FullMethod: AccessAPI_GetCollectionByID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetCollectionByID(ctx, req.(*GetCollectionByIDRequest)) @@ -550,7 +573,7 @@ func _AccessAPI_SendTransaction_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/SendTransaction", + FullMethod: AccessAPI_SendTransaction_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).SendTransaction(ctx, req.(*SendTransactionRequest)) @@ -568,7 +591,7 @@ func _AccessAPI_GetTransaction_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetTransaction", + FullMethod: AccessAPI_GetTransaction_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransaction(ctx, req.(*GetTransactionRequest)) @@ -586,7 +609,7 @@ func _AccessAPI_GetTransactionResult_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetTransactionResult", + FullMethod: AccessAPI_GetTransactionResult_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetTransactionResult(ctx, req.(*GetTransactionRequest)) @@ -604,7 +627,7 @@ func _AccessAPI_GetAccount_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetAccount", + FullMethod: AccessAPI_GetAccount_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccount(ctx, req.(*GetAccountRequest)) @@ -622,7 +645,7 @@ func _AccessAPI_GetAccountAtLatestBlock_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetAccountAtLatestBlock", + FullMethod: AccessAPI_GetAccountAtLatestBlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccountAtLatestBlock(ctx, req.(*GetAccountAtLatestBlockRequest)) @@ -640,7 +663,7 @@ func _AccessAPI_GetAccountAtBlockHeight_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetAccountAtBlockHeight", + FullMethod: AccessAPI_GetAccountAtBlockHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetAccountAtBlockHeight(ctx, req.(*GetAccountAtBlockHeightRequest)) @@ -658,7 +681,7 @@ func _AccessAPI_ExecuteScriptAtLatestBlock_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/ExecuteScriptAtLatestBlock", + FullMethod: AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtLatestBlock(ctx, req.(*ExecuteScriptAtLatestBlockRequest)) @@ -676,7 +699,7 @@ func _AccessAPI_ExecuteScriptAtBlockID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/ExecuteScriptAtBlockID", + FullMethod: AccessAPI_ExecuteScriptAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtBlockID(ctx, req.(*ExecuteScriptAtBlockIDRequest)) @@ -694,7 +717,7 @@ func _AccessAPI_ExecuteScriptAtBlockHeight_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/ExecuteScriptAtBlockHeight", + FullMethod: AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).ExecuteScriptAtBlockHeight(ctx, req.(*ExecuteScriptAtBlockHeightRequest)) @@ -712,7 +735,7 @@ func _AccessAPI_GetEventsForHeightRange_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetEventsForHeightRange", + FullMethod: AccessAPI_GetEventsForHeightRange_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetEventsForHeightRange(ctx, req.(*GetEventsForHeightRangeRequest)) @@ -730,7 +753,7 @@ func _AccessAPI_GetEventsForBlockIDs_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetEventsForBlockIDs", + FullMethod: AccessAPI_GetEventsForBlockIDs_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetEventsForBlockIDs(ctx, req.(*GetEventsForBlockIDsRequest)) @@ -748,7 +771,7 @@ func _AccessAPI_GetNetworkParameters_Handler(srv interface{}, ctx context.Contex } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/access.AccessAPI/GetNetworkParameters", + FullMethod: AccessAPI_GetNetworkParameters_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(AccessAPIServer).GetNetworkParameters(ctx, req.(*GetNetworkParametersRequest)) diff --git a/protobuf/go/flow/legacy/execution/execution_grpc.pb.go b/protobuf/go/flow/legacy/execution/execution_grpc.pb.go index 78c62fe6a..f806f3909 100644 --- a/protobuf/go/flow/legacy/execution/execution_grpc.pb.go +++ b/protobuf/go/flow/legacy/execution/execution_grpc.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 +// - protoc-gen-go-grpc v1.3.0 // - protoc (unknown) // source: flow/legacy/execution/execution.proto @@ -18,6 +18,14 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + ExecutionAPI_Ping_FullMethodName = "/execution.ExecutionAPI/Ping" + ExecutionAPI_GetAccountAtBlockID_FullMethodName = "/execution.ExecutionAPI/GetAccountAtBlockID" + ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName = "/execution.ExecutionAPI/ExecuteScriptAtBlockID" + ExecutionAPI_GetEventsForBlockIDs_FullMethodName = "/execution.ExecutionAPI/GetEventsForBlockIDs" + ExecutionAPI_GetTransactionResult_FullMethodName = "/execution.ExecutionAPI/GetTransactionResult" +) + // ExecutionAPIClient is the client API for ExecutionAPI service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -46,7 +54,7 @@ func NewExecutionAPIClient(cc grpc.ClientConnInterface) ExecutionAPIClient { func (c *executionAPIClient) Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error) { out := new(PingResponse) - err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/Ping", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_Ping_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -55,7 +63,7 @@ func (c *executionAPIClient) Ping(ctx context.Context, in *PingRequest, opts ... func (c *executionAPIClient) GetAccountAtBlockID(ctx context.Context, in *GetAccountAtBlockIDRequest, opts ...grpc.CallOption) (*GetAccountAtBlockIDResponse, error) { out := new(GetAccountAtBlockIDResponse) - err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/GetAccountAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetAccountAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -64,7 +72,7 @@ func (c *executionAPIClient) GetAccountAtBlockID(ctx context.Context, in *GetAcc func (c *executionAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *ExecuteScriptAtBlockIDRequest, opts ...grpc.CallOption) (*ExecuteScriptAtBlockIDResponse, error) { out := new(ExecuteScriptAtBlockIDResponse) - err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/ExecuteScriptAtBlockID", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -73,7 +81,7 @@ func (c *executionAPIClient) ExecuteScriptAtBlockID(ctx context.Context, in *Exe func (c *executionAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEventsForBlockIDsRequest, opts ...grpc.CallOption) (*GetEventsForBlockIDsResponse, error) { out := new(GetEventsForBlockIDsResponse) - err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/GetEventsForBlockIDs", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetEventsForBlockIDs_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -82,7 +90,7 @@ func (c *executionAPIClient) GetEventsForBlockIDs(ctx context.Context, in *GetEv func (c *executionAPIClient) GetTransactionResult(ctx context.Context, in *GetTransactionResultRequest, opts ...grpc.CallOption) (*GetTransactionResultResponse, error) { out := new(GetTransactionResultResponse) - err := c.cc.Invoke(ctx, "/execution.ExecutionAPI/GetTransactionResult", in, out, opts...) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionResult_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -148,7 +156,7 @@ func _ExecutionAPI_Ping_Handler(srv interface{}, ctx context.Context, dec func(i } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/execution.ExecutionAPI/Ping", + FullMethod: ExecutionAPI_Ping_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).Ping(ctx, req.(*PingRequest)) @@ -166,7 +174,7 @@ func _ExecutionAPI_GetAccountAtBlockID_Handler(srv interface{}, ctx context.Cont } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/execution.ExecutionAPI/GetAccountAtBlockID", + FullMethod: ExecutionAPI_GetAccountAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetAccountAtBlockID(ctx, req.(*GetAccountAtBlockIDRequest)) @@ -184,7 +192,7 @@ func _ExecutionAPI_ExecuteScriptAtBlockID_Handler(srv interface{}, ctx context.C } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/execution.ExecutionAPI/ExecuteScriptAtBlockID", + FullMethod: ExecutionAPI_ExecuteScriptAtBlockID_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).ExecuteScriptAtBlockID(ctx, req.(*ExecuteScriptAtBlockIDRequest)) @@ -202,7 +210,7 @@ func _ExecutionAPI_GetEventsForBlockIDs_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/execution.ExecutionAPI/GetEventsForBlockIDs", + FullMethod: ExecutionAPI_GetEventsForBlockIDs_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetEventsForBlockIDs(ctx, req.(*GetEventsForBlockIDsRequest)) @@ -220,7 +228,7 @@ func _ExecutionAPI_GetTransactionResult_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/execution.ExecutionAPI/GetTransactionResult", + FullMethod: ExecutionAPI_GetTransactionResult_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ExecutionAPIServer).GetTransactionResult(ctx, req.(*GetTransactionResultRequest)) From d01f7f0cf505016e61fdfdf10cf2b49f83fb8eac Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Fri, 29 Mar 2024 15:10:59 +0200 Subject: [PATCH 196/626] Added deprecation notice and docs about errors --- .../flow/executiondata/executiondata.proto | 18 ++++++++++ .../executiondata/executiondata_grpc.pb.go | 36 +++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index e5f6f3ba4..52229e5dd 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -38,6 +38,9 @@ service ExecutionDataAPI { rpc SubscribeExecutionData(SubscribeExecutionDataRequest) returns (stream SubscribeExecutionDataResponse); + // Warning: this function is deprecated and will be removed in a future version. + // Use SubscribeEventsFromStartBlockID, SubscribeEventsFromStartHeight or SubscribeEventsFromLatest. + // // SubscribeEvents streams events for all blocks starting at the requested // start block, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new @@ -77,6 +80,12 @@ service ExecutionDataAPI { // (SubscribeEventsResponse with no events) are returned periodically to allow // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid block ID or EventFilter. + // - NotFound is returned if the start block id or execution data are not + // currently available on the node. This may happen if the block was from a previous spork, or if the + // block has yet not been received. rpc SubscribeEventsFromStartBlockID(SubscribeEventsFromStartBlockIDRequest) returns (stream SubscribeEventsResponse); @@ -94,6 +103,12 @@ service ExecutionDataAPI { // (SubscribeEventsResponse with no events) are returned periodically to allow // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid EventFilter. + // - NotFound is returned if the start block height or execution data are not + // currently available on the node. This may happen if the block was from a previous spork, or if the + // block has yet not been received. rpc SubscribeEventsFromStartHeight(SubscribeEventsFromStartHeightRequest) returns (stream SubscribeEventsResponse); @@ -109,6 +124,9 @@ service ExecutionDataAPI { // (SubscribeEventsResponse with no events) are returned periodically to allow // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid EventFilter. rpc SubscribeEventsFromLatest(SubscribeEventsFromLatestRequest) returns (stream SubscribeEventsResponse); diff --git a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go index 78a60954d..86c8b13d7 100644 --- a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go +++ b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go @@ -56,6 +56,9 @@ type ExecutionDataAPIClient interface { // happen if the block was from a previous spork, or if the block has yet // not been received. SubscribeExecutionData(ctx context.Context, in *SubscribeExecutionDataRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataClient, error) + // Warning: this function is deprecated and will be removed in a future version. + // Use SubscribeEventsFromStartBlockID, SubscribeEventsFromStartHeight or SubscribeEventsFromLatest. + // // SubscribeEvents streams events for all blocks starting at the requested // start block, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new @@ -94,6 +97,12 @@ type ExecutionDataAPIClient interface { // (SubscribeEventsResponse with no events) are returned periodically to allow // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid block ID or EventFilter. + // - NotFound is returned if the start block id or execution data are not + // currently available on the node. This may happen if the block was from a previous spork, or if the + // block has yet not been received. SubscribeEventsFromStartBlockID(ctx context.Context, in *SubscribeEventsFromStartBlockIDRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromStartBlockIDClient, error) // SubscribeEventsFromStartHeight streams events for all blocks starting at the requested // start block height, up until the latest available block. Once the latest is @@ -109,6 +118,12 @@ type ExecutionDataAPIClient interface { // (SubscribeEventsResponse with no events) are returned periodically to allow // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid EventFilter. + // - NotFound is returned if the start block height or execution data are not + // currently available on the node. This may happen if the block was from a previous spork, or if the + // block has yet not been received. SubscribeEventsFromStartHeight(ctx context.Context, in *SubscribeEventsFromStartHeightRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromStartHeightClient, error) // SubscribeEventsFromLatest streams events for all blocks starting from the latest sealed // block. The stream will remain open and responses are sent for each new block as it becomes available. @@ -122,6 +137,9 @@ type ExecutionDataAPIClient interface { // (SubscribeEventsResponse with no events) are returned periodically to allow // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid EventFilter. SubscribeEventsFromLatest(ctx context.Context, in *SubscribeEventsFromLatestRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromLatestClient, error) // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(ctx context.Context, in *GetRegisterValuesRequest, opts ...grpc.CallOption) (*GetRegisterValuesResponse, error) @@ -341,6 +359,9 @@ type ExecutionDataAPIServer interface { // happen if the block was from a previous spork, or if the block has yet // not been received. SubscribeExecutionData(*SubscribeExecutionDataRequest, ExecutionDataAPI_SubscribeExecutionDataServer) error + // Warning: this function is deprecated and will be removed in a future version. + // Use SubscribeEventsFromStartBlockID, SubscribeEventsFromStartHeight or SubscribeEventsFromLatest. + // // SubscribeEvents streams events for all blocks starting at the requested // start block, up until the latest available block. Once the latest is // reached, the stream will remain open and responses are sent for each new @@ -379,6 +400,12 @@ type ExecutionDataAPIServer interface { // (SubscribeEventsResponse with no events) are returned periodically to allow // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid block ID or EventFilter. + // - NotFound is returned if the start block id or execution data are not + // currently available on the node. This may happen if the block was from a previous spork, or if the + // block has yet not been received. SubscribeEventsFromStartBlockID(*SubscribeEventsFromStartBlockIDRequest, ExecutionDataAPI_SubscribeEventsFromStartBlockIDServer) error // SubscribeEventsFromStartHeight streams events for all blocks starting at the requested // start block height, up until the latest available block. Once the latest is @@ -394,6 +421,12 @@ type ExecutionDataAPIServer interface { // (SubscribeEventsResponse with no events) are returned periodically to allow // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid EventFilter. + // - NotFound is returned if the start block height or execution data are not + // currently available on the node. This may happen if the block was from a previous spork, or if the + // block has yet not been received. SubscribeEventsFromStartHeight(*SubscribeEventsFromStartHeightRequest, ExecutionDataAPI_SubscribeEventsFromStartHeightServer) error // SubscribeEventsFromLatest streams events for all blocks starting from the latest sealed // block. The stream will remain open and responses are sent for each new block as it becomes available. @@ -407,6 +440,9 @@ type ExecutionDataAPIServer interface { // (SubscribeEventsResponse with no events) are returned periodically to allow // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid EventFilter. SubscribeEventsFromLatest(*SubscribeEventsFromLatestRequest, ExecutionDataAPI_SubscribeEventsFromLatestServer) error // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) From aeb0fd58c18cb0cfdd368ed2804cce451234bdf4 Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 29 Mar 2024 06:53:42 -0700 Subject: [PATCH 197/626] update data availability sprint 2024-03-29 --- .../2024-03-29-Flow-Sprint-Kickoff.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 4942ab608..890061f68 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -6,6 +6,7 @@ - Emulator state migration of NFT example to Cadence 1.0 finally successful! - Successfully bootstrapped and run TN Migration environment from TN stated migrated to Cadence 1.0 (Fixed [issue with epoch contract](https://github.com/onflow/flow-core-contracts/pull/413) that caused ENs on migration network to hog CPU) - [New CLI released](https://github.com/onflow/flow-cli/releases/tag/v1.15.0-cadence-v1.0.0-preview.14) with updated Cadence 1.0 (preview 18), supporting testig of contract upgrade to C1.0. +- Finished deploying local events APIs on mainnet (FF/Dapper/QN). 50% reduction in event queries handled by ENs ### General updates @@ -220,6 +221,17 @@ Cycle Objective(s): * Consensus speedup: - completed analysis ([notion](https://www.notion.so/flowfoundation/Cruise-Control-headroom-for-speedups-46dc17e07ae14462b03341e4432a907d?pvs=4)) + +* Data Availability: + - Completed rollout of local events to all QuickNode/FF/Dapper ANs + - Completed testing of local tx results on TN & MN and deployed to 2 nodes on each network + - Fix discarded event encoding ([PR #5582](https://github.com/onflow/flow-go/pull/5582)) + - Added support for CPU Profiles in admin server ([PR #5545](https://github.com/onflow/flow-go/pull/5545)) + - KROK Team + - Add streaming SendAndSubscribe for tx ([PR #5310](https://github.com/onflow/flow-go/pull/5310)) + - Add standard Access API implementations on Observer ([PR #5358](https://github.com/onflow/flow-go/pull/5358)) + - Benchmark testing and analysis of execution data indexing on Observers ([PR #4849](https://github.com/onflow/flow-go/issues/4849)) + **This sprint** * Zero-downtime Upgrades of Node Software: @@ -239,6 +251,18 @@ Cycle Objective(s): - continue on CPU-compatability issue - extra build docs in all repos + +* Data Availability: + - Rollout local tx results to QuickNode ANs + - Work with QN to get profile collection deployed - support debugging script exec + - Enable programs cache on AN (Continue [PR #5585](https://github.com/onflow/flow-go/pull/5585) and testing) + - KROK Team + - Complete streaming account statuses endpoint ([PR #5406](https://github.com/onflow/flow-go/pull/5406)) + - Add tx results to streaming SendAndSubscribe response ([PR #5566](https://github.com/onflow/flow-go/issues/5566)) + - Unify Events API with new interfaces ([Issue #5557](https://github.com/onflow/flow-go/issues/5557)) + - Add integration tests for streaming blocks and observer APIs ([PR #5572](https://github.com/onflow/flow-go/issues/5572), [PR #5573](https://github.com/onflow/flow-go/issues/5573)) + + **On Hold** * Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. * Implement BFT mitigations to enable 20 permissionless ANs From b763af1201a189d68b0ddabc9930efd94d01afee Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 29 Mar 2024 21:02:36 +0530 Subject: [PATCH 198/626] Update 2024-03-29-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 890061f68..025cf79ab 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -5,7 +5,7 @@ - Emulator state migration of NFT example to Cadence 1.0 finally successful! - Successfully bootstrapped and run TN Migration environment from TN stated migrated to Cadence 1.0 (Fixed [issue with epoch contract](https://github.com/onflow/flow-core-contracts/pull/413) that caused ENs on migration network to hog CPU) -- [New CLI released](https://github.com/onflow/flow-cli/releases/tag/v1.15.0-cadence-v1.0.0-preview.14) with updated Cadence 1.0 (preview 18), supporting testig of contract upgrade to C1.0. +- [New CLI released](https://github.com/onflow/flow-cli/releases/tag/v1.15.0-cadence-v1.0.0-preview.14) with updated Cadence 1.0 (preview 18), supporting testing of contract upgrade to C1.0. - Finished deploying local events APIs on mainnet (FF/Dapper/QN). 50% reduction in event queries handled by ENs ### General updates @@ -41,12 +41,12 @@ ### Mainnet 1. March 24th 4:45 PM Pacific: EN1 memory leak observed by JP and mitigated by a restart ([slack thread](https://dapperlabs.slack.com/archives/C014WBGR1J9/p1711323881744749)) - Root cause: https://github.com/onflow/flow-go/issues/5150 2. March 25th 10:15 AM Pacific: AN9 went OOM ([slack thread](https://dapperlabs.slack.com/archives/CUU2KQL4A/p1711386932706579)) - Same root cause as 1. -3. March 25th 7:50 AM Pacific: QN Public EU-based ANs went offline for 10 minutes. ([RCA](https://discord.com/channels/613813861610684416/1162086721471647874/1223025960769818799])) +3. March 25th 7:50 AM Pacific: QN Public EU-based ANs went offline for 10 minutes. ([RCA shared by QN](https://discord.com/channels/613813861610684416/1162086721471647874/1223025960769818799])) 4. March 27th 0:00 AM Pacific: TTF spiked on QN public Access nodes. Root cause is yet to be determined. ### Testnet 1. March 20th 11:12 AM: Sealing halt ([slack thread](https://dapperlabs.slack.com/archives/C015ABLUV41/p1710914042806219)) - Root cause: EN3 had failed to start after a move/restart. -2. March 28th 11:28 AM: EN1 deleted ([slack thread](https://dapperlabs.slack.com/archives/C015ABLUV41/p1711650523244509) - Root cause: human error. +2. March 28th 11:28 AM: EN1 deleted ([slack thread](https://dapperlabs.slack.com/archives/C015ABLUV41/p1711650523244509)) - Root cause: human error. ### Key Release Dates & Breaking Changes From cadaf1ceed566b1c657cc4ba9abeff37c342f7f7 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 29 Mar 2024 21:17:25 +0530 Subject: [PATCH 199/626] Update 2024-03-29-Flow-Sprint-Kickoff.md FLIPs section update --- .../sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 025cf79ab..fdb072abe 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -59,15 +59,15 @@ | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 7 | 8 (+2) | 0 | 5 | **20** (+2) | -| Proposed | 3 | 2 (+1) | 2 | 1 | **8** (+1) | +| Drafted | 7 | 8 | 0 | 5 | **20** | +| Proposed | 3 | 2 | 2 | 1 | **8** | | Accepted | 2 | 1 | 1 | 2 | **6** | | Rejected | 0 | 0 | 1 | 0 | **1** | | Implemented | 1 | 19 | 2 | 0 | **22** | -| Released | 4 | 0 | 3 (+1) | 4 | **11** (+1) | -| Total | **17** | **30** (+3) | **9** (+1) | **12** | **68** (+4) | +| Released | 4 | 0 | 3 | 4 | **11** | +| Total | **17** | **30** | **9** | **12** | **68** | -- Overall FLIPs went up by 4 in the last sprint. 3 new Cadence FLIPs were drafted and proposed; 1 new Governance FLIP was drafted, implemented and released during the sprint. +- No new FLIPs during the sprint - Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) From b67312871475fdaa052186511c3ad135e6b46756 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 29 Mar 2024 08:50:49 -0700 Subject: [PATCH 200/626] add updates 3-29 --- .../2024-03-29-Flow-Sprint-Kickoff.md | 51 +++++++++++-------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 890061f68..d84b2e0d6 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -7,6 +7,8 @@ - Successfully bootstrapped and run TN Migration environment from TN stated migrated to Cadence 1.0 (Fixed [issue with epoch contract](https://github.com/onflow/flow-core-contracts/pull/413) that caused ENs on migration network to hog CPU) - [New CLI released](https://github.com/onflow/flow-cli/releases/tag/v1.15.0-cadence-v1.0.0-preview.14) with updated Cadence 1.0 (preview 18), supporting testig of contract upgrade to C1.0. - Finished deploying local events APIs on mainnet (FF/Dapper/QN). 50% reduction in event queries handled by ENs +- Dependency Manager: Allow adding found dependencies to deployments interactively +- New Dev Docs Landing Page Design ### General updates @@ -18,7 +20,6 @@ - [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) - Starting Next Week: - G - April 1st to April 15th - --- @@ -311,33 +312,43 @@ Cycle Objective(s): Cycle Objective(s): -* Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort -* Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network -* Use the Crescendo Release grow Flow's developer base and network activity +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity **Done last sprint** -* +- [New Dev Docs Landing Page](https://github.com/onflow/docs/issues/509) +- Cadence Lint (CLI) [Documentation](https://developers.flow.com/tools/flow-cli/lint) +- Add network table to Flow Networks page [#696](https://github.com/onflow/docs/issues/696) +- Added feature to CLI migrator to check if staged contract is validated +- Added output of CLI dependency versions in command +- Cadence VSCode Extension can switch between C1.0 & pre-C1.0 mode +- QA full Cadence 1.0 state migration in Emulator [#3098](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=56503639) (Successful state migrationion using CLI ) +- FCL v1.10.0 released with GetNodeVersionInfo RPC [[FEATURE] Support GetNodeVersionInfo Interaction #1854](https://github.com/onflow/fcl-js/issues/1854) +- Add Cadence 1.0 Update Checker to Stage Command [#1453](https://github.com/onflow/flow-cli/issues/1453) +- Add dependencies from Dependency Manager to a deployment account [#1362](https://github.com/onflow/flow-cli/issues/1362) +- Add migration validation to CLI [add isValidated on staging migration #1478](https://github.com/onflow/flow-cli/issues/1478) +- Use .zip archives for Windows releases [#1473](https://github.com/onflow/flow-cli/pull/1473) +- Add some dependency versions to the CLI [#1465](https://github.com/onflow/flow-cli/issues/1465) +- Switch hardcoded core contracts to come from package [#1406](https://github.com/onflow/flow-cli/issues/1406) +- flow test logs are suppressed [#1460](https://github.com/onflow/flow-cli/issues/1460) **This sprint** -**Sprint goal focusing on updating EVM docs, tooling support, and examples for Cadence 1.0** - -* EVM Docs v2 -* Add viem guide (EVM) -* Update Access Node Docs -* Create video to demonstrate local upgrade, staging, and state migration -* [Add dependencies from Dependency Manager to a deployment account](https://github.com/onflow/flow-cli/issues/1362) -* [Allow adding alias when adding a contract with Dependency Manager](https://github.com/onflow/flow-cli/issues/1363) -* [QA full Cadence 1.0 state migration in Emulator](https://github.com/onflow/cadence/issues/3098) -* [Add Linter and Cadence checker to CLI stage command](https://github.com/onflow/flow-cli/issues/1454) -* [Review Code Changes for New Token Standards #648](https://github.com/onflow/docs/issues/648) -* Create Cadence 1.0 Project Upgrade demo repo -* [New Dev Docs Landing Page](https://github.com/onflow/docs/issues/509) +**Sprint goal focusing on updating EVM docs, tooling support, CLI Interactive Setup** + +- [[EPIC] EVM Docs #654](https://github.com/onflow/docs/issues/654) +- [EPIC] FlowEVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) +- [EPIC] Enhance CLI init Command with Interactive Setup, Config Automation, and Default Project Structure [#1390](https://github.com/onflow/flow-cli/issues/1390) +- [EPIC] Update Internal Tools and Repos for C1.0 Support [#530](https://github.com/onflow/docs/issues/530) +- Add WAGMI / viem guides (EVM) +- Write new doc on Sponsored Transactions under Advanced Topics [#692](https://github.com/onflow/docs/issues/692) +- Create video to demonstrate local upgrade, staging, and state migration **On Hold** -* [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) -* [Update Playground to support Cadence 1.0](https://github.com/onflow/flow-playground/issues/760) +- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) +- [Update Playground to support Cadence 1.0](https://github.com/onflow/flow-playground/issues/760) --- From 31c0de8e41fd10ab21ab552727df3fe6e4d189ec Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 29 Mar 2024 08:55:39 -0700 Subject: [PATCH 201/626] add wins --- agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index d84b2e0d6..4a8fb4572 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -9,6 +9,7 @@ - Finished deploying local events APIs on mainnet (FF/Dapper/QN). 50% reduction in event queries handled by ENs - Dependency Manager: Allow adding found dependencies to deployments interactively - New Dev Docs Landing Page Design +- [Flow Runner](https://run.dnz.dev/) updated to support previewnet ### General updates From bde5ff11fe1fdcb0040f4c8b11e05065f3a8ee7b Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 29 Mar 2024 08:58:11 -0700 Subject: [PATCH 202/626] add issue --- agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 4a8fb4572..7f2605303 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -345,6 +345,7 @@ Cycle Objective(s): - Add WAGMI / viem guides (EVM) - Write new doc on Sponsored Transactions under Advanced Topics [#692](https://github.com/onflow/docs/issues/692) - Create video to demonstrate local upgrade, staging, and state migration +- Create new staking banner explaining epoch transition window [#168](https://github.com/onflow/flow-port/issues/168) **On Hold** From 50efdc90f5f1ea8c41829123e1571101e357ab1c Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 29 Mar 2024 21:31:09 +0530 Subject: [PATCH 203/626] Update 2024-03-29-Flow-Sprint-Kickoff.md Governance updates --- .../2024-03-29-Flow-Sprint-Kickoff.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index fdb072abe..7edfe6679 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -440,16 +440,21 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf **Done last sprint** -* +* Forum post detailing the computation limit, gas to compute conversion, and the transaction fee increase was drafted; currently under review. See [draft](https://www.notion.so/flowfoundation/Forum-post-Proposing-Flow-fees-and-computation-limit-related-changes-e1793d993ed1412f968229dc58217b21) +* Two inflation reduction strategies were considered and modeled - see [here](https://docs.google.com/spreadsheets/d/1jr-P9ZQB3hDEZFh3pjktRnhIe0jFrMz4hn4_EFGHfK4/edit#gid=991805613). Option 1: Reduce reward rate in a predictable way over time until a baseline cut-off (like solana). Option 2: Cap the maximum absolute value of weekly issuance to drive lower inflation in future when that cap hits. Summary available in this [draft deck](https://docs.google.com/presentation/d/1EBYqB8FwxHtOwaQMHiId0ZZv4bRNThNYrgF5-CZeI8M/edit#slide=id.g26c5efcb5cb_0_280) +* Cresendo related governance and tokenomics plan put togethe. See [here](https://www.notion.so/flowfoundation/a6eb68ded7b548138cc414caa4a3b224?v=20ffb677a9da49f4bc2da33e2e0501e4) +* Transaction fee comparison between EIP-4844 vs Flow was finalized, available [here](https://docs.google.com/spreadsheets/d/1PPxxAotsIYLzydAnuBAgQe1BmEcamiuSQUmsDtrpaKs/edit#gid=1064090175). tldr - after a 100x increase in txn fee, Flow will remain between 2-12x cheaper than rollups like Polygon, Base, Optimism, etc. +* Decentralization situation was asssesed (see [here](https://docs.google.com/spreadsheets/d/1iII_X8hC5Vzx3jNz3oyIZtaW_aDpdeuOrulknPvV2oY/edit#gid=804968775)) after a16z pulled out from the plan to move nodes to BD. Tldr of new strategy - consolidate a16z stake across fewer CB nodes, spin up new FF/DL nodes, onboard new operators. **This sprint** -- Publish forum post detailing the computation limit, gas to compute conversion, and the transaction fee increase -- EIP 4844 vs Flow analysis - create self explanatory publicly available spreadsheets, write a blog post +- Publish forum post and gather community feedback - Partner outreach regarding the upcoming transaction fee increase -- Model inflation reduction via two methods - (1) a planned reduction in reward rate over time like sol, and (2) a capped reward number that reduces inflation over time when the cap hits in future -- Finalize cresendo related governance and tokenomics plan -- Consensus node rebalancing exercise to maintain decentralization +- Draft and share FLIP on computation limit, G2C ratio and transaction fee increase for review +- Build consensus within Flow core team on which inflation strategy to employ +- Draft and share forum post on Inflation (stretch) +- Start node rebalancing to maintain decentralization (work with a16z, evaluate new operators) +- Keep the community updated (monthly GWG) **On Hold** From 8bbb856ee0ba3d66a175cbd90364faa1bf7aa0b3 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 29 Mar 2024 21:32:36 +0530 Subject: [PATCH 204/626] Update 2024-03-29-Flow-Sprint-Kickoff.md typo --- agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 7edfe6679..1bf2a1aad 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -442,7 +442,7 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf * Forum post detailing the computation limit, gas to compute conversion, and the transaction fee increase was drafted; currently under review. See [draft](https://www.notion.so/flowfoundation/Forum-post-Proposing-Flow-fees-and-computation-limit-related-changes-e1793d993ed1412f968229dc58217b21) * Two inflation reduction strategies were considered and modeled - see [here](https://docs.google.com/spreadsheets/d/1jr-P9ZQB3hDEZFh3pjktRnhIe0jFrMz4hn4_EFGHfK4/edit#gid=991805613). Option 1: Reduce reward rate in a predictable way over time until a baseline cut-off (like solana). Option 2: Cap the maximum absolute value of weekly issuance to drive lower inflation in future when that cap hits. Summary available in this [draft deck](https://docs.google.com/presentation/d/1EBYqB8FwxHtOwaQMHiId0ZZv4bRNThNYrgF5-CZeI8M/edit#slide=id.g26c5efcb5cb_0_280) -* Cresendo related governance and tokenomics plan put togethe. See [here](https://www.notion.so/flowfoundation/a6eb68ded7b548138cc414caa4a3b224?v=20ffb677a9da49f4bc2da33e2e0501e4) +* Cresendo related governance and tokenomics plan was put together. See [here](https://www.notion.so/flowfoundation/a6eb68ded7b548138cc414caa4a3b224?v=20ffb677a9da49f4bc2da33e2e0501e4) * Transaction fee comparison between EIP-4844 vs Flow was finalized, available [here](https://docs.google.com/spreadsheets/d/1PPxxAotsIYLzydAnuBAgQe1BmEcamiuSQUmsDtrpaKs/edit#gid=1064090175). tldr - after a 100x increase in txn fee, Flow will remain between 2-12x cheaper than rollups like Polygon, Base, Optimism, etc. * Decentralization situation was asssesed (see [here](https://docs.google.com/spreadsheets/d/1iII_X8hC5Vzx3jNz3oyIZtaW_aDpdeuOrulknPvV2oY/edit#gid=804968775)) after a16z pulled out from the plan to move nodes to BD. Tldr of new strategy - consolidate a16z stake across fewer CB nodes, spin up new FF/DL nodes, onboard new operators. From 137708ec31149dd78e911fb8446b8dab32cc0135 Mon Sep 17 00:00:00 2001 From: Jeff Doyle Date: Fri, 29 Mar 2024 09:12:01 -0700 Subject: [PATCH 205/626] Update 2024-03-29-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md index 1bf2a1aad..adc3e87c5 100644 --- a/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-03-29-Flow-Sprint-Kickoff.md @@ -371,14 +371,17 @@ Cycle Objective(s): **Done last sprint** -* +- Completed COA integration, creation and management +- Completed Web3.js integration, authentication +- Shipped Flow Ref Wallet extension with previewnet support! 🎉 +- Scoped and began work on VM bridge integration **This sprint** -- CTD cadence transactions / scripts for Cadence 1.0 -- COA integration (including Web3.js integration with COA) -- VM Bridge integration, meeting scheduled for Monday. +- Complete Web3.js integration, authorization +- VM Bridge integration, moving FT and NFT in app. - CTD: Outreach with Coinbase Wallet, MetaMask, Shadow Wallet and Blocto +- CTD: Working with Apple on app approval & release **On Hold** From bc18dca2e2f7ffd0a18b2ea3e3523483b59b1752 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Wed, 3 Apr 2024 13:10:26 +0300 Subject: [PATCH 206/626] Marked SubscribeEvents rpc call as deprecated --- .../flow/executiondata/executiondata.proto | 4 +- .../go/flow/executiondata/executiondata.pb.go | 139 +++++++++--------- .../executiondata/executiondata_grpc.pb.go | 3 + 3 files changed, 76 insertions(+), 70 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 38914f8a6..8403dc3bb 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -64,7 +64,9 @@ service ExecutionDataAPI { // happen if the block was from a previous spork, or if the block has yet // not been received. rpc SubscribeEvents(SubscribeEventsRequest) - returns (stream SubscribeEventsResponse); + returns (stream SubscribeEventsResponse) { + option deprecated = true; + }; // SubscribeEventsFromStartBlockID streams events for all blocks starting at the requested // start block id, up until the latest available block. Once the latest is diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index b886b320c..241ec4e51 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -1292,73 +1292,74 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 1083 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0x4f, 0x8f, 0xdb, 0x44, - 0x14, 0xd7, 0x38, 0x21, 0xdb, 0x7d, 0x09, 0xdb, 0x76, 0xb4, 0x5a, 0x12, 0x8b, 0xb2, 0x59, 0x17, - 0x4a, 0x04, 0x5b, 0xa7, 0xa4, 0xad, 0x28, 0x7f, 0x2e, 0x4d, 0x77, 0xbb, 0x44, 0xe2, 0x50, 0x79, - 0x4b, 0x25, 0x7a, 0x89, 0xfc, 0x67, 0xd6, 0x6b, 0x91, 0xd8, 0xc1, 0x33, 0x5e, 0x76, 0xc5, 0x05, - 0x6e, 0x08, 0x71, 0xe1, 0x56, 0xc1, 0x0d, 0x09, 0x71, 0x42, 0x7c, 0x13, 0xbe, 0x01, 0x47, 0xce, - 0x5c, 0xf8, 0x00, 0x28, 0xe3, 0xb1, 0x63, 0x3b, 0xce, 0x1f, 0x6f, 0xb6, 0x02, 0x7a, 0x89, 0x34, - 0x6f, 0xde, 0xcc, 0xfc, 0xde, 0xef, 0x3d, 0xff, 0xe6, 0x4d, 0xe0, 0xc6, 0xd1, 0xc0, 0xfb, 0xa2, - 0x4d, 0x4e, 0x89, 0x19, 0x30, 0xc7, 0x73, 0x2d, 0x9d, 0xe9, 0xe9, 0x91, 0x3a, 0xf2, 0x3d, 0xe6, - 0x61, 0x3c, 0xf6, 0x53, 0x53, 0x33, 0x72, 0x2b, 0x5c, 0xeb, 0x32, 0x87, 0x39, 0x84, 0xb6, 0x8d, - 0x81, 0x67, 0x7e, 0xd6, 0x8f, 0x5d, 0xfa, 0x93, 0xd5, 0x72, 0x23, 0xed, 0x49, 0x4e, 0x88, 0xcb, - 0xc4, 0xd4, 0xab, 0xe9, 0x29, 0x9f, 0xd8, 0x0e, 0x65, 0xc4, 0x17, 0xb3, 0xdb, 0xb6, 0xe7, 0xd9, - 0x03, 0xd2, 0xe6, 0x23, 0x23, 0x38, 0x6a, 0x33, 0x67, 0x48, 0x28, 0xd3, 0x87, 0xa3, 0xd0, 0x41, - 0x79, 0x86, 0xa0, 0x79, 0x40, 0xd8, 0x7e, 0x74, 0xea, 0x9e, 0xce, 0xf4, 0xee, 0x59, 0x77, 0x0c, - 0xa5, 0xb7, 0xa7, 0x91, 0xcf, 0x03, 0x42, 0x19, 0x6e, 0xc0, 0xa5, 0x10, 0x9c, 0x63, 0xd5, 0x51, - 0x13, 0xb5, 0x6a, 0xda, 0x1a, 0x1f, 0xf7, 0x2c, 0xfc, 0x29, 0x6c, 0x71, 0x34, 0x7d, 0xe2, 0x9a, - 0x9e, 0xe5, 0xb8, 0x76, 0xff, 0x84, 0xf8, 0xd4, 0xf1, 0xdc, 0xba, 0xd4, 0x44, 0xad, 0x8d, 0xce, - 0x75, 0x35, 0x0c, 0x5c, 0xe0, 0x53, 0xf7, 0xc7, 0xce, 0xfb, 0xc2, 0xf7, 0x49, 0xe8, 0xaa, 0x6d, - 0x92, 0x1c, 0xab, 0x72, 0x0a, 0x3b, 0x73, 0x90, 0xd1, 0x91, 0xe7, 0x52, 0x82, 0x0f, 0x61, 0x33, - 0x8f, 0x37, 0x0e, 0xb3, 0xda, 0xd9, 0xc9, 0x9c, 0xce, 0x57, 0xa7, 0x76, 0xd4, 0xb0, 0x31, 0x65, - 0x53, 0x7e, 0x47, 0x70, 0xed, 0x30, 0x30, 0xa8, 0xe9, 0x3b, 0x06, 0x49, 0xbb, 0x0b, 0x46, 0x5e, - 0x87, 0x0d, 0xca, 0x74, 0x9f, 0xf5, 0x33, 0xbc, 0xd4, 0xb8, 0xb5, 0x2b, 0xc8, 0xd9, 0x05, 0x9c, - 0xf4, 0x3a, 0x26, 0x8e, 0x7d, 0xcc, 0x38, 0x31, 0x65, 0xed, 0xca, 0xc4, 0xf3, 0x23, 0x6e, 0x9f, - 0x43, 0x65, 0x69, 0x55, 0x2a, 0xff, 0x40, 0xf0, 0xda, 0xac, 0x80, 0x04, 0x91, 0x3b, 0x50, 0x4b, - 0xa1, 0x44, 0x1c, 0x65, 0xd5, 0x48, 0x00, 0x9c, 0xc5, 0xb5, 0xb4, 0x02, 0xd7, 0xf8, 0x01, 0x5c, - 0x0e, 0x37, 0x8d, 0x2b, 0x93, 0x87, 0x5b, 0xed, 0xc8, 0x6a, 0x58, 0xbb, 0x6a, 0x54, 0xbb, 0xea, - 0xe3, 0xc8, 0x43, 0xdb, 0xe0, 0x4b, 0xe2, 0xb1, 0xf2, 0x9b, 0x04, 0x5b, 0x93, 0xf8, 0xc6, 0x0c, - 0xd0, 0xe7, 0x99, 0xa9, 0x77, 0xa1, 0x72, 0xe4, 0x0c, 0x18, 0xf1, 0x05, 0xd4, 0x6d, 0x75, 0xfa, - 0xeb, 0x0e, 0xd3, 0xf3, 0x90, 0xbb, 0x69, 0xc2, 0x1d, 0xdf, 0x04, 0x7c, 0x4c, 0x74, 0x9f, 0x19, - 0x44, 0x67, 0x7d, 0xc7, 0x65, 0xc4, 0x3f, 0xd1, 0x07, 0xf5, 0x32, 0x3f, 0xe6, 0x6a, 0x3c, 0xd3, - 0x13, 0x13, 0x73, 0x2a, 0xe2, 0xa5, 0x55, 0x2b, 0xe2, 0x7b, 0x09, 0x6e, 0x64, 0x18, 0x7b, 0xe8, - 0x7b, 0xc3, 0xc3, 0x09, 0x29, 0x7b, 0xc5, 0x18, 0x9c, 0x70, 0x22, 0x5d, 0x04, 0x27, 0xa5, 0xe2, - 0x9c, 0x94, 0x57, 0xe5, 0xe4, 0x99, 0x04, 0x6f, 0xcc, 0xe2, 0x24, 0xcc, 0x7c, 0x44, 0x49, 0x7e, - 0xb9, 0xa0, 0x85, 0xe5, 0xf2, 0xbf, 0xa5, 0xe6, 0x4f, 0x04, 0xcd, 0x1c, 0x6a, 0x3e, 0xd6, 0x19, - 0xa1, 0x31, 0x2b, 0x93, 0x38, 0xd1, 0x45, 0xc4, 0x29, 0x15, 0x8f, 0x73, 0x65, 0xa1, 0xfc, 0x0b, - 0xc1, 0x2b, 0x53, 0x42, 0x22, 0x14, 0x72, 0xce, 0x2d, 0x98, 0x15, 0x4f, 0x69, 0x5a, 0x3c, 0x77, - 0xa1, 0xc2, 0x4f, 0xa4, 0xf5, 0x52, 0xb3, 0xd4, 0xaa, 0x76, 0x36, 0xf3, 0x40, 0x6a, 0xc2, 0x27, - 0x4f, 0x15, 0xcb, 0x45, 0x55, 0x11, 0x5f, 0x87, 0x97, 0x87, 0x84, 0x52, 0xdd, 0x26, 0x7d, 0xc7, - 0xb5, 0xc8, 0x29, 0x57, 0x8d, 0xb2, 0x56, 0x13, 0xc6, 0xde, 0xd8, 0xa6, 0x18, 0x50, 0x4d, 0xa4, - 0x04, 0x5f, 0x03, 0x08, 0xb9, 0x65, 0x67, 0x23, 0x52, 0x47, 0xcd, 0x52, 0x6b, 0x5d, 0x5b, 0xe7, - 0x96, 0xc7, 0x67, 0x23, 0x82, 0x65, 0xb8, 0x64, 0x7a, 0x2e, 0xf3, 0x75, 0x73, 0x1c, 0xe4, 0x78, - 0x32, 0x1e, 0xe3, 0x3a, 0xac, 0xe9, 0x96, 0xe5, 0x13, 0x1a, 0x86, 0xb8, 0xae, 0x45, 0x43, 0xe5, - 0x4b, 0xa8, 0x1f, 0x10, 0xa6, 0x89, 0xd6, 0xe4, 0x89, 0x3e, 0x08, 0x48, 0xac, 0xcf, 0x4b, 0xdc, - 0x3b, 0x1f, 0x42, 0x2d, 0x6a, 0x6b, 0xfa, 0x8e, 0x45, 0xf9, 0xc1, 0xd5, 0x4e, 0x23, 0x43, 0x60, - 0xb4, 0x7d, 0x6f, 0x4f, 0xab, 0x46, 0xee, 0x3d, 0x8b, 0x2a, 0xb7, 0xa1, 0x91, 0x73, 0xb8, 0xc8, - 0xe9, 0x16, 0x54, 0x4e, 0xb8, 0x85, 0x87, 0x5a, 0xd3, 0xc4, 0x48, 0xf9, 0x51, 0x82, 0x76, 0x5c, - 0x07, 0xf7, 0x4d, 0xd3, 0x0b, 0x5c, 0x76, 0xc8, 0x74, 0x16, 0x50, 0xb2, 0xa2, 0x4e, 0xde, 0xcb, - 0x88, 0x41, 0x33, 0xef, 0x23, 0x09, 0x8f, 0xfa, 0xcf, 0xaa, 0xc1, 0x4f, 0x12, 0xa8, 0x0b, 0xd9, - 0x59, 0x45, 0x31, 0x5f, 0x04, 0x92, 0xfe, 0x46, 0xf3, 0x49, 0x0a, 0xb5, 0x93, 0x47, 0x1d, 0x91, - 0x74, 0x2f, 0x23, 0xa0, 0xab, 0x86, 0xfd, 0x6f, 0x28, 0xe8, 0xaf, 0x52, 0xe2, 0xa6, 0xc8, 0x84, - 0x7d, 0x41, 0x52, 0xaa, 0x40, 0x4a, 0xc2, 0x44, 0x76, 0x53, 0x36, 0xfc, 0x09, 0xac, 0xf9, 0x84, - 0x06, 0x03, 0x46, 0xeb, 0x65, 0x2e, 0x17, 0x1f, 0xe4, 0x72, 0xb9, 0x00, 0xa8, 0xaa, 0xf1, 0x3d, - 0xb4, 0x68, 0x2f, 0xf9, 0x11, 0x54, 0x42, 0x53, 0x52, 0xed, 0x44, 0x04, 0x62, 0x98, 0x50, 0x7a, - 0x69, 0xb1, 0xd2, 0x2b, 0x07, 0x50, 0x4b, 0x66, 0x74, 0x91, 0x00, 0xcf, 0x14, 0xd9, 0xce, 0x0f, - 0x55, 0xb8, 0x92, 0x6a, 0xad, 0xef, 0x3f, 0xea, 0xe1, 0x6f, 0x10, 0x57, 0xbf, 0xfc, 0x47, 0x14, - 0xbe, 0x93, 0xc7, 0xc9, 0xa2, 0xd7, 0xa0, 0x7c, 0xb7, 0xe0, 0x2a, 0x91, 0xf3, 0xaf, 0x51, 0xb2, - 0x47, 0x4f, 0xbd, 0x01, 0xde, 0x99, 0x9b, 0x9b, 0xbc, 0x07, 0x98, 0xdc, 0x29, 0xb2, 0x24, 0x44, - 0x70, 0x0b, 0xe1, 0x01, 0x5c, 0xce, 0xdc, 0xee, 0xf8, 0xad, 0xf9, 0x1b, 0x25, 0xdf, 0x12, 0xf2, - 0xdb, 0x4b, 0xf9, 0xc6, 0xa7, 0x7d, 0x87, 0x60, 0x7b, 0x41, 0x8f, 0x8d, 0xdf, 0x5f, 0x62, 0xcb, - 0x19, 0x17, 0x4e, 0x51, 0x38, 0xdf, 0xa6, 0x1e, 0x81, 0x79, 0xed, 0x2d, 0x7e, 0xaf, 0x08, 0x9a, - 0x94, 0xc0, 0x17, 0x05, 0xf3, 0x15, 0x82, 0xc6, 0xcc, 0x86, 0x32, 0xbf, 0x30, 0x17, 0xf5, 0x9f, - 0x45, 0x21, 0x8c, 0xe0, 0xea, 0x54, 0x63, 0x80, 0x77, 0x67, 0x14, 0x77, 0x6e, 0xf3, 0x22, 0xdf, - 0x5c, 0xd2, 0x5b, 0x7c, 0x02, 0xbf, 0x20, 0x68, 0x2d, 0xdb, 0x55, 0xe0, 0x07, 0x45, 0x04, 0x6b, - 0x56, 0x89, 0xdc, 0x39, 0x8f, 0xea, 0xdd, 0x42, 0xf8, 0x67, 0x04, 0x6f, 0x2e, 0x79, 0xc3, 0xe3, - 0xee, 0xb9, 0x80, 0xa6, 0xab, 0xe7, 0x79, 0xe1, 0x4c, 0x5c, 0xb2, 0xc5, 0x71, 0x4e, 0xdf, 0xd0, - 0xe7, 0xc5, 0xd9, 0x7d, 0x0a, 0x3b, 0x9e, 0x6f, 0xab, 0x9e, 0xcb, 0x97, 0xc7, 0xbd, 0x7b, 0x6a, - 0x9f, 0xa7, 0x77, 0x6d, 0x87, 0x1d, 0x07, 0x86, 0x6a, 0x7a, 0xc3, 0x76, 0xe8, 0xd9, 0xe6, 0x3f, - 0xf1, 0x9f, 0x77, 0xb6, 0xd7, 0x9e, 0xfe, 0xbb, 0xd1, 0xa8, 0xf0, 0xf9, 0xdb, 0xff, 0x04, 0x00, - 0x00, 0xff, 0xff, 0x43, 0x75, 0xdc, 0x94, 0x8b, 0x14, 0x00, 0x00, + // 1094 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xd7, 0xac, 0x4d, 0xd2, 0x3c, 0x9b, 0xb4, 0x1d, 0x45, 0xc1, 0x5e, 0x51, 0xe2, 0x6c, 0xa1, + 0x58, 0x90, 0xae, 0x83, 0xdb, 0x8a, 0xf2, 0xe7, 0x52, 0x37, 0x69, 0xb0, 0xc4, 0xa1, 0xda, 0x94, + 0x4a, 0xf4, 0x62, 0xed, 0x9f, 0xc9, 0x66, 0x85, 0xbd, 0xeb, 0xee, 0xcc, 0x86, 0x44, 0x5c, 0xe0, + 0x56, 0x21, 0x2e, 0xdc, 0x2a, 0x71, 0x40, 0x42, 0x42, 0x9c, 0x10, 0xdf, 0x84, 0x6f, 0xc0, 0x91, + 0x33, 0x17, 0x3e, 0x00, 0xf2, 0xec, 0xec, 0x7a, 0x77, 0xbd, 0xfe, 0xb3, 0x71, 0x2a, 0xa0, 0x17, + 0x4b, 0xf3, 0xe6, 0xcd, 0xcc, 0xef, 0xfd, 0xde, 0xdb, 0xdf, 0xbc, 0x31, 0xdc, 0x38, 0xea, 0x7b, + 0x5f, 0xb6, 0xc8, 0x29, 0x31, 0x03, 0xe6, 0x78, 0xae, 0xa5, 0x33, 0x3d, 0x3d, 0x52, 0x87, 0xbe, + 0xc7, 0x3c, 0x8c, 0x47, 0x7e, 0x6a, 0x6a, 0x46, 0x6e, 0x86, 0x6b, 0x5d, 0xe6, 0x30, 0x87, 0xd0, + 0x96, 0xd1, 0xf7, 0xcc, 0x2f, 0x7a, 0xb1, 0x4b, 0x6f, 0xbc, 0x5a, 0xae, 0xa7, 0x3d, 0xc9, 0x09, + 0x71, 0x99, 0x98, 0x7a, 0x3d, 0x3d, 0xe5, 0x13, 0xdb, 0xa1, 0x8c, 0xf8, 0x62, 0x76, 0xcb, 0xf6, + 0x3c, 0xbb, 0x4f, 0x5a, 0x7c, 0x64, 0x04, 0x47, 0x2d, 0xe6, 0x0c, 0x08, 0x65, 0xfa, 0x60, 0x18, + 0x3a, 0x28, 0xcf, 0x11, 0x34, 0x0e, 0x08, 0xdb, 0x8f, 0x4e, 0xdd, 0xd3, 0x99, 0xde, 0x39, 0xeb, + 0x8c, 0xa0, 0x74, 0xf7, 0x34, 0xf2, 0x34, 0x20, 0x94, 0xe1, 0x3a, 0x5c, 0x0a, 0xc1, 0x39, 0x56, + 0x0d, 0x35, 0x50, 0xb3, 0xaa, 0xad, 0xf2, 0x71, 0xd7, 0xc2, 0x9f, 0xc3, 0x26, 0x47, 0xd3, 0x23, + 0xae, 0xe9, 0x59, 0x8e, 0x6b, 0xf7, 0x4e, 0x88, 0x4f, 0x1d, 0xcf, 0xad, 0x49, 0x0d, 0xd4, 0x5c, + 0x6f, 0x5f, 0x57, 0xc3, 0xc0, 0x05, 0x3e, 0x75, 0x7f, 0xe4, 0xbc, 0x2f, 0x7c, 0x1f, 0x87, 0xae, + 0xda, 0x06, 0xc9, 0xb1, 0x2a, 0xa7, 0xb0, 0x3d, 0x03, 0x19, 0x1d, 0x7a, 0x2e, 0x25, 0xf8, 0x10, + 0x36, 0xf2, 0x78, 0xe3, 0x30, 0x2b, 0xed, 0xed, 0xcc, 0xe9, 0x7c, 0x75, 0x6a, 0x47, 0x0d, 0x1b, + 0x13, 0x36, 0xe5, 0x77, 0x04, 0xd7, 0x0e, 0x03, 0x83, 0x9a, 0xbe, 0x63, 0x90, 0xb4, 0xbb, 0x60, + 0xe4, 0x4d, 0x58, 0xa7, 0x4c, 0xf7, 0x59, 0x2f, 0xc3, 0x4b, 0x95, 0x5b, 0x3b, 0x82, 0x9c, 0x1d, + 0xc0, 0x49, 0xaf, 0x63, 0xe2, 0xd8, 0xc7, 0x8c, 0x13, 0x53, 0xd6, 0xae, 0x8c, 0x3d, 0x3f, 0xe1, + 0xf6, 0x19, 0x54, 0x96, 0x96, 0xa5, 0xf2, 0x0f, 0x04, 0x6f, 0x4c, 0x0b, 0x48, 0x10, 0xb9, 0x0d, + 0xd5, 0x14, 0x4a, 0xc4, 0x51, 0x56, 0x8c, 0x04, 0xc0, 0x69, 0x5c, 0x4b, 0x4b, 0x70, 0x8d, 0xef, + 0xc3, 0xe5, 0x70, 0xd3, 0xb8, 0x32, 0x79, 0xb8, 0x95, 0xb6, 0xac, 0x86, 0xb5, 0xab, 0x46, 0xb5, + 0xab, 0x3e, 0x8a, 0x3c, 0xb4, 0x75, 0xbe, 0x24, 0x1e, 0x2b, 0xbf, 0x49, 0xb0, 0x39, 0x8e, 0x6f, + 0xc4, 0x00, 0x7d, 0x91, 0x99, 0x7a, 0x1f, 0x56, 0x8e, 0x9c, 0x3e, 0x23, 0xbe, 0x80, 0xba, 0xa5, + 0x4e, 0x7e, 0xdd, 0x61, 0x7a, 0x1e, 0x70, 0x37, 0x4d, 0xb8, 0xe3, 0x9b, 0x80, 0x8f, 0x89, 0xee, + 0x33, 0x83, 0xe8, 0xac, 0xe7, 0xb8, 0x8c, 0xf8, 0x27, 0x7a, 0xbf, 0x56, 0xe6, 0xc7, 0x5c, 0x8d, + 0x67, 0xba, 0x62, 0x62, 0x46, 0x45, 0xbc, 0xb2, 0x6c, 0x45, 0x7c, 0x2f, 0xc1, 0x8d, 0x0c, 0x63, + 0x0f, 0x7c, 0x6f, 0x70, 0x38, 0x26, 0x65, 0xaf, 0x18, 0x83, 0x63, 0x4e, 0xa4, 0x8b, 0xe0, 0xa4, + 0x54, 0x9c, 0x93, 0xf2, 0xb2, 0x9c, 0x3c, 0x97, 0xe0, 0xad, 0x69, 0x9c, 0x84, 0x99, 0x8f, 0x28, + 0xc9, 0x2f, 0x17, 0x34, 0xb7, 0x5c, 0xfe, 0xb7, 0xd4, 0xfc, 0x89, 0xa0, 0x91, 0x43, 0xcd, 0xa7, + 0x3a, 0x23, 0x34, 0x66, 0x65, 0x1c, 0x27, 0xba, 0x88, 0x38, 0xa5, 0xe2, 0x71, 0x2e, 0x2d, 0x94, + 0x7f, 0x21, 0x78, 0x6d, 0x42, 0x48, 0x84, 0x42, 0xce, 0xb8, 0x05, 0xb3, 0xe2, 0x29, 0x4d, 0x8a, + 0xe7, 0x0e, 0xac, 0xf0, 0x13, 0x69, 0xad, 0xd4, 0x28, 0x35, 0x2b, 0xed, 0x8d, 0x3c, 0x90, 0x9a, + 0xf0, 0xc9, 0x53, 0xc5, 0x72, 0x51, 0x55, 0xc4, 0xd7, 0xe1, 0xd5, 0x01, 0xa1, 0x54, 0xb7, 0x49, + 0xcf, 0x71, 0x2d, 0x72, 0xca, 0x55, 0xa3, 0xac, 0x55, 0x85, 0xb1, 0x3b, 0xb2, 0x29, 0x06, 0x54, + 0x12, 0x29, 0xc1, 0xd7, 0x00, 0x42, 0x6e, 0xd9, 0xd9, 0x90, 0xd4, 0x50, 0xa3, 0xd4, 0x5c, 0xd3, + 0xd6, 0xb8, 0xe5, 0xd1, 0xd9, 0x90, 0x60, 0x19, 0x2e, 0x99, 0x9e, 0xcb, 0x7c, 0xdd, 0x1c, 0x05, + 0x39, 0x9a, 0x8c, 0xc7, 0xb8, 0x06, 0xab, 0xba, 0x65, 0xf9, 0x84, 0x86, 0x21, 0xae, 0x69, 0xd1, + 0x50, 0xf9, 0x0a, 0x6a, 0x07, 0x84, 0x69, 0xa2, 0x35, 0x79, 0xac, 0xf7, 0x03, 0x12, 0xeb, 0xf3, + 0x02, 0xf7, 0xce, 0xc7, 0x50, 0x8d, 0xda, 0x9a, 0x9e, 0x63, 0x51, 0x7e, 0x70, 0xa5, 0x5d, 0xcf, + 0x10, 0x18, 0x6d, 0xdf, 0xdd, 0xd3, 0x2a, 0x91, 0x7b, 0xd7, 0xa2, 0xca, 0x2d, 0xa8, 0xe7, 0x1c, + 0x2e, 0x72, 0xba, 0x09, 0x2b, 0x27, 0xdc, 0xc2, 0x43, 0xad, 0x6a, 0x62, 0xa4, 0xfc, 0x20, 0x41, + 0x2b, 0xae, 0x83, 0x7b, 0xa6, 0xe9, 0x05, 0x2e, 0x3b, 0x64, 0x3a, 0x0b, 0x28, 0x59, 0x52, 0x27, + 0xef, 0x66, 0xc4, 0xa0, 0x91, 0xf7, 0x91, 0x84, 0x47, 0xfd, 0x67, 0xd5, 0xe0, 0x27, 0x09, 0xd4, + 0xb9, 0xec, 0x2c, 0xa3, 0x98, 0x2f, 0x03, 0x49, 0x7f, 0xa3, 0xd9, 0x24, 0x85, 0xda, 0xc9, 0xa3, + 0x8e, 0x48, 0xba, 0x9b, 0x11, 0xd0, 0x65, 0xc3, 0xfe, 0x37, 0x14, 0xf4, 0x57, 0x29, 0x71, 0x53, + 0x64, 0xc2, 0xbe, 0x20, 0x29, 0x55, 0x20, 0x25, 0x61, 0x22, 0xbb, 0x29, 0x1b, 0xfe, 0x0c, 0x56, + 0x7d, 0x42, 0x83, 0x3e, 0xa3, 0xb5, 0x32, 0x97, 0x8b, 0x8f, 0x72, 0xb9, 0x9c, 0x03, 0x54, 0xd5, + 0xf8, 0x1e, 0x5a, 0xb4, 0x97, 0xfc, 0x10, 0x56, 0x42, 0x53, 0x52, 0xed, 0x44, 0x04, 0x62, 0x98, + 0x50, 0x7a, 0x69, 0xbe, 0xd2, 0x2b, 0x07, 0x50, 0x4d, 0x66, 0x74, 0x9e, 0x00, 0x4f, 0x15, 0xd9, + 0xf6, 0x8f, 0x15, 0xb8, 0x92, 0x6a, 0xad, 0xef, 0x3d, 0xec, 0xe2, 0x67, 0x88, 0xab, 0x5f, 0xfe, + 0x23, 0x0a, 0xdf, 0xce, 0xe3, 0x64, 0xde, 0x6b, 0x50, 0xbe, 0x53, 0x70, 0x95, 0xc8, 0xf9, 0x37, + 0x28, 0xd9, 0xa3, 0xa7, 0xde, 0x00, 0xef, 0xcd, 0xcc, 0x4d, 0xde, 0x03, 0x4c, 0x6e, 0x17, 0x59, + 0x12, 0x22, 0xd8, 0x45, 0xf8, 0x29, 0x5c, 0xce, 0xdc, 0xee, 0xf8, 0x9d, 0xd9, 0x1b, 0x25, 0xdf, + 0x12, 0xf2, 0xbb, 0x0b, 0xf9, 0x86, 0xa7, 0x29, 0xa5, 0x67, 0x12, 0xda, 0x45, 0xf8, 0x3b, 0x04, + 0x5b, 0x73, 0x1a, 0x6d, 0xfc, 0xe1, 0x02, 0xfb, 0x4e, 0xb9, 0x75, 0x0a, 0x61, 0xda, 0x45, 0xf8, + 0xdb, 0xd4, 0x4b, 0x30, 0xaf, 0xc7, 0xc5, 0x1f, 0x14, 0x41, 0x93, 0x52, 0xf9, 0xa2, 0x60, 0xbe, + 0x46, 0x50, 0x9f, 0xda, 0x55, 0xe6, 0x57, 0xe7, 0xbc, 0x26, 0xb4, 0x28, 0x84, 0x21, 0x5c, 0x9d, + 0xe8, 0x0e, 0xf0, 0xce, 0x94, 0x0a, 0xcf, 0xed, 0x60, 0xe4, 0x9b, 0x0b, 0x7a, 0x8b, 0xef, 0xe0, + 0x17, 0x04, 0xcd, 0x45, 0x5b, 0x0b, 0x7c, 0xbf, 0x88, 0x6a, 0x4d, 0x2b, 0x91, 0xdb, 0xe7, 0x91, + 0xbe, 0x5d, 0x84, 0x7f, 0x46, 0xf0, 0xf6, 0x82, 0xd7, 0x3c, 0xee, 0x9c, 0x0b, 0x68, 0xba, 0x7a, + 0x5e, 0x14, 0xce, 0xc4, 0x4d, 0x5b, 0x1c, 0xe7, 0xe4, 0x35, 0x7d, 0x5e, 0x9c, 0x9d, 0x27, 0xb0, + 0xed, 0xf9, 0xb6, 0xea, 0xb9, 0x7c, 0x79, 0xdc, 0xc0, 0xa7, 0xf6, 0x79, 0x72, 0xc7, 0x76, 0xd8, + 0x71, 0x60, 0xa8, 0xa6, 0x37, 0x68, 0x85, 0x9e, 0x2d, 0xfe, 0x13, 0xff, 0x83, 0x67, 0x7b, 0xad, + 0xc9, 0xff, 0x1c, 0x8d, 0x15, 0x3e, 0x7f, 0xeb, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd3, 0xf7, + 0xe8, 0x45, 0x90, 0x14, 0x00, 0x00, } diff --git a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go index bc2e54e50..d134e56a6 100644 --- a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go +++ b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go @@ -59,6 +59,7 @@ type ExecutionDataAPIClient interface { // happen if the block was from a previous spork, or if the block has yet // not been received. SubscribeExecutionData(ctx context.Context, in *SubscribeExecutionDataRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataClient, error) + // Deprecated: Do not use. // Warning: this function is deprecated and will be removed in a future version. // Use SubscribeEventsFromStartBlockID, SubscribeEventsFromStartHeight or SubscribeEventsFromLatest. // @@ -266,6 +267,7 @@ func (x *executionDataAPISubscribeExecutionDataClient) Recv() (*SubscribeExecuti return m, nil } +// Deprecated: Do not use. func (c *executionDataAPIClient) SubscribeEvents(ctx context.Context, in *SubscribeEventsRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsClient, error) { stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[1], ExecutionDataAPI_SubscribeEvents_FullMethodName, opts...) if err != nil { @@ -527,6 +529,7 @@ type ExecutionDataAPIServer interface { // happen if the block was from a previous spork, or if the block has yet // not been received. SubscribeExecutionData(*SubscribeExecutionDataRequest, ExecutionDataAPI_SubscribeExecutionDataServer) error + // Deprecated: Do not use. // Warning: this function is deprecated and will be removed in a future version. // Use SubscribeEventsFromStartBlockID, SubscribeEventsFromStartHeight or SubscribeEventsFromLatest. // From bebd1d917240089006f860f69ef1ef1c59fe61b0 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Thu, 4 Apr 2024 03:54:57 +0530 Subject: [PATCH 207/626] Create 2024-04-04-Protocol-Product-Sync.md weekly meeting file --- agendas/2024/product-sync/2024-04-04-Protocol-Product-Sync.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 agendas/2024/product-sync/2024-04-04-Protocol-Product-Sync.md diff --git a/agendas/2024/product-sync/2024-04-04-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-04-04-Protocol-Product-Sync.md new file mode 100644 index 000000000..c87bcbd4b --- /dev/null +++ b/agendas/2024/product-sync/2024-04-04-Protocol-Product-Sync.md @@ -0,0 +1,3 @@ +# Please add agenda items below + +1. From c321c1475f1e88d07de32b31e634b3942373d13e Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 4 Apr 2024 10:09:00 -0700 Subject: [PATCH 208/626] Update 2024-04-04-Protocol-Product-Sync.md --- agendas/2024/product-sync/2024-04-04-Protocol-Product-Sync.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agendas/2024/product-sync/2024-04-04-Protocol-Product-Sync.md b/agendas/2024/product-sync/2024-04-04-Protocol-Product-Sync.md index c87bcbd4b..f0e2338ec 100644 --- a/agendas/2024/product-sync/2024-04-04-Protocol-Product-Sync.md +++ b/agendas/2024/product-sync/2024-04-04-Protocol-Product-Sync.md @@ -1,3 +1,4 @@ # Please add agenda items below -1. +1. Discuss Protocol Product meeting scope and length, frequency etc +2. From 1c90bb644fe1eaedc30551e9e07c6fd9c46b0d50 Mon Sep 17 00:00:00 2001 From: Andrii Slisarchuk Date: Fri, 5 Apr 2024 01:54:50 +0300 Subject: [PATCH 209/626] Added event encoding version --- protobuf/flow/access/access.proto | 2 + protobuf/go/flow/access/access.pb.go | 319 ++++++++++++++------------- 2 files changed, 166 insertions(+), 155 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 1909ceebe..c415ff8a7 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -656,6 +656,8 @@ message SubscribeBlockDigestsResponse { message SendAndSubscribeTransactionStatusesRequest { // The transaction to be sent and tracked for status changes. entities.Transaction transaction = 1; + // The encoding for events in transaction result + entities.EventEncodingVersion event_encoding_version = 2; } // Response message for transaction status changes. diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 1e0c2967c..aef44ebdc 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -2906,10 +2906,12 @@ func (m *SubscribeBlockDigestsResponse) GetBlockTimestamp() *timestamppb.Timesta // Request message for sending a transaction and subscribing to its status changes. type SendAndSubscribeTransactionStatusesRequest struct { // The transaction to be sent and tracked for status changes. - Transaction *entities.Transaction `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Transaction *entities.Transaction `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` + // The encoding for events in transaction result + EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,2,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *SendAndSubscribeTransactionStatusesRequest) Reset() { @@ -2948,6 +2950,13 @@ func (m *SendAndSubscribeTransactionStatusesRequest) GetTransaction() *entities. return nil } +func (m *SendAndSubscribeTransactionStatusesRequest) GetEventEncodingVersion() entities.EventEncodingVersion { + if m != nil { + return m.EventEncodingVersion + } + return entities.EventEncodingVersion_JSON_CDC_V0 +} + // Response message for transaction status changes. type SendAndSubscribeTransactionStatusesResponse struct { // Transaction result of the tracked transaction @@ -3070,155 +3079,155 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2388 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdd, 0x6f, 0xdc, 0xc6, - 0x11, 0x07, 0x75, 0xb2, 0x3e, 0x46, 0x27, 0xd9, 0x5e, 0x2b, 0xf2, 0x89, 0xb2, 0xa4, 0x33, 0x25, - 0xc5, 0x8a, 0xed, 0x9c, 0x0c, 0xb9, 0x45, 0xec, 0xf4, 0x03, 0x95, 0x1c, 0x45, 0x11, 0x60, 0x07, - 0x02, 0xcf, 0x71, 0x91, 0xb6, 0xc9, 0x81, 0x3a, 0xae, 0x4e, 0xac, 0xef, 0xc8, 0x2b, 0xc9, 0xb3, - 0xad, 0x36, 0x28, 0xf2, 0x60, 0x14, 0x05, 0x0a, 0xf4, 0x03, 0x7d, 0x28, 0x1a, 0xa0, 0x2f, 0xed, - 0x53, 0xdb, 0x87, 0x3e, 0xf5, 0xa1, 0x28, 0x8a, 0x02, 0x45, 0xff, 0x81, 0xfe, 0x45, 0x2d, 0xb8, - 0xbb, 0xe4, 0x71, 0x97, 0xcb, 0x3d, 0xde, 0xc9, 0xa9, 0xfc, 0x92, 0x88, 0xdc, 0xd9, 0x99, 0xdf, - 0xec, 0xcc, 0xce, 0x2e, 0x7f, 0x73, 0x86, 0xca, 0x71, 0xdb, 0x7b, 0xbe, 0x65, 0x35, 0x9b, 0x38, - 0x08, 0xd8, 0xff, 0x6a, 0x5d, 0xdf, 0x0b, 0x3d, 0x34, 0x13, 0x8d, 0xd4, 0xe8, 0x2b, 0x7d, 0x89, - 0x88, 0x61, 0x37, 0x74, 0x42, 0x07, 0x13, 0x41, 0xaf, 0xe7, 0x86, 0x54, 0x52, 0xaf, 0xf2, 0x83, - 0x47, 0x6d, 0xaf, 0xf9, 0xb4, 0x71, 0x82, 0x2d, 0x1b, 0xfb, 0x4c, 0x62, 0x51, 0x22, 0xc1, 0x86, - 0x56, 0xf8, 0xa1, 0xa6, 0xd7, 0x6e, 0xe3, 0x66, 0xe8, 0x78, 0xae, 0x7c, 0x2a, 0x7e, 0x86, 0x13, - 0xbb, 0xeb, 0xc2, 0xd0, 0x0b, 0xdc, 0xec, 0x45, 0x33, 0x1b, 0x3e, 0x0e, 0x7a, 0xed, 0x58, 0xea, - 0x1a, 0x2f, 0xd5, 0xc1, 0xa1, 0x65, 0x5b, 0xa1, 0xc5, 0x46, 0x37, 0xf8, 0x51, 0xd7, 0xb3, 0x71, - 0xe3, 0x19, 0xf6, 0x83, 0x48, 0x8d, 0xe3, 0x1e, 0x7b, 0x4c, 0x6c, 0x95, 0x17, 0x0b, 0x7d, 0xcb, - 0x0d, 0xac, 0x34, 0xcc, 0xd5, 0x96, 0xe7, 0xb5, 0xda, 0x78, 0x8b, 0x3c, 0x1d, 0xf5, 0x8e, 0xb7, - 0x42, 0xa7, 0x83, 0x83, 0xd0, 0xea, 0x74, 0xa9, 0x80, 0x31, 0x0b, 0x33, 0x87, 0x8e, 0xdb, 0x32, - 0xf1, 0x0f, 0x7a, 0x38, 0x08, 0x8d, 0x39, 0x28, 0xd3, 0xc7, 0xa0, 0xeb, 0xb9, 0x01, 0x36, 0x96, - 0x60, 0x71, 0x1f, 0x87, 0x1f, 0x7a, 0x36, 0x7e, 0x42, 0xad, 0x1f, 0xb8, 0xc7, 0x5e, 0x2c, 0x7c, - 0x08, 0xba, 0x6c, 0x90, 0x4e, 0x45, 0xdb, 0x30, 0x1e, 0x21, 0xad, 0x68, 0x55, 0x6d, 0x73, 0x66, - 0x7b, 0xa5, 0x46, 0xe2, 0x16, 0x43, 0xad, 0x89, 0xb3, 0x88, 0xac, 0xf1, 0x2e, 0x2c, 0xed, 0xe3, - 0xf0, 0xa1, 0x15, 0xe2, 0x20, 0xdc, 0x8d, 0xa2, 0xf1, 0x01, 0x09, 0x17, 0x33, 0x88, 0x96, 0x60, - 0xda, 0x09, 0x1a, 0x01, 0xb6, 0xda, 0xd8, 0x26, 0x7a, 0xa7, 0xcc, 0x29, 0x27, 0xa8, 0x93, 0x67, - 0xe3, 0x16, 0x81, 0x9a, 0x9a, 0xb5, 0x7b, 0x7a, 0xf0, 0x5e, 0x3c, 0x73, 0x0e, 0xc6, 0x1c, 0x3a, - 0xa5, 0x6c, 0x8e, 0x39, 0xb6, 0xf1, 0x0e, 0x2c, 0x8b, 0xc2, 0x1f, 0x60, 0xa7, 0x75, 0x12, 0xc6, - 0x13, 0x16, 0x60, 0xe2, 0x84, 0xbc, 0x20, 0x93, 0xc6, 0x4d, 0xf6, 0x64, 0xfc, 0x5d, 0x83, 0x2b, - 0x1c, 0x32, 0xe6, 0xed, 0x1d, 0xb8, 0x40, 0xd2, 0x87, 0xb9, 0xab, 0x0b, 0xee, 0xa6, 0xa7, 0x50, - 0x41, 0xf4, 0x0d, 0x28, 0xd3, 0x94, 0x0c, 0x42, 0x2b, 0xec, 0x05, 0x95, 0xb1, 0xaa, 0xb6, 0x39, - 0x27, 0x9f, 0x58, 0x27, 0x12, 0xe6, 0xcc, 0x51, 0xff, 0x01, 0xdd, 0x85, 0xa9, 0x38, 0x67, 0x2a, - 0x25, 0x62, 0xf3, 0xaa, 0x30, 0xf5, 0x11, 0x1b, 0x36, 0x13, 0x41, 0xc3, 0x86, 0x37, 0xf8, 0xf5, - 0x2d, 0xb2, 0xb2, 0xa8, 0x06, 0x57, 0x8e, 0x7b, 0xed, 0x76, 0x83, 0xc2, 0xf5, 0x99, 0xcb, 0x04, - 0xf0, 0x94, 0x79, 0x39, 0x1a, 0x62, 0xba, 0x58, 0xd2, 0x7c, 0x04, 0x57, 0xe2, 0xc5, 0x55, 0xc4, - 0x60, 0x68, 0xb5, 0x16, 0x5c, 0xed, 0xab, 0x2d, 0x14, 0xad, 0xa1, 0x4d, 0xfc, 0x45, 0x83, 0x59, - 0xee, 0x0d, 0xba, 0xc9, 0xc7, 0x75, 0x5e, 0x16, 0x9e, 0xf3, 0x8c, 0xe8, 0x4d, 0xa8, 0xec, 0xe3, - 0xf0, 0x41, 0x52, 0x9e, 0x54, 0x49, 0xff, 0x52, 0x03, 0xd4, 0x97, 0x4c, 0x5c, 0xbc, 0x0f, 0xd0, - 0x2f, 0x6f, 0xcc, 0xcf, 0x45, 0xc1, 0x72, 0x6a, 0x5a, 0x4a, 0x98, 0x83, 0x3c, 0x56, 0x14, 0xf2, - 0x13, 0x58, 0xa8, 0x63, 0xd7, 0x7e, 0xdc, 0x2f, 0x56, 0x31, 0xe0, 0xaf, 0xc3, 0x4c, 0xaa, 0x84, - 0xe5, 0x6c, 0xa5, 0xf4, 0xbc, 0xb4, 0xb8, 0xf1, 0x29, 0x5c, 0xcd, 0xe8, 0x65, 0x2e, 0x8a, 0xa9, - 0x37, 0x12, 0xee, 0x7f, 0x69, 0x64, 0xf7, 0x48, 0x70, 0x8b, 0xea, 0x17, 0x61, 0x8a, 0x26, 0x82, - 0x63, 0x13, 0xf5, 0x65, 0x73, 0x92, 0x3c, 0x1f, 0xd8, 0x68, 0x0d, 0x66, 0xfb, 0xeb, 0x17, 0x8d, - 0x97, 0xc8, 0x78, 0xb9, 0xff, 0xf2, 0xc0, 0x46, 0x1f, 0xc3, 0x02, 0x39, 0x50, 0x1a, 0xd8, 0x6d, - 0x7a, 0xb6, 0xe3, 0xb6, 0xe2, 0xda, 0x5f, 0x19, 0x27, 0x29, 0xb5, 0x26, 0x80, 0xdd, 0x8b, 0x84, - 0xf7, 0x98, 0x2c, 0xab, 0xaa, 0xe6, 0x3c, 0x96, 0xbc, 0x35, 0xee, 0x91, 0x0a, 0x5b, 0x3f, 0x0d, - 0x42, 0xdc, 0x91, 0x78, 0x92, 0x46, 0xae, 0x71, 0xc8, 0x8d, 0xdf, 0x6a, 0x70, 0x5d, 0x3e, 0x35, - 0x3a, 0xd5, 0x06, 0x2b, 0x50, 0x78, 0x35, 0x76, 0x56, 0xaf, 0xfe, 0xa4, 0xc1, 0x35, 0x3e, 0x34, - 0xbb, 0xa7, 0x07, 0xae, 0x8d, 0x5f, 0x14, 0x80, 0x35, 0x0f, 0x17, 0x9c, 0x48, 0x94, 0xa0, 0x98, - 0x35, 0xe9, 0x83, 0x02, 0x6c, 0xe9, 0xac, 0x60, 0x7f, 0xa3, 0xc1, 0x2a, 0x0f, 0x36, 0xd8, 0x3d, - 0x25, 0x55, 0xa1, 0xbf, 0x75, 0xcf, 0x6d, 0x19, 0xf5, 0x4c, 0x64, 0x83, 0x64, 0x17, 0x7d, 0x1b, - 0xae, 0xa4, 0xf6, 0x1b, 0xbb, 0xce, 0x04, 0x15, 0xad, 0x5a, 0xda, 0x9c, 0xd9, 0x7e, 0xb3, 0x96, - 0xba, 0x98, 0xd5, 0x24, 0xf9, 0x41, 0x95, 0x98, 0x28, 0xcc, 0x18, 0x18, 0x6d, 0x3b, 0xfe, 0x4c, - 0x83, 0xf9, 0xf4, 0x1a, 0x26, 0x30, 0xbf, 0x09, 0xe5, 0x94, 0x8d, 0x18, 0x9f, 0xaa, 0x8c, 0x70, - 0xf2, 0xa3, 0xa1, 0xf9, 0xa9, 0x06, 0x57, 0x64, 0x95, 0xe7, 0x4c, 0x25, 0x6d, 0x34, 0x28, 0x7f, - 0x2d, 0xc1, 0x62, 0xee, 0xfa, 0xa3, 0x7b, 0x30, 0xc1, 0x8e, 0x27, 0x8d, 0xa4, 0x4b, 0x35, 0x1f, - 0x0b, 0x3b, 0xa4, 0x98, 0x3c, 0x5a, 0x85, 0x19, 0xfa, 0x57, 0xa3, 0xe9, 0xd9, 0x98, 0x6d, 0x17, - 0xa0, 0xaf, 0x1e, 0x78, 0x36, 0x8e, 0x6a, 0x1b, 0xf6, 0x7d, 0xcf, 0x6f, 0x74, 0x70, 0x10, 0x58, - 0x2d, 0x4c, 0xb6, 0xca, 0xb4, 0x59, 0x26, 0x2f, 0x1f, 0xd1, 0x77, 0xe8, 0x36, 0x4c, 0x90, 0xdc, - 0x0b, 0x2a, 0xe3, 0x24, 0x2e, 0xf3, 0xb2, 0x74, 0x35, 0x99, 0x0c, 0xb7, 0x0f, 0x2e, 0xf0, 0xfb, - 0x60, 0x03, 0xe6, 0xd2, 0xd9, 0xe8, 0xd8, 0x95, 0x09, 0x22, 0x30, 0x9b, 0x7a, 0x2b, 0x2b, 0xb8, - 0x93, 0x92, 0x82, 0x7b, 0x3d, 0x3e, 0xb9, 0xd9, 0x2d, 0x62, 0x8a, 0xdc, 0x22, 0xe8, 0xe9, 0x4c, - 0x6f, 0x1a, 0x5c, 0x28, 0xa6, 0x0b, 0x86, 0x02, 0xdd, 0x82, 0xcb, 0x4d, 0xaf, 0xd3, 0xed, 0x85, - 0x16, 0xb1, 0xde, 0x23, 0xab, 0x02, 0x44, 0xf9, 0xa5, 0xd4, 0xc0, 0x47, 0xd1, 0x7b, 0xe3, 0x6d, - 0xb8, 0xbc, 0x8f, 0xc3, 0x1d, 0xfa, 0x0d, 0x13, 0x17, 0x82, 0x0a, 0x4c, 0x5a, 0xb6, 0xed, 0xe3, - 0x20, 0x88, 0xeb, 0x00, 0x7b, 0x34, 0x7e, 0x04, 0x28, 0x2d, 0x9e, 0xdc, 0x43, 0x27, 0xd9, 0x57, - 0x10, 0xcb, 0xb5, 0x05, 0x01, 0x65, 0x3c, 0x21, 0x16, 0x1b, 0x2d, 0xc7, 0xde, 0x85, 0x95, 0xbe, - 0xf1, 0x1d, 0xd9, 0x8d, 0x32, 0x1f, 0xf8, 0x0b, 0xb8, 0x78, 0x4e, 0xa8, 0x3f, 0xe1, 0x51, 0xef, - 0xf6, 0xc3, 0x3b, 0x10, 0x75, 0x26, 0x45, 0xc6, 0x32, 0x29, 0x62, 0x7c, 0x0c, 0xd7, 0xf7, 0xc8, - 0xc7, 0x1e, 0xae, 0x37, 0x7d, 0xa7, 0x2b, 0x5f, 0x97, 0x05, 0x98, 0x08, 0xc8, 0x28, 0x33, 0xc0, - 0x9e, 0xd0, 0x35, 0x98, 0xb6, 0xfc, 0x56, 0xaf, 0x43, 0xb6, 0xc6, 0x58, 0xb5, 0xb4, 0x59, 0x36, - 0xfb, 0x2f, 0x8c, 0x2e, 0x2c, 0x0b, 0xaa, 0x8b, 0x1f, 0x18, 0x7d, 0x8b, 0x63, 0xf9, 0x16, 0x4b, - 0xa2, 0xc5, 0xcf, 0x32, 0xce, 0x48, 0x96, 0x4b, 0x5c, 0x14, 0x2d, 0xbb, 0x6f, 0x46, 0xb3, 0xfe, - 0x0b, 0x0d, 0xde, 0xe0, 0xcc, 0x27, 0xa9, 0x32, 0x0f, 0x17, 0x9e, 0x59, 0xed, 0x1e, 0x66, 0x5e, - 0xd2, 0x87, 0x91, 0xd2, 0x41, 0xbe, 0x3b, 0x4b, 0x39, 0xbb, 0xf3, 0x3f, 0x1a, 0x49, 0x1e, 0x52, - 0x9e, 0x82, 0xf7, 0x3d, 0x9f, 0x2d, 0x84, 0xe5, 0xb6, 0x70, 0xbc, 0x1a, 0x08, 0xc6, 0xc3, 0xd3, - 0x2e, 0x45, 0x36, 0x6d, 0x92, 0xbf, 0xa3, 0x15, 0x0a, 0x42, 0xcb, 0x0f, 0x85, 0xb4, 0x21, 0xef, - 0xd8, 0x0a, 0x2d, 0x03, 0x60, 0xd7, 0x8e, 0x05, 0xa8, 0xfd, 0x69, 0xec, 0xda, 0x6c, 0xf8, 0x4b, - 0xbc, 0x0c, 0xfe, 0x51, 0x23, 0xb7, 0xc1, 0xc4, 0x27, 0x96, 0x53, 0x81, 0xca, 0xa1, 0x25, 0x98, - 0x8e, 0x13, 0x2d, 0xce, 0xd3, 0x29, 0x96, 0x69, 0xc1, 0x97, 0x79, 0x6b, 0xfa, 0xe7, 0x18, 0xcc, - 0x51, 0xa0, 0xa9, 0xb3, 0x75, 0x92, 0xbf, 0x83, 0x18, 0xdc, 0x1d, 0x84, 0x97, 0xae, 0xb1, 0x73, - 0x30, 0x9e, 0x32, 0x52, 0xca, 0xe8, 0x7f, 0xd3, 0x60, 0x82, 0x2a, 0x52, 0xed, 0xb8, 0xc1, 0xb5, - 0x22, 0x75, 0x0c, 0x96, 0x0a, 0x1c, 0x83, 0x0f, 0xe0, 0x22, 0x55, 0x98, 0xd0, 0x37, 0x24, 0xf8, - 0xd1, 0x4d, 0x82, 0x12, 0x3c, 0xb5, 0x98, 0xe0, 0xa9, 0x3d, 0x8e, 0x25, 0xcc, 0x39, 0x32, 0x25, - 0x79, 0x36, 0x96, 0x49, 0xb0, 0x3f, 0xc4, 0xe1, 0x73, 0xcf, 0x7f, 0x7a, 0x68, 0xf9, 0x56, 0x07, - 0x87, 0xd8, 0x8f, 0x83, 0x6d, 0xdc, 0x27, 0x57, 0x68, 0xc9, 0x30, 0x5b, 0xed, 0x45, 0x98, 0x6a, - 0x9e, 0x58, 0x8e, 0x1b, 0xfb, 0x3b, 0x6d, 0x4e, 0x92, 0xe7, 0x03, 0xdb, 0xb8, 0x01, 0x1b, 0x09, - 0xad, 0x70, 0x18, 0x01, 0x69, 0x7a, 0xed, 0xe8, 0xf2, 0x80, 0xeb, 0xae, 0xd5, 0x0d, 0x4e, 0xbc, - 0xb8, 0x5e, 0x18, 0x7b, 0xb0, 0xb9, 0x8f, 0xe5, 0x22, 0x43, 0x5c, 0x81, 0x8d, 0x87, 0x70, 0x23, - 0x5f, 0xcd, 0xb0, 0x15, 0x2a, 0xfa, 0x2c, 0x5e, 0xce, 0x41, 0xcd, 0x5c, 0xaf, 0x01, 0x0a, 0xb0, - 0xef, 0x58, 0x6d, 0xe7, 0x87, 0xd8, 0x8e, 0x47, 0x19, 0x28, 0xc9, 0xc8, 0x68, 0x87, 0xd3, 0xb7, - 0x60, 0x2d, 0xda, 0x8b, 0x31, 0x5b, 0x48, 0xb3, 0xac, 0xbf, 0x29, 0x0b, 0x2c, 0xcb, 0x1f, 0xb4, - 0xb8, 0x66, 0x4b, 0xe7, 0x33, 0x67, 0x0e, 0xe0, 0x92, 0x48, 0x49, 0xe6, 0x70, 0x74, 0x82, 0x2e, - 0xf3, 0x22, 0xe6, 0x5f, 0x8c, 0xe6, 0xe7, 0x16, 0xa1, 0xde, 0x04, 0xdd, 0x2a, 0xda, 0xe2, 0x77, - 0x1a, 0x2c, 0x49, 0xc5, 0x5f, 0x13, 0x87, 0xfe, 0xa1, 0xc1, 0x9b, 0xf5, 0xde, 0x51, 0x74, 0xae, - 0x1d, 0x61, 0xb2, 0xda, 0xc1, 0xfb, 0xbe, 0xd7, 0xa9, 0x47, 0x25, 0x5e, 0x08, 0xde, 0x3a, 0xcc, - 0xd1, 0xd3, 0x40, 0x08, 0x21, 0x3d, 0x23, 0x76, 0x59, 0xf9, 0x38, 0x23, 0x8f, 0x94, 0x43, 0x7a, - 0x95, 0xf2, 0x48, 0xaf, 0x7f, 0x6b, 0xb0, 0x91, 0x87, 0x9f, 0xdf, 0x4c, 0xb7, 0x01, 0xa5, 0xe1, - 0x73, 0x5b, 0xea, 0x52, 0xdf, 0x05, 0x56, 0xe2, 0xfe, 0xcf, 0x6e, 0xfc, 0x4a, 0x83, 0xaa, 0xc4, - 0x0d, 0x5a, 0x95, 0x62, 0x0f, 0x44, 0x4c, 0xda, 0x2b, 0xc1, 0x94, 0xcb, 0x27, 0xee, 0xc1, 0x55, - 0x01, 0xd2, 0x28, 0xc4, 0xa2, 0xf1, 0x6b, 0x0d, 0x6e, 0xf3, 0x7a, 0x28, 0x95, 0x7c, 0xae, 0x79, - 0x66, 0x7c, 0xa1, 0xc1, 0x2d, 0x35, 0xaa, 0xf3, 0xcb, 0x1e, 0xa3, 0x25, 0xee, 0xc9, 0x14, 0xb6, - 0x57, 0x99, 0x12, 0x46, 0x1d, 0x96, 0xa5, 0x86, 0x52, 0x7d, 0x90, 0x09, 0xda, 0x74, 0x2a, 0xd0, - 0x1a, 0x60, 0x92, 0x92, 0x80, 0xbf, 0xe7, 0xb4, 0x70, 0x10, 0xbe, 0x6e, 0x01, 0x17, 0x51, 0xbd, - 0x4e, 0x01, 0x4f, 0x61, 0x7b, 0xa5, 0x01, 0xff, 0xbd, 0x26, 0x46, 0x9c, 0x59, 0x4a, 0xdf, 0x94, - 0xce, 0x70, 0x33, 0x94, 0xdc, 0xf5, 0x4a, 0x43, 0xdf, 0xf5, 0xbe, 0x0f, 0x37, 0xeb, 0xd8, 0xb5, - 0x77, 0x5c, 0x3b, 0x81, 0x9a, 0x21, 0x76, 0x70, 0xf0, 0x6a, 0x78, 0xf7, 0x3f, 0x47, 0x69, 0x51, - 0xc4, 0xd8, 0x20, 0x1a, 0x51, 0x3b, 0x23, 0x8d, 0xb8, 0x06, 0xb3, 0x8c, 0x79, 0x6a, 0xf4, 0x19, - 0xdd, 0x71, 0xb3, 0xcc, 0x5e, 0x12, 0x42, 0x78, 0xfb, 0xbf, 0x6b, 0x30, 0xbd, 0x43, 0xb4, 0xef, - 0x1c, 0x1e, 0xa0, 0xaf, 0xc1, 0xf8, 0xa1, 0xe3, 0xb6, 0x50, 0x85, 0x33, 0x9b, 0xea, 0x88, 0xea, - 0x8b, 0x92, 0x11, 0xe6, 0x08, 0x26, 0x0c, 0x8c, 0xd0, 0xc9, 0x44, 0xbc, 0x07, 0xb9, 0xdd, 0x53, - 0xfd, 0xc6, 0x40, 0x39, 0x66, 0xe6, 0x08, 0xe6, 0x65, 0x4d, 0x51, 0xb4, 0x29, 0x2a, 0xc8, 0xeb, - 0x9b, 0xea, 0x55, 0x4e, 0x52, 0xd6, 0xbe, 0xfc, 0x94, 0xb8, 0x22, 0x34, 0x4f, 0xb3, 0xae, 0xc8, - 0xbb, 0xab, 0x05, 0xf4, 0x1f, 0xc3, 0x82, 0xbc, 0xdf, 0x8a, 0x6e, 0x2a, 0x6d, 0x70, 0x05, 0xa5, - 0x80, 0x9d, 0x43, 0x98, 0xe3, 0x17, 0x02, 0x19, 0x8a, 0x55, 0x8a, 0xf5, 0xea, 0x59, 0xbd, 0x89, - 0xc6, 0x87, 0x50, 0x4e, 0x37, 0x33, 0x51, 0x55, 0x8a, 0x37, 0xbd, 0x1a, 0x2a, 0x6d, 0x8f, 0xe1, - 0x92, 0xd8, 0xc3, 0x44, 0xeb, 0x39, 0x1a, 0x79, 0xdf, 0x55, 0x5a, 0xbf, 0x4b, 0x98, 0x43, 0xbe, - 0x09, 0x88, 0x36, 0x44, 0xb5, 0xd2, 0x26, 0xa1, 0xbe, 0xca, 0x89, 0x49, 0xda, 0x83, 0xdf, 0x83, - 0x8b, 0x42, 0x5b, 0x0d, 0xad, 0x71, 0x73, 0xe4, 0xcd, 0x3c, 0x7d, 0x5d, 0x2d, 0xc4, 0xb4, 0x3f, - 0x21, 0x01, 0x4b, 0x2b, 0xcf, 0x04, 0x4c, 0xa2, 0xbb, 0xaa, 0xa8, 0x12, 0xe9, 0x4d, 0x93, 0xa9, - 0x1f, 0x85, 0xb4, 0x17, 0xac, 0x41, 0xa8, 0x4b, 0x3e, 0xa8, 0x33, 0xe3, 0xac, 0xf5, 0x84, 0xde, - 0x52, 0x98, 0xe2, 0xdb, 0x53, 0x85, 0x2d, 0x3e, 0x27, 0x1c, 0x54, 0xb6, 0x45, 0x93, 0x7c, 0x3c, - 0xa3, 0xdb, 0x0a, 0xa3, 0x99, 0x36, 0x93, 0x50, 0x83, 0x14, 0xad, 0x9f, 0xa7, 0xa4, 0xcd, 0x2c, - 0xd5, 0x35, 0xa4, 0xc9, 0xeb, 0x79, 0x26, 0x03, 0x21, 0x76, 0x99, 0x46, 0x63, 0xb6, 0xe0, 0xe5, - 0xb5, 0x31, 0x0b, 0xe4, 0x47, 0x48, 0x7e, 0xbb, 0x92, 0xd3, 0xcc, 0x44, 0xb5, 0x02, 0x96, 0x52, - 0x5d, 0xcf, 0xc2, 0xf1, 0x7b, 0x04, 0xd0, 0x27, 0xa0, 0xd1, 0x8a, 0x68, 0x85, 0xe7, 0xfe, 0x85, - 0xad, 0x29, 0x21, 0xfb, 0x6d, 0xf2, 0x8b, 0x08, 0x19, 0x0b, 0x8f, 0x6e, 0xe5, 0xcc, 0x95, 0x71, - 0xd2, 0xfa, 0x35, 0x4e, 0x78, 0x80, 0x95, 0xf4, 0x9d, 0x2d, 0xdf, 0x4a, 0x96, 0x2c, 0x1e, 0x60, - 0xa5, 0x0b, 0x7a, 0x3e, 0x79, 0x2e, 0x04, 0x64, 0x20, 0xcb, 0xae, 0x1b, 0xf9, 0xf2, 0x89, 0xc5, - 0x13, 0x58, 0x90, 0x73, 0xea, 0xc2, 0x99, 0xa4, 0x24, 0xde, 0x0b, 0x59, 0xca, 0xfa, 0x96, 0x5e, - 0xc4, 0xda, 0x40, 0x6b, 0xfc, 0x3a, 0x16, 0xb1, 0xd8, 0x24, 0x31, 0x93, 0x91, 0xd5, 0xd9, 0x98, - 0x29, 0x28, 0x6d, 0x7d, 0x49, 0xc1, 0xa8, 0xa2, 0x4f, 0xc8, 0x3e, 0xcd, 0xb0, 0xc7, 0xd9, 0x7d, - 0x9a, 0x47, 0x30, 0xab, 0xd5, 0x3f, 0x25, 0xea, 0x33, 0x84, 0x64, 0x56, 0x7d, 0x1e, 0xa5, 0xa9, - 0xbf, 0x55, 0x40, 0x92, 0x19, 0xfb, 0x9c, 0xd2, 0xfb, 0x0a, 0x0e, 0x13, 0x6d, 0xcb, 0x6f, 0x12, - 0x2a, 0xc2, 0x53, 0xe7, 0x33, 0x49, 0xcd, 0x32, 0xfe, 0x84, 0xfe, 0xc0, 0x42, 0xcd, 0x8e, 0xa2, - 0xaf, 0x8a, 0x28, 0x0a, 0xb1, 0xa9, 0x43, 0x01, 0x79, 0xa9, 0x41, 0x75, 0x10, 0xbf, 0x8a, 0xbe, - 0x52, 0x10, 0x07, 0x9f, 0xbb, 0xc3, 0xc0, 0xf8, 0x9c, 0xfe, 0xa8, 0x23, 0x97, 0xd1, 0x44, 0x77, - 0x32, 0x79, 0x36, 0x80, 0x3c, 0xd5, 0x65, 0x5b, 0x4d, 0xc5, 0x95, 0xba, 0xe4, 0xda, 0x2a, 0x21, - 0x1f, 0xb3, 0xd7, 0xd6, 0x7c, 0x42, 0x53, 0xdf, 0x54, 0x59, 0xe5, 0xa8, 0xcc, 0x1f, 0xc3, 0xea, - 0x00, 0x26, 0x11, 0xdd, 0xe5, 0xaf, 0x55, 0x85, 0x78, 0x47, 0xf1, 0x2e, 0x26, 0xa7, 0xa4, 0xee, - 0x68, 0xe8, 0x33, 0x58, 0x51, 0x33, 0x81, 0xc2, 0x26, 0x28, 0x44, 0x1b, 0x16, 0xb6, 0xee, 0xc3, - 0x62, 0x2e, 0x81, 0x87, 0xde, 0x1e, 0x64, 0x98, 0xfb, 0xc8, 0x2f, 0x6c, 0xf3, 0x97, 0x19, 0xf2, - 0x33, 0x87, 0x5a, 0x43, 0xf7, 0x15, 0x1a, 0xd5, 0x74, 0x9c, 0x90, 0xf5, 0x4a, 0xba, 0xe8, 0x8e, - 0x86, 0x7e, 0xae, 0xc1, 0x7a, 0x11, 0x5e, 0x0d, 0xdd, 0x1b, 0x02, 0x91, 0x6a, 0x1b, 0x0e, 0x02, - 0xf4, 0x52, 0x13, 0xd3, 0x32, 0x43, 0xa6, 0x29, 0xd3, 0x32, 0x8f, 0x7a, 0x1b, 0x12, 0x46, 0x36, - 0x54, 0x39, 0xa4, 0x98, 0x32, 0x54, 0x6a, 0x22, 0x4d, 0x09, 0x49, 0xe0, 0x79, 0xa4, 0xa1, 0x92, - 0x33, 0x62, 0xca, 0x50, 0x29, 0x49, 0xb4, 0x21, 0x01, 0x65, 0x43, 0x95, 0xa1, 0xc1, 0x94, 0xa1, - 0xca, 0x23, 0xcd, 0x86, 0x84, 0xf1, 0x85, 0x06, 0x6b, 0x05, 0x28, 0x21, 0xf4, 0x4e, 0xe6, 0x1b, - 0xb1, 0x18, 0x63, 0xa5, 0xdf, 0x1b, 0x7e, 0x62, 0x0c, 0x6e, 0xf7, 0x21, 0xe8, 0x9e, 0xdf, 0xaa, - 0x79, 0x2e, 0x51, 0x91, 0x90, 0x69, 0x54, 0xd7, 0x77, 0x6a, 0x2d, 0x27, 0x3c, 0xe9, 0x1d, 0xd5, - 0x9a, 0x5e, 0x67, 0x8b, 0x8a, 0x6c, 0x91, 0xff, 0x24, 0xbf, 0xa0, 0x6f, 0x79, 0x5b, 0xa9, 0x7f, - 0x9c, 0x70, 0x34, 0x41, 0x06, 0xee, 0xfe, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x78, 0xed, 0x3b, 0xf4, - 0xb2, 0x30, 0x00, 0x00, + // 2393 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdd, 0x6f, 0x1c, 0x49, + 0x11, 0x57, 0x7b, 0x1d, 0x7f, 0x94, 0xd7, 0x4e, 0xd2, 0xf6, 0x39, 0xeb, 0x71, 0x6c, 0x6f, 0xc6, + 0xf6, 0xc5, 0x97, 0xe4, 0xd6, 0x91, 0x03, 0xba, 0xe4, 0xf8, 0x10, 0x76, 0xce, 0xe7, 0xb3, 0x94, + 0x9c, 0xac, 0xdd, 0x5c, 0xd0, 0x01, 0x77, 0xd6, 0x78, 0xa7, 0xbd, 0x1e, 0x65, 0x77, 0x66, 0x99, + 0x99, 0x4d, 0x62, 0x38, 0xa1, 0x7b, 0x88, 0x10, 0x12, 0x12, 0x1f, 0xe2, 0x01, 0x11, 0x89, 0x17, + 0x78, 0x02, 0x1e, 0x78, 0xe2, 0x01, 0x21, 0x84, 0x84, 0xe0, 0x0f, 0xe0, 0x2f, 0x02, 0x4d, 0x77, + 0xcf, 0xee, 0x74, 0x4f, 0x4f, 0xef, 0xec, 0x3a, 0xc1, 0x79, 0xb9, 0xf3, 0x4c, 0x57, 0x57, 0xfd, + 0xaa, 0xab, 0xba, 0xba, 0xe7, 0x57, 0x1b, 0x28, 0x1d, 0x37, 0xbd, 0x67, 0x9b, 0x56, 0xbd, 0x4e, + 0x82, 0x80, 0xff, 0xaf, 0xd2, 0xf6, 0xbd, 0xd0, 0xc3, 0x53, 0xd1, 0x48, 0x85, 0xbd, 0x32, 0x16, + 0xa9, 0x18, 0x71, 0x43, 0x27, 0x74, 0x08, 0x15, 0xf4, 0x3a, 0x6e, 0xc8, 0x24, 0x8d, 0xb2, 0x38, + 0x78, 0xd4, 0xf4, 0xea, 0x4f, 0x0e, 0x4f, 0x88, 0x65, 0x13, 0x9f, 0x4b, 0x2c, 0x28, 0x24, 0xf8, + 0xd0, 0xb2, 0x38, 0x54, 0xf7, 0x9a, 0x4d, 0x52, 0x0f, 0x1d, 0xcf, 0x55, 0x4f, 0x25, 0x4f, 0x49, + 0xd7, 0xee, 0x9a, 0x34, 0xf4, 0x9c, 0xd4, 0x3b, 0xd1, 0xcc, 0x43, 0x9f, 0x04, 0x9d, 0x66, 0x2c, + 0x75, 0x55, 0x94, 0x6a, 0x91, 0xd0, 0xb2, 0xad, 0xd0, 0xe2, 0xa3, 0xeb, 0xe2, 0xa8, 0xeb, 0xd9, + 0xe4, 0xf0, 0x29, 0xf1, 0x83, 0x48, 0x8d, 0xe3, 0x1e, 0x7b, 0x5c, 0x6c, 0x45, 0x14, 0x0b, 0x7d, + 0xcb, 0x0d, 0xac, 0x24, 0xcc, 0x95, 0x86, 0xe7, 0x35, 0x9a, 0x64, 0x93, 0x3e, 0x1d, 0x75, 0x8e, + 0x37, 0x43, 0xa7, 0x45, 0x82, 0xd0, 0x6a, 0xb5, 0x99, 0x80, 0x39, 0x0d, 0x53, 0x07, 0x8e, 0xdb, + 0xa8, 0x92, 0xef, 0x77, 0x48, 0x10, 0x9a, 0x33, 0x50, 0x64, 0x8f, 0x41, 0xdb, 0x73, 0x03, 0x62, + 0x2e, 0xc2, 0xc2, 0x1e, 0x09, 0x3f, 0xf6, 0x6c, 0xf2, 0x98, 0x59, 0xdf, 0x77, 0x8f, 0xbd, 0x58, + 0xf8, 0x00, 0x0c, 0xd5, 0x20, 0x9b, 0x8a, 0xb7, 0x60, 0x34, 0x42, 0x5a, 0x42, 0x65, 0xb4, 0x31, + 0xb5, 0xb5, 0x5c, 0xa1, 0x71, 0x8b, 0xa1, 0x56, 0xe4, 0x59, 0x54, 0xd6, 0x7c, 0x1f, 0x16, 0xf7, + 0x48, 0xf8, 0xc0, 0x0a, 0x49, 0x10, 0xee, 0x44, 0xd1, 0xf8, 0x88, 0x86, 0x8b, 0x1b, 0xc4, 0x8b, + 0x30, 0xe9, 0x04, 0x87, 0x01, 0xb1, 0x9a, 0xc4, 0xa6, 0x7a, 0x27, 0xaa, 0x13, 0x4e, 0x50, 0xa3, + 0xcf, 0xe6, 0x4d, 0x0a, 0x35, 0x31, 0x6b, 0xe7, 0x74, 0xff, 0x83, 0x78, 0xe6, 0x0c, 0x8c, 0x38, + 0x6c, 0x4a, 0xb1, 0x3a, 0xe2, 0xd8, 0xe6, 0x7b, 0xb0, 0x24, 0x0b, 0x7f, 0x44, 0x9c, 0xc6, 0x49, + 0x18, 0x4f, 0x98, 0x87, 0xb1, 0x13, 0xfa, 0x82, 0x4e, 0x1a, 0xad, 0xf2, 0x27, 0xf3, 0x6f, 0x08, + 0x66, 0x05, 0x64, 0xdc, 0xdb, 0xdb, 0x70, 0x81, 0xa6, 0x0f, 0x77, 0xd7, 0x90, 0xdc, 0x4d, 0x4e, + 0x61, 0x82, 0xf8, 0x1b, 0x50, 0x64, 0x29, 0x19, 0x84, 0x56, 0xd8, 0x09, 0x4a, 0x23, 0x65, 0xb4, + 0x31, 0xa3, 0x9e, 0x58, 0xa3, 0x12, 0xd5, 0xa9, 0xa3, 0xde, 0x03, 0xbe, 0x03, 0x13, 0x71, 0xce, + 0x94, 0x0a, 0xd4, 0xe6, 0x15, 0x69, 0xea, 0x43, 0x3e, 0x5c, 0xed, 0x0a, 0x9a, 0x36, 0xbc, 0x25, + 0xae, 0x6f, 0x9e, 0x95, 0xc5, 0x15, 0x98, 0x3d, 0xee, 0x34, 0x9b, 0x87, 0x0c, 0xae, 0xcf, 0x5d, + 0xa6, 0x80, 0x27, 0xaa, 0x97, 0xa3, 0x21, 0xae, 0x8b, 0x27, 0xcd, 0x27, 0x30, 0x1b, 0x2f, 0xae, + 0x26, 0x06, 0x03, 0xab, 0xb5, 0xe0, 0x4a, 0x4f, 0x6d, 0xae, 0x68, 0x0d, 0x6c, 0xe2, 0xcf, 0x08, + 0xa6, 0x85, 0x37, 0xf8, 0x86, 0x18, 0xd7, 0x39, 0x55, 0x78, 0xce, 0x33, 0xa2, 0x37, 0xa0, 0xb4, + 0x47, 0xc2, 0xfb, 0xdd, 0xf2, 0xa4, 0x4b, 0xfa, 0x17, 0x08, 0x70, 0x4f, 0xb2, 0xeb, 0xe2, 0x3d, + 0x80, 0x5e, 0x79, 0xe3, 0x7e, 0x2e, 0x48, 0x96, 0x13, 0xd3, 0x12, 0xc2, 0x02, 0xe4, 0x91, 0xbc, + 0x90, 0x1f, 0xc3, 0x7c, 0x8d, 0xb8, 0xf6, 0xa3, 0x5e, 0xb1, 0x8a, 0x01, 0x7f, 0x1d, 0xa6, 0x12, + 0x25, 0x2c, 0x63, 0x2b, 0x25, 0xe7, 0x25, 0xc5, 0xcd, 0xcf, 0xe1, 0x4a, 0x4a, 0x2f, 0x77, 0x51, + 0x4e, 0xbd, 0xa1, 0x70, 0xff, 0x13, 0xd1, 0xdd, 0xa3, 0xc0, 0x2d, 0xab, 0x5f, 0x80, 0x09, 0x96, + 0x08, 0x8e, 0x4d, 0xd5, 0x17, 0xab, 0xe3, 0xf4, 0x79, 0xdf, 0xc6, 0xab, 0x30, 0xdd, 0x5b, 0xbf, + 0x68, 0xbc, 0x40, 0xc7, 0x8b, 0xbd, 0x97, 0xfb, 0x36, 0xfe, 0x14, 0xe6, 0xe9, 0x81, 0x72, 0x48, + 0xdc, 0xba, 0x67, 0x3b, 0x6e, 0x23, 0xae, 0xfd, 0xa5, 0x51, 0x9a, 0x52, 0xab, 0x12, 0xd8, 0xdd, + 0x48, 0x78, 0x97, 0xcb, 0xf2, 0xaa, 0x5a, 0x9d, 0x23, 0x8a, 0xb7, 0xe6, 0x5d, 0x5a, 0x61, 0x6b, + 0xa7, 0x41, 0x48, 0x5a, 0x0a, 0x4f, 0x92, 0xc8, 0x91, 0x80, 0xdc, 0xfc, 0x0d, 0x82, 0x6b, 0xea, + 0xa9, 0xd1, 0xa9, 0xd6, 0x5f, 0x81, 0xc6, 0xab, 0x91, 0xb3, 0x7a, 0xf5, 0x47, 0x04, 0x57, 0xc5, + 0xd0, 0xec, 0x9c, 0xee, 0xbb, 0x36, 0x79, 0x9e, 0x03, 0xd6, 0x1c, 0x5c, 0x70, 0x22, 0x51, 0x8a, + 0x62, 0xba, 0xca, 0x1e, 0x34, 0x60, 0x0b, 0x67, 0x05, 0xfb, 0x6b, 0x04, 0x2b, 0x22, 0xd8, 0x60, + 0xe7, 0x94, 0x56, 0x85, 0xde, 0xd6, 0x3d, 0xb7, 0x65, 0x34, 0x52, 0x91, 0x0d, 0xba, 0xbb, 0xe8, + 0xdb, 0x30, 0x9b, 0xd8, 0x6f, 0xfc, 0x3a, 0x13, 0x94, 0x50, 0xb9, 0xb0, 0x31, 0xb5, 0xf5, 0x76, + 0x25, 0x71, 0x31, 0xab, 0x28, 0xf2, 0x83, 0x29, 0xa9, 0xe2, 0x30, 0x65, 0x60, 0xb8, 0xed, 0xf8, + 0x53, 0x04, 0x73, 0xc9, 0x35, 0xec, 0xc2, 0xfc, 0x26, 0x14, 0x13, 0x36, 0x62, 0x7c, 0xba, 0x32, + 0x22, 0xc8, 0x0f, 0x87, 0xe6, 0x27, 0x08, 0x66, 0x55, 0x95, 0xe7, 0x4c, 0x25, 0x6d, 0x38, 0x28, + 0x7f, 0x29, 0xc0, 0x42, 0xe6, 0xfa, 0xe3, 0xbb, 0x30, 0xc6, 0x8f, 0x27, 0x44, 0xd3, 0xa5, 0x9c, + 0x8d, 0x85, 0x1f, 0x52, 0x5c, 0x1e, 0xaf, 0xc0, 0x14, 0xfb, 0xeb, 0xb0, 0xee, 0xd9, 0x84, 0x6f, + 0x17, 0x60, 0xaf, 0xee, 0x7b, 0x36, 0x89, 0x6a, 0x1b, 0xf1, 0x7d, 0xcf, 0x3f, 0x6c, 0x91, 0x20, + 0xb0, 0x1a, 0x84, 0x6e, 0x95, 0xc9, 0x6a, 0x91, 0xbe, 0x7c, 0xc8, 0xde, 0xe1, 0x5b, 0x30, 0x46, + 0x73, 0x2f, 0x28, 0x8d, 0xd2, 0xb8, 0xcc, 0xa9, 0xd2, 0xb5, 0xca, 0x65, 0x84, 0x7d, 0x70, 0x41, + 0xdc, 0x07, 0xeb, 0x30, 0x93, 0xcc, 0x46, 0xc7, 0x2e, 0x8d, 0x51, 0x81, 0xe9, 0xc4, 0x5b, 0x55, + 0xc1, 0x1d, 0x57, 0x14, 0xdc, 0x6b, 0xf1, 0xc9, 0xcd, 0x6f, 0x11, 0x13, 0xf4, 0x16, 0xc1, 0x4e, + 0x67, 0x76, 0xd3, 0x10, 0x42, 0x31, 0x99, 0x33, 0x14, 0xf8, 0x26, 0x5c, 0xae, 0x7b, 0xad, 0x76, + 0x27, 0xb4, 0xa8, 0xf5, 0x0e, 0x5d, 0x15, 0xa0, 0xca, 0x2f, 0x25, 0x06, 0x3e, 0x89, 0xde, 0x9b, + 0xef, 0xc2, 0xe5, 0x3d, 0x12, 0x6e, 0xb3, 0x6f, 0x98, 0xb8, 0x10, 0x94, 0x60, 0xdc, 0xb2, 0x6d, + 0x9f, 0x04, 0x41, 0x5c, 0x07, 0xf8, 0xa3, 0xf9, 0x43, 0xc0, 0x49, 0xf1, 0xee, 0x3d, 0x74, 0x9c, + 0x7f, 0x05, 0xf1, 0x5c, 0x9b, 0x97, 0x50, 0xc6, 0x13, 0x62, 0xb1, 0xe1, 0x72, 0xec, 0x7d, 0x58, + 0xee, 0x19, 0xdf, 0x56, 0xdd, 0x28, 0xb3, 0x81, 0x3f, 0x87, 0x8b, 0xe7, 0x84, 0xfa, 0x33, 0x11, + 0xf5, 0x4e, 0x2f, 0xbc, 0x7d, 0x51, 0xa7, 0x52, 0x64, 0x24, 0x95, 0x22, 0xe6, 0xa7, 0x70, 0x6d, + 0x97, 0x7e, 0xec, 0x91, 0x5a, 0xdd, 0x77, 0xda, 0xea, 0x75, 0x99, 0x87, 0xb1, 0x80, 0x8e, 0x72, + 0x03, 0xfc, 0x09, 0x5f, 0x85, 0x49, 0xcb, 0x6f, 0x74, 0x5a, 0x74, 0x6b, 0x8c, 0x94, 0x0b, 0x1b, + 0xc5, 0x6a, 0xef, 0x85, 0xd9, 0x86, 0x25, 0x49, 0x75, 0xfe, 0x03, 0xa3, 0x67, 0x71, 0x24, 0xdb, + 0x62, 0x41, 0xb6, 0xf8, 0x45, 0xca, 0x19, 0xc5, 0x72, 0xc9, 0x8b, 0x82, 0xd2, 0xfb, 0x66, 0x38, + 0xeb, 0x3f, 0x47, 0xf0, 0x96, 0x60, 0xbe, 0x9b, 0x2a, 0x73, 0x70, 0xe1, 0xa9, 0xd5, 0xec, 0x10, + 0xee, 0x25, 0x7b, 0x18, 0x2a, 0x1d, 0xd4, 0xbb, 0xb3, 0x90, 0xb1, 0x3b, 0xff, 0x83, 0x68, 0xf2, + 0xd0, 0xf2, 0x14, 0x7c, 0xe8, 0xf9, 0x7c, 0x21, 0x2c, 0xb7, 0x41, 0xe2, 0xd5, 0xc0, 0x30, 0x1a, + 0x9e, 0xb6, 0x19, 0xb2, 0xc9, 0x2a, 0xfd, 0x3b, 0x5a, 0xa1, 0x20, 0xb4, 0xfc, 0x50, 0x4a, 0x1b, + 0xfa, 0x8e, 0xaf, 0xd0, 0x12, 0x00, 0x71, 0xed, 0x58, 0x80, 0xd9, 0x9f, 0x24, 0xae, 0xcd, 0x87, + 0x5f, 0xe3, 0x65, 0xf0, 0x0f, 0x88, 0xde, 0x06, 0xbb, 0x3e, 0xf1, 0x9c, 0x0a, 0x74, 0x0e, 0x2d, + 0xc2, 0x64, 0x9c, 0x68, 0x71, 0x9e, 0x4e, 0xf0, 0x4c, 0x0b, 0x5e, 0xe7, 0xad, 0xe9, 0x1f, 0x23, + 0x30, 0xc3, 0x80, 0x26, 0xce, 0xd6, 0x71, 0xf1, 0x0e, 0x62, 0x0a, 0x77, 0x10, 0x51, 0xba, 0xc2, + 0xcf, 0xc1, 0x78, 0xca, 0x50, 0x29, 0x63, 0xfc, 0x15, 0xc1, 0x18, 0x53, 0xa4, 0xdb, 0x71, 0xfd, + 0x6b, 0x45, 0xe2, 0x18, 0x2c, 0xe4, 0x38, 0x06, 0xef, 0xc3, 0x45, 0xa6, 0xb0, 0x4b, 0xdf, 0xd0, + 0xe0, 0x47, 0x37, 0x09, 0x46, 0xf0, 0x54, 0x62, 0x82, 0xa7, 0xf2, 0x28, 0x96, 0xa8, 0xce, 0xd0, + 0x29, 0xdd, 0x67, 0x73, 0x89, 0x06, 0xfb, 0x63, 0x12, 0x3e, 0xf3, 0xfc, 0x27, 0x07, 0x96, 0x6f, + 0xb5, 0x48, 0x48, 0xfc, 0x38, 0xd8, 0xe6, 0x3d, 0x7a, 0x85, 0x56, 0x0c, 0xf3, 0xd5, 0x5e, 0x80, + 0x89, 0xfa, 0x89, 0xe5, 0xb8, 0xb1, 0xbf, 0x93, 0xd5, 0x71, 0xfa, 0xbc, 0x6f, 0x9b, 0xd7, 0x61, + 0xbd, 0x4b, 0x2b, 0x1c, 0x44, 0x40, 0xea, 0x5e, 0x33, 0xba, 0x3c, 0x90, 0x9a, 0x6b, 0xb5, 0x83, + 0x13, 0x2f, 0xae, 0x17, 0xe6, 0x2e, 0x6c, 0xec, 0x11, 0xb5, 0xc8, 0x00, 0x57, 0x60, 0xf3, 0x01, + 0x5c, 0xcf, 0x56, 0x33, 0x68, 0x85, 0x8a, 0x3e, 0x8b, 0x97, 0x32, 0x50, 0x73, 0xd7, 0x2b, 0x80, + 0x03, 0xe2, 0x3b, 0x56, 0xd3, 0xf9, 0x01, 0xb1, 0xe3, 0x51, 0x0e, 0x4a, 0x31, 0x32, 0xdc, 0xe1, + 0xf4, 0x2d, 0x58, 0x8d, 0xf6, 0x62, 0xcc, 0x16, 0xb2, 0x2c, 0xeb, 0x6d, 0xca, 0x1c, 0xcb, 0xf2, + 0x7b, 0x14, 0xd7, 0x6c, 0xe5, 0x7c, 0xee, 0xcc, 0x3e, 0x5c, 0x92, 0x29, 0xc9, 0x0c, 0x8e, 0x4e, + 0xd2, 0x55, 0xbd, 0x48, 0xc4, 0x17, 0xc3, 0xf9, 0xb9, 0x49, 0xa9, 0x37, 0x49, 0xb7, 0x8e, 0xb6, + 0xf8, 0x2d, 0x82, 0x45, 0xa5, 0xf8, 0x1b, 0xe2, 0xd0, 0xdf, 0x11, 0xbc, 0x5d, 0xeb, 0x1c, 0x45, + 0xe7, 0xda, 0x11, 0xa1, 0xab, 0x1d, 0x7c, 0xe8, 0x7b, 0xad, 0x5a, 0x54, 0xe2, 0xa5, 0xe0, 0xad, + 0xc1, 0x0c, 0x3b, 0x0d, 0xa4, 0x10, 0xb2, 0x33, 0x62, 0x87, 0x97, 0x8f, 0x33, 0xf2, 0x48, 0x19, + 0xa4, 0x57, 0x21, 0x8b, 0xf4, 0xfa, 0x17, 0x82, 0xf5, 0x2c, 0xfc, 0xe2, 0x66, 0xba, 0x05, 0x38, + 0x09, 0x5f, 0xd8, 0x52, 0x97, 0x7a, 0x2e, 0xf0, 0x12, 0xf7, 0x7f, 0x76, 0xe3, 0x97, 0x08, 0xca, + 0x0a, 0x37, 0x58, 0x55, 0x8a, 0x3d, 0x90, 0x31, 0xa1, 0x57, 0x82, 0x29, 0x93, 0x4f, 0xdc, 0x85, + 0x2b, 0x12, 0xa4, 0x61, 0x88, 0x45, 0xf3, 0x57, 0x08, 0x6e, 0x89, 0x7a, 0x18, 0x95, 0x7c, 0xae, + 0x79, 0x66, 0xbe, 0x44, 0x70, 0x53, 0x8f, 0xea, 0xfc, 0xb2, 0xc7, 0x6c, 0xc8, 0x7b, 0x32, 0x81, + 0xed, 0x55, 0xa6, 0x84, 0x59, 0x83, 0x25, 0xa5, 0xa1, 0x44, 0x1f, 0x64, 0x8c, 0x35, 0x9d, 0x72, + 0xb4, 0x06, 0xb8, 0xa4, 0x22, 0xe0, 0x1f, 0x38, 0x0d, 0x12, 0x84, 0x6f, 0x5a, 0xc0, 0x65, 0x54, + 0x6f, 0x52, 0xc0, 0x13, 0xd8, 0x5e, 0x69, 0xc0, 0x7f, 0x87, 0xe4, 0x88, 0x73, 0x4b, 0xc9, 0x9b, + 0xd2, 0x19, 0x6e, 0x86, 0x8a, 0xbb, 0x5e, 0x61, 0xe0, 0xbb, 0xde, 0xbf, 0x11, 0xdc, 0xa8, 0x11, + 0xd7, 0xde, 0x76, 0xed, 0x2e, 0xd6, 0x14, 0xb3, 0x43, 0x82, 0x57, 0x42, 0xbc, 0xbf, 0x4e, 0x46, + 0xf2, 0x4f, 0x51, 0xca, 0xe5, 0xf1, 0xa3, 0x1f, 0x45, 0x89, 0xce, 0x48, 0x51, 0xae, 0xc2, 0x34, + 0x67, 0xb5, 0x0e, 0x7b, 0x6c, 0xf1, 0x68, 0xb5, 0xc8, 0x5f, 0x52, 0xb2, 0x79, 0xeb, 0xbf, 0xab, + 0x30, 0xb9, 0x4d, 0xb5, 0x6f, 0x1f, 0xec, 0xe3, 0xaf, 0xc1, 0xe8, 0x81, 0xe3, 0x36, 0x70, 0x49, + 0x30, 0x9b, 0xe8, 0xb6, 0x1a, 0x0b, 0x8a, 0x11, 0xee, 0x08, 0xa1, 0xec, 0x8e, 0xd4, 0x25, 0xc5, + 0xa2, 0x07, 0x99, 0x9d, 0x59, 0xe3, 0x7a, 0x5f, 0x39, 0x6e, 0xe6, 0x08, 0xe6, 0x54, 0x0d, 0x57, + 0xbc, 0x21, 0x2b, 0xc8, 0xea, 0xc9, 0x1a, 0x65, 0x41, 0x52, 0xd5, 0x1a, 0xfd, 0x9c, 0xba, 0x22, + 0x35, 0x66, 0xd3, 0xae, 0xa8, 0x3b, 0xb7, 0x39, 0xf4, 0x1f, 0xc3, 0xbc, 0xba, 0x97, 0x8b, 0x6f, + 0x68, 0x6d, 0x08, 0xc5, 0x2a, 0x87, 0x9d, 0x03, 0x98, 0x11, 0x17, 0x02, 0x9b, 0x9a, 0x55, 0x8a, + 0xf5, 0x1a, 0x69, 0xbd, 0x5d, 0x8d, 0x0f, 0xa0, 0x98, 0x6c, 0x94, 0xe2, 0xb2, 0x12, 0x6f, 0x72, + 0x35, 0x74, 0xda, 0x1e, 0xc1, 0x25, 0xb9, 0x3f, 0x8a, 0xd7, 0x32, 0x34, 0x8a, 0xbe, 0xeb, 0xb4, + 0x7e, 0x97, 0xb2, 0x92, 0x62, 0x83, 0x11, 0xaf, 0xcb, 0x6a, 0x95, 0x0d, 0x48, 0x63, 0x45, 0x10, + 0x53, 0xb4, 0x1e, 0xbf, 0x07, 0x17, 0xa5, 0x96, 0x1d, 0x5e, 0x15, 0xe6, 0xa8, 0x1b, 0x85, 0xc6, + 0x9a, 0x5e, 0x88, 0x6b, 0x7f, 0x4c, 0x03, 0x96, 0x54, 0x9e, 0x0a, 0x98, 0x42, 0x77, 0x59, 0x53, + 0x25, 0x92, 0x9b, 0x26, 0x55, 0x3f, 0x72, 0x69, 0xcf, 0x59, 0x83, 0x70, 0x9b, 0x7e, 0xac, 0xa7, + 0xc6, 0x79, 0x5b, 0x0b, 0xbf, 0xa3, 0x31, 0x25, 0xb6, 0xbe, 0x72, 0x5b, 0x7c, 0x46, 0xf9, 0xad, + 0x74, 0xfb, 0xa7, 0xfb, 0x61, 0x8e, 0x6f, 0x69, 0x8c, 0xa6, 0x5a, 0x58, 0x52, 0x0d, 0xd2, 0xb4, + 0x95, 0x9e, 0xd0, 0x16, 0xb6, 0x52, 0xd7, 0x80, 0x26, 0xaf, 0x65, 0x99, 0x0c, 0xa4, 0xd8, 0xa5, + 0x9a, 0x98, 0xe9, 0x82, 0x97, 0xd5, 0x22, 0xcd, 0x91, 0x1f, 0x21, 0xfd, 0x5d, 0x4c, 0x46, 0xa3, + 0x14, 0x57, 0x72, 0x58, 0x4a, 0x74, 0x54, 0x73, 0xc7, 0xef, 0x21, 0x40, 0x8f, 0xdc, 0xc6, 0xcb, + 0xb2, 0x15, 0xb1, 0xaf, 0x20, 0x6d, 0x4d, 0x45, 0x23, 0xc1, 0xa6, 0xbf, 0xb6, 0x50, 0x31, 0xfc, + 0xf8, 0x66, 0xc6, 0x5c, 0x15, 0xdf, 0x6d, 0x5c, 0x15, 0x84, 0xfb, 0x58, 0x49, 0xde, 0x07, 0xb3, + 0xad, 0xa4, 0x89, 0xe8, 0x3e, 0x56, 0xda, 0x60, 0x64, 0x13, 0xf3, 0x52, 0x40, 0xfa, 0x32, 0xf8, + 0x86, 0x99, 0x2d, 0xdf, 0xb5, 0x78, 0x02, 0xf3, 0x6a, 0xbe, 0x5e, 0x3a, 0x93, 0xb4, 0xa4, 0x7e, + 0x2e, 0x4b, 0x69, 0xdf, 0x92, 0x8b, 0x58, 0xe9, 0x6b, 0x4d, 0x5c, 0xc7, 0x3c, 0x16, 0xeb, 0x34, + 0x66, 0x2a, 0x22, 0x3c, 0x1d, 0x33, 0x0d, 0x5d, 0x6e, 0x2c, 0x6a, 0xd8, 0x5a, 0xfc, 0x19, 0xdd, + 0xa7, 0x29, 0x66, 0x3a, 0xbd, 0x4f, 0xb3, 0xc8, 0x6b, 0xbd, 0xfa, 0x27, 0x54, 0x7d, 0x8a, 0xec, + 0x4c, 0xab, 0xcf, 0xa2, 0x4b, 0x8d, 0x77, 0x72, 0x48, 0x72, 0x63, 0x5f, 0xb2, 0xd6, 0x81, 0x86, + 0x1f, 0xc5, 0x5b, 0xea, 0x9b, 0x84, 0x8e, 0x4c, 0x35, 0xc4, 0x4c, 0xd2, 0x33, 0x98, 0x3f, 0x66, + 0x3f, 0xde, 0xd0, 0x33, 0xaf, 0xf8, 0xab, 0x32, 0x8a, 0x5c, 0x4c, 0xed, 0x40, 0x40, 0x5e, 0x20, + 0x28, 0xf7, 0xe3, 0x6e, 0xf1, 0x57, 0x72, 0xe2, 0x10, 0x73, 0x77, 0x10, 0x18, 0x5f, 0xb2, 0x1f, + 0x8c, 0x64, 0xb2, 0xa5, 0xf8, 0x76, 0x2a, 0xcf, 0xfa, 0x10, 0xb3, 0x86, 0x6a, 0xab, 0xe9, 0x78, + 0x58, 0x97, 0x5e, 0x5b, 0x15, 0xc4, 0x66, 0xfa, 0xda, 0x9a, 0x4d, 0x96, 0x1a, 0x1b, 0x3a, 0xab, + 0x02, 0x4d, 0xfa, 0x23, 0x58, 0xe9, 0xc3, 0x52, 0xe2, 0x3b, 0xe2, 0xb5, 0x2a, 0x17, 0xa7, 0x29, + 0xdf, 0xc5, 0xd4, 0x74, 0xd7, 0x6d, 0x84, 0xbf, 0x80, 0x65, 0x3d, 0xcb, 0x28, 0x6d, 0x82, 0x5c, + 0x94, 0x64, 0x6e, 0xeb, 0x3e, 0x2c, 0x64, 0x92, 0x83, 0xf8, 0xdd, 0x7e, 0x86, 0x05, 0x02, 0x21, + 0xb7, 0xcd, 0x5f, 0xa4, 0x88, 0xd5, 0x0c, 0xda, 0x0e, 0xdf, 0xd3, 0x68, 0xd4, 0x53, 0x7d, 0x52, + 0xd6, 0x6b, 0xa9, 0xa8, 0xdb, 0x08, 0xff, 0x0c, 0xc1, 0x5a, 0x1e, 0xce, 0x0e, 0xdf, 0x1d, 0x00, + 0x91, 0x6e, 0x1b, 0xf6, 0x03, 0xf4, 0x02, 0xc9, 0x69, 0x99, 0x22, 0xea, 0xb4, 0x69, 0x99, 0x45, + 0xeb, 0x0d, 0x08, 0x23, 0x1d, 0xaa, 0x0c, 0xc2, 0x4d, 0x1b, 0x2a, 0x3d, 0x49, 0xa7, 0x85, 0x24, + 0x71, 0x48, 0xca, 0x50, 0xa9, 0xd9, 0x36, 0x6d, 0xa8, 0xb4, 0x04, 0xdd, 0x80, 0x80, 0xd2, 0xa1, + 0x4a, 0x51, 0x6c, 0xda, 0x50, 0x65, 0x11, 0x72, 0x03, 0xc2, 0x78, 0x89, 0x60, 0x35, 0x07, 0x25, + 0x84, 0xdf, 0x4b, 0x7d, 0x23, 0xe6, 0x23, 0xc3, 0x8c, 0xbb, 0x83, 0x4f, 0x8c, 0xc1, 0xed, 0x3c, + 0x00, 0xc3, 0xf3, 0x1b, 0x15, 0xcf, 0xa5, 0x2a, 0xba, 0x44, 0x1d, 0xd3, 0xf5, 0x9d, 0x4a, 0xc3, + 0x09, 0x4f, 0x3a, 0x47, 0x95, 0xba, 0xd7, 0xda, 0x64, 0x22, 0x9b, 0xf4, 0x3f, 0xdd, 0x5f, 0xe7, + 0x37, 0xbc, 0xcd, 0xc4, 0x3f, 0x7c, 0x38, 0x1a, 0xa3, 0x03, 0x77, 0xfe, 0x17, 0x00, 0x00, 0xff, + 0xff, 0x25, 0x13, 0xe5, 0x10, 0x0e, 0x31, 0x00, 0x00, } From 57c09fd55f3f6db80a8d30dbdca41ce9a827bd4f Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 10 Apr 2024 13:43:43 -0700 Subject: [PATCH 210/626] Create 2024-04-12-Flow-Sprint-Kickoff.md --- .../2024-04-12-Flow-Sprint-Kickoff.md | 329 ++++++++++++++++++ 1 file changed, 329 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..f63b9a842 --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -0,0 +1,329 @@ +# Overview + + +### Team Wins 🎉 + + +### General updates + + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) +- Starting Next Week: + +--- + +### Mainnet Uptime - Last 7 days (3/xx/24 to 3/xx/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.992% | 8.27% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +[YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents + + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): + - Testnet: 5/22/24 + - Mainnet: 6/26/24 +- First Testnet Migration test run: + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 7 | 8 | 0 | 5 | **20** | +| Proposed | 3 | 2 | 2 | 1 | **8** | +| Accepted | 2 | 1 | 1 | 2 | **6** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 1 | 19 | 2 | 0 | **22** | +| Released | 4 | 0 | 3 | 4 | **11** | +| Total | **17** | **30** | **9** | **12** | **68** | + +- No new FLIPs during the sprint +- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. +(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) + +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + + + +**This sprint** + +Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +* [Emulator release is ready](https://github.com/onflow/flow-cli/releases/tag/v1.15.0-cadence-v1.0.0-preview.14), support devs that are teting migration, monitor Discord questions. +* Testnet migration completed, moving on to adding [Atree register inlining](https://github.com/onflow/cadence/pull/3048) migration and validating migrated state on the TN migration environment. + +Objective 1, KR4: Testnet Upgrade to Crescendo Release +* Continue with [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) for production readiness. + +Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind +* Continue refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +* Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +* Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + +**On Hold** + +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) + + +**Active Epics** + +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR4: Testnet Upgrade to Crescendo Release +- KR6: Develop & share with community a disaster recovery plan to address potential issues after migration to Crescendo Release. +- KR7: Decision on how to deal with contracts that have not been upgraded to Cadence 1.0 by developers. +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Translate crypto performance improvements to consensus block rate increase +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution + +**Done last Sprint:** + +* Zero-downtime Upgrades of Node Software: + - Smart contract to coordinate protocol upgrade ([PR #411](https://github.com/onflow/flow-core-contracts/pull/411) in progress) + + +* EFM Recovery + * Tooling to generate data for EFM recovery ([PR #5576](https://github.com/onflow/flow-go/pull/5576) in progress) + + +* Cryptography + - Randomness-on chain contract: aligning on solution + implemented proposal + implemented tests ([PR #416](https://github.com/onflow/flow-core-contracts/pull/416) in progress) + - New cryptography stack: + - fix CPU-compatability issue: `Artblocks` are unblocked, root cause and long-term solutions are still ongoing (requires `Figment`'s help) + + +* Consensus speedup: + + +* Data Availability: + - KROK Team + +**This sprint** + +* Zero-downtime Upgrades of Node Software: + - Cleanup and fix tests (large!) + - Finish smart contract to coordinate protocol upgrade ([PR #411](https://github.com/onflow/flow-core-contracts/pull/411)) + - Continue on integration tests ([draft PR #5477](https://github.com/onflow/flow-go/pull/5477)) + + +* EFM Recovery + - Generate data for EFM recovery (complete [PR #5576](https://github.com/onflow/flow-go/pull/5576) and potential follow-up) + - Start on [Governance Transaction to initiate EFM recovery](https://github.com/dapperlabs/flow-go/issues/6956) + + +* Cryptography + - Randomness-on chain contract: finish the implementation and update the contracts onchain + - new cryptography stack: + - continue on CPU-compatability issue + - extra build docs in all repos + + +* Data Availability: + - Rollout local tx results to QuickNode ANs + - Work with QN to get profile collection deployed - support debugging script exec + - Enable programs cache on AN (Continue [PR #5585](https://github.com/onflow/flow-go/pull/5585) and testing) + - KROK Team + - Complete streaming account statuses endpoint ([PR #5406](https://github.com/onflow/flow-go/pull/5406)) + - Add tx results to streaming SendAndSubscribe response ([PR #5566](https://github.com/onflow/flow-go/issues/5566)) + - Unify Events API with new interfaces ([Issue #5557](https://github.com/onflow/flow-go/issues/5557)) + - Add integration tests for streaming blocks and observer APIs ([PR #5572](https://github.com/onflow/flow-go/issues/5572), [PR #5573](https://github.com/onflow/flow-go/issues/5573)) + + +**On Hold** +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. +* Implement BFT mitigations to enable 20 permissionless ANs + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- DEX Prep - IncrementFi +- Bridge Prep - Axelar + +**Done last sprint** + +* Completed milestone #6 of JVM SDK update to analyze scope of work for subsequent update phase + +**This sprint** + +* Start milestones #5 & #6 of JVM SDK update to update example repo, then analyze scope of work for subsequent grant + +**On Hold** +- Axelar release waiting confirmation of new timeline, no engineering ongoing + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + + +**This sprint** +**Sprint goal focusing on updating EVM docs, tooling support, CLI Interactive Setup** + +- [[EPIC] EVM Docs #654](https://github.com/onflow/docs/issues/654) +- [EPIC] FlowEVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) +- [EPIC] Enhance CLI init Command with Interactive Setup, Config Automation, and Default Project Structure [#1390](https://github.com/onflow/flow-cli/issues/1390) +- [EPIC] Update Internal Tools and Repos for C1.0 Support [#530](https://github.com/onflow/docs/issues/530) +- Add WAGMI / viem guides (EVM) +- Write new doc on Sponsored Transactions under Advanced Topics [#692](https://github.com/onflow/docs/issues/692) +- Create video to demonstrate local upgrade, staging, and state migration +- Create new staking banner explaining epoch transition window [#168](https://github.com/onflow/flow-port/issues/168) + +**On Hold** + +- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) +- [Update Playground to support Cadence 1.0](https://github.com/onflow/flow-playground/issues/760) + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + + +**This sprint** + +- Complete Web3.js integration, authorization +- VM Bridge integration, moving FT and NFT in app. +- CTD: Outreach with Coinbase Wallet, MetaMask, Shadow Wallet and Blocto +- CTD: Working with Apple on app approval & release + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Finish GCP project migration to the Flow Foundation org +- Start planning CloudFlare migration +- Finish DevEx migration to Cloud Run + +**Done last sprint** + + +--- + +### **Governance and Tokenomics** \[Kshitij] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** + +**This sprint** + +- Publish forum post and gather community feedback +- Partner outreach regarding the upcoming transaction fee increase +- Draft and share FLIP on computation limit, G2C ratio and transaction fee increase for review +- Build consensus within Flow core team on which inflation strategy to employ +- Draft and share forum post on Inflation (stretch) +- Start node rebalancing to maintain decentralization (work with a16z, evaluate new operators) +- Keep the community updated (monthly GWG) + +**On Hold** + +- N/A + + +**Active Epics** + +- N/A From 69303113d9a7aa0e11f4b2f1251f80088fbb42e4 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Wed, 10 Apr 2024 16:07:21 -0700 Subject: [PATCH 211/626] Update NodeOperatorList.md --- nodeoperators/NodeOperatorList.md | 241 ++++++++++++++---------------- 1 file changed, 114 insertions(+), 127 deletions(-) diff --git a/nodeoperators/NodeOperatorList.md b/nodeoperators/NodeOperatorList.md index cf0d12943..e2104d2da 100644 --- a/nodeoperators/NodeOperatorList.md +++ b/nodeoperators/NodeOperatorList.md @@ -13,130 +13,117 @@ - At the time you want to unstake your delegation, you will execute an unstake-transaction. **This request will now sit in a pending status for 2 epochs before it is fully unstaked**. Once it is unstaked successfully at the end of 2 epochs, it will be available for you to withdraw to your wallet. ## Node Operator list -| Node Operator | Node Type | Node ID | -|:--------------------------|:-------------------|:---------| -| Accomplice | Verification | 79949f163dac6b72ab72c1d12b9677d71dd9367f7331d59425b485050c8712d9 -| Alxo | Verification | f7422f2d3296ede4d1efb36ec55e3fd93702c061f7ee627881f0b3007beff2ed -| Artemis | Verification | a67ca1afd47c58358c656dffa2e5585d80b01371866e5634b68dcbab090b9b6f -| Binance Staking | Verification | 7c589e6cc38508b27545d052073ab3aa84a35425bd2881205d778cca95f10a7b -| Bitcoin Louie | Verification | fffba108a52e4ca8f5d30658c3f03f47ad1cc13a0995435c0532336236813218 -| Blockchain at Berkeley | Verification | 8f8d77ba98d1606b19fce8f6d35908bfc29ea171c02879162f6755c05e0ca1ee -| Blockchain Coalition/Block Venture | Verification | 16036263d71f64d65f84542e9f7678e578482a107b61e45b88759ebea2c7451d -| Blockdaemon | Consensus | cd7eed9952dbf8822062db7a351d959ef1166cd6d1856c0ad26c1c67d68e4fdb -| Blockdaemon | Verification | 49c9f946170d5fb40c2af953b1534fae771905865b142ab6ac9685b8ba5b51c1 -| Blockdaemon | Verification | 5f079d31810e4ea4ac86e70e23a04e797a37973df434d1ad854cd83d8828bcbd -| Blockparty | Verification | 17b6c278b933bad8ec7420ff72f14689df70b18fc287549b65709448787b0aea -| Calaxy | Verification | 8790cc2cabdb172e5a96c24c150865031e1818f6f84fbd68894efd0d0d12dc96 -| Blocto | Consensus | 2cfab7e9163475282f67186b06ce6eea7fa0687d25dd9c7a84532f2016bc2e5e -| Blocto | Verification | 21b21ad1ddb5e3002cc6a3faa55e23d70db014ee229c213f7a43769789125536 -| Chainflow | Verification | 3b57e0ee2ece1f1dbefbd868d3eaac63b32a11df5b1a37d231145ea219055dde -| Chainlayer | Consensus | 62de4fa4b6a05b8beb5868a5259caca4efa966aa0cb867fdd776c73abe9370ad -| Chainlayer | Collection | 050dfd9898470c042e9190b8a9136122dee26dad438cf5b49307f55fe4dbcc98 -| Chainlayer | Verification | d4ffda5cbdea87f6464d37c7ab079d3f8589454d2de2b6bce1cc6c6f20829dc2 -| Coinbase Cloud | Collection | 48ba5aabeaf1a7c1bc6a96b20c8e9f6cbe7f6b3c77faec3b77fa66a630abf8c7 -| Coinbase Cloud | Consensus | 022699aba098bce3eb3a8709f29feafa9793f65de7d24d37a46310d788cbcc74 -| Coinbase Cloud | Consensus | 07e3017f5327ed10b7cfa0e3b3f7dc97df8f1ce2cc9d9be25e7aef00e932a691 -| Coinbase Cloud | Consensus | 10ea3b6872e187b3835bf57f6a9597738aa6b396c03c1549f4cdac789ae27e8e -| Coinbase Cloud | Consensus | 166d1b52831da570fb37f0d85ded5d164937bc7ae976a6037bc33a77c3113735 -| Coinbase Cloud | Consensus | 1a697950a4843dc67bbd34cbb0016854e64e66f088b54447beeea6999ff7641d -| Coinbase Cloud | Consensus | 2040bd128455e833c0968bf51c0a2eb4d05399e1ab5ac323d38170b975688bea -| Coinbase Cloud | Consensus | 245efcb37ebdb2966bafc0112dd86bc1f5e1d3ffa70b66887eaeb3a667b3f477 -| Coinbase Cloud | Consensus | 3890fd0a26c0272807b731d0dda0eb15bfa5183533032303e062e9206e9f4e69 -| Coinbase Cloud | Consensus | 490e27d1d5335f20473871f06324f4cff862d4fc22c4af7ab87574292764c518 -| Coinbase Cloud | Consensus | 492bab4b9cb02c97bd2b03859640002e8d81eb2bc33e723ae8fabcc64f30d653 -| Coinbase Cloud | Consensus | 54abbaea844dfc3c6cc0f58f0170783d6d01bef578761113558c4321a3e1a0df -| Coinbase Cloud | Consensus | 7133b78ac9e788c428a354f2f96b5cc8109123425a88cc75d729bf5adfd0a25d -| Coinbase Cloud | Consensus | 76a117e9635097b8a7ef6ac867f1525a76854b7e42b38075e3b422bd73e5dd2f -| Coinbase Cloud | Consensus | 7db974a1aa956a2693ae0bafc357e8b220d30c8a0c64213badfc603e8b911d9a -| Coinbase Cloud | Consensus | 8d16bacfd9854ccdc0496ec2b99fc9dab94e5810686bd4df2bd956a8a8f81fa0 -| Coinbase Cloud | Consensus | 8f4d09dae7918afbf62c48fa968a9e8b0891cee8442065fa47cc05f4bc9a8a91 -| Coinbase Cloud | Consensus | 95ffacf0c05757cff71a4ee49e025d5a6d1103a3aa7d91253079e1bfb7c22458 -| Coinbase Cloud | Consensus | a01657135399d9817a1b9933c7663077ef9e376fbe72bf56d687b23d75c2f76c -| Coinbase Cloud | Consensus | a1bd45dbbf9077ce0ada513e2055ab4276ff81891936b0b8374617eee50c6987 -| Coinbase Cloud | Consensus | a494a83f3eee8d95c49931a26483907aabe7bf8d6325a777b9033734756614f1 -| Coinbase Cloud | Consensus | a65461e68eae80c9bd9d8edc81857c7d2cd83ba9992433c468e9ef6515d32006 -| Coinbase Cloud | Consensus | adbd46d6628bb41e84635f436b3411da4dde2d80854c1b6ead3373cc962d4be6 -| Coinbase Cloud | Consensus | af8450d3906c7c3af8981736bbfbc67da78d71bee82c6f301f7656bc62815945 -| Coinbase Cloud | Consensus | b38182167be80a81f7c7534da5c72cc6e59c0922e2aced43f8b01df3630cf788 -| Coinbase Cloud | Consensus | b5e3cdbeb4986460b57a5a363789bb587eae7bff05589dcd122bcedc62be6664 -| Coinbase Cloud | Consensus | b68dbd999fbf3084685833efdb6e65038f90d53992290919c0cb8332b6ac93bd -| Coinbase Cloud | Consensus | ccd5e456be83922268ee4a07841f7c6c2f009fac77b80828e08f7e7efd6e5278 -| Coinbase Cloud | Consensus | e09a474478e44aed738b680d04eca770953468a80151a2491f90296009b0ee65 -| Coinbase Cloud | Consensus | e2314f73ff8aa1fa7110b180b5e5d113898e56bc6b43f9e5c889a6bffebeec0e -| Coinbase Cloud | Consensus | e782fb8a9895251a82cb68b87d1306748775188c9fca97a9b91b444ddd5f7e11 -| Coinbase Cloud | Consensus | f36176beb56175277ec31b77f51058a69ae1ebe9a13d990aa93f943d48793fd4 -| Coinbase Cloud | Consensus | fdbe6cb2bc0e45671e977ba621746d113aaa7f045c5d3274addcd6141c8c765d -| Coinbase Cloud | Execution | e52cbcd825e328acac8db6bcbdcbb6e7724862c8b89b09d85edccf41ff9981eb -| Coinbase Cloud | Verification | b17280bf57adad0de648d827a7ccbe81c74cf6a9cc44af4778587b133747a2f9 -| Coinfund | Consensus | 5a4bff17941a73909472afe23f1ccdc59d7526f93b16b4e374bd8353f8b624b4 -| Coinfund | Consensus | b5702f80aa39f06ecdf4d6321bfe40f64e40b9b630085a42993f1b241bfcbf25 -| Coinfund | Consensus | d98755f4ae8bef3f372889c4d7010ca784ea6da46fdde63d27ee57b2bf5efdd7 -| DSRV | Consensus | 947771ab1fd233d8694aee6c4a4259ee7e2241f4a201067aaa28adbb989d7c97 -| Figment | Collection | 1408c08272beb24ad4fe4e531a9b937a26ee72c5f56b50ac8f2b889c3c42d316 -| Figment | Consensus | 95d61bcc7202fe7d0558baede4cc17a56aac191a0cfd110fbf824e2ef71bd49c -| Figment | Consensus | 18e3cb625008338db803fd2d0fc2725b8f2ff988db992cfb2683f49d3ef29941 -| Figment | Consensus | 20a0ebfcd81c3aaa6161a97a3133c4c840952b8650f06fa69837ea2314ecdda7 -| Figment | Consensus | 2800fa8020d3c13e00019da137bc3236f4950f7fde81220a09c1b9af0ecd781f -| Figment | Consensus | 28c3544d52f7f733b23269b601a301b10c85c8359382454bfd7a80430e37827b -| Figment | Consensus | 2cbf580e34c96f75a7b4d85de546a150099d85fd703b6f298acfd488620dc60c -| Figment | Consensus | 2f8f1ea5c1296f630d65c8dab2fba72278fdf70ebb1bad1a9faf0d2a76f27beb -| Figment | Consensus | 3528a93263c82df41cf3c7e7788d00e017a4310e76bb82b86641a79065b1b2c2 -| Figment | Consensus | 39d1191804e80894f5a1cf828e08f4004ed964cdc7358d9cd3a146a672ab56e6 -| Figment | Consensus | 402325df0057b20c642f921dce88edc8e077fbc0ea29c277c1fdbbe3593dc745 -| Figment | Consensus | 407816e2586bca4412d04ba1b18d471671a64c3925efaa14ea65047050865b20 -| Figment | Consensus | 5e13ba756a7cc3418a5c3336bf05933ef5bcf663342e348cedc86000da113ca1 -| Figment | Consensus | 66f39cd4bc6bbc7115a8f5c266b14f6c40acd381285958acf45d7280c1ceffb0 -| Figment | Consensus | 67980f010ec262e91a289c6a66db3909148d1868fedf93575acbfb4e174c8b17 -| Figment | Consensus | 68c29c78c25bf6a8fe3315f86db64162510df1335ccd957f9e77d66ae1f658fa -| Figment | Consensus | 69acaac5baa8e5a06452fd7a3cfa6771ff581e06e37a8d87c98fafecceca1627 -| Figment | Consensus | 6e3121a56f3822dfc6d11707e2518381a87a04f3a3307d6805ea4e0bc26ffd02 -| Figment | Consensus | 7f8ba5b2fe7fc2768287ab2ae1dc20fde90548b6e9572702a213d7280a4d7129 -| Figment | Consensus | 93cda295b1857253aef191d1ed9366d6963ba550d387cab93e620402cab4c7fa -| Figment | Consensus | 97f9c1397b0a680593f64e8535d75416ac5fdcb79963773ec0d8017303e66ea8 -| Figment | Consensus | 9ca5d935372cfedd722f3c02efcbb94a3ad0617211384dc213dc6737094a02ea -| Figment | Consensus | 9dc4cd848e5b764ff3b9ea9a9b2eba357efe3db0e1046975b67c644dd7fbfdc2 -| Figment | Consensus | a05c404084c51a407c09915bdf8444786cb5b6831cbd0ac079dff2d6d196225c -| Figment | Consensus | a3b5022d35d4937573bf7f2e4b62be0c06f5c9f95a11b139d8eed4e0d2b30e59 -| Figment | Consensus | ad952bc03e5b8fd1d5bc0fa7bba54d9a705e212fb5c0d4a6d01a165b268d3172 -| Figment | Consensus | b3b6ac584a52a7ab15e24ac358c126c596b118639c92d72c3a49f910ddd0a9fc -| Figment | Consensus | bd59ce9d092c69a6091d1a77ba57c24b7f5a54532216ef7bf32facb965320111 -| Figment | Consensus | c05f564477fc739d53d6d668ebba3b1d4f7f34f5331ec9ff29f0e75e2b5f960c -| Figment | Consensus | c623076c01936f0eaadf1f8a6c618b087e8c88f00ad297db30a3172d8cd4d252 -| Figment | Consensus | de988efc8cb79d02876b7beffd404fc24b61c287ebeede567f90056f0eece90f -| Figment | Consensus | e8e0c03ff9295328d833b2661cd6b74d2174d50c39134899db453f55dfaf22b9 -| Figment | Consensus | ea66ae75b60a219eb19358d0574259083c41efdadec35ce6d4b0c4b57d25dcae -| Figment | Consensus | f07d945cbfc720d000a8fbb216b77cf0143f6e2b9d2568bc9af56802d45e75cf -| Figment | Consensus | f6fe4e61b17b6e45ba64690fa83ca0b4a3898d2f3732c8c60a985c85f7295a88 -| Figment | Consensus | fc16709e4a2d04ddc27ad6ecbe9411c0962beaf749c03d667187b9c394e13237 -| Flipside| Collection | 581525fa93d8fe4b334c179698c6e72baccb802593e55e40da61d24e589d85be -| Forbole | Consensus | 237a7a04ecf88b7c21001589ecc277190a6f7cd6e56a296a203552ade6db0927 -| Foundry | Consensus | 56e97c4cd4079caeb97d2a8f8950437107813436d5964f22a1f459eb8cf73a71 -| Foundry | Collection | bd368122b0ccf67ebdd59d7f9b75edfa85106c3af41854c946ad0fa46e5c3ddd -| Foundry | Verification | e74d0ca7afed2b5bfd612f3c75010adb229d632ca4ab3b77d178ee226d7ec2a2 -| HashKey Cloud | Verification | 55069e7e8926867bee8094bd31786f8f6b65c8c3bde468ae2275f33dc1245dc1 -| Huobi | Verification | 6944b7968594f277c4c051d83ced4bab6ed87ed992d831f31ffb6a7b5926e298 -| Lilico | Verification | 3c6519ba8be35e338df7273a895ad3abaeb0c232eb908ee7b05462018c112fe1 -| Metapurse | Collection |da27c0fc2a4fe12c04bd70058252c5a26cfe41485bf6ea6aba1c724b7a07542d -| Metapurse | Consensus |1780288437c9aed5056836bfffcfe19334dd6e229607fccfb3fe9b1d4d24cdca -| Metapurse | Verfication | dc3054cae816874d7dbbe838a41ef97c8a01b44643bffc82afe3a8228eed29fd -| NFT42 | Verification | f8af31c7c3294b246f34040e5685c351e89f1c1edf6c64f93f7babd73d149951 -| NuFi | Verification| 88fbac6c7427f24b616aa8d8a6a18632f51b3411ad774a1d59c00c29ad5134fb -| P2P | Verification | 78ef2e461a32df2278ae78baf7cf1a54fec3601fe4723a5833c49e1935dc4b7d -| P2P | Consensus | 14faeb5538c8791827163074cd5fdbdcf70c44648a98d835c63ebb386d5c4745 -| P2P | Collection | 79b43645fdf7c6597d8868b10c91d8cf343ab7d2cea0c98902d8f9456049918a -| Quantstamp | Verification | cecdc27e710c1d78fed522e0dbf32fd88d383d5c0ffc735acc657c25f4989b56 -| Republic Labs | Verification | 94609410b05584616f628f98a26acec339f7e1ce43132f0d8d268540317023d8 -| RIT | Verification | 1a671144c4e8def6ce53aa861e185ab22f559f8ba0e0ea6017b714f3b5be0d74 -| Samsung | Execution | 6c6af0933b710655ec553f4bead3b01c5e0a3ffd1194ee536efb926b356c54aa -| Snowfro | Verification | adac59f7a5265148ec8e7c95f373d9ce9a7ec2baeaafda965d9cbfb4f88f8039 -| SNZ | Verification | df5c2d5b9af9d0de5c4b70ce9adbdc7ae2af1a17485b4b8640f2c5b2c58d8954 -| Sparq | Consensus | 9ad385808628b4b2ec684dd5a31ec1da3b894f6241725b13abe7ae268bcf359d -| Stake Fish | Consensus | b09bfbaf2d9e6f6541855dc65b8e0247bd97a0cceb607b9cf89ed368bc16308d -| Staked | Collection | 129aab6407f6f66774ce77a03b8abd1ba67317eab1c70c5c6cdd7a433a7d64e8 -| Staked | Collection | fcb55c2d1fb2737b159704b5a30b194b8a8ddfb4691d55692af597ac6e236201 -| T-Systems| Execution | 2b396b7fab0102f104a2af7e095b145cc14da28f863564802e158afc3e07e638 -| Uken | Verification | d5ff81187aae96977ef8fdf8c9ceaac12ccb02df75da0bc3e7d3240d5a288382 -| Usopp | Verification | d12b80ad9a9be6dbf86f8a7824739d9b2193836e5df226e063528dae33be3a4a -| VCC | Collection | fe14c6a722212e19af1c143008d46413d4cea5097714a3720c67f356fb7c2982 -| versus-flow.art | Verification | 093132ae6b090b3cf3b14d5da282e8a9cc6e5158342a83354c4fd27d5263416e -| Yonsei | Verification | 5dc67a4f47ea9ce55d1b63ebe04cc68d8b29c41e40ab5cdc63b108ce292139a0 +| Node Operator | Node Type | Node ID | +| :---------------------:| :-----------:| :---------------------------------------------------------------:| +| Alxo | Verification | f7422f2d3296ede4d1efb36ec55e3fd93702c061f7ee627881f0b3007beff2ed | +| Binance Staking | Verification | 7c589e6cc38508b27545d052073ab3aa84a35425bd2881205d778cca95f10a7b | +| Bitcoin Louie | Verification | fffba108a52e4ca8f5d30658c3f03f47ad1cc13a0995435c0532336236813218 | +| Block Daemon | Consensus | 5a4bff17941a73909472afe23f1ccdc59d7526f93b16b4e374bd8353f8b624b4 | +| Block Daemon | Verification | 49c9f946170d5fb40c2af953b1534fae771905865b142ab6ac9685b8ba5b51c1 | +| Block Daemon | Verification | 5f079d31810e4ea4ac86e70e23a04e797a37973df434d1ad854cd83d8828bcbd | +| Block Daemon | Verification | 1cf032dd5b3cf9a63943e1f04472bb57cc1240d5cdd86c5fde05b4dabf8b1e7a | +| Block Daemon | Consensus | b5702f80aa39f06ecdf4d6321bfe40f64e40b9b630085a42993f1b241bfcbf25 | +| Block Daemon | Consensus | cd7eed9952dbf8822062db7a351d959ef1166cd6d1856c0ad26c1c67d68e4fdb | +| Blockchain at Berkeley | Verification | 8f8d77ba98d1606b19fce8f6d35908bfc29ea171c02879162f6755c05e0ca1ee | +| Blocto | Consensus | 2cfab7e9163475282f67186b06ce6eea7fa0687d25dd9c7a84532f2016bc2e5e | +| Blocto | Verification | 21b21ad1ddb5e3002cc6a3faa55e23d70db014ee229c213f7a43769789125536 | +| Chainflow | Verification | 3b57e0ee2ece1f1dbefbd868d3eaac63b32a11df5b1a37d231145ea219055dde | +| Chainlayer | Collection | 050dfd9898470c042e9190b8a9136122dee26dad438cf5b49307f55fe4dbcc98 | +| Chainlayer | Consensus | 62de4fa4b6a05b8beb5868a5259caca4efa966aa0cb867fdd776c73abe9370ad | +| Chainlayer | Verification | d4ffda5cbdea87f6464d37c7ab079d3f8589454d2de2b6bce1cc6c6f20829dc2 | +| Coinbase Cloud | Consensus | 022699aba098bce3eb3a8709f29feafa9793f65de7d24d37a46310d788cbcc74 | +| Coinbase Cloud | Consensus | 07e3017f5327ed10b7cfa0e3b3f7dc97df8f1ce2cc9d9be25e7aef00e932a691 | +| Coinbase Cloud | Consensus | 10ea3b6872e187b3835bf57f6a9597738aa6b396c03c1549f4cdac789ae27e8e | +| Coinbase Cloud | Consensus | 166d1b52831da570fb37f0d85ded5d164937bc7ae976a6037bc33a77c3113735 | +| Coinbase Cloud | Consensus | 1a697950a4843dc67bbd34cbb0016854e64e66f088b54447beeea6999ff7641d | +| Coinbase Cloud | Consensus | 2040bd128455e833c0968bf51c0a2eb4d05399e1ab5ac323d38170b975688bea | +| Coinbase Cloud | Consensus | 245efcb37ebdb2966bafc0112dd86bc1f5e1d3ffa70b66887eaeb3a667b3f477 | +| Coinbase Cloud | Consensus | 3890fd0a26c0272807b731d0dda0eb15bfa5183533032303e062e9206e9f4e69 | +| Coinbase Cloud | Consensus | 490e27d1d5335f20473871f06324f4cff862d4fc22c4af7ab87574292764c518 | +| Coinbase Cloud | Consensus | 492bab4b9cb02c97bd2b03859640002e8d81eb2bc33e723ae8fabcc64f30d653 | +| Coinbase Cloud | Consensus | 54abbaea844dfc3c6cc0f58f0170783d6d01bef578761113558c4321a3e1a0df | +| Coinbase Cloud | Verification | b17280bf57adad0de648d827a7ccbe81c74cf6a9cc44af4778587b133747a2f9 | +| Coinbase Cloud | Verification | 79949f163dac6b72ab72c1d12b9677d71dd9367f7331d59425b485050c8712d9 | +| Coinbase Cloud | Verification | 8790cc2cabdb172e5a96c24c150865031e1818f6f84fbd68894efd0d0d12dc96 | +| Coinbase Cloud | Verification | a8a34668b9c3eb824955df6f184832199d78aedacba3c846ee76e89cde7c1c98 | +| Coinbase Cloud | Verification | 268572e59ccc469592bb434715ac3c10649d681e6eace6fd11d00d1247ef1fdc | +| Coinbase Cloud | Consensus | 7133b78ac9e788c428a354f2f96b5cc8109123425a88cc75d729bf5adfd0a25d | +| Coinbase Cloud | Consensus | 76a117e9635097b8a7ef6ac867f1525a76854b7e42b38075e3b422bd73e5dd2f | +| Coinbase Cloud | Consensus | 7db974a1aa956a2693ae0bafc357e8b220d30c8a0c64213badfc603e8b911d9a | +| Coinbase Cloud | Collection | 48ba5aabeaf1a7c1bc6a96b20c8e9f6cbe7f6b3c77faec3b77fa66a630abf8c7 | +| Coinbase Cloud | Consensus | 8d16bacfd9854ccdc0496ec2b99fc9dab94e5810686bd4df2bd956a8a8f81fa0 | +| Coinbase Cloud | Consensus | 8f4d09dae7918afbf62c48fa968a9e8b0891cee8442065fa47cc05f4bc9a8a91 | +| Coinbase Cloud | Consensus | 95ffacf0c05757cff71a4ee49e025d5a6d1103a3aa7d91253079e1bfb7c22458 | +| Coinbase Cloud | Consensus | a01657135399d9817a1b9933c7663077ef9e376fbe72bf56d687b23d75c2f76c | +| Coinbase Cloud | Consensus | a1bd45dbbf9077ce0ada513e2055ab4276ff81891936b0b8374617eee50c6987 | +| Coinbase Cloud | Consensus | a494a83f3eee8d95c49931a26483907aabe7bf8d6325a777b9033734756614f1 | +| Coinbase Cloud | Consensus | a65461e68eae80c9bd9d8edc81857c7d2cd83ba9992433c468e9ef6515d32006 | +| Coinbase Cloud | Consensus | adbd46d6628bb41e84635f436b3411da4dde2d80854c1b6ead3373cc962d4be6 | +| Coinbase Cloud | Consensus | af8450d3906c7c3af8981736bbfbc67da78d71bee82c6f301f7656bc62815945 | +| Coinbase Cloud | Consensus | b38182167be80a81f7c7534da5c72cc6e59c0922e2aced43f8b01df3630cf788 | +| Coinbase Cloud | Consensus | b5e3cdbeb4986460b57a5a363789bb587eae7bff05589dcd122bcedc62be6664 | +| Coinbase Cloud | Consensus | b68dbd999fbf3084685833efdb6e65038f90d53992290919c0cb8332b6ac93bd | +| Coinbase Cloud | Consensus | ccd5e456be83922268ee4a07841f7c6c2f009fac77b80828e08f7e7efd6e5278 | +| Coinbase Cloud | Consensus | e09a474478e44aed738b680d04eca770953468a80151a2491f90296009b0ee65 | +| Coinbase Cloud | Consensus | e2314f73ff8aa1fa7110b180b5e5d113898e56bc6b43f9e5c889a6bffebeec0e | +| Coinbase Cloud | Consensus | e782fb8a9895251a82cb68b87d1306748775188c9fca97a9b91b444ddd5f7e11 | +| Coinbase Cloud | Consensus | f36176beb56175277ec31b77f51058a69ae1ebe9a13d990aa93f943d48793fd4 | +| Coinbase Cloud | Consensus | fabe5c7917f1368d0a01dde06da7e7b6da8ea8e872e62f4853afbc536ea8d59d | +| Coinbase Cloud | Collection | e20501aa4f972ddeddbd3905566389109b02b8eacd2d0dc48a4f2a567dedd648 | +| Coinbase Cloud | Consensus | fdbe6cb2bc0e45671e977ba621746d113aaa7f045c5d3274addcd6141c8c765d | +| DSRV | Consensus | 947771ab1fd233d8694aee6c4a4259ee7e2241f4a201067aaa28adbb989d7c97 | +| Figment | Consensus | 18e3cb625008338db803fd2d0fc2725b8f2ff988db992cfb2683f49d3ef29941 | +| Figment | Consensus | 20a0ebfcd81c3aaa6161a97a3133c4c840952b8650f06fa69837ea2314ecdda7 | +| Figment | Consensus | 2800fa8020d3c13e00019da137bc3236f4950f7fde81220a09c1b9af0ecd781f | +| Figment | Consensus | 28c3544d52f7f733b23269b601a301b10c85c8359382454bfd7a80430e37827b | +| Figment | Consensus | 2f8f1ea5c1296f630d65c8dab2fba72278fdf70ebb1bad1a9faf0d2a76f27beb | +| Figment | Consensus | 3528a93263c82df41cf3c7e7788d00e017a4310e76bb82b86641a79065b1b2c2 | +| Figment | Consensus | 39d1191804e80894f5a1cf828e08f4004ed964cdc7358d9cd3a146a672ab56e6 | +| Figment | Consensus | 402325df0057b20c642f921dce88edc8e077fbc0ea29c277c1fdbbe3593dc745 | +| Figment | Consensus | 407816e2586bca4412d04ba1b18d471671a64c3925efaa14ea65047050865b20 | +| Figment | Consensus | 67980f010ec262e91a289c6a66db3909148d1868fedf93575acbfb4e174c8b17 | +| Figment | Collection | 1408c08272beb24ad4fe4e531a9b937a26ee72c5f56b50ac8f2b889c3c42d316 | +| Figment | Consensus | 6e3121a56f3822dfc6d11707e2518381a87a04f3a3307d6805ea4e0bc26ffd02 | +| Figment | Consensus | 95d61bcc7202fe7d0558baede4cc17a56aac191a0cfd110fbf824e2ef71bd49c | +| Figment | Consensus | 9dc4cd848e5b764ff3b9ea9a9b2eba357efe3db0e1046975b67c644dd7fbfdc2 | +| Figment | Consensus | ad952bc03e5b8fd1d5bc0fa7bba54d9a705e212fb5c0d4a6d01a165b268d3172 | +| Figment | Consensus | b3b6ac584a52a7ab15e24ac358c126c596b118639c92d72c3a49f910ddd0a9fc | +| Figment | Consensus | c05f564477fc739d53d6d668ebba3b1d4f7f34f5331ec9ff29f0e75e2b5f960c | +| Figment | Consensus | c623076c01936f0eaadf1f8a6c618b087e8c88f00ad297db30a3172d8cd4d252 | +| Figment | Consensus | ea66ae75b60a219eb19358d0574259083c41efdadec35ce6d4b0c4b57d25dcae | +| Figment | Consensus | f07d945cbfc720d000a8fbb216b77cf0143f6e2b9d2568bc9af56802d45e75cf | +| Figment | Consensus | f6fe4e61b17b6e45ba64690fa83ca0b4a3898d2f3732c8c60a985c85f7295a88 | +| Figment | Consensus | fc16709e4a2d04ddc27ad6ecbe9411c0962beaf749c03d667187b9c394e13237 | +| Flipside | Collection | 581525fa93d8fe4b334c179698c6e72baccb802593e55e40da61d24e589d85be | +| Foundry | Consensus | 56e97c4cd4079caeb97d2a8f8950437107813436d5964f22a1f459eb8cf73a71 | +| Foundry | Verification | e74d0ca7afed2b5bfd612f3c75010adb229d632ca4ab3b77d178ee226d7ec2a2 | +| Foundry | Collection | bd368122b0ccf67ebdd59d7f9b75edfa85106c3af41854c946ad0fa46e5c3ddd | +| Google | Execution | a58b8447337b73dc58d1095dfe0a71a50097969377c6c86b68ec63bee1358ace | +| Hasquark | Verification | 55069e7e8926867bee8094bd31786f8f6b65c8c3bde468ae2275f33dc1245dc1 | +| Huobi | Verification | 6944b7968594f277c4c051d83ced4bab6ed87ed992d831f31ffb6a7b5926e298 | +| Lilco | Verification | 3c6519ba8be35e338df7273a895ad3abaeb0c232eb908ee7b05462018c112fe1 | +| NFT42 | Verification | f8af31c7c3294b246f34040e5685c351e89f1c1edf6c64f93f7babd73d149951 | +| P2P | Consensus | 14faeb5538c8791827163074cd5fdbdcf70c44648a98d835c63ebb386d5c4745 | +| P2P | Collection | 79b43645fdf7c6597d8868b10c91d8cf343ab7d2cea0c98902d8f9456049918a | +| Quantstamp | Verification | cecdc27e710c1d78fed522e0dbf32fd88d383d5c0ffc735acc657c25f4989b56 | +| QuickNode | Consensus | 58f33a8c9d339ac9f3ba39a84a528f20d9c5f7c5cccb9d5f4f2c90af4def99aa | +| QuickNode | Consensus | 4afbd63916c3cec5bb75a34d607bcec3c670de952ed1556fa103c680b59b6215 | +| QuickNode | Consensus | 6f270301fd6838293eca308472af43aed772f8ea7ad4adbd362535511cb09429 | +| SNZ | Verification | df5c2d5b9af9d0de5c4b70ce9adbdc7ae2af1a17485b4b8640f2c5b2c58d8954 | +| Samsung | Execution | 6c6af0933b710655ec553f4bead3b01c5e0a3ffd1194ee536efb926b356c54aa | +| Snowfro (Art Blocks) | Verification | adac59f7a5265148ec8e7c95f373d9ce9a7ec2baeaafda965d9cbfb4f88f8039 | +| Sparq | Consensus | 9ad385808628b4b2ec684dd5a31ec1da3b894f6241725b13abe7ae268bcf359d | +| Staked | Consensus | 27724187b6ea3abbcd198c672fe9cb8c0781cdf08e105a2645ce83534072e87d | +| Staked | Collection | 129aab6407f6f66774ce77a03b8abd1ba67317eab1c70c5c6cdd7a433a7d64e8 | +| Staked | Collection | bbcbb4d70c26a1d573af62f6b727a930e53338e9b5d99865a7616999f99dad47 | +| Staked | Verification | d5ac048967388a9f021f33f1a30141ab6f39cddec10f762c86b11a55aaa9c4f9 | +| Staked | Collection | fcb55c2d1fb2737b159704b5a30b194b8a8ddfb4691d55692af597ac6e236201 | +| T-Systems | Execution | 2b396b7fab0102f104a2af7e095b145cc14da28f863564802e158afc3e07e638 | +| Taiwan Mobile | Verification | e8f4bd649d08ecb5afb7023a0c5e8bb10ce56659399665da8cc9d517e7982f92 | +| Ubisoft | Collection | eeaf114cbc49d1c6ed5d061b38c8f8a1743c3433bce384e0598fe505fda55e99 | +| Ubisoft | Verification | 6d0f707f944b024179553d9e31486beb7915148d86cfda43c85ecc33f4b9afc7 | +| Usopp.club | Verification | d12b80ad9a9be6dbf86f8a7824739d9b2193836e5df226e063528dae33be3a4a | +| VCC | Collection | fe14c6a722212e19af1c143008d46413d4cea5097714a3720c67f356fb7c2982 | +| Vaccumlabs | Verification | 88fbac6c7427f24b616aa8d8a6a18632f51b3411ad774a1d59c00c29ad5134fb | +| Yonsei | Verification | 5dc67a4f47ea9ce55d1b63ebe04cc68d8b29c41e40ab5cdc63b108ce292139a0 | +| versus-flow.art | Verification | 093132ae6b090b3cf3b14d5da282e8a9cc6e5158342a83354c4fd27d5263416e | From 6ff7dedd032cc6134d8ff652507bef4a075f9018 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Thu, 11 Apr 2024 19:50:21 +0530 Subject: [PATCH 212/626] Update 2024-04-12-Flow-Sprint-Kickoff.md FLIPs and Governance Updates --- .../2024-04-12-Flow-Sprint-Kickoff.md | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index f63b9a842..75fb8ddb0 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -51,7 +51,7 @@ | Released | 4 | 0 | 3 | 4 | **11** | | Total | **17** | **30** | **9** | **12** | **68** | -- No new FLIPs during the sprint +- No new FLIPs or changes during the sprint - Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) @@ -308,21 +308,24 @@ Cycle Objective(s): Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** +- Forum post regarding proposals on EVM gas and transaction fee reviewed, published, and shared on Discord. Working groups were briefed to disseminate details of the proposed changes to the community in upcoming meetings. See the post [here](https://forum.flow.com/t/proposing-transaction-fee-changes-and-flow-evm-gas-charges-for-flow-crescendo-launch/5817) +- Modeled inflation reduction options including the impact on validator incentives. Discussed pros and cons with Dete; additional research is needed on new potential options that surfaced aimed at minimizing impact on validators, token holders, and network security. See deck [here](https://docs.google.com/presentation/d/1EBYqB8FwxHtOwaQMHiId0ZZv4bRNThNYrgF5-CZeI8M/edit?pli=1#slide=id.g26c5efcb5cb_0_280) +- Impact of transaction fee increase on partner costs was assessed by pulling latest data for top 20 transaction payers on Flow. Discussions held with BD/partnership team, and the timeline for partner outreach is set for mid-May. See research [here](https://docs.google.com/spreadsheets/d/1PPxxAotsIYLzydAnuBAgQe1BmEcamiuSQUmsDtrpaKs/edit#gid=1414811201) +- Working Groups convened to address challenges related to hosting working groups, particularly the formalization of WGs that have transitioned them into more structured townhall-style meetings rather than informal participatory sessions where tangible work was accomplished. Going forward, WGs wouldn't overtly concern themselves with formalization and structures except keeping GitHub pages updated after meetings +- Monthly Governance Working Group meeting was convened - Governance OKR updates were shared along with current status of FLIPs; also invited new community operators to set up consensus nodes (to maintain decentralization) **This sprint** -- Publish forum post and gather community feedback -- Partner outreach regarding the upcoming transaction fee increase -- Draft and share FLIP on computation limit, G2C ratio and transaction fee increase for review -- Build consensus within Flow core team on which inflation strategy to employ -- Draft and share forum post on Inflation (stretch) -- Start node rebalancing to maintain decentralization (work with a16z, evaluate new operators) -- Keep the community updated (monthly GWG) +- For decentralization efforts, work with a16z to consolidate three nodes, and with Coinbase to reduce one node they operate on leased stake +- Automation of grafana decentralization dashboard to send messages when critical thresholds are crossed +- Gather and respond to community feedback on the forum post +- Draft FLIP on EVM gas to compute ratio and compute limit hike +- Update FLIP on transaction fee to suggest a transaction fee multiplier closely tied to FLOW token's market price +- Continue research on Inflation (new strategies, other networks, validator impact, etc.) and sync with Dete again. Note that Inflation Reduction plan might take longer to achieve and might not tie with the Crescendo launch [TBD] + **On Hold** -- N/A - **Active Epics** From b421d351c31c1dff12ca79fe9ef833e73edd691d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C5=A0tefanec?= <48020017+stefiix92@users.noreply.github.com> Date: Thu, 11 Apr 2024 16:57:17 +0200 Subject: [PATCH 213/626] Add NuFi Verification node to NodeOperatorList.md (#1449) --- nodeoperators/NodeOperatorList.md | 1 + 1 file changed, 1 insertion(+) diff --git a/nodeoperators/NodeOperatorList.md b/nodeoperators/NodeOperatorList.md index e2104d2da..96bfd4dd9 100644 --- a/nodeoperators/NodeOperatorList.md +++ b/nodeoperators/NodeOperatorList.md @@ -103,6 +103,7 @@ | Huobi | Verification | 6944b7968594f277c4c051d83ced4bab6ed87ed992d831f31ffb6a7b5926e298 | | Lilco | Verification | 3c6519ba8be35e338df7273a895ad3abaeb0c232eb908ee7b05462018c112fe1 | | NFT42 | Verification | f8af31c7c3294b246f34040e5685c351e89f1c1edf6c64f93f7babd73d149951 | +| NuFi | Verification | 88fbac6c7427f24b616aa8d8a6a18632f51b3411ad774a1d59c00c29ad5134fb | | P2P | Consensus | 14faeb5538c8791827163074cd5fdbdcf70c44648a98d835c63ebb386d5c4745 | | P2P | Collection | 79b43645fdf7c6597d8868b10c91d8cf343ab7d2cea0c98902d8f9456049918a | | Quantstamp | Verification | cecdc27e710c1d78fed522e0dbf32fd88d383d5c0ffc735acc657c25f4989b56 | From 2fec5590e7a8742e06a06b966634be0b2f464b15 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 11 Apr 2024 08:48:47 -0700 Subject: [PATCH 214/626] Update NodeOperatorList.md --- nodeoperators/NodeOperatorList.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/nodeoperators/NodeOperatorList.md b/nodeoperators/NodeOperatorList.md index 96bfd4dd9..b25e74a04 100644 --- a/nodeoperators/NodeOperatorList.md +++ b/nodeoperators/NodeOperatorList.md @@ -95,9 +95,6 @@ | Figment | Consensus | f6fe4e61b17b6e45ba64690fa83ca0b4a3898d2f3732c8c60a985c85f7295a88 | | Figment | Consensus | fc16709e4a2d04ddc27ad6ecbe9411c0962beaf749c03d667187b9c394e13237 | | Flipside | Collection | 581525fa93d8fe4b334c179698c6e72baccb802593e55e40da61d24e589d85be | -| Foundry | Consensus | 56e97c4cd4079caeb97d2a8f8950437107813436d5964f22a1f459eb8cf73a71 | -| Foundry | Verification | e74d0ca7afed2b5bfd612f3c75010adb229d632ca4ab3b77d178ee226d7ec2a2 | -| Foundry | Collection | bd368122b0ccf67ebdd59d7f9b75edfa85106c3af41854c946ad0fa46e5c3ddd | | Google | Execution | a58b8447337b73dc58d1095dfe0a71a50097969377c6c86b68ec63bee1358ace | | Hasquark | Verification | 55069e7e8926867bee8094bd31786f8f6b65c8c3bde468ae2275f33dc1245dc1 | | Huobi | Verification | 6944b7968594f277c4c051d83ced4bab6ed87ed992d831f31ffb6a7b5926e298 | From 8e0be6f3ab6c9796af6f677e133445f5026a3c5b Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Thu, 11 Apr 2024 22:45:06 +0530 Subject: [PATCH 215/626] Update 2024-04-12-Flow-Sprint-Kickoff.md Adding untagged FLIPS --- .../2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 75fb8ddb0..b833e5cca 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -54,6 +54,11 @@ - No new FLIPs or changes during the sprint - Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) +### Untagged FLIPs - +- https://github.com/onflow/flips/pull/246 +- https://github.com/onflow/flips/pull/195 +- https://github.com/onflow/flips/pull/250 +- https://github.com/onflow/flips/pull/256 --- From f275c1781d2485dfb9eba3ea779215ddceae8a7d Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Thu, 11 Apr 2024 22:49:21 +0530 Subject: [PATCH 216/626] Update 2024-04-12-Flow-Sprint-Kickoff.md Editing Governance updates --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index b833e5cca..e182248d9 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -322,11 +322,11 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf **This sprint** - For decentralization efforts, work with a16z to consolidate three nodes, and with Coinbase to reduce one node they operate on leased stake -- Automation of grafana decentralization dashboard to send messages when critical thresholds are crossed +- Automation of decentralization dashboard to send messages when critical thresholds are crossed - Gather and respond to community feedback on the forum post - Draft FLIP on EVM gas to compute ratio and compute limit hike - Update FLIP on transaction fee to suggest a transaction fee multiplier closely tied to FLOW token's market price -- Continue research on Inflation (new strategies, other networks, validator impact, etc.) and sync with Dete again. Note that Inflation Reduction plan might take longer to achieve and might not tie with the Crescendo launch [TBD] +- Continue research on Inflation (new strategies, other networks, validator impact, etc.) and sync with Dete again **On Hold** From 75b00fea9dba45895a55a7ccf9cb2f10cbd7caf7 Mon Sep 17 00:00:00 2001 From: Tom Haile Date: Thu, 11 Apr 2024 15:22:03 -0500 Subject: [PATCH 217/626] Update 2024-04-12-Flow-Sprint-Kickoff.md User Experience updates --- .../2024-04-12-Flow-Sprint-Kickoff.md | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index e182248d9..147860f25 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -229,24 +229,37 @@ Cycle Objective(s): - Use the Crescendo Release grow Flow's developer base and network activity **Done last sprint** - +- Updated in-depth Migration Guide live. +- Kapa AI updated with latest sources from Forum/EVM/Cadence lang docs +- End-to-end video on upgrade process, steps and timeline. +- FUSD, USDC changes for C1.0 completed (in review). +- Flow JS Testing updated to Cadence 1.0 & released. +- Staging being tracked hourly now on active contracts list. +- Fungible Token bridging +- Successful Local smart contract state migration with emulator +- EVM chains updated to ethereum chain list repository +- Flow evm previewnet added to viem repository +- Create new staking banner explaining epoch transition window [#168](https://github.com/onflow/flow-port/issues/168) **This sprint** **Sprint goal focusing on updating EVM docs, tooling support, CLI Interactive Setup** -- [[EPIC] EVM Docs #654](https://github.com/onflow/docs/issues/654) +- [EPIC] EVM Docs #654](https://github.com/onflow/docs/issues/654) - [EPIC] FlowEVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) - [EPIC] Enhance CLI init Command with Interactive Setup, Config Automation, and Default Project Structure [#1390](https://github.com/onflow/flow-cli/issues/1390) - [EPIC] Update Internal Tools and Repos for C1.0 Support [#530](https://github.com/onflow/docs/issues/530) -- Add WAGMI / viem guides (EVM) - Write new doc on Sponsored Transactions under Advanced Topics [#692](https://github.com/onflow/docs/issues/692) -- Create video to demonstrate local upgrade, staging, and state migration -- Create new staking banner explaining epoch transition window [#168](https://github.com/onflow/flow-port/issues/168) +- [Testing Ledger Cadence v1.0 transactions](https://github.com/onflow/fcl-six/issues/20) +- [Testing complex contracts deployment to previewnet EVM](https://github.com/onflow/docs/issues/713) +- Stage and test core contracts +- Circle USDC contract changes and integrations +- [Add newsletter signup to developer landing page](https://github.com/onflow/docs/issues/717) + **On Hold** - [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) -- [Update Playground to support Cadence 1.0](https://github.com/onflow/flow-playground/issues/760) +- Blocked: [Update Playground to support Cadence 1.0](https://github.com/onflow/flow-playground/issues/760) --- From cfcac20da83db9c68556e812e21a973ebafb445c Mon Sep 17 00:00:00 2001 From: Tom Haile Date: Thu, 11 Apr 2024 15:27:54 -0500 Subject: [PATCH 218/626] Update 2024-04-12-Flow-Sprint-Kickoff.md updated to have consistent links --- .../2024-04-12-Flow-Sprint-Kickoff.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 147860f25..8cf9de006 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -244,22 +244,22 @@ Cycle Objective(s): **This sprint** **Sprint goal focusing on updating EVM docs, tooling support, CLI Interactive Setup** -- [EPIC] EVM Docs #654](https://github.com/onflow/docs/issues/654) +- [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) - [EPIC] FlowEVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) - [EPIC] Enhance CLI init Command with Interactive Setup, Config Automation, and Default Project Structure [#1390](https://github.com/onflow/flow-cli/issues/1390) - [EPIC] Update Internal Tools and Repos for C1.0 Support [#530](https://github.com/onflow/docs/issues/530) - Write new doc on Sponsored Transactions under Advanced Topics [#692](https://github.com/onflow/docs/issues/692) -- [Testing Ledger Cadence v1.0 transactions](https://github.com/onflow/fcl-six/issues/20) -- [Testing complex contracts deployment to previewnet EVM](https://github.com/onflow/docs/issues/713) -- Stage and test core contracts +- Testing Ledger Cadence v1.0 transactions [#20](https://github.com/onflow/fcl-six/issues/20) +- Testing complex contracts deployment to previewnet EVM [#713](https://github.com/onflow/docs/issues/713) +- Stage and test core contracts - Circle USDC contract changes and integrations -- [Add newsletter signup to developer landing page](https://github.com/onflow/docs/issues/717) +- Add newsletter signup to developer landing page [#717](https://github.com/onflow/docs/issues/717) **On Hold** -- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) -- Blocked: [Update Playground to support Cadence 1.0](https://github.com/onflow/flow-playground/issues/760) +- Update Flow port for Cadence Crescendo instance [#279](https://github.com/onflow/flow-port/issues/279) +- Blocked: Update Playground to support Cadence 1.0 [#760](https://github.com/onflow/flow-playground/issues/760) --- From 5f136e530550d4d6da6150b46f5caca6efd47146 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:53:22 -0700 Subject: [PATCH 219/626] Update NodeOperatorList.md --- nodeoperators/NodeOperatorList.md | 1 - 1 file changed, 1 deletion(-) diff --git a/nodeoperators/NodeOperatorList.md b/nodeoperators/NodeOperatorList.md index b25e74a04..4be97cb3e 100644 --- a/nodeoperators/NodeOperatorList.md +++ b/nodeoperators/NodeOperatorList.md @@ -122,6 +122,5 @@ | Ubisoft | Verification | 6d0f707f944b024179553d9e31486beb7915148d86cfda43c85ecc33f4b9afc7 | | Usopp.club | Verification | d12b80ad9a9be6dbf86f8a7824739d9b2193836e5df226e063528dae33be3a4a | | VCC | Collection | fe14c6a722212e19af1c143008d46413d4cea5097714a3720c67f356fb7c2982 | -| Vaccumlabs | Verification | 88fbac6c7427f24b616aa8d8a6a18632f51b3411ad774a1d59c00c29ad5134fb | | Yonsei | Verification | 5dc67a4f47ea9ce55d1b63ebe04cc68d8b29c41e40ab5cdc63b108ce292139a0 | | versus-flow.art | Verification | 093132ae6b090b3cf3b14d5da282e8a9cc6e5158342a83354c4fd27d5263416e | From 6c68eed32696c5e2200adcba346781a10ba4ff88 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 11 Apr 2024 14:39:05 -0700 Subject: [PATCH 220/626] Update NodeOperatorList.md --- nodeoperators/NodeOperatorList.md | 46 ++++++++++++++----------------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/nodeoperators/NodeOperatorList.md b/nodeoperators/NodeOperatorList.md index 4be97cb3e..784f1db96 100644 --- a/nodeoperators/NodeOperatorList.md +++ b/nodeoperators/NodeOperatorList.md @@ -18,15 +18,15 @@ | Alxo | Verification | f7422f2d3296ede4d1efb36ec55e3fd93702c061f7ee627881f0b3007beff2ed | | Binance Staking | Verification | 7c589e6cc38508b27545d052073ab3aa84a35425bd2881205d778cca95f10a7b | | Bitcoin Louie | Verification | fffba108a52e4ca8f5d30658c3f03f47ad1cc13a0995435c0532336236813218 | -| Block Daemon | Consensus | 5a4bff17941a73909472afe23f1ccdc59d7526f93b16b4e374bd8353f8b624b4 | +| Block Daemon | Verification | 1cf032dd5b3cf9a63943e1f04472bb57cc1240d5cdd86c5fde05b4dabf8b1e7a | | Block Daemon | Verification | 49c9f946170d5fb40c2af953b1534fae771905865b142ab6ac9685b8ba5b51c1 | +| Block Daemon | Consensus | 5a4bff17941a73909472afe23f1ccdc59d7526f93b16b4e374bd8353f8b624b4 | | Block Daemon | Verification | 5f079d31810e4ea4ac86e70e23a04e797a37973df434d1ad854cd83d8828bcbd | -| Block Daemon | Verification | 1cf032dd5b3cf9a63943e1f04472bb57cc1240d5cdd86c5fde05b4dabf8b1e7a | | Block Daemon | Consensus | b5702f80aa39f06ecdf4d6321bfe40f64e40b9b630085a42993f1b241bfcbf25 | | Block Daemon | Consensus | cd7eed9952dbf8822062db7a351d959ef1166cd6d1856c0ad26c1c67d68e4fdb | | Blockchain at Berkeley | Verification | 8f8d77ba98d1606b19fce8f6d35908bfc29ea171c02879162f6755c05e0ca1ee | -| Blocto | Consensus | 2cfab7e9163475282f67186b06ce6eea7fa0687d25dd9c7a84532f2016bc2e5e | | Blocto | Verification | 21b21ad1ddb5e3002cc6a3faa55e23d70db014ee229c213f7a43769789125536 | +| Blocto | Consensus | 2cfab7e9163475282f67186b06ce6eea7fa0687d25dd9c7a84532f2016bc2e5e | | Chainflow | Verification | 3b57e0ee2ece1f1dbefbd868d3eaac63b32a11df5b1a37d231145ea219055dde | | Chainlayer | Collection | 050dfd9898470c042e9190b8a9136122dee26dad438cf5b49307f55fe4dbcc98 | | Chainlayer | Consensus | 62de4fa4b6a05b8beb5868a5259caca4efa966aa0cb867fdd776c73abe9370ad | @@ -39,18 +39,15 @@ | Coinbase Cloud | Consensus | 2040bd128455e833c0968bf51c0a2eb4d05399e1ab5ac323d38170b975688bea | | Coinbase Cloud | Consensus | 245efcb37ebdb2966bafc0112dd86bc1f5e1d3ffa70b66887eaeb3a667b3f477 | | Coinbase Cloud | Consensus | 3890fd0a26c0272807b731d0dda0eb15bfa5183533032303e062e9206e9f4e69 | +| Coinbase Cloud | Collection | 48ba5aabeaf1a7c1bc6a96b20c8e9f6cbe7f6b3c77faec3b77fa66a630abf8c7 | | Coinbase Cloud | Consensus | 490e27d1d5335f20473871f06324f4cff862d4fc22c4af7ab87574292764c518 | | Coinbase Cloud | Consensus | 492bab4b9cb02c97bd2b03859640002e8d81eb2bc33e723ae8fabcc64f30d653 | | Coinbase Cloud | Consensus | 54abbaea844dfc3c6cc0f58f0170783d6d01bef578761113558c4321a3e1a0df | -| Coinbase Cloud | Verification | b17280bf57adad0de648d827a7ccbe81c74cf6a9cc44af4778587b133747a2f9 | -| Coinbase Cloud | Verification | 79949f163dac6b72ab72c1d12b9677d71dd9367f7331d59425b485050c8712d9 | -| Coinbase Cloud | Verification | 8790cc2cabdb172e5a96c24c150865031e1818f6f84fbd68894efd0d0d12dc96 | -| Coinbase Cloud | Verification | a8a34668b9c3eb824955df6f184832199d78aedacba3c846ee76e89cde7c1c98 | -| Coinbase Cloud | Verification | 268572e59ccc469592bb434715ac3c10649d681e6eace6fd11d00d1247ef1fdc | | Coinbase Cloud | Consensus | 7133b78ac9e788c428a354f2f96b5cc8109123425a88cc75d729bf5adfd0a25d | | Coinbase Cloud | Consensus | 76a117e9635097b8a7ef6ac867f1525a76854b7e42b38075e3b422bd73e5dd2f | +| Coinbase Cloud | Verification | 79949f163dac6b72ab72c1d12b9677d71dd9367f7331d59425b485050c8712d9 | | Coinbase Cloud | Consensus | 7db974a1aa956a2693ae0bafc357e8b220d30c8a0c64213badfc603e8b911d9a | -| Coinbase Cloud | Collection | 48ba5aabeaf1a7c1bc6a96b20c8e9f6cbe7f6b3c77faec3b77fa66a630abf8c7 | +| Coinbase Cloud | Verification | 8790cc2cabdb172e5a96c24c150865031e1818f6f84fbd68894efd0d0d12dc96 | | Coinbase Cloud | Consensus | 8d16bacfd9854ccdc0496ec2b99fc9dab94e5810686bd4df2bd956a8a8f81fa0 | | Coinbase Cloud | Consensus | 8f4d09dae7918afbf62c48fa968a9e8b0891cee8442065fa47cc05f4bc9a8a91 | | Coinbase Cloud | Consensus | 95ffacf0c05757cff71a4ee49e025d5a6d1103a3aa7d91253079e1bfb7c22458 | @@ -58,39 +55,40 @@ | Coinbase Cloud | Consensus | a1bd45dbbf9077ce0ada513e2055ab4276ff81891936b0b8374617eee50c6987 | | Coinbase Cloud | Consensus | a494a83f3eee8d95c49931a26483907aabe7bf8d6325a777b9033734756614f1 | | Coinbase Cloud | Consensus | a65461e68eae80c9bd9d8edc81857c7d2cd83ba9992433c468e9ef6515d32006 | +| Coinbase Cloud | Verification | a8a34668b9c3eb824955df6f184832199d78aedacba3c846ee76e89cde7c1c98 | | Coinbase Cloud | Consensus | adbd46d6628bb41e84635f436b3411da4dde2d80854c1b6ead3373cc962d4be6 | | Coinbase Cloud | Consensus | af8450d3906c7c3af8981736bbfbc67da78d71bee82c6f301f7656bc62815945 | +| Coinbase Cloud | Verification | b17280bf57adad0de648d827a7ccbe81c74cf6a9cc44af4778587b133747a2f9 | | Coinbase Cloud | Consensus | b38182167be80a81f7c7534da5c72cc6e59c0922e2aced43f8b01df3630cf788 | | Coinbase Cloud | Consensus | b5e3cdbeb4986460b57a5a363789bb587eae7bff05589dcd122bcedc62be6664 | | Coinbase Cloud | Consensus | b68dbd999fbf3084685833efdb6e65038f90d53992290919c0cb8332b6ac93bd | | Coinbase Cloud | Consensus | ccd5e456be83922268ee4a07841f7c6c2f009fac77b80828e08f7e7efd6e5278 | | Coinbase Cloud | Consensus | e09a474478e44aed738b680d04eca770953468a80151a2491f90296009b0ee65 | +| Coinbase Cloud | Collection | e20501aa4f972ddeddbd3905566389109b02b8eacd2d0dc48a4f2a567dedd648 | | Coinbase Cloud | Consensus | e2314f73ff8aa1fa7110b180b5e5d113898e56bc6b43f9e5c889a6bffebeec0e | | Coinbase Cloud | Consensus | e782fb8a9895251a82cb68b87d1306748775188c9fca97a9b91b444ddd5f7e11 | | Coinbase Cloud | Consensus | f36176beb56175277ec31b77f51058a69ae1ebe9a13d990aa93f943d48793fd4 | | Coinbase Cloud | Consensus | fabe5c7917f1368d0a01dde06da7e7b6da8ea8e872e62f4853afbc536ea8d59d | -| Coinbase Cloud | Collection | e20501aa4f972ddeddbd3905566389109b02b8eacd2d0dc48a4f2a567dedd648 | | Coinbase Cloud | Consensus | fdbe6cb2bc0e45671e977ba621746d113aaa7f045c5d3274addcd6141c8c765d | | DSRV | Consensus | 947771ab1fd233d8694aee6c4a4259ee7e2241f4a201067aaa28adbb989d7c97 | +| Figment | Collection | 1408c08272beb24ad4fe4e531a9b937a26ee72c5f56b50ac8f2b889c3c42d316 | | Figment | Consensus | 18e3cb625008338db803fd2d0fc2725b8f2ff988db992cfb2683f49d3ef29941 | | Figment | Consensus | 20a0ebfcd81c3aaa6161a97a3133c4c840952b8650f06fa69837ea2314ecdda7 | -| Figment | Consensus | 2800fa8020d3c13e00019da137bc3236f4950f7fde81220a09c1b9af0ecd781f | | Figment | Consensus | 28c3544d52f7f733b23269b601a301b10c85c8359382454bfd7a80430e37827b | +| Figment | Consensus | 2af048f554129614baf65a5730d5b94d8e98754ba361a5cbdc3c688c9e638351 | | Figment | Consensus | 2f8f1ea5c1296f630d65c8dab2fba72278fdf70ebb1bad1a9faf0d2a76f27beb | -| Figment | Consensus | 3528a93263c82df41cf3c7e7788d00e017a4310e76bb82b86641a79065b1b2c2 | -| Figment | Consensus | 39d1191804e80894f5a1cf828e08f4004ed964cdc7358d9cd3a146a672ab56e6 | | Figment | Consensus | 402325df0057b20c642f921dce88edc8e077fbc0ea29c277c1fdbbe3593dc745 | | Figment | Consensus | 407816e2586bca4412d04ba1b18d471671a64c3925efaa14ea65047050865b20 | +| Figment | Consensus | 5b2f9eaa692ce33b874b7460ddc59dd2ec0ae1aabeba450a2ab8f3c0c02fec22 | | Figment | Consensus | 67980f010ec262e91a289c6a66db3909148d1868fedf93575acbfb4e174c8b17 | -| Figment | Collection | 1408c08272beb24ad4fe4e531a9b937a26ee72c5f56b50ac8f2b889c3c42d316 | -| Figment | Consensus | 6e3121a56f3822dfc6d11707e2518381a87a04f3a3307d6805ea4e0bc26ffd02 | +| Figment | Consensus | 6beaa036315896bc9c0552d546ff10e2a637d53b8f847def8f1dba716ec33435 | +| Figment | Consensus | 71b1ebea050e44127da030e02df820dbe18ae42675aef4d4366b32b7f8c3919f | | Figment | Consensus | 95d61bcc7202fe7d0558baede4cc17a56aac191a0cfd110fbf824e2ef71bd49c | | Figment | Consensus | 9dc4cd848e5b764ff3b9ea9a9b2eba357efe3db0e1046975b67c644dd7fbfdc2 | | Figment | Consensus | ad952bc03e5b8fd1d5bc0fa7bba54d9a705e212fb5c0d4a6d01a165b268d3172 | -| Figment | Consensus | b3b6ac584a52a7ab15e24ac358c126c596b118639c92d72c3a49f910ddd0a9fc | | Figment | Consensus | c05f564477fc739d53d6d668ebba3b1d4f7f34f5331ec9ff29f0e75e2b5f960c | | Figment | Consensus | c623076c01936f0eaadf1f8a6c618b087e8c88f00ad297db30a3172d8cd4d252 | -| Figment | Consensus | ea66ae75b60a219eb19358d0574259083c41efdadec35ce6d4b0c4b57d25dcae | +| Figment | Consensus | d2c6459d60e7ad8a06396013cde641b570337b28ecda6f3f0078cf651218cb0f | | Figment | Consensus | f07d945cbfc720d000a8fbb216b77cf0143f6e2b9d2568bc9af56802d45e75cf | | Figment | Consensus | f6fe4e61b17b6e45ba64690fa83ca0b4a3898d2f3732c8c60a985c85f7295a88 | | Figment | Consensus | fc16709e4a2d04ddc27ad6ecbe9411c0962beaf749c03d667187b9c394e13237 | @@ -100,27 +98,25 @@ | Huobi | Verification | 6944b7968594f277c4c051d83ced4bab6ed87ed992d831f31ffb6a7b5926e298 | | Lilco | Verification | 3c6519ba8be35e338df7273a895ad3abaeb0c232eb908ee7b05462018c112fe1 | | NFT42 | Verification | f8af31c7c3294b246f34040e5685c351e89f1c1edf6c64f93f7babd73d149951 | -| NuFi | Verification | 88fbac6c7427f24b616aa8d8a6a18632f51b3411ad774a1d59c00c29ad5134fb | -| P2P | Consensus | 14faeb5538c8791827163074cd5fdbdcf70c44648a98d835c63ebb386d5c4745 | -| P2P | Collection | 79b43645fdf7c6597d8868b10c91d8cf343ab7d2cea0c98902d8f9456049918a | +| Nufi | Verification | 88fbac6c7427f24b616aa8d8a6a18632f51b3411ad774a1d59c00c29ad5134fb | | Quantstamp | Verification | cecdc27e710c1d78fed522e0dbf32fd88d383d5c0ffc735acc657c25f4989b56 | -| QuickNode | Consensus | 58f33a8c9d339ac9f3ba39a84a528f20d9c5f7c5cccb9d5f4f2c90af4def99aa | | QuickNode | Consensus | 4afbd63916c3cec5bb75a34d607bcec3c670de952ed1556fa103c680b59b6215 | +| QuickNode | Consensus | 58f33a8c9d339ac9f3ba39a84a528f20d9c5f7c5cccb9d5f4f2c90af4def99aa | | QuickNode | Consensus | 6f270301fd6838293eca308472af43aed772f8ea7ad4adbd362535511cb09429 | -| SNZ | Verification | df5c2d5b9af9d0de5c4b70ce9adbdc7ae2af1a17485b4b8640f2c5b2c58d8954 | | Samsung | Execution | 6c6af0933b710655ec553f4bead3b01c5e0a3ffd1194ee536efb926b356c54aa | | Snowfro (Art Blocks) | Verification | adac59f7a5265148ec8e7c95f373d9ce9a7ec2baeaafda965d9cbfb4f88f8039 | +| SNZ | Verification | df5c2d5b9af9d0de5c4b70ce9adbdc7ae2af1a17485b4b8640f2c5b2c58d8954 | | Sparq | Consensus | 9ad385808628b4b2ec684dd5a31ec1da3b894f6241725b13abe7ae268bcf359d | -| Staked | Consensus | 27724187b6ea3abbcd198c672fe9cb8c0781cdf08e105a2645ce83534072e87d | | Staked | Collection | 129aab6407f6f66774ce77a03b8abd1ba67317eab1c70c5c6cdd7a433a7d64e8 | +| Staked | Consensus | 27724187b6ea3abbcd198c672fe9cb8c0781cdf08e105a2645ce83534072e87d | | Staked | Collection | bbcbb4d70c26a1d573af62f6b727a930e53338e9b5d99865a7616999f99dad47 | | Staked | Verification | d5ac048967388a9f021f33f1a30141ab6f39cddec10f762c86b11a55aaa9c4f9 | | Staked | Collection | fcb55c2d1fb2737b159704b5a30b194b8a8ddfb4691d55692af597ac6e236201 | | T-Systems | Execution | 2b396b7fab0102f104a2af7e095b145cc14da28f863564802e158afc3e07e638 | | Taiwan Mobile | Verification | e8f4bd649d08ecb5afb7023a0c5e8bb10ce56659399665da8cc9d517e7982f92 | -| Ubisoft | Collection | eeaf114cbc49d1c6ed5d061b38c8f8a1743c3433bce384e0598fe505fda55e99 | | Ubisoft | Verification | 6d0f707f944b024179553d9e31486beb7915148d86cfda43c85ecc33f4b9afc7 | +| Ubisoft | Collection | eeaf114cbc49d1c6ed5d061b38c8f8a1743c3433bce384e0598fe505fda55e99 | | Usopp.club | Verification | d12b80ad9a9be6dbf86f8a7824739d9b2193836e5df226e063528dae33be3a4a | | VCC | Collection | fe14c6a722212e19af1c143008d46413d4cea5097714a3720c67f356fb7c2982 | -| Yonsei | Verification | 5dc67a4f47ea9ce55d1b63ebe04cc68d8b29c41e40ab5cdc63b108ce292139a0 | | versus-flow.art | Verification | 093132ae6b090b3cf3b14d5da282e8a9cc6e5158342a83354c4fd27d5263416e | +| Yonsei | Verification | 5dc67a4f47ea9ce55d1b63ebe04cc68d8b29c41e40ab5cdc63b108ce292139a0 | From 8e0a6a8f16c32ee72e6192402ae1620a85882e4f Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 11 Apr 2024 15:30:44 -0700 Subject: [PATCH 221/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 8cf9de006..3842b7855 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -2,7 +2,7 @@ ### Team Wins 🎉 - +- Integrated QuickNode Access node profiler with our Grafana [dashboard](https://flowfoundation.grafana.net/explore?schemaVersion=1&panes=%7B%222hf%22%3A%7B%22datasource%22%3A%22ddhnnosc07gn4e%22%2C%22queries%22%3A%5B%7B%22groupBy%22%3A%5B%5D%2C%22labelSelector%22%3A%22%7B%7D%22%2C%22spanSelector%22%3A%5B%5D%2C%22queryType%22%3A%22both%22%2C%22refId%22%3A%22A%22%2C%22datasource%22%3A%7B%22type%22%3A%22grafana-pyroscope-datasource%22%2C%22uid%22%3A%22ddhnnosc07gn4e%22%7D%2C%22profileTypeId%22%3A%22process_cpu%3Acpu%3Ananoseconds%3Acpu%3Ananoseconds%22%7D%5D%2C%22range%22%3A%7B%22from%22%3A%22now-1h%22%2C%22to%22%3A%22now%22%7D%7D%7D&orgId=1) - Vishal ### General updates From ef0825e213d701a1b187ec6b17617273b81895cc Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 11 Apr 2024 15:34:05 -0700 Subject: [PATCH 222/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 3842b7855..38ab3f524 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -28,7 +28,7 @@ [YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) ## Incidents - +- Sev-3: Go routine leak on AN3 and EN1. Fixed with the libp2p DHT update. (slack [thread](https://dapperlabs.slack.com/archives/C014WBGR1J9/p1712074091594089)) ### Key Release Dates & Breaking Changes From e88118236b1170e12e9bd76f3d6a98f85ddaa408 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 11 Apr 2024 15:36:46 -0700 Subject: [PATCH 223/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 38ab3f524..99dffe430 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -13,7 +13,7 @@ --- -### Mainnet Uptime - Last 7 days (3/xx/24 to 3/xx/24) \[Vishal] +### Mainnet Uptime - Last 7 days (3/29/24 to 4/12/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -21,7 +21,7 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.992% | 8.27% | +| Access API Liveness | 99.9% | 99.99% | 9.82% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) From 94bec5526fc2d9692c4a10677ca48a85240ca25f Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Thu, 11 Apr 2024 20:37:12 -0700 Subject: [PATCH 224/626] update data availability sprint 2024-04-12 --- .../2024-04-12-Flow-Sprint-Kickoff.md | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 99dffe430..4cac1f523 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -3,6 +3,8 @@ ### Team Wins 🎉 - Integrated QuickNode Access node profiler with our Grafana [dashboard](https://flowfoundation.grafana.net/explore?schemaVersion=1&panes=%7B%222hf%22%3A%7B%22datasource%22%3A%22ddhnnosc07gn4e%22%2C%22queries%22%3A%5B%7B%22groupBy%22%3A%5B%5D%2C%22labelSelector%22%3A%22%7B%7D%22%2C%22spanSelector%22%3A%5B%5D%2C%22queryType%22%3A%22both%22%2C%22refId%22%3A%22A%22%2C%22datasource%22%3A%7B%22type%22%3A%22grafana-pyroscope-datasource%22%2C%22uid%22%3A%22ddhnnosc07gn4e%22%7D%2C%22profileTypeId%22%3A%22process_cpu%3Acpu%3Ananoseconds%3Acpu%3Ananoseconds%22%7D%5D%2C%22range%22%3A%7B%22from%22%3A%22now-1h%22%2C%22to%22%3A%22now%22%7D%7D%7D&orgId=1) - Vishal +- Local script execution successfully deployed to NFL ANs. Saw 35% reduction p50 request times. - Vishal +- Local transaction results deployed to all public ANs. Saw 50% reduction in requests to ENs - Vishal ### General updates @@ -146,7 +148,16 @@ Cycle Objective(s): * Data Availability: + - Deployed local script exec to 40% FF nodes, 22% QN nodes + - Deployed local tx results to all public nodes + - Tested programs cache on mainnet ANs + - Profiling enabled on one QN AN + - Fix string concatination bottleneck discovered with new profiles ([PR #5592](https://github.com/onflow/flow-go/pull/5592)) + - Upgrade libp2p on mainnet/testnet ([PR #5642](https://github.com/onflow/flow-go/pull/5642)) - KROK Team + - Streaming account statuses endpoint ([PR #5406](https://github.com/onflow/flow-go/pull/5406)) + - Unify Events API with new interfaces ([PR #5602](https://github.com/onflow/flow-go/pull/5602)) + - Add integration tests for streaming blocks and observer APIs ([PR #5624](https://github.com/onflow/flow-go/pull/5624), [PR #5612](https://github.com/onflow/flow-go/pull/5612)) **This sprint** @@ -169,14 +180,14 @@ Cycle Objective(s): * Data Availability: - - Rollout local tx results to QuickNode ANs - - Work with QN to get profile collection deployed - support debugging script exec - - Enable programs cache on AN (Continue [PR #5585](https://github.com/onflow/flow-go/pull/5585) and testing) + - Continue to rollout local script exec to additional QN ANs + - Test local script exec with remaining studio nodes + - Enable programs cache on AN (complete [PR #5585](https://github.com/onflow/flow-go/pull/5585)) - KROK Team - - Complete streaming account statuses endpoint ([PR #5406](https://github.com/onflow/flow-go/pull/5406)) - - Add tx results to streaming SendAndSubscribe response ([PR #5566](https://github.com/onflow/flow-go/issues/5566)) - - Unify Events API with new interfaces ([Issue #5557](https://github.com/onflow/flow-go/issues/5557)) - - Add integration tests for streaming blocks and observer APIs ([PR #5572](https://github.com/onflow/flow-go/issues/5572), [PR #5573](https://github.com/onflow/flow-go/issues/5573)) + - Complete adding tx results to streaming SendAndSubscribe response ([PR #5566](https://github.com/onflow/flow-go/issues/5566)) + - Fix race condition in Access ingestion engine ([Issue #5420](https://github.com/onflow/flow-go/issues/5420)) + - Support enabling indexing on Dynamic bootstrapped AN ([Issue #5423](https://github.com/onflow/flow-go/issues/5423)) + - Event streaming blog post **On Hold** From 85ac4e45db0dc263dac3e823219788c80af8b24d Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 12 Apr 2024 11:08:05 +0200 Subject: [PATCH 225/626] Cadence wg updates --- .../2024-04-12-Flow-Sprint-Kickoff.md | 96 ++++++++++++++++++- 1 file changed, 93 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 4cac1f523..14cbb9781 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -5,6 +5,13 @@ - Integrated QuickNode Access node profiler with our Grafana [dashboard](https://flowfoundation.grafana.net/explore?schemaVersion=1&panes=%7B%222hf%22%3A%7B%22datasource%22%3A%22ddhnnosc07gn4e%22%2C%22queries%22%3A%5B%7B%22groupBy%22%3A%5B%5D%2C%22labelSelector%22%3A%22%7B%7D%22%2C%22spanSelector%22%3A%5B%5D%2C%22queryType%22%3A%22both%22%2C%22refId%22%3A%22A%22%2C%22datasource%22%3A%7B%22type%22%3A%22grafana-pyroscope-datasource%22%2C%22uid%22%3A%22ddhnnosc07gn4e%22%7D%2C%22profileTypeId%22%3A%22process_cpu%3Acpu%3Ananoseconds%3Acpu%3Ananoseconds%22%7D%5D%2C%22range%22%3A%7B%22from%22%3A%22now-1h%22%2C%22to%22%3A%22now%22%7D%7D%7D&orgId=1) - Vishal - Local script execution successfully deployed to NFL ANs. Saw 35% reduction p50 request times. - Vishal - Local transaction results deployed to all public ANs. Saw 50% reduction in requests to ENs - Vishal +- Released [CLI preview.19](https://github.com/onflow/flow-cli/releases/tag/v1.17.0-cadence-v1.0.0-preview.19), unblocking local contract migration testing KR. - Jan +- Cadence 1.0 migrations - all migrations completed for valid data, now working on handling of 2 broken state edge-cases. - Jan +- Ready to start testing the Atree register inliing + Cadence 1.0 migrations together. - Jan +- Kicked off first Mainnet state imgration to C1.0 to test the performance and identified number of optimizations we are working on. - Jan +- New utility that generates data for dynamic bootstrapping without the need to create EN disk snapshot (enables [generating a protocol snapshot file for specified execution state checkpoint[(https://github.com/onflow/flow-go/issues/5580)]). - Jan +- Added emulator fuctionality now makes it possible to [run an emulator using existing checkpoint file](https://github.com/onflow/flow-emulator/pull/620). - Jan +- CodeRabbit AI PRs reviews / summaries are [cool](https://github.com/onflow/flow-evm-gateway/pull/186#issuecomment-2039857061)! - Jan ### General updates @@ -82,17 +89,100 @@ Cycle Objective(s): **Done last sprint** - +Cadence 1.0 migration environment +- Fixing last remaining migration issues for "healthy" state: [State migration fails in some cases](https://github.com/onflow/cadence/issues/3192) +- Added migration reporter for staged contracts migration: + - [Report the status of staged contract updates](https://github.com/onflow/flow-go/issues/5630) + - [Collect staged contracts from the storage](https://github.com/onflow/flow-go/pull/5659) +- Optimization: + - [Simplify migration runtime, no need for interface and environment](https://github.com/onflow/flow-go/issues/5651) + - [Improve atree register inlining v1.0](https://github.com/onflow/cadence/pull/3230) + - [Improve validation of Cadence values in atree migration](https://github.com/onflow/flow-go/pull/5609) + - [Use atree's new read-only iterators when mutation of returned values are not required](https://github.com/onflow/cadence/issues/2836) +- Handling broken state in migrations: + - [Migration to clean up unreferenced slabs](https://github.com/onflow/flow-go/issues/5634) + - [Introduce a dedicated error for unreferenced slabs and expose the IDs](https://github.com/onflow/cadence/pull/3231) + - [Move conflicting dictionary key to new dictionary in unique storage path](https://github.com/onflow/cadence/issues/3227) + - [Add storage health check flags for atree migration](https://github.com/onflow/flow-go/issues/5636) +- PReparing Cadence branch with integrated Atree register inlining: + - Atree bugfix: + - [Fix error type for external errors during serialization](https://github.com/onflow/atree/issues/382) + - [Use encoded type info to deduplicate extra data](https://github.com/onflow/atree/pull/381) + - [Merge master into v1.0 atree register inlining feature branch](https://github.com/onflow/cadence/issues/3229) + - [Merge v0.42 into v0.42 atree register inlining feature branch](https://github.com/onflow/cadence/issues/3228) + - [Bump onflow/atree to latest version in feature/atree-register-inlining-v1.0](https://github.com/onflow/cadence/pull/3223) + - [Bump onflow/atree to latest version in feature/atree-register-inlining-v0.42](https://github.com/onflow/cadence/issues/3218) + - [Port #3231 to v0.42](https://github.com/onflow/cadence/pull/3237) + - [Sync atree inlining branch with master](https://github.com/onflow/cadence/issues/3179) + - [Atree register inlining for v1.0](https://github.com/onflow/cadence/pull/3048) + - [Updating stable cadence branch with latest changes of master](https://github.com/onflow/flow-go/pull/5575) +- migration bugfixes: + - [Fix storage health check in Cadence 1.0 migration](https://github.com/onflow/flow-go/pull/5622) + - [Fix storage map key conversion in atree migration](https://github.com/onflow/flow-go/pull/5605) +- Migration tooling: [Add util command to extract payload by address](https://github.com/onflow/flow-go/pull/5608) + +Cadence 1.0 features & improvements +- [Check resource loss in all variable assignments](https://github.com/onflow/cadence/pull/3226) +- [Check resource loss in `CompositeValue.RemoveField`](https://github.com/onflow/cadence/issues/3224) +- bugfix: + - [Clear inAssignment when recursing into subexpressions](https://github.com/onflow/cadence/pull/3236) + - [Checker crash with dereference](https://github.com/onflow/cadence/issues/3214) + - [Fix built-in type import](https://github.com/onflow/cadence/pull/3212) +- Fix the crasher reported for revertibleRandom: [Handle missing type arguments in type argument checks](https://github.com/onflow/cadence/pull/3234) +- [remove ability to dereference arrays or dicts of structs](https://github.com/onflow/cadence/pull/3221) +- porting of release security fixes from v0.42 to 1.0 & other security fixes: + - [Fixes of v0.42.8-patch.4 do not work on master](https://github.com/onflow/cadence/issues/3081) + - [Add TypeArgumentsChecks to certain builtin functions](https://github.com/onflow/cadence/pull/3208) + - [Properly handle Never type argument to Capabilities.get](https://github.com/onflow/cadence/pull/3203) + - [Resource Reference Invalidation Improvements](https://github.com/onflow/cadence/pull/3181) + - [Proper type checking for resource use after validation on two-value transfers](https://github.com/onflow/cadence/pull/3176) + +Cadence docs: +- [Docs for dereference](https://github.com/onflow/cadence-lang.org/issues/82) +- [Fix header level in contract updatability documentation](https://github.com/onflow/cadence-lang.org/issues/85) +- [Fix typo in install command, add missing end quote](https://github.com/onflow/cadence-lang.org/issues/84) + +Cadence 1.0 dependency updates +- CLI: [1](https://github.com/onflow/flow-cli/issues/1494) +- EVM Gateway: [1](https://github.com/onflow/flow-evm-gateway/issues/184) +- Flixkit-go: [1](https://github.com/onflow/flixkit-go/issues/56), [2](https://github.com/onflow/flixkit-go/issues/54) +- Language server: [1](https://github.com/onflow/cadence-tools/issues/335) +- flowkit: [1](https://github.com/onflow/flowkit/issues/34) +- cadence-tools: [1](https://github.com/onflow/cadence-tools/issues/334), [2](https://github.com/onflow/cadence-tools/issues/333) +- emulator: [1](https://github.com/onflow/flow-emulator/issues/628) +- flow-go: [1](https://github.com/onflow/flow-go/issues/5621) +- flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/issues/614) + +EVM Gateway +- Big effort completed - refactored tests using web3.js: [E2E tests refactor](https://github.com/onflow/flow-evm-gateway/pull/186) +- [Events ingested from Cadence can be out of order](https://github.com/onflow/flow-evm-gateway/pull/198) +- [Stream new logs](https://github.com/onflow/flow-evm-gateway/issues/164) +- [Streaming of new transactions](https://github.com/onflow/flow-evm-gateway/pull/173) +- Big effort completed: [Streaming of new blocks](https://github.com/onflow/flow-evm-gateway/issues/163) + +Cadence Execution +- Issue with potential to cause execution form on dynamically-bootstrapped ENs: [Execution indeterminism when using cadence getBlock](https://github.com/dapperlabs/flow-go/issues/6939) +- Tech debt / improvement - unify defining FVM Options: [Add DefaultFVMOptions to verification builder](https://github.com/onflow/flow-go/pull/5440) +- O4-KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind: + - [Refactor ingestion engine mempool](https://github.com/onflow/flow-go/issues/5297) + - [Ingestion Block Queue](https://github.com/onflow/flow-go/pull/5248) + +Utils + - [Generate protocol snapshot file from latest checkpoint file](https://github.com/onflow/flow-go/issues/5580) **This sprint** Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades -* [Emulator release is ready](https://github.com/onflow/flow-cli/releases/tag/v1.15.0-cadence-v1.0.0-preview.14), support devs that are teting migration, monitor Discord questions. -* Testnet migration completed, moving on to adding [Atree register inlining](https://github.com/onflow/cadence/pull/3048) migration and validating migrated state on the TN migration environment. +* [Emulator release is ready](https://github.com/onflow/flow-cli/releases/tag/v1.17.0-cadence-v1.0.0-preview.19), support devs that are teting migration, monitor Discord questions. Objective 1, KR4: Testnet Upgrade to Crescendo Release +* Testnet migration completed, moving on to adding [Atree register inlining](https://github.com/onflow/cadence/pull/3048) migration and validating migrated state on the TN migration environment. +* Continue work on migration optimizations. * Continue with [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) for production readiness. +Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN +* Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind * Continue refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) From 80ed3d448066242cd5b0341a8feedb0263ce829b Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 12 Apr 2024 06:48:36 -0700 Subject: [PATCH 226/626] Minor win update --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 14cbb9781..601e2c69d 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -12,6 +12,7 @@ - New utility that generates data for dynamic bootstrapping without the need to create EN disk snapshot (enables [generating a protocol snapshot file for specified execution state checkpoint[(https://github.com/onflow/flow-go/issues/5580)]). - Jan - Added emulator fuctionality now makes it possible to [run an emulator using existing checkpoint file](https://github.com/onflow/flow-emulator/pull/620). - Jan - CodeRabbit AI PRs reviews / summaries are [cool](https://github.com/onflow/flow-evm-gateway/pull/186#issuecomment-2039857061)! - Jan +- Long running Go routine leak that had been a thorn in our side for some time now fixed thanks to lilbp2p update (Jerome) ### General updates From 6fdc8d8bf5729d0973aa658196e60f6cb0b9044f Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 12 Apr 2024 06:56:34 -0700 Subject: [PATCH 227/626] Protocol updates --- .../2024-04-12-Flow-Sprint-Kickoff.md | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 601e2c69d..afde1b202 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -12,7 +12,8 @@ - New utility that generates data for dynamic bootstrapping without the need to create EN disk snapshot (enables [generating a protocol snapshot file for specified execution state checkpoint[(https://github.com/onflow/flow-go/issues/5580)]). - Jan - Added emulator fuctionality now makes it possible to [run an emulator using existing checkpoint file](https://github.com/onflow/flow-emulator/pull/620). - Jan - CodeRabbit AI PRs reviews / summaries are [cool](https://github.com/onflow/flow-evm-gateway/pull/186#issuecomment-2039857061)! - Jan -- Long running Go routine leak that had been a thorn in our side for some time now fixed thanks to lilbp2p update (Jerome) +- Long running Go routine leak that had been a thorn in our side for some time now fixed thanks to lilbp2p update - Jerome +- Fixed CPU compatibility issue for ArtBlocks node resolving the last remaining crypto upgrade compatibility problem ### General updates @@ -223,20 +224,19 @@ Cycle Objective(s): * Zero-downtime Upgrades of Node Software: - Smart contract to coordinate protocol upgrade ([PR #411](https://github.com/onflow/flow-core-contracts/pull/411) in progress) - - + - Completed large [refactoring of Dynamic Protocol State](https://github.com/onflow/flow-go/pull/5616) supporting decomposition of whole state to sub-states with orthogonal processing state machines + - [Continued adding support changing protocol state ID in protocol snapshot](https://github.com/onflow/flow-go/pull/5656) + * EFM Recovery - * Tooling to generate data for EFM recovery ([PR #5576](https://github.com/onflow/flow-go/pull/5576) in progress) - + * Tooling to generate data for EFM recovery ([PR #5576](https://github.com/onflow/flow-go/pull/5576) merging) * Cryptography - Randomness-on chain contract: aligning on solution + implemented proposal + implemented tests ([PR #416](https://github.com/onflow/flow-core-contracts/pull/416) in progress) - New cryptography stack: - fix CPU-compatability issue: `Artblocks` are unblocked, root cause and long-term solutions are still ongoing (requires `Figment`'s help) - - + * Consensus speedup: - + - (Working group) Consensus Speedup - created [plan to increase block rate](https://www.notion.so/flowfoundation/Cruise-Control-headroom-for-speedups-46dc17e07ae14462b03341e4432a907d?pvs=4#2e10de62e6454402ba6b7ee350f98e10) * Data Availability: - Deployed local script exec to 40% FF nodes, 22% QN nodes @@ -253,15 +253,19 @@ Cycle Objective(s): **This sprint** * Zero-downtime Upgrades of Node Software: + - [Finalize and merge PR for querying of KV Store](https://github.com/onflow/flow-go/pull/5650) - Cleanup and fix tests (large!) - Finish smart contract to coordinate protocol upgrade ([PR #411](https://github.com/onflow/flow-core-contracts/pull/411)) - Continue on integration tests ([draft PR #5477](https://github.com/onflow/flow-go/pull/5477)) - + - Implementation and PR reviews of remaining loose ends for KV Store integration + - Completing https://github.com/onflow/flow-go/pull/5656 + - Version upgrade protocol integration test will be unblocked, [preparing for review](https://github.com/onflow/flow-go/pull/5477) * EFM Recovery - Generate data for EFM recovery (complete [PR #5576](https://github.com/onflow/flow-go/pull/5576) and potential follow-up) - Start on [Governance Transaction to initiate EFM recovery](https://github.com/dapperlabs/flow-go/issues/6956) - + - [Wrap up cadence changes](https://github.com/onflow/flow-go/issues/5638) + - [EFM recovery e2e integration tests](https://github.com/onflow/flow-go/issues/5639) * Cryptography - Randomness-on chain contract: finish the implementation and update the contracts onchain From a062307821caa716d21269f9498acea5af065c64 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 12 Apr 2024 07:02:34 -0700 Subject: [PATCH 228/626] Misc protocol and defi updates --- .../sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index afde1b202..8494d068f 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -13,7 +13,7 @@ - Added emulator fuctionality now makes it possible to [run an emulator using existing checkpoint file](https://github.com/onflow/flow-emulator/pull/620). - Jan - CodeRabbit AI PRs reviews / summaries are [cool](https://github.com/onflow/flow-evm-gateway/pull/186#issuecomment-2039857061)! - Jan - Long running Go routine leak that had been a thorn in our side for some time now fixed thanks to lilbp2p update - Jerome -- Fixed CPU compatibility issue for ArtBlocks node resolving the last remaining crypto upgrade compatibility problem +- Fixed CPU compatibility issue for ArtBlocks node resolving the last remaining crypto upgrade compatibility problem - Jerome ### General updates @@ -218,7 +218,7 @@ Cycle Objective(s): * Translate crypto performance improvements to consensus block rate increase * Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node * Reduce CPU usage on Execution node by 30% -* Continue design and implementation of Sporkless Epoch Fallback Recovery solution +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] **Done last Sprint:** @@ -309,14 +309,16 @@ Cycle Objective(s): **Done last sprint** -* Completed milestone #6 of JVM SDK update to analyze scope of work for subsequent update phase +* Completed milestone #6 of JVM SDK update to analyze scope of work for subsequent update phase +* Continued discussions with Circle about migration to EVM based USDC from Cadence **This sprint** -* Start milestones #5 & #6 of JVM SDK update to update example repo, then analyze scope of work for subsequent grant +* Review plan/proposal for next phase of JVM SDK update to bring it back to feature parity after years of being overlooked +* Start ramping [DeBridge](https://docs.debridge.finance/) integration for EVM **On Hold** -- Axelar release waiting confirmation of new timeline, no engineering ongoing +- Axelar bridge release waiting confirmation of new timeline, no engineering ongoing **Active Epics** From 3d8e0494c1f6e331b41ff8282bd5c152d3bc1fa6 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 12 Apr 2024 07:38:31 -0700 Subject: [PATCH 229/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 8494d068f..6bb29bc84 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -12,7 +12,7 @@ - New utility that generates data for dynamic bootstrapping without the need to create EN disk snapshot (enables [generating a protocol snapshot file for specified execution state checkpoint[(https://github.com/onflow/flow-go/issues/5580)]). - Jan - Added emulator fuctionality now makes it possible to [run an emulator using existing checkpoint file](https://github.com/onflow/flow-emulator/pull/620). - Jan - CodeRabbit AI PRs reviews / summaries are [cool](https://github.com/onflow/flow-evm-gateway/pull/186#issuecomment-2039857061)! - Jan -- Long running Go routine leak that had been a thorn in our side for some time now fixed thanks to lilbp2p update - Jerome +- Long running Go routine leak that had been a thorn in our side for some time now fixed thanks to libp2p update - Jerome - Fixed CPU compatibility issue for ArtBlocks node resolving the last remaining crypto upgrade compatibility problem - Jerome ### General updates @@ -311,6 +311,7 @@ Cycle Objective(s): * Completed milestone #6 of JVM SDK update to analyze scope of work for subsequent update phase * Continued discussions with Circle about migration to EVM based USDC from Cadence +* Increment shared their upgraded C1.0 contracts for Flow team review **This sprint** @@ -318,7 +319,7 @@ Cycle Objective(s): * Start ramping [DeBridge](https://docs.debridge.finance/) integration for EVM **On Hold** -- Axelar bridge release waiting confirmation of new timeline, no engineering ongoing +- Axelar Cadence bridge release waiting confirmation of new timeline, no engineering ongoing **Active Epics** From 0191473e80149415b405a675016907f37c3a0174 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 12 Apr 2024 09:12:12 -0600 Subject: [PATCH 230/626] Add infra section --- .../2024-04-12-Flow-Sprint-Kickoff.md | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 6bb29bc84..5dfd16058 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -423,11 +423,37 @@ Cycle Objective(s): ### **Infra - JP** Cycle Objective(s): - Finish GCP project migration to the Flow Foundation org -- Start planning CloudFlare migration -- Finish DevEx migration to Cloud Run +- Remove dependency on Gen2 cluster resources for CloudFlare migration +- Continue assisting with DevEx migration to Cloud Run **Done last sprint** +**CloudFlare Migration** +- Evaluate performance of TLS termination & processing with GCP load balancing +- Delete unnecessary resources from Gen2 cluster +- Remove CloudFlare dependency for flow webflow endpoints +- [Create infra & automation for hardware wallet api migration](https://github.com/dapperlabs/flow-devex-infrastructure) + +**DevEx Migration** +- Assist with troubleshooting key indexer on Cloud Run + +**Observability & OnCall** +- Work with QuickNode to enable continous profiling on ANs +- Enable & validate delivery of alerts to both Grafana OnCall & Pagerduty + +**Node Hosting** +- [Asissted DHT fix deployment to all FF & DL nodes](https://www.notion.so/flowfoundation/Mainne24-v0-33-14-upgrades-0dcd60bb4ea64d338caf907562e47440) +- [Pruned Devnet & Mainnet node logs to clean up boot disks](https://www.notion.so/flowfoundation/AN-Boot-Disk-Cleanup-on-TN-MN-535aaa3c2eb944edae02a196f0bd85f4) + +**Support** +- [Create development instance for Krok team](https://github.com/dapperlabs/terraform/pull/4208) +- [Create additional KMS keys for token distribution](https://github.com/dapperlabs/terraform/pull/4207) +- Created initial PRs for migrating to Flow Foundation VPN services + +**Goal of Sprint is to continue migration efforts** +**This Sprint** +- Finish Gen2 cluster clean up and migration to GCP load balancing +- Move GCP projects to Flow Foundation as needed --- From 86e51da8b9428e4e4d06d99d933c679ec52fc688 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 12 Apr 2024 09:12:26 -0600 Subject: [PATCH 231/626] Add infra section --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 5dfd16058..a8016cf2b 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -450,7 +450,7 @@ Cycle Objective(s): - [Create additional KMS keys for token distribution](https://github.com/dapperlabs/terraform/pull/4207) - Created initial PRs for migrating to Flow Foundation VPN services -**Goal of Sprint is to continue migration efforts** +**Goal of this Sprint is to continue migration efforts** **This Sprint** - Finish Gen2 cluster clean up and migration to GCP load balancing - Move GCP projects to Flow Foundation as needed From e6ca5945db703bb0282c49ba0939065a4c84f260 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 12 Apr 2024 08:29:03 -0700 Subject: [PATCH 232/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index a8016cf2b..517e90d23 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -3,7 +3,8 @@ ### Team Wins 🎉 - Integrated QuickNode Access node profiler with our Grafana [dashboard](https://flowfoundation.grafana.net/explore?schemaVersion=1&panes=%7B%222hf%22%3A%7B%22datasource%22%3A%22ddhnnosc07gn4e%22%2C%22queries%22%3A%5B%7B%22groupBy%22%3A%5B%5D%2C%22labelSelector%22%3A%22%7B%7D%22%2C%22spanSelector%22%3A%5B%5D%2C%22queryType%22%3A%22both%22%2C%22refId%22%3A%22A%22%2C%22datasource%22%3A%7B%22type%22%3A%22grafana-pyroscope-datasource%22%2C%22uid%22%3A%22ddhnnosc07gn4e%22%7D%2C%22profileTypeId%22%3A%22process_cpu%3Acpu%3Ananoseconds%3Acpu%3Ananoseconds%22%7D%5D%2C%22range%22%3A%7B%22from%22%3A%22now-1h%22%2C%22to%22%3A%22now%22%7D%7D%7D&orgId=1) - Vishal -- Local script execution successfully deployed to NFL ANs. Saw 35% reduction p50 request times. - Vishal +- Local script execution successfully deployed to NFL ANs. Saw 35% reduction p90 request times. - Vishal +- Local script execution successfully tested for Fnacraze. Saw 50% reduction p90 request times. - Vishal - Local transaction results deployed to all public ANs. Saw 50% reduction in requests to ENs - Vishal - Released [CLI preview.19](https://github.com/onflow/flow-cli/releases/tag/v1.17.0-cadence-v1.0.0-preview.19), unblocking local contract migration testing KR. - Jan - Cadence 1.0 migrations - all migrations completed for valid data, now working on handling of 2 broken state edge-cases. - Jan From e160911359180de911e0df3900436c71e1bfc69e Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 12 Apr 2024 08:38:29 -0700 Subject: [PATCH 233/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 1 - 1 file changed, 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 517e90d23..be4df9ef9 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -68,7 +68,6 @@ (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) ### Untagged FLIPs - - https://github.com/onflow/flips/pull/246 -- https://github.com/onflow/flips/pull/195 - https://github.com/onflow/flips/pull/250 - https://github.com/onflow/flips/pull/256 From 922200707d7ed65298f15951d92b1e72666d64b2 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 12 Apr 2024 08:51:00 -0700 Subject: [PATCH 234/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index be4df9ef9..9c33a0d1b 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -46,8 +46,8 @@ - Next Mainnet/Testnet network upgrade (spork): - Testnet: 5/22/24 - - Mainnet: 6/26/24 -- First Testnet Migration test run: + - Mainnet: June/July 2024 (exact date TBD) +- Two testnet migration test runs completed --- From 5cc0ad1e603a4d566c13296c11b24f5a5bfc4b0d Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 12 Apr 2024 08:58:03 -0700 Subject: [PATCH 235/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- .../2024-04-12-Flow-Sprint-Kickoff.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 9c33a0d1b..84c0c2311 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -457,24 +457,24 @@ Cycle Objective(s): --- -### **Governance and Tokenomics** \[Kshitij] +### **Governance and Tokenomics** \[Vishal] Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** -- Forum post regarding proposals on EVM gas and transaction fee reviewed, published, and shared on Discord. Working groups were briefed to disseminate details of the proposed changes to the community in upcoming meetings. See the post [here](https://forum.flow.com/t/proposing-transaction-fee-changes-and-flow-evm-gas-charges-for-flow-crescendo-launch/5817) -- Modeled inflation reduction options including the impact on validator incentives. Discussed pros and cons with Dete; additional research is needed on new potential options that surfaced aimed at minimizing impact on validators, token holders, and network security. See deck [here](https://docs.google.com/presentation/d/1EBYqB8FwxHtOwaQMHiId0ZZv4bRNThNYrgF5-CZeI8M/edit?pli=1#slide=id.g26c5efcb5cb_0_280) +- Forum [post](https://forum.flow.com/t/proposing-transaction-fee-changes-and-flow-evm-gas-charges-for-flow-crescendo-launch/5817) regarding proposals on EVM gas and transaction fee published. +- Modeled inflation reduction and had the first round of internal discussion; additional research is needed on new potential options.See deck [here](https://docs.google.com/presentation/d/1EBYqB8FwxHtOwaQMHiId0ZZv4bRNThNYrgF5-CZeI8M/edit?pli=1#slide=id.g26c5efcb5cb_0_280) - Impact of transaction fee increase on partner costs was assessed by pulling latest data for top 20 transaction payers on Flow. Discussions held with BD/partnership team, and the timeline for partner outreach is set for mid-May. See research [here](https://docs.google.com/spreadsheets/d/1PPxxAotsIYLzydAnuBAgQe1BmEcamiuSQUmsDtrpaKs/edit#gid=1414811201) -- Working Groups convened to address challenges related to hosting working groups, particularly the formalization of WGs that have transitioned them into more structured townhall-style meetings rather than informal participatory sessions where tangible work was accomplished. Going forward, WGs wouldn't overtly concern themselves with formalization and structures except keeping GitHub pages updated after meetings -- Monthly Governance Working Group meeting was convened - Governance OKR updates were shared along with current status of FLIPs; also invited new community operators to set up consensus nodes (to maintain decentralization) +- Working Groups convened to address challenges related to hosting working groups, particularly the formalization of WGs that have transitioned them into more structured townhall-style meetings rather than informal participatory sessions where tangible work was accomplished. +- Ran the monthly Governance Working Group meeting and gave Governance OKR updates, update on current status of FLIPs and announced availability of 5 new consensus node slots (to maintain decentralization) **This sprint** -- For decentralization efforts, work with a16z to consolidate three nodes, and with Coinbase to reduce one node they operate on leased stake -- Automation of decentralization dashboard to send messages when critical thresholds are crossed - Gather and respond to community feedback on the forum post -- Draft FLIP on EVM gas to compute ratio and compute limit hike +- For decentralization efforts, work with a16z to consolidate three nodes, and with Coinbase to reduce one node they operate on leased stake +- Continue work on automation of the decentralization dashboard to send messages when critical thresholds are crossed +- Draft FLIP on EVM gas to compute ratio and compute limit hike. - Update FLIP on transaction fee to suggest a transaction fee multiplier closely tied to FLOW token's market price -- Continue research on Inflation (new strategies, other networks, validator impact, etc.) and sync with Dete again +- Continue research on Inflation (new strategies, other networks, validator impact, etc.) and have a second round of review. **On Hold** From 56e3cb1ecf81cdb08fb6b2be75c3f4102439e123 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 12 Apr 2024 09:00:24 -0700 Subject: [PATCH 236/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 84c0c2311..f66527404 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -462,7 +462,7 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf **Done last sprint** - Forum [post](https://forum.flow.com/t/proposing-transaction-fee-changes-and-flow-evm-gas-charges-for-flow-crescendo-launch/5817) regarding proposals on EVM gas and transaction fee published. -- Modeled inflation reduction and had the first round of internal discussion; additional research is needed on new potential options.See deck [here](https://docs.google.com/presentation/d/1EBYqB8FwxHtOwaQMHiId0ZZv4bRNThNYrgF5-CZeI8M/edit?pli=1#slide=id.g26c5efcb5cb_0_280) +- Modeled inflation reduction options and had the first round of internal discussion; additional research is needed on new potential options. See deck [here](https://docs.google.com/presentation/d/1EBYqB8FwxHtOwaQMHiId0ZZv4bRNThNYrgF5-CZeI8M/edit?pli=1#slide=id.g26c5efcb5cb_0_280) - Impact of transaction fee increase on partner costs was assessed by pulling latest data for top 20 transaction payers on Flow. Discussions held with BD/partnership team, and the timeline for partner outreach is set for mid-May. See research [here](https://docs.google.com/spreadsheets/d/1PPxxAotsIYLzydAnuBAgQe1BmEcamiuSQUmsDtrpaKs/edit#gid=1414811201) - Working Groups convened to address challenges related to hosting working groups, particularly the formalization of WGs that have transitioned them into more structured townhall-style meetings rather than informal participatory sessions where tangible work was accomplished. - Ran the monthly Governance Working Group meeting and gave Governance OKR updates, update on current status of FLIPs and announced availability of 5 new consensus node slots (to maintain decentralization) From 09d4b8135f9ec0c015980c89ee3e386bb6a1e940 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 12 Apr 2024 09:03:13 -0700 Subject: [PATCH 237/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index f66527404..f3cb57eea 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -463,9 +463,8 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf **Done last sprint** - Forum [post](https://forum.flow.com/t/proposing-transaction-fee-changes-and-flow-evm-gas-charges-for-flow-crescendo-launch/5817) regarding proposals on EVM gas and transaction fee published. - Modeled inflation reduction options and had the first round of internal discussion; additional research is needed on new potential options. See deck [here](https://docs.google.com/presentation/d/1EBYqB8FwxHtOwaQMHiId0ZZv4bRNThNYrgF5-CZeI8M/edit?pli=1#slide=id.g26c5efcb5cb_0_280) -- Impact of transaction fee increase on partner costs was assessed by pulling latest data for top 20 transaction payers on Flow. Discussions held with BD/partnership team, and the timeline for partner outreach is set for mid-May. See research [here](https://docs.google.com/spreadsheets/d/1PPxxAotsIYLzydAnuBAgQe1BmEcamiuSQUmsDtrpaKs/edit#gid=1414811201) -- Working Groups convened to address challenges related to hosting working groups, particularly the formalization of WGs that have transitioned them into more structured townhall-style meetings rather than informal participatory sessions where tangible work was accomplished. -- Ran the monthly Governance Working Group meeting and gave Governance OKR updates, update on current status of FLIPs and announced availability of 5 new consensus node slots (to maintain decentralization) +- Impact of transaction fee increase on partner costs was assessed by pulling the latest data for the top 20 transaction payers on Flow. Discussions were held with BD/partnership team, and the timeline for partner outreach is set for mid-May. See research [here](https://docs.google.com/spreadsheets/d/1PPxxAotsIYLzydAnuBAgQe1BmEcamiuSQUmsDtrpaKs/edit#gid=1414811201) +- Ran the monthly Governance Working Group meeting and gave Governance OKR updates, updated on the current status of FLIPs and announced the availability of 5 new consensus node slots (to maintain decentralization) **This sprint** From 34c15daf4660252876a89160b3417b4c8f72535a Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 12 Apr 2024 09:05:35 -0700 Subject: [PATCH 238/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index f3cb57eea..79b4c1966 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -21,7 +21,8 @@ ### OOO - [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) -- Starting Next Week: +- Starting this week: + - Kshitij [4/12 - 4-19] --- From 8109e38d2165917b1fcd0ad881ce88562654f13a Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 12 Apr 2024 09:07:53 -0700 Subject: [PATCH 239/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 79b4c1966..9f13a425c 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -4,7 +4,7 @@ ### Team Wins 🎉 - Integrated QuickNode Access node profiler with our Grafana [dashboard](https://flowfoundation.grafana.net/explore?schemaVersion=1&panes=%7B%222hf%22%3A%7B%22datasource%22%3A%22ddhnnosc07gn4e%22%2C%22queries%22%3A%5B%7B%22groupBy%22%3A%5B%5D%2C%22labelSelector%22%3A%22%7B%7D%22%2C%22spanSelector%22%3A%5B%5D%2C%22queryType%22%3A%22both%22%2C%22refId%22%3A%22A%22%2C%22datasource%22%3A%7B%22type%22%3A%22grafana-pyroscope-datasource%22%2C%22uid%22%3A%22ddhnnosc07gn4e%22%7D%2C%22profileTypeId%22%3A%22process_cpu%3Acpu%3Ananoseconds%3Acpu%3Ananoseconds%22%7D%5D%2C%22range%22%3A%7B%22from%22%3A%22now-1h%22%2C%22to%22%3A%22now%22%7D%7D%7D&orgId=1) - Vishal - Local script execution successfully deployed to NFL ANs. Saw 35% reduction p90 request times. - Vishal -- Local script execution successfully tested for Fnacraze. Saw 50% reduction p90 request times. - Vishal +- Local script execution successfully tested for Fancraze. Saw 50% reduction p90 request times. - Vishal - Local transaction results deployed to all public ANs. Saw 50% reduction in requests to ENs - Vishal - Released [CLI preview.19](https://github.com/onflow/flow-cli/releases/tag/v1.17.0-cadence-v1.0.0-preview.19), unblocking local contract migration testing KR. - Jan - Cadence 1.0 migrations - all migrations completed for valid data, now working on handling of 2 broken state edge-cases. - Jan From 4db51dfc5178eb71e239509c5c3ec28b5205dce4 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 12 Apr 2024 09:17:16 -0700 Subject: [PATCH 240/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 9f13a425c..214d92f44 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -269,10 +269,8 @@ Cycle Objective(s): - [EFM recovery e2e integration tests](https://github.com/onflow/flow-go/issues/5639) * Cryptography - - Randomness-on chain contract: finish the implementation and update the contracts onchain - - new cryptography stack: - - continue on CPU-compatability issue - - extra build docs in all repos + - Randomness-on chain contract: merge then deploy contracts onchain + - BLS proof of possession: check the state of old epic and remaining work * Data Availability: From f874e9b8aca23655557faaa60d704039025f192e Mon Sep 17 00:00:00 2001 From: Jeff Doyle Date: Fri, 12 Apr 2024 09:43:44 -0700 Subject: [PATCH 241/626] Update 2024-04-12-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 214d92f44..ab5fb3e18 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -406,6 +406,9 @@ Cycle Objective(s): - Complete Web3.js integration, authorization - VM Bridge integration, moving FT and NFT in app. +- Product scoping for next cycle: + - Identifying needed polish + bug fixes + - Next product opportunities - CTD: Outreach with Coinbase Wallet, MetaMask, Shadow Wallet and Blocto - CTD: Working with Apple on app approval & release From 911321113030835e9d6cc5dbcb8e0200c51e216a Mon Sep 17 00:00:00 2001 From: Kan Zhang Date: Fri, 12 Apr 2024 10:05:50 -0700 Subject: [PATCH 242/626] Update 2024-04-12-Flow-Sprint-Kickoff.md fix typos --- agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index ab5fb3e18..84a0684a9 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -8,8 +8,8 @@ - Local transaction results deployed to all public ANs. Saw 50% reduction in requests to ENs - Vishal - Released [CLI preview.19](https://github.com/onflow/flow-cli/releases/tag/v1.17.0-cadence-v1.0.0-preview.19), unblocking local contract migration testing KR. - Jan - Cadence 1.0 migrations - all migrations completed for valid data, now working on handling of 2 broken state edge-cases. - Jan -- Ready to start testing the Atree register inliing + Cadence 1.0 migrations together. - Jan -- Kicked off first Mainnet state imgration to C1.0 to test the performance and identified number of optimizations we are working on. - Jan +- Ready to start testing the Atree register inlining + Cadence 1.0 migrations together. - Jan +- Kicked off first Mainnet state migration to C1.0 to test the performance and identified number of optimizations we are working on. - Jan - New utility that generates data for dynamic bootstrapping without the need to create EN disk snapshot (enables [generating a protocol snapshot file for specified execution state checkpoint[(https://github.com/onflow/flow-go/issues/5580)]). - Jan - Added emulator fuctionality now makes it possible to [run an emulator using existing checkpoint file](https://github.com/onflow/flow-emulator/pull/620). - Jan - CodeRabbit AI PRs reviews / summaries are [cool](https://github.com/onflow/flow-evm-gateway/pull/186#issuecomment-2039857061)! - Jan From 7adbbb916bdb2f7fa1c3b9983cb9fb401d9fcb6f Mon Sep 17 00:00:00 2001 From: Andrii Slisarchuk Date: Thu, 18 Apr 2024 02:14:29 +0300 Subject: [PATCH 243/626] Added valid HTTP error codes with comments --- openapi/access.yaml | 46 ++++++++++----- openapi/go-client-generated/api/swagger.yaml | 56 ++++++++++++++----- .../api_subscribe_events.go | 8 +-- 3 files changed, 77 insertions(+), 33 deletions(-) diff --git a/openapi/access.yaml b/openapi/access.yaml index 14963353e..e846dd9a1 100644 --- a/openapi/access.yaml +++ b/openapi/access.yaml @@ -583,14 +583,14 @@ paths: schema: $ref: '#/components/schemas/SubscribeEvents' description: OK - '1001': - $ref: '#/components/responses/1001CloseGoingAway' - '1003': - $ref: '#/components/responses/1003CloseUnsupportedData' - '1011': - $ref: '#/components/responses/1011CloseInternalServerError' - '1013': - $ref: '#/components/responses/1013CloseTryAgaitLater' + '400': + $ref: '#/components/responses/400BadRequestWS' + '408': + $ref: '#/components/responses/408ServerTimeoutWS' + '500': + $ref: '#/components/responses/500InternalServerErrorWS' + '503': + $ref: '#/components/responses/503ServiceUnavailableWS' parameters: - name: start_height in: query @@ -1239,32 +1239,48 @@ components: application/json: schema: $ref: '#/components/schemas/Error' + 408ServerTimeout: + description: Server Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/Error' 500InternalServerError: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' - 1001CloseGoingAway: - description: Going Away + 503ServiceUnavailable: + description: Service Unavailable + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + 400BadRequestWS: + description: Bad Request + x-comments: As OpenAPI does not support websocket description, this error code actually "1003" and return in a close message content: application/json: schema: $ref: '#/components/schemas/Error' - 1003CloseUnsupportedData: - description: Unsupported Data + 408ServerTimeoutWS: + description: Server Timeout + x-comments: As OpenAPI does not support websocket description, this error code actually "1001" and return in a close message content: application/json: schema: $ref: '#/components/schemas/Error' - 1011CloseInternalServerError: + 500InternalServerErrorWS: description: Internal Server Error + x-comments: As OpenAPI does not support websocket description, this error code actually "1011" and return in a close message content: application/json: schema: $ref: '#/components/schemas/Error' - 1013CloseTryAgaitLater: - description: Try Agait Later + 503ServiceUnavailableWS: + description: Service Unavailable + x-comments: As OpenAPI does not support websocket description, this error code actually "1013" and return in a close message content: application/json: schema: diff --git a/openapi/go-client-generated/api/swagger.yaml b/openapi/go-client-generated/api/swagger.yaml index 6aa5e4736..94827f1fa 100644 --- a/openapi/go-client-generated/api/swagger.yaml +++ b/openapi/go-client-generated/api/swagger.yaml @@ -1088,30 +1088,38 @@ paths: application/json: schema: $ref: '#/components/schemas/SubscribeEvents' - "1001": - description: Going Away + "400": + description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' - "1003": - description: Unsupported Data + x-comments: "As OpenAPI does not support websocket description, this error\ + \ code actually \"1003\" and return in a close message" + "408": + description: Server Timeout content: application/json: schema: $ref: '#/components/schemas/Error' - "1011": + x-comments: "As OpenAPI does not support websocket description, this error\ + \ code actually \"1001\" and return in a close message" + "500": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' - "1013": - description: Try Agait Later + x-comments: "As OpenAPI does not support websocket description, this error\ + \ code actually \"1011\" and return in a close message" + "503": + description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/Error' + x-comments: "As OpenAPI does not support websocket description, this error\ + \ code actually \"1013\" and return in a close message" components: schemas: Account: @@ -2240,36 +2248,56 @@ components: application/json: schema: $ref: '#/components/schemas/Error' + "408ServerTimeout": + description: Server Timeout + content: + application/json: + schema: + $ref: '#/components/schemas/Error' "500InternalServerError": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' - "1001CloseGoingAway": - description: Going Away + "503ServiceUnavailable": + description: Service Unavailable + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + "400BadRequestWS": + description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' - "1003CloseUnsupportedData": - description: Unsupported Data + x-comments: "As OpenAPI does not support websocket description, this error code\ + \ actually \"1003\" and return in a close message" + "408ServerTimeoutWS": + description: Server Timeout content: application/json: schema: $ref: '#/components/schemas/Error' - "1011CloseInternalServerError": + x-comments: "As OpenAPI does not support websocket description, this error code\ + \ actually \"1001\" and return in a close message" + "500InternalServerErrorWS": description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' - "1013CloseTryAgaitLater": - description: Try Agait Later + x-comments: "As OpenAPI does not support websocket description, this error code\ + \ actually \"1011\" and return in a close message" + "503ServiceUnavailableWS": + description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/Error' + x-comments: "As OpenAPI does not support websocket description, this error code\ + \ actually \"1013\" and return in a close message" parameters: expandParam: name: expand diff --git a/openapi/go-client-generated/api_subscribe_events.go b/openapi/go-client-generated/api_subscribe_events.go index 7ec990c6d..d361dc082 100644 --- a/openapi/go-client-generated/api_subscribe_events.go +++ b/openapi/go-client-generated/api_subscribe_events.go @@ -137,7 +137,7 @@ func (a *SubscribeEventsApiService) SubscribeEventsGet(ctx context.Context, loca newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr } - if localVarHttpResponse.StatusCode == 1001 { + if localVarHttpResponse.StatusCode == 400 { var v ModelError err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { @@ -147,7 +147,7 @@ func (a *SubscribeEventsApiService) SubscribeEventsGet(ctx context.Context, loca newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr } - if localVarHttpResponse.StatusCode == 1003 { + if localVarHttpResponse.StatusCode == 408 { var v ModelError err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { @@ -157,7 +157,7 @@ func (a *SubscribeEventsApiService) SubscribeEventsGet(ctx context.Context, loca newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr } - if localVarHttpResponse.StatusCode == 1011 { + if localVarHttpResponse.StatusCode == 500 { var v ModelError err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { @@ -167,7 +167,7 @@ func (a *SubscribeEventsApiService) SubscribeEventsGet(ctx context.Context, loca newErr.model = v return localVarReturnValue, localVarHttpResponse, newErr } - if localVarHttpResponse.StatusCode == 1013 { + if localVarHttpResponse.StatusCode == 503 { var v ModelError err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); if err != nil { From efd861fd226a29c9a93ffb8653d202e29ce14f15 Mon Sep 17 00:00:00 2001 From: Andrii Slisarchuk Date: Thu, 18 Apr 2024 02:42:01 +0300 Subject: [PATCH 244/626] Try to add error description --- openapi/access.yaml | 24 ++++++--- openapi/go-client-generated/api/swagger.yaml | 56 +++++++++++--------- 2 files changed, 48 insertions(+), 32 deletions(-) diff --git a/openapi/access.yaml b/openapi/access.yaml index e846dd9a1..cb40310a2 100644 --- a/openapi/access.yaml +++ b/openapi/access.yaml @@ -1258,29 +1258,37 @@ components: schema: $ref: '#/components/schemas/Error' 400BadRequestWS: - description: Bad Request - x-comments: As OpenAPI does not support websocket description, this error code actually "1003" and return in a close message + description: | + Bad Request + + As OpenAPI does not support websocket description, this error code actually \"1003\" and is returned in a close message. content: application/json: schema: $ref: '#/components/schemas/Error' 408ServerTimeoutWS: - description: Server Timeout - x-comments: As OpenAPI does not support websocket description, this error code actually "1001" and return in a close message + description: | + Server Timeout + + As OpenAPI does not support websocket description, this error code actually \"1001\" and return in a close message. content: application/json: schema: $ref: '#/components/schemas/Error' 500InternalServerErrorWS: - description: Internal Server Error - x-comments: As OpenAPI does not support websocket description, this error code actually "1011" and return in a close message + description: | + Internal Server Error + + As OpenAPI does not support websocket description, this error code actually \"1011\" and return in a close message. content: application/json: schema: $ref: '#/components/schemas/Error' 503ServiceUnavailableWS: - description: Service Unavailable - x-comments: As OpenAPI does not support websocket description, this error code actually "1013" and return in a close message + description: | + Service Unavailable + + As OpenAPI does not support websocket description, this error code actually \"1013\" and return in a close message. content: application/json: schema: diff --git a/openapi/go-client-generated/api/swagger.yaml b/openapi/go-client-generated/api/swagger.yaml index 94827f1fa..6e9aba619 100644 --- a/openapi/go-client-generated/api/swagger.yaml +++ b/openapi/go-client-generated/api/swagger.yaml @@ -1089,37 +1089,41 @@ paths: schema: $ref: '#/components/schemas/SubscribeEvents' "400": - description: Bad Request + description: | + Bad Request + + As OpenAPI does not support websocket description, this error code actually \"1003\" and is returned in a close message. content: application/json: schema: $ref: '#/components/schemas/Error' - x-comments: "As OpenAPI does not support websocket description, this error\ - \ code actually \"1003\" and return in a close message" "408": - description: Server Timeout + description: | + Server Timeout + + As OpenAPI does not support websocket description, this error code actually \"1001\" and return in a close message. content: application/json: schema: $ref: '#/components/schemas/Error' - x-comments: "As OpenAPI does not support websocket description, this error\ - \ code actually \"1001\" and return in a close message" "500": - description: Internal Server Error + description: | + Internal Server Error + + As OpenAPI does not support websocket description, this error code actually \"1011\" and return in a close message. content: application/json: schema: $ref: '#/components/schemas/Error' - x-comments: "As OpenAPI does not support websocket description, this error\ - \ code actually \"1011\" and return in a close message" "503": - description: Service Unavailable + description: | + Service Unavailable + + As OpenAPI does not support websocket description, this error code actually \"1013\" and return in a close message. content: application/json: schema: $ref: '#/components/schemas/Error' - x-comments: "As OpenAPI does not support websocket description, this error\ - \ code actually \"1013\" and return in a close message" components: schemas: Account: @@ -2267,37 +2271,41 @@ components: schema: $ref: '#/components/schemas/Error' "400BadRequestWS": - description: Bad Request + description: | + Bad Request + + As OpenAPI does not support websocket description, this error code actually \"1003\" and is returned in a close message. content: application/json: schema: $ref: '#/components/schemas/Error' - x-comments: "As OpenAPI does not support websocket description, this error code\ - \ actually \"1003\" and return in a close message" "408ServerTimeoutWS": - description: Server Timeout + description: | + Server Timeout + + As OpenAPI does not support websocket description, this error code actually \"1001\" and return in a close message. content: application/json: schema: $ref: '#/components/schemas/Error' - x-comments: "As OpenAPI does not support websocket description, this error code\ - \ actually \"1001\" and return in a close message" "500InternalServerErrorWS": - description: Internal Server Error + description: | + Internal Server Error + + As OpenAPI does not support websocket description, this error code actually \"1011\" and return in a close message. content: application/json: schema: $ref: '#/components/schemas/Error' - x-comments: "As OpenAPI does not support websocket description, this error code\ - \ actually \"1011\" and return in a close message" "503ServiceUnavailableWS": - description: Service Unavailable + description: | + Service Unavailable + + As OpenAPI does not support websocket description, this error code actually \"1013\" and return in a close message. content: application/json: schema: $ref: '#/components/schemas/Error' - x-comments: "As OpenAPI does not support websocket description, this error code\ - \ actually \"1013\" and return in a close message" parameters: expandParam: name: expand From 5406540d7fc056f016bf1363f0fed5e9b955341a Mon Sep 17 00:00:00 2001 From: Andrii Slisarchuk Date: Thu, 18 Apr 2024 02:52:24 +0300 Subject: [PATCH 245/626] Fixed descriptions --- openapi/access.yaml | 13 ++++++---- openapi/go-client-generated/api/swagger.yaml | 24 +++++++++---------- .../api_subscribe_events.go | 2 +- .../docs/SubscribeEventsApi.md | 2 +- 4 files changed, 22 insertions(+), 19 deletions(-) diff --git a/openapi/access.yaml b/openapi/access.yaml index cb40310a2..04a1463e4 100644 --- a/openapi/access.yaml +++ b/openapi/access.yaml @@ -573,7 +573,10 @@ paths: /subscribe_events: get: summary: Subscribe events - description: Streaming on-chain events for all blocks starting at the requested start block, up until the latest available block. Once the latest is reached, the stream will remain open and responses are sent for each new block as it becomes available. + description: | + IMPORTANT NOTE: This is a WebSocket connection, so the `ws://` or `wss://` schema should be used to subscribe to this endpoint. + + This endpoint streams on-chain events for all blocks starting at the requested start block, up until the latest available block. Once the latest block is reached, the stream will remain open, and responses will be sent for each new block as it becomes available. tags: - Subscribe events responses: @@ -1261,7 +1264,7 @@ components: description: | Bad Request - As OpenAPI does not support websocket description, this error code actually \"1003\" and is returned in a close message. + As OpenAPI does not support WebSocket description, the error code (1003) is actually returned in a close message instead of (400). content: application/json: schema: @@ -1270,7 +1273,7 @@ components: description: | Server Timeout - As OpenAPI does not support websocket description, this error code actually \"1001\" and return in a close message. + As OpenAPI does not support WebSocket description, this error code (1001) is actually returned in a close message instead of (408). content: application/json: schema: @@ -1279,7 +1282,7 @@ components: description: | Internal Server Error - As OpenAPI does not support websocket description, this error code actually \"1011\" and return in a close message. + As OpenAPI does not support WebSocket description, this error code (1011) is actually returned in a close message instead of (500). content: application/json: schema: @@ -1288,7 +1291,7 @@ components: description: | Service Unavailable - As OpenAPI does not support websocket description, this error code actually \"1013\" and return in a close message. + As OpenAPI does not support WebSocket description, this error code (1013) is actually returned in a close message instead of (503). content: application/json: schema: diff --git a/openapi/go-client-generated/api/swagger.yaml b/openapi/go-client-generated/api/swagger.yaml index 6e9aba619..6759eb841 100644 --- a/openapi/go-client-generated/api/swagger.yaml +++ b/openapi/go-client-generated/api/swagger.yaml @@ -1005,10 +1005,10 @@ paths: tags: - Subscribe events summary: Subscribe events - description: "Streaming on-chain events for all blocks starting at the requested\ - \ start block, up until the latest available block. Once the latest is reached,\ - \ the stream will remain open and responses are sent for each new block as\ - \ it becomes available." + description: | + IMPORTANT NOTE: This is a WebSocket connection, so the `ws://` or `wss://` schema should be used to subscribe to this endpoint. + + This endpoint streams on-chain events for all blocks starting at the requested start block, up until the latest available block. Once the latest block is reached, the stream will remain open, and responses will be sent for each new block as it becomes available. parameters: - name: start_height in: query @@ -1092,7 +1092,7 @@ paths: description: | Bad Request - As OpenAPI does not support websocket description, this error code actually \"1003\" and is returned in a close message. + As OpenAPI does not support WebSocket description, the error code (1003) is actually returned in a close message instead of (400). content: application/json: schema: @@ -1101,7 +1101,7 @@ paths: description: | Server Timeout - As OpenAPI does not support websocket description, this error code actually \"1001\" and return in a close message. + As OpenAPI does not support WebSocket description, this error code (1001) is actually returned in a close message instead of (408). content: application/json: schema: @@ -1110,7 +1110,7 @@ paths: description: | Internal Server Error - As OpenAPI does not support websocket description, this error code actually \"1011\" and return in a close message. + As OpenAPI does not support WebSocket description, this error code (1011) is actually returned in a close message instead of (500). content: application/json: schema: @@ -1119,7 +1119,7 @@ paths: description: | Service Unavailable - As OpenAPI does not support websocket description, this error code actually \"1013\" and return in a close message. + As OpenAPI does not support WebSocket description, this error code (1013) is actually returned in a close message instead of (503). content: application/json: schema: @@ -2274,7 +2274,7 @@ components: description: | Bad Request - As OpenAPI does not support websocket description, this error code actually \"1003\" and is returned in a close message. + As OpenAPI does not support WebSocket description, the error code (1003) is actually returned in a close message instead of (400). content: application/json: schema: @@ -2283,7 +2283,7 @@ components: description: | Server Timeout - As OpenAPI does not support websocket description, this error code actually \"1001\" and return in a close message. + As OpenAPI does not support WebSocket description, this error code (1001) is actually returned in a close message instead of (408). content: application/json: schema: @@ -2292,7 +2292,7 @@ components: description: | Internal Server Error - As OpenAPI does not support websocket description, this error code actually \"1011\" and return in a close message. + As OpenAPI does not support WebSocket description, this error code (1011) is actually returned in a close message instead of (500). content: application/json: schema: @@ -2301,7 +2301,7 @@ components: description: | Service Unavailable - As OpenAPI does not support websocket description, this error code actually \"1013\" and return in a close message. + As OpenAPI does not support WebSocket description, this error code (1013) is actually returned in a close message instead of (503). content: application/json: schema: diff --git a/openapi/go-client-generated/api_subscribe_events.go b/openapi/go-client-generated/api_subscribe_events.go index d361dc082..c51db7ccf 100644 --- a/openapi/go-client-generated/api_subscribe_events.go +++ b/openapi/go-client-generated/api_subscribe_events.go @@ -26,7 +26,7 @@ var ( type SubscribeEventsApiService service /* SubscribeEventsApiService Subscribe events -Streaming on-chain events for all blocks starting at the requested start block, up until the latest available block. Once the latest is reached, the stream will remain open and responses are sent for each new block as it becomes available. +IMPORTANT NOTE: This is a WebSocket connection, so the `ws://` or `wss://` schema should be used to subscribe to this endpoint. This endpoint streams on-chain events for all blocks starting at the requested start block, up until the latest available block. Once the latest block is reached, the stream will remain open, and responses will be sent for each new block as it becomes available. * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). * @param optional nil or *SubscribeEventsApiSubscribeEventsGetOpts - Optional Parameters: * @param "StartHeight" (optional.Interface of BlockHeight) - The block height of the events being streamed. Either provide this parameter or `start_block_id` parameter. This parameter is incompatible with `start_block_id` parameter. diff --git a/openapi/go-client-generated/docs/SubscribeEventsApi.md b/openapi/go-client-generated/docs/SubscribeEventsApi.md index 093bdbc76..37eae6b76 100644 --- a/openapi/go-client-generated/docs/SubscribeEventsApi.md +++ b/openapi/go-client-generated/docs/SubscribeEventsApi.md @@ -10,7 +10,7 @@ Method | HTTP request | Description > SubscribeEvents SubscribeEventsGet(ctx, optional) Subscribe events -Streaming on-chain events for all blocks starting at the requested start block, up until the latest available block. Once the latest is reached, the stream will remain open and responses are sent for each new block as it becomes available. +IMPORTANT NOTE: This is a WebSocket connection, so the `ws://` or `wss://` schema should be used to subscribe to this endpoint. This endpoint streams on-chain events for all blocks starting at the requested start block, up until the latest available block. Once the latest block is reached, the stream will remain open, and responses will be sent for each new block as it becomes available. ### Required Parameters From e4cf6a528d3c848312eb7be959a9e8f6a580a5a7 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 24 Apr 2024 09:30:14 -0700 Subject: [PATCH 246/626] Create 2024-04-26-Flow-Sprint-Kickoff.md --- .../2024-04-26-Flow-Sprint-Kickoff.md | 324 ++++++++++++++++++ 1 file changed, 324 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..c7c638a2a --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -0,0 +1,324 @@ +# Overview + + +### Team Wins 🎉 + +### General updates + + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) +- Starting this week: + +--- + +### Mainnet Uptime - Last 7 days (xx/yy/24 to xx/yy/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.99% | 9.82% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +[YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents + + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): + - Testnet: 5/22/24 + - Mainnet: June/July 2024 (exact date TBD) +- Two testnet migration test runs completed + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 7 | 8 | 0 | 5 | **20** | +| Proposed | 3 | 2 | 2 | 1 | **8** | +| Accepted | 2 | 1 | 1 | 2 | **6** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 1 | 19 | 2 | 0 | **22** | +| Released | 4 | 0 | 3 | 4 | **11** | +| Total | **17** | **30** | **9** | **12** | **68** | + +- No new FLIPs or changes during the sprint +- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. +(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) +### Untagged FLIPs - +- https://github.com/onflow/flips/pull/246 +- https://github.com/onflow/flips/pull/250 +- https://github.com/onflow/flips/pull/256 + +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + + +**This sprint** + +Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +* [Emulator release is ready](https://github.com/onflow/flow-cli/releases/tag/v1.17.0-cadence-v1.0.0-preview.19), support devs that are teting migration, monitor Discord questions. + +Objective 1, KR4: Testnet Upgrade to Crescendo Release +* Testnet migration completed, moving on to adding [Atree register inlining](https://github.com/onflow/cadence/pull/3048) migration and validating migrated state on the TN migration environment. +* Continue work on migration optimizations. +* Continue with [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) for production readiness. + +Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN +* Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind +* Continue refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +* Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +* Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + +**On Hold** + +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) + + +**Active Epics** + +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR4: Testnet Upgrade to Crescendo Release +- KR6: Develop & share with community a disaster recovery plan to address potential issues after migration to Crescendo Release. +- KR7: Decision on how to deal with contracts that have not been upgraded to Cadence 1.0 by developers. +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Translate crypto performance improvements to consensus block rate increase +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + + +**This sprint** + +* Zero-downtime Upgrades of Node Software: + - [Finalize and merge PR for querying of KV Store](https://github.com/onflow/flow-go/pull/5650) + - Cleanup and fix tests (large!) + - Finish smart contract to coordinate protocol upgrade ([PR #411](https://github.com/onflow/flow-core-contracts/pull/411)) + - Continue on integration tests ([draft PR #5477](https://github.com/onflow/flow-go/pull/5477)) + - Implementation and PR reviews of remaining loose ends for KV Store integration + - Completing https://github.com/onflow/flow-go/pull/5656 + - Version upgrade protocol integration test will be unblocked, [preparing for review](https://github.com/onflow/flow-go/pull/5477) + +* EFM Recovery + - Generate data for EFM recovery (complete [PR #5576](https://github.com/onflow/flow-go/pull/5576) and potential follow-up) + - Start on [Governance Transaction to initiate EFM recovery](https://github.com/dapperlabs/flow-go/issues/6956) + - [Wrap up cadence changes](https://github.com/onflow/flow-go/issues/5638) + - [EFM recovery e2e integration tests](https://github.com/onflow/flow-go/issues/5639) + +* Cryptography + - Randomness-on chain contract: merge then deploy contracts onchain + - BLS proof of possession: check the state of old epic and remaining work + + +* Data Availability: + - Continue to rollout local script exec to additional QN ANs + - Test local script exec with remaining studio nodes + - Enable programs cache on AN (complete [PR #5585](https://github.com/onflow/flow-go/pull/5585)) + - KROK Team + - Complete adding tx results to streaming SendAndSubscribe response ([PR #5566](https://github.com/onflow/flow-go/issues/5566)) + - Fix race condition in Access ingestion engine ([Issue #5420](https://github.com/onflow/flow-go/issues/5420)) + - Support enabling indexing on Dynamic bootstrapped AN ([Issue #5423](https://github.com/onflow/flow-go/issues/5423)) + - Event streaming blog post + + +**On Hold** +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. +* Implement BFT mitigations to enable 20 permissionless ANs + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- DEX Prep - IncrementFi +- Bridge Prep - Axelar + +**Done last sprint** + +**This sprint** + +* Review plan/proposal for next phase of JVM SDK update to bring it back to feature parity after years of being overlooked +* Start ramping [DeBridge](https://docs.debridge.finance/) integration for EVM + +**On Hold** +- Axelar Cadence bridge release waiting confirmation of new timeline, no engineering ongoing + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + +**This sprint** +**Sprint goal focusing on updating EVM docs, tooling support, CLI Interactive Setup** + +- [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) +- [EPIC] FlowEVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) +- [EPIC] Enhance CLI init Command with Interactive Setup, Config Automation, and Default Project Structure [#1390](https://github.com/onflow/flow-cli/issues/1390) +- [EPIC] Update Internal Tools and Repos for C1.0 Support [#530](https://github.com/onflow/docs/issues/530) +- Write new doc on Sponsored Transactions under Advanced Topics [#692](https://github.com/onflow/docs/issues/692) +- Testing Ledger Cadence v1.0 transactions [#20](https://github.com/onflow/fcl-six/issues/20) +- Testing complex contracts deployment to previewnet EVM [#713](https://github.com/onflow/docs/issues/713) +- Stage and test core contracts +- Circle USDC contract changes and integrations +- Add newsletter signup to developer landing page [#717](https://github.com/onflow/docs/issues/717) + + +**On Hold** + +- Update Flow port for Cadence Crescendo instance [#279](https://github.com/onflow/flow-port/issues/279) +- Blocked: Update Playground to support Cadence 1.0 [#760](https://github.com/onflow/flow-playground/issues/760) + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + + +**This sprint** + +- Complete Web3.js integration, authorization +- VM Bridge integration, moving FT and NFT in app. +- Product scoping for next cycle: + - Identifying needed polish + bug fixes + - Next product opportunities +- CTD: Outreach with Coinbase Wallet, MetaMask, Shadow Wallet and Blocto +- CTD: Working with Apple on app approval & release + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Finish GCP project migration to the Flow Foundation org +- Remove dependency on Gen2 cluster resources for CloudFlare migration +- Continue assisting with DevEx migration to Cloud Run + +**Done last sprint** + +**Goal of this Sprint is to continue migration efforts** +**This Sprint** +- Finish Gen2 cluster clean up and migration to GCP load balancing +- Move GCP projects to Flow Foundation as needed + +--- + +### **Governance and Tokenomics** \[Vishal] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** + +**This sprint** + +- Gather and respond to community feedback on the forum post +- For decentralization efforts, work with a16z to consolidate three nodes, and with Coinbase to reduce one node they operate on leased stake +- Continue work on automation of the decentralization dashboard to send messages when critical thresholds are crossed +- Draft FLIP on EVM gas to compute ratio and compute limit hike. +- Update FLIP on transaction fee to suggest a transaction fee multiplier closely tied to FLOW token's market price +- Continue research on Inflation (new strategies, other networks, validator impact, etc.) and have a second round of review. + + +**On Hold** + + +**Active Epics** + +- N/A From 2b45ac1a43f186ed4b4a1a98b6ac78a9b5efc576 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 25 Apr 2024 14:59:57 +0200 Subject: [PATCH 247/626] Cadence WG update --- .../2024-04-26-Flow-Sprint-Kickoff.md | 67 ++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index c7c638a2a..5d5ed4abd 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -3,6 +3,8 @@ ### Team Wins 🎉 +- First TN state migrated with both Atree inlining and C1.0 bootstrapped on Migration Testnet & passed Epoch transition. Atree inlining reduced the EN memory usage from ~280GB to 132GB - 54% reduction in memory usage! + ### General updates @@ -78,6 +80,69 @@ Cycle Objective(s): **Done last sprint** +State migration to Crescendo release +- [Atree Inlining & Deduplication with Cadence v1.0](https://github.com/onflow/flow-go/pull/5554) +- [Use existing storage health check](https://github.com/onflow/flow-go/pull/5756) +- [Add migration to fix refs to non-existent registers](https://github.com/onflow/flow-go/pull/5755) +- [Remove unused parameter from contract validator](https://github.com/onflow/cadence/pull/3278) +- [Entitlement inference in entitlement migration grants too many entitlements](https://github.com/onflow/cadence/issues/3253) +- [Add a migration which detects and filters out unreferenced slabs](https://github.com/onflow/flow-go/pull/5653) + - Related Atree feature: [Enable migrations to fix references to non-existent registers](https://github.com/onflow/atree/pull/387) + - [Add PersistentSlabStorage.GetAllChildReferences()](https://github.com/onflow/atree/pull/391) +- [Tool for converting staged contracts migration report from JSON to Markdown](https://github.com/onflow/cadence/pull/3249) +- [Run migration to fix up storage-used at the end](https://github.com/onflow/flow-go/pull/5676) +- [Improve JSON encoding of reporter entries](https://github.com/onflow/flow-go/pull/5675) +- [Improve program checking in Cadence 1.0 migration](https://github.com/onflow/cadence/issues/3233) +- [Only log failed staged updates if verbose logging is enabled](https://github.com/onflow/flow-go/pull/5665) +- [Collect staged contracts from the storage itself](https://github.com/onflow/flow-go/pull/5659) +- [Improve migrations](https://github.com/onflow/flow-go/pull/5657) +- [Improve naming for migrator runtime](https://github.com/onflow/flow-go/pull/5652) +- [Add flag for verbose error output to migrations](https://github.com/onflow/flow-go/pull/5645) +- Performance optimizations: + - [create snapshot map with multiple goroutines](https://github.com/onflow/flow-go/pull/5646) + - [Cache results of entitlement type conversion](https://github.com/onflow/cadence/pull/3232) + - [Optimise merge registers for migrations](https://github.com/onflow/flow-go/pull/5613) + +Cadence 1.0 improvements & bugixes +- [FLIP 262 Implementation - Require matching access modifiers for interface implementation members](https://github.com/onflow/cadence/issues/3245) +- [FLIP 242 Implementation - Improve Public Capability Acquisition](https://github.com/onflow/cadence/pull/3252) +- [Improve dictionary key conflict handling](https://github.com/onflow/cadence/pull/3240) +- [Improve supported entitlements](https://github.com/onflow/cadence/pull/3251) +- [Conformance mismatch errors are not descriptive/helpful enough](https://github.com/onflow/cadence/issues/3275) +- [Improve conformance mismatch error](https://github.com/onflow/cadence/pull/3274) +- [Optional Reference Types and References to Optional Types are represented with the same TypeID](https://github.com/onflow/cadence/issues/3248) +- Security fixes: [1](https://github.com/onflow/cadence/pull/3267), [2](https://github.com/onflow/cadence/pull/3257), [3](https://github.com/onflow/cadence/pull/3235) + +Crescendo release chores +- Depencdency updates + - Cadence: [1](https://github.com/onflow/cadence/pull/3270), [2](https://github.com/onflow/cadence/pull/3259), [3](https://github.com/onflow/cadence/pull/3258), [4](https://github.com/onflow/cadence/pull/3256), [4](https://github.com/onflow/cadence/pull/3255), [5](https://github.com/onflow/cadence/pull/3254) + - flow-go: [1](https://github.com/onflow/flow-go/pull/5775), [2](https://github.com/onflow/flow-go/pull/5766), [3](https://github.com/onflow/flow-go/pull/5765), [4](https://github.com/onflow/flow-go/pull/5758), [5](https://github.com/onflow/flow-go/pull/5743), [6](https://github.com/onflow/flow-go/pull/5741), [7](https://github.com/onflow/flow-go/pull/5738), [8](https://github.com/onflow/flow-go/pull/5736), [9](https://github.com/onflow/flow-go/pull/5734), [10](https://github.com/onflow/flow-go/pull/5669), [11](https://github.com/onflow/flow-go/pull/5667), [12](https://github.com/onflow/flow-go/pull/5654) + - flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/pull/634), [2](https://github.com/onflow/flow-go-sdk/pull/625), [3](https://github.com/onflow/flow-go-sdk/pull/618) + - Other chores related to releasing: + - [Adjust branches of downstream dependency checks](https://github.com/onflow/cadence/pull/3280) + - [Update atree register inlining for Cadence v1.0 feature branch](https://github.com/onflow/flow-go/pull/5768) + +Cadence Execution +- Race condition bugfix: [Fix block queue edge case](https://github.com/onflow/flow-go/pull/5753) +- [Log the checkpoint file when using generating protocol snapshot from](https://github.com/onflow/flow-go/pull/5680) +- Fix for potential execution fork on dynamically-bootstrapped EN: + - [limit the height range when querying getBlock in FVM](https://github.com/onflow/flow-go/pull/5607) + - [v0.33 adjust extra blocks in sealing segment](https://github.com/onflow/flow-go/pull/5673) +- bugfix: [Fix unsafeTraverse error handling](https://github.com/onflow/flow-go/pull/5661) +- Creating protocol snapshot from checkpoint file: + - [Checkpoint - validate the header file and sub file when reading root hashes](https://github.com/onflow/flow-go/issues/5623) +- Progress towards: [Ingestion engine does not handle EN falling far behind](https://github.com/onflow/flow-go/issues/5298) + - [Add ingestion throttle](https://github.com/onflow/flow-go/pull/5337) + - [Refactor ingestion engine mempool](https://github.com/onflow/flow-go/issues/5297) + - [add ingestion core](https://github.com/onflow/flow-go/pull/5288) + +EVM +- [populate EVM block timestamp](https://github.com/onflow/flow-go/issues/5610) +- [Fix EVM load test](https://github.com/onflow/flow-go/pull/5737) +- [Clean up EVM environment setup](https://github.com/onflow/flow-go/pull/5668) + +Other +- [ Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) **This sprint** @@ -85,7 +150,7 @@ Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence * [Emulator release is ready](https://github.com/onflow/flow-cli/releases/tag/v1.17.0-cadence-v1.0.0-preview.19), support devs that are teting migration, monitor Discord questions. Objective 1, KR4: Testnet Upgrade to Crescendo Release -* Testnet migration completed, moving on to adding [Atree register inlining](https://github.com/onflow/cadence/pull/3048) migration and validating migrated state on the TN migration environment. +* Completed Testnet migration with both Atree inlining and Cadence 1.0. * Continue work on migration optimizations. * Continue with [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) for production readiness. From 2be81c7db9931a286e4408701261c37f65f6341e Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 25 Apr 2024 09:21:36 -0700 Subject: [PATCH 248/626] Misc updates to wins, protocol and defi --- .../2024-04-26-Flow-Sprint-Kickoff.md | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 5d5ed4abd..fa543af14 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -3,7 +3,9 @@ ### Team Wins 🎉 -- First TN state migrated with both Atree inlining and C1.0 bootstrapped on Migration Testnet & passed Epoch transition. Atree inlining reduced the EN memory usage from ~280GB to 132GB - 54% reduction in memory usage! +- First TN state migrated with both Atree inlining and C1.0 bootstrapped on Migration Testnet & passed Epoch transition. Atree inlining reduced the EN memory usage from ~280GB to 132GB - 54% reduction in memory usage! [Jan] +- Cross-VM bridge is code complete (save for more testing) and also deployed to PreviewNet! Contract audit starts next Monday! [Greg] +- ### General updates @@ -194,28 +196,24 @@ Cycle Objective(s): **Done last Sprint:** +* Zero-downtime Upgrades of Node Software: + - PRs necessary for KVStore [M2] Milestone 2: Minimal Upgrade Mechanism deployment are completed or in review + - [Support changing protocol state ID in sealing segment - in review](https://github.com/onflow/flow-go/pull/5656#top) + - [Integration test for version upgrade - in review](https://github.com/onflow/flow-go/pull/5477/files#top) + - [Reducing duplicated data in the Snapshot data structure \(remove EncodableEpoch\) - in review](https://github.com/onflow/flow-go/pull/5682#top) + **This sprint** * Zero-downtime Upgrades of Node Software: - - [Finalize and merge PR for querying of KV Store](https://github.com/onflow/flow-go/pull/5650) - - Cleanup and fix tests (large!) - - Finish smart contract to coordinate protocol upgrade ([PR #411](https://github.com/onflow/flow-core-contracts/pull/411)) - - Continue on integration tests ([draft PR #5477](https://github.com/onflow/flow-go/pull/5477)) - - Implementation and PR reviews of remaining loose ends for KV Store integration - - Completing https://github.com/onflow/flow-go/pull/5656 - - Version upgrade protocol integration test will be unblocked, [preparing for review](https://github.com/onflow/flow-go/pull/5477) - + - [Dynamic Protocol State - todos, suggested revisions and tech debt](https://github.com/onflow/flow-go/issues/5666#top) + * EFM Recovery - - Generate data for EFM recovery (complete [PR #5576](https://github.com/onflow/flow-go/pull/5576) and potential follow-up) - - Start on [Governance Transaction to initiate EFM recovery](https://github.com/dapperlabs/flow-go/issues/6956) - - [Wrap up cadence changes](https://github.com/onflow/flow-go/issues/5638) - - [EFM recovery e2e integration tests](https://github.com/onflow/flow-go/issues/5639) + - -* Cryptography - - Randomness-on chain contract: merge then deploy contracts onchain - - BLS proof of possession: check the state of old epic and remaining work +* Cryptography + - N/A this sprint as Tarak was OOO * Data Availability: - Continue to rollout local script exec to additional QN ANs @@ -251,14 +249,16 @@ Cycle Objective(s): - Bridge Prep - Axelar **Done last sprint** +* Supported Pyth with their initial efforts to onboard to EVM +* Confirmed with Anchain and Axelar that development for Axelar Cadence bridge will likely resume in early May **This sprint** -* Review plan/proposal for next phase of JVM SDK update to bring it back to feature parity after years of being overlooked -* Start ramping [DeBridge](https://docs.debridge.finance/) integration for EVM +* Review plan/proposal for next phase of JVM SDK update and get contract and timelines agreed +* Review IncrementFi Cadence 1.0 contract upgrades **On Hold** -- Axelar Cadence bridge release waiting confirmation of new timeline, no engineering ongoing +- Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing **Active Epics** From 449b108cbe57ebd74870c1706e9567c168bad9a0 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 25 Apr 2024 10:23:36 -0700 Subject: [PATCH 249/626] Minor DeFi updates --- .../2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index fa543af14..09fd3c080 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -245,17 +245,19 @@ Cycle Objective(s): Cycle Objective(s): - Resolving Circle's existing engineering improvements for USDC on Flow -- DEX Prep - IncrementFi +- Cadence 1.0 DEX Prep - IncrementFi +- EVM partner onboarding: Pyth, DeBridge - Bridge Prep - Axelar **Done last sprint** * Supported Pyth with their initial efforts to onboard to EVM * Confirmed with Anchain and Axelar that development for Axelar Cadence bridge will likely resume in early May +* Conducted initial review of IncrementFi Cadence 1.0 contract updates, provided feedback **This sprint** * Review plan/proposal for next phase of JVM SDK update and get contract and timelines agreed -* Review IncrementFi Cadence 1.0 contract upgrades +* Continue review of IncrementFi Cadence 1.0 contract upgrades **On Hold** - Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing From c8f479c62b75f2d6f444238b93379835c540fa2a Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 25 Apr 2024 14:14:48 -0700 Subject: [PATCH 250/626] Update 2024-04-26-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 09fd3c080..708809904 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -32,6 +32,9 @@ ## Incidents +1. April 18th - Sev 2: The average response time for all API requests served by the public access nodes increased significantly. Incident report available [here](https://www.notion.so/flowfoundation/High-response-time-on-Access-Nodes-04-18-2024-d70e8e08bd894c3a814a030eb7469d63). + +2. April 19th - Sev 3: After the rolling deployment of v0.33.17 several verification nodes ran out of disk space due to spikes in disk usage caused by badger compaction. [slack thread](https://dapperlabs.slack.com/archives/CUU2KQL4A/p1713544909496029) ### Key Release Dates & Breaking Changes From ca940fe95ae6fa6c4c3ab6a8cd6762db7b29528d Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 25 Apr 2024 14:15:57 -0700 Subject: [PATCH 251/626] Update 2024-04-26-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 708809904..0b2f37b7b 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -41,7 +41,7 @@ - Next Mainnet/Testnet network upgrade (spork): - Testnet: 5/22/24 - Mainnet: June/July 2024 (exact date TBD) -- Two testnet migration test runs completed +- Testnet migration test runs conducted every week. --- From a5917e5cbbb51f9f6295abaa9ed9ce8148741f40 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 25 Apr 2024 14:17:43 -0700 Subject: [PATCH 252/626] Update 2024-04-26-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 0b2f37b7b..ed0d27b8b 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -16,7 +16,7 @@ --- -### Mainnet Uptime - Last 7 days (xx/yy/24 to xx/yy/24) \[Vishal] +### Mainnet Uptime - Last 14 days (04/12/24 to 04/26/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| From 8dece5a50b66d991febd2b7c8a390c1e4f83abeb Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 25 Apr 2024 14:18:16 -0700 Subject: [PATCH 253/626] Update 2024-04-26-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index ed0d27b8b..42c7bf633 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -371,7 +371,7 @@ Cycle Objective(s): --- -### **Governance and Tokenomics** \[Vishal] +### **Governance and Tokenomics** \[Kshitij] Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** From e25ce6cce9d3c492b26bf0f7890e0a5cf6ee18eb Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 25 Apr 2024 14:20:17 -0700 Subject: [PATCH 254/626] Update 2024-04-26-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 42c7bf633..be0fe8fb2 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -36,6 +36,8 @@ 2. April 19th - Sev 3: After the rolling deployment of v0.33.17 several verification nodes ran out of disk space due to spikes in disk usage caused by badger compaction. [slack thread](https://dapperlabs.slack.com/archives/CUU2KQL4A/p1713544909496029) +(Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) + ### Key Release Dates & Breaking Changes - Next Mainnet/Testnet network upgrade (spork): From e1e246138fcb720557b237d687e24ab5483609b2 Mon Sep 17 00:00:00 2001 From: Alexander Hentschel Date: Thu, 25 Apr 2024 15:11:47 -0700 Subject: [PATCH 255/626] Update 2024-04-26-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index be0fe8fb2..605f9d3ad 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -204,8 +204,9 @@ Cycle Objective(s): * Zero-downtime Upgrades of Node Software: - PRs necessary for KVStore [M2] Milestone 2: Minimal Upgrade Mechanism deployment are completed or in review - [Support changing protocol state ID in sealing segment - in review](https://github.com/onflow/flow-go/pull/5656#top) - - [Integration test for version upgrade - in review](https://github.com/onflow/flow-go/pull/5477/files#top) + - [Integration test for version upgrade - in review](https://github.com/onflow/flow-go/pull/5477#top) - [Reducing duplicated data in the Snapshot data structure \(remove EncodableEpoch\) - in review](https://github.com/onflow/flow-go/pull/5682#top) + - [API safety improvements and documentation - in review](https://github.com/onflow/flow-go/pull/5644#top) **This sprint** From c03f30eceb1a8deba6eb564e9c54ea5cb23b6fa2 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 25 Apr 2024 15:36:19 -0700 Subject: [PATCH 256/626] Smart contract team updates and other misc --- .../2024-04-26-Flow-Sprint-Kickoff.md | 35 ++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 605f9d3ad..c094699dc 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -147,6 +147,13 @@ EVM - [populate EVM block timestamp](https://github.com/onflow/flow-go/issues/5610) - [Fix EVM load test](https://github.com/onflow/flow-go/pull/5737) - [Clean up EVM environment setup](https://github.com/onflow/flow-go/pull/5668) +- Continued reviewing VM Bridge PRs + +Cadence 1.0 Contract updates +- [Continued working through contract standards](https://github.com/onflow/docs/issues/716) +- [FLIP 262: Require matching access modifiers for interface implementation members](https://github.com/onflow/flips/pull/263) +- Spent time reviewing various Cadence 1.0 upgrade PRs for DL and in the community +- [Update V2 FT standard to move Withdrawn event to Vault and add balanceAfter params](https://github.com/onflow/flow-ft/pull/158) Other - [ Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) @@ -172,6 +179,12 @@ Objective 3: Analyze execution runtime trends and risks to plan next set of scal * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) +Cadence 1.0 Contract updates +- [Continue working through contract standards](https://github.com/onflow/docs/issues/716) +- More reviews of bridge PRs and Cadence 1.0 changes +- Writing additional tests for recent Cadence FLIP changes +- [Audit and update docs and tutorials for Cadence 1.0](https://github.com/onflow/docs/issues/531) + **On Hold** Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption @@ -194,7 +207,7 @@ Objective 3: Analyze execution runtime trends and risks to plan next set of scal ### **Core Protocol** \[Jerome] Cycle Objective(s): -* Translate crypto performance improvements to consensus block rate increase +* Translate crypto performance improvements to consensus block rate increase [DONE] * Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node * Reduce CPU usage on Execution node by 30% * Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] @@ -208,6 +221,17 @@ Cycle Objective(s): - [Reducing duplicated data in the Snapshot data structure \(remove EncodableEpoch\) - in review](https://github.com/onflow/flow-go/pull/5682#top) - [API safety improvements and documentation - in review](https://github.com/onflow/flow-go/pull/5644#top) +* Core contracts: + - Source of Randomness + - [SoR history updates](https://github.com/onflow/flow-core-contracts/pull/416), released to testnet and mainnet + - [Update multisig to upgrade RandomBeacon history](https://github.com/onflow/service-account/pull/290) + - [Prepped and executed service account transaction to fix id table](https://github.com/onflow/service-account/pull/289) + - [Add entitlement for locked account creator](https://github.com/onflow/flow-core-contracts/pull/423) + + + +* Other misc: + - Completed initial planning review for Protocol priorities for next OKR cycle **This sprint** @@ -218,8 +242,8 @@ Cycle Objective(s): - -* Cryptography - - N/A this sprint as Tarak was OOO +* Cryptography: + - N/A this sprint as Tarak was out-of-office * Data Availability: - Continue to rollout local script exec to additional QN ANs @@ -252,13 +276,14 @@ Cycle Objective(s): Cycle Objective(s): - Resolving Circle's existing engineering improvements for USDC on Flow - Cadence 1.0 DEX Prep - IncrementFi -- EVM partner onboarding: Pyth, DeBridge -- Bridge Prep - Axelar +- EVM partner onboarding: Pyth, DeBridge, Coinmetrics +- Deliver Axelar bridge **Done last sprint** * Supported Pyth with their initial efforts to onboard to EVM * Confirmed with Anchain and Axelar that development for Axelar Cadence bridge will likely resume in early May * Conducted initial review of IncrementFi Cadence 1.0 contract updates, provided feedback +* [Proposed USDC Cadence 1.0 changes](https://github.com/flow-usdc/flow-usdc/pull/82) - Josh **This sprint** From 718f9f5ac08e17ee9b2768258404f8ce3e4b11c7 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 25 Apr 2024 15:36:56 -0700 Subject: [PATCH 257/626] Remove duplicate entry --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 1 - 1 file changed, 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index c094699dc..13c42ef24 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -151,7 +151,6 @@ EVM Cadence 1.0 Contract updates - [Continued working through contract standards](https://github.com/onflow/docs/issues/716) -- [FLIP 262: Require matching access modifiers for interface implementation members](https://github.com/onflow/flips/pull/263) - Spent time reviewing various Cadence 1.0 upgrade PRs for DL and in the community - [Update V2 FT standard to move Withdrawn event to Vault and add balanceAfter params](https://github.com/onflow/flow-ft/pull/158) From f73d8915a56f43977a1facdd336376efde06b997 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 25 Apr 2024 15:37:49 -0700 Subject: [PATCH 258/626] Minor tweaks --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 13c42ef24..1f6e9ad2b 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -150,7 +150,7 @@ EVM - Continued reviewing VM Bridge PRs Cadence 1.0 Contract updates -- [Continued working through contract standards](https://github.com/onflow/docs/issues/716) +- [Continued working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) - Spent time reviewing various Cadence 1.0 upgrade PRs for DL and in the community - [Update V2 FT standard to move Withdrawn event to Vault and add balanceAfter params](https://github.com/onflow/flow-ft/pull/158) @@ -179,7 +179,7 @@ Objective 3: Analyze execution runtime trends and risks to plan next set of scal * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) Cadence 1.0 Contract updates -- [Continue working through contract standards](https://github.com/onflow/docs/issues/716) +- [Continue working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) - More reviews of bridge PRs and Cadence 1.0 changes - Writing additional tests for recent Cadence FLIP changes - [Audit and update docs and tutorials for Cadence 1.0](https://github.com/onflow/docs/issues/531) From 1a900222d5df3b0bc106a7b28ed26647a5be9863 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 25 Apr 2024 17:25:59 -0600 Subject: [PATCH 259/626] Create infra section 4-26 sprint kickoff doc --- .../2024-04-26-Flow-Sprint-Kickoff.md | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 1f6e9ad2b..3663d6f3a 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -385,16 +385,39 @@ Cycle Objective(s): ### **Infra - JP** Cycle Objective(s): -- Finish GCP project migration to the Flow Foundation org -- Remove dependency on Gen2 cluster resources for CloudFlare migration +- Solidify CloudFlare Migration plan and continue preparing for migration - Continue assisting with DevEx migration to Cloud Run **Done last sprint** +**Observability** +- Worked with QN to receive system metrics +- Configured new data source for accessing QN metrics in Grafana + +**Node Hosting** +- [Increased Devnet Disk sizes](https://github.com/dapperlabs/terraform/pull/4215) +- [Increased Mainnet Disk sizes](https://github.com/dapperlabs/terraform/pull/4215) +- [Updated dedicated DL ANs to increase memory](https://github.com/dapperlabs/terraform/pull/4215) +- [Added support for dynamic docker run flags on VMs](https://github.com/dapperlabs/dapper-flow-hosting/pull/) +- Reclaimed disk space on DL EN by deleting CDPs1482) + +**FF Migration** +- [Migrate Gen2 ingresses to GCP load balancer](https://github.com/dapperlabs/terraform/pull/4216) +- Update & tested firewalls with new FF VPN IPs + +**Support** +- [Assisted in troubleshooting CI jobs hanging](https://github.com/onflow/flow-go/pull/5770) +- [Assisted with Previewnet updates](https://github.com/dapperlabs/dapper-flow-hosting/pull/1481) +- [Update TPS Automation Instance Shape](https://github.com/dapperlabs/terraform/pull/4216) +- Assisted with QuickNode performance issues +- Executed rolling upgrade of `v0.33.17` to FF & DL Mainnet nodes +- Increased Buildjet limits to improve concurrent execution of CI jobs + **Goal of this Sprint is to continue migration efforts** **This Sprint** -- Finish Gen2 cluster clean up and migration to GCP load balancing -- Move GCP projects to Flow Foundation as needed +- Solidify CloudFlare Migration plan and continue preparing for migration +- Continue assisting with DevEx migration to Cloud Run +- Improve synthetic alerting --- From 4754e72686efa1571a9a8f38593cc04f4dd1852b Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Thu, 25 Apr 2024 21:21:37 -0700 Subject: [PATCH 260/626] Update UX Sprint Kickoff 2024-04-26 --- .../2024-04-26-Flow-Sprint-Kickoff.md | 47 +++++++++++++------ 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 3663d6f3a..2a79a44b5 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -1,15 +1,16 @@ # Overview - ### Team Wins 🎉 - First TN state migrated with both Atree inlining and C1.0 bootstrapped on Migration Testnet & passed Epoch transition. Atree inlining reduced the EN memory usage from ~280GB to 132GB - 54% reduction in memory usage! [Jan] - Cross-VM bridge is code complete (save for more testing) and also deployed to PreviewNet! Contract audit starts next Monday! [Greg] -- +- Simplified CLI Quickstarts with Dependency Manager +- Deployed hardware-wallet-api to cloudrun +- Kicked-off newsletter subscription for developers +- Cadence-lang.org Improvements & New Features Page ### General updates - ### OOO - [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) - Starting this week: @@ -310,25 +311,43 @@ Cycle Objective(s): **Done last sprint** +- [Update CLI Quickstart to Use Dependency Manager #731](https://github.com/onflow/docs/issues/731) +- [Update Flownaut on developer landing page with CryptoKitties: Arcade #743](https://github.com/onflow/docs/issues/743) +- [Wagmi Tutorial #729](https://github.com/onflow/docs/issues/729) +- [Add Newsletter sign up to developer docs landing page #717](https://github.com/onflow/docs/issues/717) +- [Documentaion for Cadence Owned Accounts (COAs) #682](https://github.com/onflow/docs/issues/682) +- [Use GitHub reports for is-validated command #1508](https://github.com/onflow/flow-cli/issues/1508) +- [access(account) bug in contract update validator #1524](https://github.com/onflow/flow-cli/issues/1524) +- [Embedded flags work in tests but not manually #1519](https://github.com/onflow/flow-cli/issues/1519) +- [Add Dependency Manager messaging for when no actions were completed #1535](https://github.com/onflow/flow-cli/issues/1535) +- [Add new text input and refactor for reusability #1526](https://github.com/onflow/flow-cli/issues/1526) +- [Make sure in setup deployments prompt happens for dependency manager #1522](https://github.com/onflow/flow-cli/issues/1522) +- [Create new select option and refactor to have separate prompt package and files #1520](https://github.com/onflow/flow-cli/issues/1520) +- [flow init should ask what core contracts you'd like installed with dependency manager #1482](https://github.com/onflow/flow-cli/issues/1482) +- [Deploy bridge contracts to Previewnet #9](https://github.com/onflow/flow-evm-bridge/issues/9) +- [Map serialized EVM address to associated types #33](https://github.com/onflow/flow-evm-bridge/issues/33) +- [Add support for batch onboarding txn & queries #34](https://github.com/onflow/flow-evm-bridge/issues/34) +- [Update EVM contract interface #38](https://github.com/onflow/flow-evm-bridge/issues/38) +- [Integrate existing Previewnet bridge deployment with updated EVM contract #40](https://github.com/onflow/flow-evm-bridge/issues/40) +- [Transaction crashing go sdk when calling ID() #631](https://github.com/onflow/flow-go-sdk/issues/631) + **This sprint** -**Sprint goal focusing on updating EVM docs, tooling support, CLI Interactive Setup** +**Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, Splitting Dev Docs (Cadence 1.0/Legacy), and adding EVM docs for Cadence Devs** +- [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) - [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) -- [EPIC] FlowEVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) -- [EPIC] Enhance CLI init Command with Interactive Setup, Config Automation, and Default Project Structure [#1390](https://github.com/onflow/flow-cli/issues/1390) -- [EPIC] Update Internal Tools and Repos for C1.0 Support [#530](https://github.com/onflow/docs/issues/530) -- Write new doc on Sponsored Transactions under Advanced Topics [#692](https://github.com/onflow/docs/issues/692) -- Testing Ledger Cadence v1.0 transactions [#20](https://github.com/onflow/fcl-six/issues/20) -- Testing complex contracts deployment to previewnet EVM [#713](https://github.com/onflow/docs/issues/713) -- Stage and test core contracts -- Circle USDC contract changes and integrations -- Add newsletter signup to developer landing page [#717](https://github.com/onflow/docs/issues/717) +- [EPIC] Flow EVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) +- [EPIC] Spilt Dev Docs into Cadence 1.0 and Legacy [#738](https://github.com/onflow/docs/issues/738) + +#### Smart Contract WG +- Reviews for Increment.fi +- NFTStorefront v1 & v2 Cadence 1.0 Refactor [#89](https://github.com/onflow/nft-storefront/pull/89) +- EVM Bridge prep for deployment and Audit **On Hold** - Update Flow port for Cadence Crescendo instance [#279](https://github.com/onflow/flow-port/issues/279) -- Blocked: Update Playground to support Cadence 1.0 [#760](https://github.com/onflow/flow-playground/issues/760) --- From a048e00d587b30eb876697c6b9dd0501eb0d6286 Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 26 Apr 2024 06:31:18 -0700 Subject: [PATCH 261/626] update data availability sprint 2024-04-26 --- .../2024-04-12-Flow-Sprint-Kickoff.md | 2 +- .../2024-04-26-Flow-Sprint-Kickoff.md | 24 ++++++++++++------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md index 84a0684a9..99d536ae7 100644 --- a/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-12-Flow-Sprint-Kickoff.md @@ -244,7 +244,7 @@ Cycle Objective(s): - Deployed local tx results to all public nodes - Tested programs cache on mainnet ANs - Profiling enabled on one QN AN - - Fix string concatination bottleneck discovered with new profiles ([PR #5592](https://github.com/onflow/flow-go/pull/5592)) + - Fix string concatenation bottleneck discovered with new profiles ([PR #5592](https://github.com/onflow/flow-go/pull/5592)) - Upgrade libp2p on mainnet/testnet ([PR #5642](https://github.com/onflow/flow-go/pull/5642)) - KROK Team - Streaming account statuses endpoint ([PR #5406](https://github.com/onflow/flow-go/pull/5406)) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 2a79a44b5..5af7ddf90 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -228,7 +228,15 @@ Cycle Objective(s): - [Prepped and executed service account transaction to fix id table](https://github.com/onflow/service-account/pull/289) - [Add entitlement for locked account creator](https://github.com/onflow/flow-core-contracts/pull/423) - +* Data Availability: + - Debugging slow response time on mainnet QN ANs + - Local tx results rolled back on public nodes, on hold for now + - Debugging high memory usage on previewnet ANs, upgraded `ipfs/boxo` libs ([PR #5774](https://github.com/onflow/flow-go/pull/5774)) + - KROK Team + - Add tx result into `SendAndSubscribeTransactionStatuses` responses ([PR #5620](https://github.com/onflow/flow-go/pull/5620)) + - Cleanup tech debt ([PR #5619](https://github.com/onflow/flow-go/pull/5619), [PR #5632](https://github.com/onflow/flow-go/pull/5632)) + - Improve streaming API testing ([PR #5612](https://github.com/onflow/flow-go/pull/5612), [PR #5624](https://github.com/onflow/flow-go/pull/5624)) + - Published [blog post](https://medium.com/@thekrokcompany/how-to-use-flow-event-subscription-23992f445ed0) on using event streaming with fcl * Other misc: - Completed initial planning review for Protocol priorities for next OKR cycle @@ -239,21 +247,21 @@ Cycle Objective(s): - [Dynamic Protocol State - todos, suggested revisions and tech debt](https://github.com/onflow/flow-go/issues/5666#top) * EFM Recovery - - * Cryptography: - N/A this sprint as Tarak was out-of-office * Data Availability: - - Continue to rollout local script exec to additional QN ANs + - Continue to roll out local script exec to additional QN ANs - Test local script exec with remaining studio nodes - - Enable programs cache on AN (complete [PR #5585](https://github.com/onflow/flow-go/pull/5585)) + - Continue to debug high memory usage on previewnet ANs - KROK Team - - Complete adding tx results to streaming SendAndSubscribe response ([PR #5566](https://github.com/onflow/flow-go/issues/5566)) - - Fix race condition in Access ingestion engine ([Issue #5420](https://github.com/onflow/flow-go/issues/5420)) - - Support enabling indexing on Dynamic bootstrapped AN ([Issue #5423](https://github.com/onflow/flow-go/issues/5423)) - - Event streaming blog post + - Continue work to support enabling indexing on Dynamic bootstrapped AN ([Issue #5423](https://github.com/onflow/flow-go/issues/5423)) + - Complete work to fix race condition in Access ingestion engine ([Issue #5420](https://github.com/onflow/flow-go/issues/5420)) + - Update rosetta for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52)) + - Address tech debt in APIs ([Issue #5558](https://github.com/onflow/flow-go/issues/5558), [Issue #5757](https://github.com/onflow/flow-go/issues/5757)) + - Add support for version beacon events to control script execution ([Issue #5757](https://github.com/onflow/flow-go/issues/5757)) **On Hold** From 20f5b65784534ae17196dd35f2ce49d0f1d28c80 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 26 Apr 2024 17:40:02 +0200 Subject: [PATCH 262/626] Cadence WG updates --- .../2024-04-26-Flow-Sprint-Kickoff.md | 46 ++++++++++++------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 5af7ddf90..bd06d67e2 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -3,6 +3,7 @@ ### Team Wins 🎉 - First TN state migrated with both Atree inlining and C1.0 bootstrapped on Migration Testnet & passed Epoch transition. Atree inlining reduced the EN memory usage from ~280GB to 132GB - 54% reduction in memory usage! [Jan] +- EVM - 2 big features landed this week, EVM.batchRun & Revertible Randomness. [Jan] - Cross-VM bridge is code complete (save for more testing) and also deployed to PreviewNet! Contract audit starts next Monday! [Greg] - Simplified CLI Quickstarts with Dependency Manager - Deployed hardware-wallet-api to cloudrun @@ -89,14 +90,15 @@ Cycle Objective(s): **Done last sprint** State migration to Crescendo release +- Handling broken state: [Add a migration which detects and filters out unreferenced slabs](https://github.com/onflow/flow-go/pull/5653) + - Related Atree feature: [Enable migrations to fix references to non-existent registers](https://github.com/onflow/atree/pull/387) + - [Add PersistentSlabStorage.GetAllChildReferences()](https://github.com/onflow/atree/pull/391) - [Atree Inlining & Deduplication with Cadence v1.0](https://github.com/onflow/flow-go/pull/5554) +- [Contract update validator doesn't allow valid type updates for fields](https://github.com/onflow/cadence/issues/3282) - [Use existing storage health check](https://github.com/onflow/flow-go/pull/5756) - [Add migration to fix refs to non-existent registers](https://github.com/onflow/flow-go/pull/5755) - [Remove unused parameter from contract validator](https://github.com/onflow/cadence/pull/3278) - [Entitlement inference in entitlement migration grants too many entitlements](https://github.com/onflow/cadence/issues/3253) -- [Add a migration which detects and filters out unreferenced slabs](https://github.com/onflow/flow-go/pull/5653) - - Related Atree feature: [Enable migrations to fix references to non-existent registers](https://github.com/onflow/atree/pull/387) - - [Add PersistentSlabStorage.GetAllChildReferences()](https://github.com/onflow/atree/pull/391) - [Tool for converting staged contracts migration report from JSON to Markdown](https://github.com/onflow/cadence/pull/3249) - [Run migration to fix up storage-used at the end](https://github.com/onflow/flow-go/pull/5676) - [Improve JSON encoding of reporter entries](https://github.com/onflow/flow-go/pull/5675) @@ -124,36 +126,46 @@ Cadence 1.0 improvements & bugixes Crescendo release chores - Depencdency updates - Cadence: [1](https://github.com/onflow/cadence/pull/3270), [2](https://github.com/onflow/cadence/pull/3259), [3](https://github.com/onflow/cadence/pull/3258), [4](https://github.com/onflow/cadence/pull/3256), [4](https://github.com/onflow/cadence/pull/3255), [5](https://github.com/onflow/cadence/pull/3254) - - flow-go: [1](https://github.com/onflow/flow-go/pull/5775), [2](https://github.com/onflow/flow-go/pull/5766), [3](https://github.com/onflow/flow-go/pull/5765), [4](https://github.com/onflow/flow-go/pull/5758), [5](https://github.com/onflow/flow-go/pull/5743), [6](https://github.com/onflow/flow-go/pull/5741), [7](https://github.com/onflow/flow-go/pull/5738), [8](https://github.com/onflow/flow-go/pull/5736), [9](https://github.com/onflow/flow-go/pull/5734), [10](https://github.com/onflow/flow-go/pull/5669), [11](https://github.com/onflow/flow-go/pull/5667), [12](https://github.com/onflow/flow-go/pull/5654) + - flow-go: [1](https://github.com/onflow/flow-go/pull/5775), [2](https://github.com/onflow/flow-go/pull/5766), [3](https://github.com/onflow/flow-go/pull/5765), [4](https://github.com/onflow/flow-go/pull/5758), [5](https://github.com/onflow/flow-go/pull/5743), [6](https://github.com/onflow/flow-go/pull/5741), [7](https://github.com/onflow/flow-go/pull/5738), [8](https://github.com/onflow/flow-go/pull/5736), [9](https://github.com/onflow/flow-go/pull/5734), [10](https://github.com/onflow/flow-go/pull/5669), [11](https://github.com/onflow/flow-go/pull/5667), [12](https://github.com/onflow/flow-go/pull/5654), [13](https://github.com/onflow/flow-go/pull/5783), [14](https://github.com/onflow/flow-go/pull/5775), [15](https://github.com/onflow/flow-go/pull/5767) - flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/pull/634), [2](https://github.com/onflow/flow-go-sdk/pull/625), [3](https://github.com/onflow/flow-go-sdk/pull/618) + - flowkit: [1](https://github.com/onflow/flowkit/pull/38) + - cadence-tools: [1](https://github.com/onflow/cadence-tools/pull/350), [2](https://github.com/onflow/cadence-tools/pull/349) + - emulator: [1](https://github.com/onflow/flow-emulator/pull/643), [2](https://github.com/onflow/flow-emulator/pull/640) - Other chores related to releasing: - [Adjust branches of downstream dependency checks](https://github.com/onflow/cadence/pull/3280) - [Update atree register inlining for Cadence v1.0 feature branch](https://github.com/onflow/flow-go/pull/5768) Cadence Execution -- Race condition bugfix: [Fix block queue edge case](https://github.com/onflow/flow-go/pull/5753) -- [Log the checkpoint file when using generating protocol snapshot from](https://github.com/onflow/flow-go/pull/5680) -- Fix for potential execution fork on dynamically-bootstrapped EN: +- [Execution indeterminism when using cadence getBlock](https://github.com/dapperlabs/flow-go/issues/6939) - [limit the height range when querying getBlock in FVM](https://github.com/onflow/flow-go/pull/5607) - [v0.33 adjust extra blocks in sealing segment](https://github.com/onflow/flow-go/pull/5673) -- bugfix: [Fix unsafeTraverse error handling](https://github.com/onflow/flow-go/pull/5661) -- Creating protocol snapshot from checkpoint file: - - [Checkpoint - validate the header file and sub file when reading root hashes](https://github.com/onflow/flow-go/issues/5623) - Progress towards: [Ingestion engine does not handle EN falling far behind](https://github.com/onflow/flow-go/issues/5298) - [Add ingestion throttle](https://github.com/onflow/flow-go/pull/5337) - [Refactor ingestion engine mempool](https://github.com/onflow/flow-go/issues/5297) - [add ingestion core](https://github.com/onflow/flow-go/pull/5288) +- bugfixes: + - [Fix block queue edge case](https://github.com/onflow/flow-go/pull/5753) + - [Fix unsafeTraverse error handling](https://github.com/onflow/flow-go/pull/5661) +- [Log the checkpoint file when using generating protocol snapshot from](https://github.com/onflow/flow-go/pull/5680) +- Creating protocol snapshot from checkpoint file: + - [Checkpoint - validate the header file and sub file when reading root hashes](https://github.com/onflow/flow-go/issues/5623) -EVM +EVM Core +- [Support for evm.batchRun](https://github.com/onflow/flow-go/issues/5501) +- [Provide revertible randomness in EVM](https://github.com/onflow/flow-go/issues/5507) +- [Update coa.deploy methods to also return a result](https://github.com/onflow/flow-go/pull/5606) - [populate EVM block timestamp](https://github.com/onflow/flow-go/issues/5610) - [Fix EVM load test](https://github.com/onflow/flow-go/pull/5737) - [Clean up EVM environment setup](https://github.com/onflow/flow-go/pull/5668) -- Continued reviewing VM Bridge PRs -Cadence 1.0 Contract updates -- [Continued working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) -- Spent time reviewing various Cadence 1.0 upgrade PRs for DL and in the community -- [Update V2 FT standard to move Withdrawn event to Vault and add balanceAfter params](https://github.com/onflow/flow-ft/pull/158) +EVM Gateway +- Features: + - [Use evm height mapping in APIs](https://github.com/onflow/flow-evm-gateway/issues/111) + - [Implement sync status](https://github.com/onflow/flow-evm-gateway/issues/80) +- Improvements: + - [Add lint job in CI](https://github.com/onflow/flow-evm-gateway/pull/206) + - [Testing - Properly setup EVM environment to allow usage of EVM types in test scripts](https://github.com/onflow/cadence-tools/pull/338) +- chores & bugfixes: [1](https://github.com/onflow/flow-evm-gateway/pull/216), [2](https://github.com/onflow/flow-evm-gateway/pull/215), [3](https://github.com/onflow/flow-evm-gateway/pull/213), [4](https://github.com/onflow/flow-evm-gateway/pull/207), [5](https://github.com/onflow/flow-evm-gateway/pull/210), [6](https://github.com/onflow/flow-evm-gateway/pull/205), [7](https://github.com/onflow/flow-evm-gateway/pull/201), [8](https://github.com/onflow/flow-evm-gateway/pull/203) Other - [ Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) @@ -161,7 +173,7 @@ Other **This sprint** Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades -* [Emulator release is ready](https://github.com/onflow/flow-cli/releases/tag/v1.17.0-cadence-v1.0.0-preview.19), support devs that are teting migration, monitor Discord questions. +* [Emulator release is ready](https://github.com/onflow/flow-emulator/releases/tag/v1.0.0-preview.19), support devs that are teting migration, monitor Discord questions. Objective 1, KR4: Testnet Upgrade to Crescendo Release * Completed Testnet migration with both Atree inlining and Cadence 1.0. From a374fc002747f94248a78e8879d9ddd4d4cca355 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 26 Apr 2024 17:45:08 +0200 Subject: [PATCH 263/626] Cadence WG updates 2 --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index bd06d67e2..5fdd4eb27 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -3,6 +3,7 @@ ### Team Wins 🎉 - First TN state migrated with both Atree inlining and C1.0 bootstrapped on Migration Testnet & passed Epoch transition. Atree inlining reduced the EN memory usage from ~280GB to 132GB - 54% reduction in memory usage! [Jan] +- [Cadence release 22](https://github.com/onflow/cadence/releases/tag/v1.0.0-preview.22) addressed all remaining planned breaking changes. [Jan] - EVM - 2 big features landed this week, EVM.batchRun & Revertible Randomness. [Jan] - Cross-VM bridge is code complete (save for more testing) and also deployed to PreviewNet! Contract audit starts next Monday! [Greg] - Simplified CLI Quickstarts with Dependency Manager @@ -178,7 +179,7 @@ Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence Objective 1, KR4: Testnet Upgrade to Crescendo Release * Completed Testnet migration with both Atree inlining and Cadence 1.0. * Continue work on migration optimizations. -* Continue with [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) for production readiness. +* Complete [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) production readiness EPICs. Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN * Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) From 8d126e85a811b159b436aaf4790ec3700ea4d504 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 26 Apr 2024 17:46:44 +0200 Subject: [PATCH 264/626] Update 2024-04-26-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 5fdd4eb27..afad9e1d0 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -3,7 +3,7 @@ ### Team Wins 🎉 - First TN state migrated with both Atree inlining and C1.0 bootstrapped on Migration Testnet & passed Epoch transition. Atree inlining reduced the EN memory usage from ~280GB to 132GB - 54% reduction in memory usage! [Jan] -- [Cadence release 22](https://github.com/onflow/cadence/releases/tag/v1.0.0-preview.22) addressed all remaining planned breaking changes. [Jan] +- [Cadence 1.0 preview release 22](https://github.com/onflow/cadence/releases/tag/v1.0.0-preview.22) addressed all remaining planned breaking changes. [Jan] - EVM - 2 big features landed this week, EVM.batchRun & Revertible Randomness. [Jan] - Cross-VM bridge is code complete (save for more testing) and also deployed to PreviewNet! Contract audit starts next Monday! [Greg] - Simplified CLI Quickstarts with Dependency Manager From 3875a39caec8d846cb2f29a445ede8583137521d Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 26 Apr 2024 08:55:53 -0700 Subject: [PATCH 265/626] update data availability sprint 2024-04-26 part2 --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index afad9e1d0..b2a33c125 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -266,8 +266,8 @@ Cycle Objective(s): - N/A this sprint as Tarak was out-of-office * Data Availability: - - Continue to roll out local script exec to additional QN ANs - Test local script exec with remaining studio nodes + - Continue to debug slow response time on mainnet QN ANs - Continue to debug high memory usage on previewnet ANs - KROK Team - Continue work to support enabling indexing on Dynamic bootstrapped AN ([Issue #5423](https://github.com/onflow/flow-go/issues/5423)) From c82730ea8cc4838d4c94cc46a657344c1ec19eb2 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 26 Apr 2024 18:04:39 +0200 Subject: [PATCH 266/626] Update 2024-04-26-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index b2a33c125..71d1f3113 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -114,6 +114,11 @@ State migration to Crescendo release - [Cache results of entitlement type conversion](https://github.com/onflow/cadence/pull/3232) - [Optimise merge registers for migrations](https://github.com/onflow/flow-go/pull/5613) +Cadence 1.0 Contract updates +- [Continued working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) +- Spent time reviewing various Cadence 1.0 upgrade PRs for DL and in the community +- [Update V2 FT standard to move Withdrawn event to Vault and add balanceAfter params](https://github.com/onflow/flow-ft/pull/158) + Cadence 1.0 improvements & bugixes - [FLIP 262 Implementation - Require matching access modifiers for interface implementation members](https://github.com/onflow/cadence/issues/3245) - [FLIP 242 Implementation - Improve Public Capability Acquisition](https://github.com/onflow/cadence/pull/3252) From 36d70a0a59a7253e90b7fc7cd844e7da99bed233 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 26 Apr 2024 09:06:32 -0700 Subject: [PATCH 267/626] Added protocol updates --- .../2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 71d1f3113..440855841 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -238,8 +238,12 @@ Cycle Objective(s): - [Integration test for version upgrade - in review](https://github.com/onflow/flow-go/pull/5477#top) - [Reducing duplicated data in the Snapshot data structure \(remove EncodableEpoch\) - in review](https://github.com/onflow/flow-go/pull/5682#top) - [API safety improvements and documentation - in review](https://github.com/onflow/flow-go/pull/5644#top) + - [Merged PR necessary for M2](https://github.com/onflow/flow-go/pull/5650) + - Discussions about finalizing M2 and future scope of work + - Prepared [PR](https://github.com/onflow/flow-go/pull/5681) with test to catch an edge case + - Started implementation of EFM recovery protocol part. Started PR for [injecting epoch extensions](https://github.com/onflow/flow-go/pull/5773) -* Core contracts: +* Core Protocol contracts: - Source of Randomness - [SoR history updates](https://github.com/onflow/flow-core-contracts/pull/416), released to testnet and mainnet - [Update multisig to upgrade RandomBeacon history](https://github.com/onflow/service-account/pull/290) @@ -263,6 +267,8 @@ Cycle Objective(s): * Zero-downtime Upgrades of Node Software: - [Dynamic Protocol State - todos, suggested revisions and tech debt](https://github.com/onflow/flow-go/issues/5666#top) + - Reviews for open M2 PRs, priority to close the milestone + - Apply comments and finalize https://github.com/onflow/flow-go/pull/5773 * EFM Recovery From 0f59b434e7b294c4bf4cb22fb81eb8149f2b9b95 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 26 Apr 2024 21:41:53 +0530 Subject: [PATCH 268/626] Update 2024-04-26-Flow-Sprint-Kickoff.md Updating FLIPs tracker --- .../2024-04-26-Flow-Sprint-Kickoff.md | 37 +++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 71d1f3113..899188f54 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -54,22 +54,29 @@ | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 7 | 8 | 0 | 5 | **20** | -| Proposed | 3 | 2 | 2 | 1 | **8** | -| Accepted | 2 | 1 | 1 | 2 | **6** | +| Drafted | 6 (-1) | 8 | 0 | 7 (+2) | **21** (+1) | +| Proposed | 1 (-2) | 2 | 2 | 0 (-1) | **5** (-3) | +| Accepted | 2 | 1 | 1 | 1 | **5** (-1) | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 1 | 19 | 2 | 0 | **22** | -| Released | 4 | 0 | 3 | 4 | **11** | -| Total | **17** | **30** | **9** | **12** | **68** | - -- No new FLIPs or changes during the sprint -- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. -(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) -### Untagged FLIPs - -- https://github.com/onflow/flips/pull/246 -- https://github.com/onflow/flips/pull/250 -- https://github.com/onflow/flips/pull/256 - +| Implemented | 3 (+2) | 21 (+2) | 2 | 1 (+1) | **7** (+5) | +| Released | 4 | 0 | 3 | 6 (+2) | **13** (+2) | +| Total | **16** (-1) | **32** (+2) | **9** | **15** (+3) | **72** (+4) | + +**New FLIPs tracked now** +* [Protocol] Message Forensic (MF) System - protocol FLIP +* [Protocol] Passkey Support - protocol FLIP + +**Marked as Released** +* [Protocol] On-Chain randomness history for commit-reveal schemes +* [Protocol] Expand Access Streaming API with new endpoints + +**Implemented** +* [Cadence] random function +* [Cadence] Require matching access modifiers for interface implementation members (yesterday) +* [Protocol] FVM supporting EVM +* [Application] Flow EVM Gateway +* [Application] FlowEVM VM Bridge + --- From ed364f778fbd94d35048311aae9f1ba3c87202bc Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 26 Apr 2024 09:19:55 -0700 Subject: [PATCH 269/626] Added EFM updates --- .../sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 1705eb508..ddaedb4ff 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -248,8 +248,11 @@ Cycle Objective(s): - [Merged PR necessary for M2](https://github.com/onflow/flow-go/pull/5650) - Discussions about finalizing M2 and future scope of work - Prepared [PR](https://github.com/onflow/flow-go/pull/5681) with test to catch an edge case - - Started implementation of EFM recovery protocol part. Started PR for [injecting epoch extensions](https://github.com/onflow/flow-go/pull/5773) - + - Started implementation of EFM recovery protocol part. Started PR for [injecting epoch extensions](https://github.com/onflow/flow-go/pull/5773) + +* EFM Recovery + - Wrapped up EFM Recovery cadence changes https://github.com/onflow/flow-core-contracts/pull/420 + * Core Protocol contracts: - Source of Randomness - [SoR history updates](https://github.com/onflow/flow-core-contracts/pull/416), released to testnet and mainnet @@ -278,6 +281,8 @@ Cycle Objective(s): - Apply comments and finalize https://github.com/onflow/flow-go/pull/5773 * EFM Recovery + - [EFM Recovery integration tests](https://github.com/onflow/flow-go/issues/5639) + - [Cancel in progress root QC voting](https://github.com/onflow/flow-go/issues/5733) * Cryptography: From 87cd84dcba94b20651e69a9f8998c7a21b475c7a Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 26 Apr 2024 21:57:53 +0530 Subject: [PATCH 270/626] Update 2024-04-26-Flow-Sprint-Kickoff.md Updating governance changes + FLIP tracker edits --- .../2024-04-26-Flow-Sprint-Kickoff.md | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 1705eb508..b18b7a357 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -63,16 +63,16 @@ | Total | **16** (-1) | **32** (+2) | **9** | **15** (+3) | **72** (+4) | **New FLIPs tracked now** -* [Protocol] Message Forensic (MF) System - protocol FLIP -* [Protocol] Passkey Support - protocol FLIP +* [Protocol] Message Forensic (MF) System +* [Protocol] Passkey Support **Marked as Released** * [Protocol] On-Chain randomness history for commit-reveal schemes * [Protocol] Expand Access Streaming API with new endpoints **Implemented** -* [Cadence] random function -* [Cadence] Require matching access modifiers for interface implementation members (yesterday) +* [Cadence] Random function +* [Cadence] Require matching access modifiers for interface implementation members * [Protocol] FVM supporting EVM * [Application] Flow EVM Gateway * [Application] FlowEVM VM Bridge @@ -483,16 +483,24 @@ Cycle Objective(s): Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** +- Inflation research - + - synced and brainstormed with Dete + - modeled new options - stake vs APY to consider lowering overall stake to reduce inflation; exlored segregated delegation as an option; Researched target staking ratio methodology to control inflation [see [worksheet](https://docs.google.com/spreadsheets/d/1jr-P9ZQB3hDEZFh3pjktRnhIe0jFrMz4hn4_EFGHfK4/edit#gid=2070083906)] +- 3 key Crescendo Governance changes + - Receiving and responding to Forum post feedback + - Suggested Transaction fee multipler to implement 100x increase + - Updated Transaction fee impact analysis on partners + - Shared changes during Protocol working group monthly meeting + - Planned PreviewNet testing of changes **This sprint** -- Gather and respond to community feedback on the forum post -- For decentralization efforts, work with a16z to consolidate three nodes, and with Coinbase to reduce one node they operate on leased stake -- Continue work on automation of the decentralization dashboard to send messages when critical thresholds are crossed -- Draft FLIP on EVM gas to compute ratio and compute limit hike. -- Update FLIP on transaction fee to suggest a transaction fee multiplier closely tied to FLOW token's market price -- Continue research on Inflation (new strategies, other networks, validator impact, etc.) and have a second round of review. - +- Review inflation strategies with the team, get feedback, remodel, conclude on the way forward +- Draft FLIP on EVM gas to compute ratio and compute limit hike +- Update transaction fee 100x FLIP to suggest a new transaction fee multipler, also update the market comps per the latest exchange rates to get it ready for reintroduction +- Consolidate node operator data; assess which operator use lease tokens versus self-stake +- Continue working on node operator branding and logos with .find team +- Continue decentralization efforts - work with a16z to consolidate three nodes; with Coinbase to reduce one node they operate on leased stake; Continue work on automation of the decentralization dashboard to send messages when critical thresholds are crossed **On Hold** From 4cf8d99c50c5eb2830f158ba89f22e8a69cd3f49 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 26 Apr 2024 22:00:47 +0530 Subject: [PATCH 271/626] Update 2024-04-26-Flow-Sprint-Kickoff.md Updating governance updates --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index ebb4f4e0a..5da24b5d0 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -500,6 +500,7 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf **This sprint** +- Test governance changes (gas to evm ratio, 5x compute limit, 100x fee) on PreviewNet - Review inflation strategies with the team, get feedback, remodel, conclude on the way forward - Draft FLIP on EVM gas to compute ratio and compute limit hike - Update transaction fee 100x FLIP to suggest a new transaction fee multipler, also update the market comps per the latest exchange rates to get it ready for reintroduction From f33834647414faa87c8a9e0e8fc14a5a687794fc Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 26 Apr 2024 09:37:03 -0700 Subject: [PATCH 272/626] Update 2024-04-26-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index 5da24b5d0..eec901ba1 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -27,7 +27,7 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.99% | 9.82% | +| Access API Liveness | 99.9% | 99.99% | 12.1% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) From 10d12c1a5bd48f5b3cf4e210b7901866a6236a27 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 26 Apr 2024 09:38:07 -0700 Subject: [PATCH 273/626] Update 2024-04-26-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index eec901ba1..ea3eeb84c 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -490,8 +490,8 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf **Done last sprint** - Inflation research - - synced and brainstormed with Dete - - modeled new options - stake vs APY to consider lowering overall stake to reduce inflation; exlored segregated delegation as an option; Researched target staking ratio methodology to control inflation [see [worksheet](https://docs.google.com/spreadsheets/d/1jr-P9ZQB3hDEZFh3pjktRnhIe0jFrMz4hn4_EFGHfK4/edit#gid=2070083906)] -- 3 key Crescendo Governance changes + - modeled new options - stake vs APY to consider lowering overall stake to reduce inflation; explored segregated delegation as an option; Researched target staking ratio methodology to control inflation [see [worksheet](https://docs.google.com/spreadsheets/d/1jr-P9ZQB3hDEZFh3pjktRnhIe0jFrMz4hn4_EFGHfK4/edit#gid=2070083906)] +- 3 key Governance updates for Crescendo - Receiving and responding to Forum post feedback - Suggested Transaction fee multipler to implement 100x increase - Updated Transaction fee impact analysis on partners From f4bbcbe3e5579fa90107aba25eacda01517eeb35 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 26 Apr 2024 09:55:42 -0700 Subject: [PATCH 274/626] Update ux wins --- agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md index ea3eeb84c..d4813389f 100644 --- a/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-04-26-Flow-Sprint-Kickoff.md @@ -10,6 +10,7 @@ - Deployed hardware-wallet-api to cloudrun - Kicked-off newsletter subscription for developers - Cadence-lang.org Improvements & New Features Page +- Successfully deployed Uniswap v4 to Previewnet ### General updates From 8f1cc042d6175cad735f05042aad0438e2729c85 Mon Sep 17 00:00:00 2001 From: Illia Malachyn Date: Tue, 16 Apr 2024 14:30:16 +0300 Subject: [PATCH 275/626] Add new rpc endpoints Added the following endpoints - SubscribeExecutionDataFromStartBlockID - SubscribeExecutionDataFromStartBlockHeight - SubscribeExecutionDataFromLatest --- .../flow/executiondata/executiondata.proto | 88 ++++- .../go/flow/executiondata/executiondata.pb.go | 337 +++++++++++++----- .../executiondata/executiondata_grpc.pb.go | 317 ++++++++++++++-- 3 files changed, 622 insertions(+), 120 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 8403dc3bb..78ca8159c 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -23,6 +23,10 @@ service ExecutionDataAPI { rpc GetExecutionDataByBlockID(GetExecutionDataByBlockIDRequest) returns (GetExecutionDataByBlockIDResponse); + // Warning: this endpoint is deprecated and will be removed in future versions. + // Use SubscribeExecutionDataFromStartBlockID, SubscribeExecutionDataFromStartBlockHeight + // or SubscribeExecutionDataFromLatest. + // // SubscribeExecutionData streams execution data for all blocks starting at // the requested start block, up until the latest available block. Once the // latest is reached, the stream will remain open and responses are sent for @@ -32,13 +36,54 @@ service ExecutionDataAPI { // - InvalidArgument is returned if the request contains an invalid start // block. // - NotFound is returned if the start block is not currently available on the - // node. This may - // happen if the block was from a previous spork, or if the block has yet - // not been received. + // node. This may happen if the block was from a previous spork, or if the block + // has yet not been received. rpc SubscribeExecutionData(SubscribeExecutionDataRequest) + returns (stream SubscribeExecutionDataResponse) { + option deprecated = true; + }; + + // SubscribeExecutionDataFromStartBlockID streams execution data for all blocks + // starting at the requested start block, up until the latest available block. + // Once the latest is reached, the stream will remain open and responses are + // sent for each new execution data as it becomes available. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid start + // block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, + // or if the block has yet not been received. + rpc SubscribeExecutionDataFromStartBlockID( + SubscribeExecutionDataFromStartBlockIDRequest) + returns (stream SubscribeExecutionDataResponse); + + // SubscribeExecutionDataFromStartBlockHeight streams execution data for all blocks + // starting at the requested start block, up until the latest available block. + // Once the latest is reached, the stream will remain open and responses are + // sent for each new execution data as it becomes available. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid start + // block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, + // or if the block has yet not been received. + rpc SubscribeExecutionDataFromStartBlockHeight( + SubscribeExecutionDataFromStartBlockHeightRequest) returns (stream SubscribeExecutionDataResponse); - // Warning: this function is deprecated and will be removed in a future version. + // SubscribeExecutionDataFromStartBlockHeight streams execution data for all blocks + // starting from the latest block. + // + // Errors: + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, + // or if the block has yet not been received. + rpc SubscribeExecutionDataFromLatest(SubscribeExecutionDataFromLatestRequest) + returns (stream SubscribeExecutionDataResponse); + + // Warning: this endpoint is deprecated and will be removed in future versions. // Use SubscribeEventsFromStartBlockID, SubscribeEventsFromStartHeight or SubscribeEventsFromLatest. // // SubscribeEvents streams events for all blocks starting at the requested @@ -130,7 +175,7 @@ service ExecutionDataAPI { // Errors: // - InvalidArgument is returned if the request contains an invalid EventFilter. rpc SubscribeEventsFromLatest(SubscribeEventsFromLatestRequest) - returns (stream SubscribeEventsResponse); + returns (stream SubscribeEventsResponse); // GetRegisterValues gets the values for the given register IDs as of the given block height rpc GetRegisterValues(GetRegisterValuesRequest) @@ -260,6 +305,39 @@ message SubscribeExecutionDataResponse { google.protobuf.Timestamp block_timestamp = 3; } +// The request for SubscribeExecutionDataFromStartBlockIDRequest +message SubscribeExecutionDataFromStartBlockIDRequest { + // Block ID of the first block to get execution data for. + bytes start_block_id = 1; + + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + entities.EventEncodingVersion event_encoding_version = 2; +} + +// The request for SubscribeExecutionDataFromStartBlockHeightRequest +message SubscribeExecutionDataFromStartBlockHeightRequest { + // Block height of the first block to get execution data for. + uint64 start_block_height = 1; + + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + entities.EventEncodingVersion event_encoding_version = 2; +} + +// The request for SubscribeExecutionDataFromLatestRequest +message SubscribeExecutionDataFromLatestRequest { + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + entities.EventEncodingVersion event_encoding_version = 1; +} + // The request for SubscribeEvents message SubscribeEventsRequest { // Block ID of the first block to search for events. diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index 241ec4e51..cb6afeaf8 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -244,6 +244,166 @@ func (m *SubscribeExecutionDataResponse) GetBlockTimestamp() *timestamppb.Timest return nil } +// The request for SubscribeExecutionDataFromStartBlockIDRequest +type SubscribeExecutionDataFromStartBlockIDRequest struct { + // Block ID of the first block to get execution data for. + StartBlockId []byte `protobuf:"bytes,1,opt,name=start_block_id,json=startBlockId,proto3" json:"start_block_id,omitempty"` + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,2,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeExecutionDataFromStartBlockIDRequest) Reset() { + *m = SubscribeExecutionDataFromStartBlockIDRequest{} +} +func (m *SubscribeExecutionDataFromStartBlockIDRequest) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeExecutionDataFromStartBlockIDRequest) ProtoMessage() {} +func (*SubscribeExecutionDataFromStartBlockIDRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{4} +} + +func (m *SubscribeExecutionDataFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeExecutionDataFromStartBlockIDRequest.Unmarshal(m, b) +} +func (m *SubscribeExecutionDataFromStartBlockIDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeExecutionDataFromStartBlockIDRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeExecutionDataFromStartBlockIDRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeExecutionDataFromStartBlockIDRequest.Merge(m, src) +} +func (m *SubscribeExecutionDataFromStartBlockIDRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeExecutionDataFromStartBlockIDRequest.Size(m) +} +func (m *SubscribeExecutionDataFromStartBlockIDRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeExecutionDataFromStartBlockIDRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeExecutionDataFromStartBlockIDRequest proto.InternalMessageInfo + +func (m *SubscribeExecutionDataFromStartBlockIDRequest) GetStartBlockId() []byte { + if m != nil { + return m.StartBlockId + } + return nil +} + +func (m *SubscribeExecutionDataFromStartBlockIDRequest) GetEventEncodingVersion() entities.EventEncodingVersion { + if m != nil { + return m.EventEncodingVersion + } + return entities.EventEncodingVersion_JSON_CDC_V0 +} + +// The request for SubscribeExecutionDataFromStartBlockHeightRequest +type SubscribeExecutionDataFromStartBlockHeightRequest struct { + // Block height of the first block to get execution data for. + StartBlockHeight uint64 `protobuf:"varint,1,opt,name=start_block_height,json=startBlockHeight,proto3" json:"start_block_height,omitempty"` + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,2,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeExecutionDataFromStartBlockHeightRequest) Reset() { + *m = SubscribeExecutionDataFromStartBlockHeightRequest{} +} +func (m *SubscribeExecutionDataFromStartBlockHeightRequest) String() string { + return proto.CompactTextString(m) +} +func (*SubscribeExecutionDataFromStartBlockHeightRequest) ProtoMessage() {} +func (*SubscribeExecutionDataFromStartBlockHeightRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{5} +} + +func (m *SubscribeExecutionDataFromStartBlockHeightRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeExecutionDataFromStartBlockHeightRequest.Unmarshal(m, b) +} +func (m *SubscribeExecutionDataFromStartBlockHeightRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeExecutionDataFromStartBlockHeightRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeExecutionDataFromStartBlockHeightRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeExecutionDataFromStartBlockHeightRequest.Merge(m, src) +} +func (m *SubscribeExecutionDataFromStartBlockHeightRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeExecutionDataFromStartBlockHeightRequest.Size(m) +} +func (m *SubscribeExecutionDataFromStartBlockHeightRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeExecutionDataFromStartBlockHeightRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeExecutionDataFromStartBlockHeightRequest proto.InternalMessageInfo + +func (m *SubscribeExecutionDataFromStartBlockHeightRequest) GetStartBlockHeight() uint64 { + if m != nil { + return m.StartBlockHeight + } + return 0 +} + +func (m *SubscribeExecutionDataFromStartBlockHeightRequest) GetEventEncodingVersion() entities.EventEncodingVersion { + if m != nil { + return m.EventEncodingVersion + } + return entities.EventEncodingVersion_JSON_CDC_V0 +} + +// The request for SubscribeExecutionDataFromLatestRequest +type SubscribeExecutionDataFromLatestRequest struct { + // Preferred event encoding version of the block events payload. + // Possible variants: + // 1. CCF + // 2. JSON-CDC + EventEncodingVersion entities.EventEncodingVersion `protobuf:"varint,1,opt,name=event_encoding_version,json=eventEncodingVersion,proto3,enum=flow.entities.EventEncodingVersion" json:"event_encoding_version,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SubscribeExecutionDataFromLatestRequest) Reset() { + *m = SubscribeExecutionDataFromLatestRequest{} +} +func (m *SubscribeExecutionDataFromLatestRequest) String() string { return proto.CompactTextString(m) } +func (*SubscribeExecutionDataFromLatestRequest) ProtoMessage() {} +func (*SubscribeExecutionDataFromLatestRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_da469632570513fb, []int{6} +} + +func (m *SubscribeExecutionDataFromLatestRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SubscribeExecutionDataFromLatestRequest.Unmarshal(m, b) +} +func (m *SubscribeExecutionDataFromLatestRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SubscribeExecutionDataFromLatestRequest.Marshal(b, m, deterministic) +} +func (m *SubscribeExecutionDataFromLatestRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_SubscribeExecutionDataFromLatestRequest.Merge(m, src) +} +func (m *SubscribeExecutionDataFromLatestRequest) XXX_Size() int { + return xxx_messageInfo_SubscribeExecutionDataFromLatestRequest.Size(m) +} +func (m *SubscribeExecutionDataFromLatestRequest) XXX_DiscardUnknown() { + xxx_messageInfo_SubscribeExecutionDataFromLatestRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_SubscribeExecutionDataFromLatestRequest proto.InternalMessageInfo + +func (m *SubscribeExecutionDataFromLatestRequest) GetEventEncodingVersion() entities.EventEncodingVersion { + if m != nil { + return m.EventEncodingVersion + } + return entities.EventEncodingVersion_JSON_CDC_V0 +} + // The request for SubscribeEvents type SubscribeEventsRequest struct { // Block ID of the first block to search for events. @@ -282,7 +442,7 @@ func (m *SubscribeEventsRequest) Reset() { *m = SubscribeEventsRequest{} func (m *SubscribeEventsRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeEventsRequest) ProtoMessage() {} func (*SubscribeEventsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{4} + return fileDescriptor_da469632570513fb, []int{7} } func (m *SubscribeEventsRequest) XXX_Unmarshal(b []byte) error { @@ -370,7 +530,7 @@ func (m *SubscribeEventsFromStartBlockIDRequest) Reset() { func (m *SubscribeEventsFromStartBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeEventsFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeEventsFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{5} + return fileDescriptor_da469632570513fb, []int{8} } func (m *SubscribeEventsFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -449,7 +609,7 @@ func (m *SubscribeEventsFromStartHeightRequest) Reset() { *m = Subscribe func (m *SubscribeEventsFromStartHeightRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeEventsFromStartHeightRequest) ProtoMessage() {} func (*SubscribeEventsFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{6} + return fileDescriptor_da469632570513fb, []int{9} } func (m *SubscribeEventsFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -526,7 +686,7 @@ func (m *SubscribeEventsFromLatestRequest) Reset() { *m = SubscribeEvent func (m *SubscribeEventsFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeEventsFromLatestRequest) ProtoMessage() {} func (*SubscribeEventsFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{7} + return fileDescriptor_da469632570513fb, []int{10} } func (m *SubscribeEventsFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -592,7 +752,7 @@ func (m *SubscribeEventsResponse) Reset() { *m = SubscribeEventsResponse func (m *SubscribeEventsResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeEventsResponse) ProtoMessage() {} func (*SubscribeEventsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{8} + return fileDescriptor_da469632570513fb, []int{11} } func (m *SubscribeEventsResponse) XXX_Unmarshal(b []byte) error { @@ -695,7 +855,7 @@ func (m *EventFilter) Reset() { *m = EventFilter{} } func (m *EventFilter) String() string { return proto.CompactTextString(m) } func (*EventFilter) ProtoMessage() {} func (*EventFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{9} + return fileDescriptor_da469632570513fb, []int{12} } func (m *EventFilter) XXX_Unmarshal(b []byte) error { @@ -752,7 +912,7 @@ func (m *GetRegisterValuesRequest) Reset() { *m = GetRegisterValuesReque func (m *GetRegisterValuesRequest) String() string { return proto.CompactTextString(m) } func (*GetRegisterValuesRequest) ProtoMessage() {} func (*GetRegisterValuesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{10} + return fileDescriptor_da469632570513fb, []int{13} } func (m *GetRegisterValuesRequest) XXX_Unmarshal(b []byte) error { @@ -800,7 +960,7 @@ func (m *GetRegisterValuesResponse) Reset() { *m = GetRegisterValuesResp func (m *GetRegisterValuesResponse) String() string { return proto.CompactTextString(m) } func (*GetRegisterValuesResponse) ProtoMessage() {} func (*GetRegisterValuesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{11} + return fileDescriptor_da469632570513fb, []int{14} } func (m *GetRegisterValuesResponse) XXX_Unmarshal(b []byte) error { @@ -865,7 +1025,7 @@ func (m *SubscribeAccountStatusesFromStartBlockIDRequest) String() string { } func (*SubscribeAccountStatusesFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeAccountStatusesFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{12} + return fileDescriptor_da469632570513fb, []int{15} } func (m *SubscribeAccountStatusesFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -951,7 +1111,7 @@ func (m *SubscribeAccountStatusesFromStartHeightRequest) String() string { } func (*SubscribeAccountStatusesFromStartHeightRequest) ProtoMessage() {} func (*SubscribeAccountStatusesFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{13} + return fileDescriptor_da469632570513fb, []int{16} } func (m *SubscribeAccountStatusesFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -1032,7 +1192,7 @@ func (m *SubscribeAccountStatusesFromLatestBlockRequest) String() string { } func (*SubscribeAccountStatusesFromLatestBlockRequest) ProtoMessage() {} func (*SubscribeAccountStatusesFromLatestBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{14} + return fileDescriptor_da469632570513fb, []int{17} } func (m *SubscribeAccountStatusesFromLatestBlockRequest) XXX_Unmarshal(b []byte) error { @@ -1096,7 +1256,7 @@ func (m *SubscribeAccountStatusesResponse) Reset() { *m = SubscribeAccou func (m *SubscribeAccountStatusesResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeAccountStatusesResponse) ProtoMessage() {} func (*SubscribeAccountStatusesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{15} + return fileDescriptor_da469632570513fb, []int{18} } func (m *SubscribeAccountStatusesResponse) XXX_Unmarshal(b []byte) error { @@ -1161,7 +1321,7 @@ func (m *SubscribeAccountStatusesResponse_Result) Reset() { func (m *SubscribeAccountStatusesResponse_Result) String() string { return proto.CompactTextString(m) } func (*SubscribeAccountStatusesResponse_Result) ProtoMessage() {} func (*SubscribeAccountStatusesResponse_Result) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{15, 0} + return fileDescriptor_da469632570513fb, []int{18, 0} } func (m *SubscribeAccountStatusesResponse_Result) XXX_Unmarshal(b []byte) error { @@ -1231,7 +1391,7 @@ func (m *StatusFilter) Reset() { *m = StatusFilter{} } func (m *StatusFilter) String() string { return proto.CompactTextString(m) } func (*StatusFilter) ProtoMessage() {} func (*StatusFilter) Descriptor() ([]byte, []int) { - return fileDescriptor_da469632570513fb, []int{16} + return fileDescriptor_da469632570513fb, []int{19} } func (m *StatusFilter) XXX_Unmarshal(b []byte) error { @@ -1271,6 +1431,9 @@ func init() { proto.RegisterType((*GetExecutionDataByBlockIDResponse)(nil), "flow.executiondata.GetExecutionDataByBlockIDResponse") proto.RegisterType((*SubscribeExecutionDataRequest)(nil), "flow.executiondata.SubscribeExecutionDataRequest") proto.RegisterType((*SubscribeExecutionDataResponse)(nil), "flow.executiondata.SubscribeExecutionDataResponse") + proto.RegisterType((*SubscribeExecutionDataFromStartBlockIDRequest)(nil), "flow.executiondata.SubscribeExecutionDataFromStartBlockIDRequest") + proto.RegisterType((*SubscribeExecutionDataFromStartBlockHeightRequest)(nil), "flow.executiondata.SubscribeExecutionDataFromStartBlockHeightRequest") + proto.RegisterType((*SubscribeExecutionDataFromLatestRequest)(nil), "flow.executiondata.SubscribeExecutionDataFromLatestRequest") proto.RegisterType((*SubscribeEventsRequest)(nil), "flow.executiondata.SubscribeEventsRequest") proto.RegisterType((*SubscribeEventsFromStartBlockIDRequest)(nil), "flow.executiondata.SubscribeEventsFromStartBlockIDRequest") proto.RegisterType((*SubscribeEventsFromStartHeightRequest)(nil), "flow.executiondata.SubscribeEventsFromStartHeightRequest") @@ -1292,74 +1455,80 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 1094 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x58, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xd7, 0xac, 0x4d, 0xd2, 0x3c, 0x9b, 0xb4, 0x1d, 0x45, 0xc1, 0x5e, 0x51, 0xe2, 0x6c, 0xa1, - 0x58, 0x90, 0xae, 0x83, 0xdb, 0x8a, 0xf2, 0xe7, 0x52, 0x37, 0x69, 0xb0, 0xc4, 0xa1, 0xda, 0x94, - 0x4a, 0xf4, 0x62, 0xed, 0x9f, 0xc9, 0x66, 0x85, 0xbd, 0xeb, 0xee, 0xcc, 0x86, 0x44, 0x5c, 0xe0, - 0x56, 0x21, 0x2e, 0xdc, 0x2a, 0x71, 0x40, 0x42, 0x42, 0x9c, 0x10, 0xdf, 0x84, 0x6f, 0xc0, 0x91, - 0x33, 0x17, 0x3e, 0x00, 0xf2, 0xec, 0xec, 0x7a, 0x77, 0xbd, 0xfe, 0xb3, 0x71, 0x2a, 0xa0, 0x17, - 0x4b, 0xf3, 0xe6, 0xcd, 0xcc, 0xef, 0xfd, 0xde, 0xdb, 0xdf, 0xbc, 0x31, 0xdc, 0x38, 0xea, 0x7b, - 0x5f, 0xb6, 0xc8, 0x29, 0x31, 0x03, 0xe6, 0x78, 0xae, 0xa5, 0x33, 0x3d, 0x3d, 0x52, 0x87, 0xbe, - 0xc7, 0x3c, 0x8c, 0x47, 0x7e, 0x6a, 0x6a, 0x46, 0x6e, 0x86, 0x6b, 0x5d, 0xe6, 0x30, 0x87, 0xd0, - 0x96, 0xd1, 0xf7, 0xcc, 0x2f, 0x7a, 0xb1, 0x4b, 0x6f, 0xbc, 0x5a, 0xae, 0xa7, 0x3d, 0xc9, 0x09, - 0x71, 0x99, 0x98, 0x7a, 0x3d, 0x3d, 0xe5, 0x13, 0xdb, 0xa1, 0x8c, 0xf8, 0x62, 0x76, 0xcb, 0xf6, - 0x3c, 0xbb, 0x4f, 0x5a, 0x7c, 0x64, 0x04, 0x47, 0x2d, 0xe6, 0x0c, 0x08, 0x65, 0xfa, 0x60, 0x18, - 0x3a, 0x28, 0xcf, 0x11, 0x34, 0x0e, 0x08, 0xdb, 0x8f, 0x4e, 0xdd, 0xd3, 0x99, 0xde, 0x39, 0xeb, - 0x8c, 0xa0, 0x74, 0xf7, 0x34, 0xf2, 0x34, 0x20, 0x94, 0xe1, 0x3a, 0x5c, 0x0a, 0xc1, 0x39, 0x56, - 0x0d, 0x35, 0x50, 0xb3, 0xaa, 0xad, 0xf2, 0x71, 0xd7, 0xc2, 0x9f, 0xc3, 0x26, 0x47, 0xd3, 0x23, - 0xae, 0xe9, 0x59, 0x8e, 0x6b, 0xf7, 0x4e, 0x88, 0x4f, 0x1d, 0xcf, 0xad, 0x49, 0x0d, 0xd4, 0x5c, - 0x6f, 0x5f, 0x57, 0xc3, 0xc0, 0x05, 0x3e, 0x75, 0x7f, 0xe4, 0xbc, 0x2f, 0x7c, 0x1f, 0x87, 0xae, - 0xda, 0x06, 0xc9, 0xb1, 0x2a, 0xa7, 0xb0, 0x3d, 0x03, 0x19, 0x1d, 0x7a, 0x2e, 0x25, 0xf8, 0x10, - 0x36, 0xf2, 0x78, 0xe3, 0x30, 0x2b, 0xed, 0xed, 0xcc, 0xe9, 0x7c, 0x75, 0x6a, 0x47, 0x0d, 0x1b, - 0x13, 0x36, 0xe5, 0x77, 0x04, 0xd7, 0x0e, 0x03, 0x83, 0x9a, 0xbe, 0x63, 0x90, 0xb4, 0xbb, 0x60, - 0xe4, 0x4d, 0x58, 0xa7, 0x4c, 0xf7, 0x59, 0x2f, 0xc3, 0x4b, 0x95, 0x5b, 0x3b, 0x82, 0x9c, 0x1d, - 0xc0, 0x49, 0xaf, 0x63, 0xe2, 0xd8, 0xc7, 0x8c, 0x13, 0x53, 0xd6, 0xae, 0x8c, 0x3d, 0x3f, 0xe1, - 0xf6, 0x19, 0x54, 0x96, 0x96, 0xa5, 0xf2, 0x0f, 0x04, 0x6f, 0x4c, 0x0b, 0x48, 0x10, 0xb9, 0x0d, - 0xd5, 0x14, 0x4a, 0xc4, 0x51, 0x56, 0x8c, 0x04, 0xc0, 0x69, 0x5c, 0x4b, 0x4b, 0x70, 0x8d, 0xef, - 0xc3, 0xe5, 0x70, 0xd3, 0xb8, 0x32, 0x79, 0xb8, 0x95, 0xb6, 0xac, 0x86, 0xb5, 0xab, 0x46, 0xb5, - 0xab, 0x3e, 0x8a, 0x3c, 0xb4, 0x75, 0xbe, 0x24, 0x1e, 0x2b, 0xbf, 0x49, 0xb0, 0x39, 0x8e, 0x6f, - 0xc4, 0x00, 0x7d, 0x91, 0x99, 0x7a, 0x1f, 0x56, 0x8e, 0x9c, 0x3e, 0x23, 0xbe, 0x80, 0xba, 0xa5, - 0x4e, 0x7e, 0xdd, 0x61, 0x7a, 0x1e, 0x70, 0x37, 0x4d, 0xb8, 0xe3, 0x9b, 0x80, 0x8f, 0x89, 0xee, - 0x33, 0x83, 0xe8, 0xac, 0xe7, 0xb8, 0x8c, 0xf8, 0x27, 0x7a, 0xbf, 0x56, 0xe6, 0xc7, 0x5c, 0x8d, - 0x67, 0xba, 0x62, 0x62, 0x46, 0x45, 0xbc, 0xb2, 0x6c, 0x45, 0x7c, 0x2f, 0xc1, 0x8d, 0x0c, 0x63, - 0x0f, 0x7c, 0x6f, 0x70, 0x38, 0x26, 0x65, 0xaf, 0x18, 0x83, 0x63, 0x4e, 0xa4, 0x8b, 0xe0, 0xa4, - 0x54, 0x9c, 0x93, 0xf2, 0xb2, 0x9c, 0x3c, 0x97, 0xe0, 0xad, 0x69, 0x9c, 0x84, 0x99, 0x8f, 0x28, - 0xc9, 0x2f, 0x17, 0x34, 0xb7, 0x5c, 0xfe, 0xb7, 0xd4, 0xfc, 0x89, 0xa0, 0x91, 0x43, 0xcd, 0xa7, - 0x3a, 0x23, 0x34, 0x66, 0x65, 0x1c, 0x27, 0xba, 0x88, 0x38, 0xa5, 0xe2, 0x71, 0x2e, 0x2d, 0x94, - 0x7f, 0x21, 0x78, 0x6d, 0x42, 0x48, 0x84, 0x42, 0xce, 0xb8, 0x05, 0xb3, 0xe2, 0x29, 0x4d, 0x8a, - 0xe7, 0x0e, 0xac, 0xf0, 0x13, 0x69, 0xad, 0xd4, 0x28, 0x35, 0x2b, 0xed, 0x8d, 0x3c, 0x90, 0x9a, - 0xf0, 0xc9, 0x53, 0xc5, 0x72, 0x51, 0x55, 0xc4, 0xd7, 0xe1, 0xd5, 0x01, 0xa1, 0x54, 0xb7, 0x49, - 0xcf, 0x71, 0x2d, 0x72, 0xca, 0x55, 0xa3, 0xac, 0x55, 0x85, 0xb1, 0x3b, 0xb2, 0x29, 0x06, 0x54, - 0x12, 0x29, 0xc1, 0xd7, 0x00, 0x42, 0x6e, 0xd9, 0xd9, 0x90, 0xd4, 0x50, 0xa3, 0xd4, 0x5c, 0xd3, - 0xd6, 0xb8, 0xe5, 0xd1, 0xd9, 0x90, 0x60, 0x19, 0x2e, 0x99, 0x9e, 0xcb, 0x7c, 0xdd, 0x1c, 0x05, - 0x39, 0x9a, 0x8c, 0xc7, 0xb8, 0x06, 0xab, 0xba, 0x65, 0xf9, 0x84, 0x86, 0x21, 0xae, 0x69, 0xd1, - 0x50, 0xf9, 0x0a, 0x6a, 0x07, 0x84, 0x69, 0xa2, 0x35, 0x79, 0xac, 0xf7, 0x03, 0x12, 0xeb, 0xf3, - 0x02, 0xf7, 0xce, 0xc7, 0x50, 0x8d, 0xda, 0x9a, 0x9e, 0x63, 0x51, 0x7e, 0x70, 0xa5, 0x5d, 0xcf, - 0x10, 0x18, 0x6d, 0xdf, 0xdd, 0xd3, 0x2a, 0x91, 0x7b, 0xd7, 0xa2, 0xca, 0x2d, 0xa8, 0xe7, 0x1c, - 0x2e, 0x72, 0xba, 0x09, 0x2b, 0x27, 0xdc, 0xc2, 0x43, 0xad, 0x6a, 0x62, 0xa4, 0xfc, 0x20, 0x41, - 0x2b, 0xae, 0x83, 0x7b, 0xa6, 0xe9, 0x05, 0x2e, 0x3b, 0x64, 0x3a, 0x0b, 0x28, 0x59, 0x52, 0x27, - 0xef, 0x66, 0xc4, 0xa0, 0x91, 0xf7, 0x91, 0x84, 0x47, 0xfd, 0x67, 0xd5, 0xe0, 0x27, 0x09, 0xd4, - 0xb9, 0xec, 0x2c, 0xa3, 0x98, 0x2f, 0x03, 0x49, 0x7f, 0xa3, 0xd9, 0x24, 0x85, 0xda, 0xc9, 0xa3, - 0x8e, 0x48, 0xba, 0x9b, 0x11, 0xd0, 0x65, 0xc3, 0xfe, 0x37, 0x14, 0xf4, 0x57, 0x29, 0x71, 0x53, - 0x64, 0xc2, 0xbe, 0x20, 0x29, 0x55, 0x20, 0x25, 0x61, 0x22, 0xbb, 0x29, 0x1b, 0xfe, 0x0c, 0x56, - 0x7d, 0x42, 0x83, 0x3e, 0xa3, 0xb5, 0x32, 0x97, 0x8b, 0x8f, 0x72, 0xb9, 0x9c, 0x03, 0x54, 0xd5, - 0xf8, 0x1e, 0x5a, 0xb4, 0x97, 0xfc, 0x10, 0x56, 0x42, 0x53, 0x52, 0xed, 0x44, 0x04, 0x62, 0x98, - 0x50, 0x7a, 0x69, 0xbe, 0xd2, 0x2b, 0x07, 0x50, 0x4d, 0x66, 0x74, 0x9e, 0x00, 0x4f, 0x15, 0xd9, - 0xf6, 0x8f, 0x15, 0xb8, 0x92, 0x6a, 0xad, 0xef, 0x3d, 0xec, 0xe2, 0x67, 0x88, 0xab, 0x5f, 0xfe, - 0x23, 0x0a, 0xdf, 0xce, 0xe3, 0x64, 0xde, 0x6b, 0x50, 0xbe, 0x53, 0x70, 0x95, 0xc8, 0xf9, 0x37, - 0x28, 0xd9, 0xa3, 0xa7, 0xde, 0x00, 0xef, 0xcd, 0xcc, 0x4d, 0xde, 0x03, 0x4c, 0x6e, 0x17, 0x59, - 0x12, 0x22, 0xd8, 0x45, 0xf8, 0x29, 0x5c, 0xce, 0xdc, 0xee, 0xf8, 0x9d, 0xd9, 0x1b, 0x25, 0xdf, - 0x12, 0xf2, 0xbb, 0x0b, 0xf9, 0x86, 0xa7, 0x29, 0xa5, 0x67, 0x12, 0xda, 0x45, 0xf8, 0x3b, 0x04, - 0x5b, 0x73, 0x1a, 0x6d, 0xfc, 0xe1, 0x02, 0xfb, 0x4e, 0xb9, 0x75, 0x0a, 0x61, 0xda, 0x45, 0xf8, - 0xdb, 0xd4, 0x4b, 0x30, 0xaf, 0xc7, 0xc5, 0x1f, 0x14, 0x41, 0x93, 0x52, 0xf9, 0xa2, 0x60, 0xbe, - 0x46, 0x50, 0x9f, 0xda, 0x55, 0xe6, 0x57, 0xe7, 0xbc, 0x26, 0xb4, 0x28, 0x84, 0x21, 0x5c, 0x9d, - 0xe8, 0x0e, 0xf0, 0xce, 0x94, 0x0a, 0xcf, 0xed, 0x60, 0xe4, 0x9b, 0x0b, 0x7a, 0x8b, 0xef, 0xe0, - 0x17, 0x04, 0xcd, 0x45, 0x5b, 0x0b, 0x7c, 0xbf, 0x88, 0x6a, 0x4d, 0x2b, 0x91, 0xdb, 0xe7, 0x91, - 0xbe, 0x5d, 0x84, 0x7f, 0x46, 0xf0, 0xf6, 0x82, 0xd7, 0x3c, 0xee, 0x9c, 0x0b, 0x68, 0xba, 0x7a, - 0x5e, 0x14, 0xce, 0xc4, 0x4d, 0x5b, 0x1c, 0xe7, 0xe4, 0x35, 0x7d, 0x5e, 0x9c, 0x9d, 0x27, 0xb0, - 0xed, 0xf9, 0xb6, 0xea, 0xb9, 0x7c, 0x79, 0xdc, 0xc0, 0xa7, 0xf6, 0x79, 0x72, 0xc7, 0x76, 0xd8, - 0x71, 0x60, 0xa8, 0xa6, 0x37, 0x68, 0x85, 0x9e, 0x2d, 0xfe, 0x13, 0xff, 0x83, 0x67, 0x7b, 0xad, - 0xc9, 0xff, 0x1c, 0x8d, 0x15, 0x3e, 0x7f, 0xeb, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd3, 0xf7, - 0xe8, 0x45, 0x90, 0x14, 0x00, 0x00, + // 1185 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0x41, 0x6f, 0x1b, 0x45, + 0x14, 0xd6, 0xac, 0x4d, 0xd2, 0x3c, 0x9b, 0xa4, 0x1d, 0x45, 0xc1, 0xb1, 0x28, 0x71, 0xb6, 0x50, + 0xac, 0x92, 0xac, 0x53, 0xb7, 0x15, 0x85, 0x72, 0x89, 0x9b, 0x34, 0x58, 0xe2, 0x50, 0x6d, 0x4a, + 0x25, 0x7a, 0xb1, 0x76, 0xed, 0x89, 0xb3, 0xc2, 0xde, 0x75, 0x77, 0xc6, 0x21, 0x11, 0x17, 0x0e, + 0x08, 0x55, 0xa8, 0x17, 0x0e, 0x48, 0x95, 0x38, 0x81, 0x84, 0x10, 0x07, 0x04, 0x3f, 0x80, 0xdf, + 0xc0, 0x3f, 0xe0, 0xc8, 0x99, 0x0b, 0x3f, 0x00, 0x79, 0x76, 0x76, 0xbd, 0x63, 0xef, 0xda, 0x5e, + 0x6f, 0x22, 0x50, 0x2f, 0x96, 0x66, 0xe6, 0xcd, 0xcc, 0xf7, 0xbe, 0x79, 0xf3, 0xcd, 0x7b, 0x6b, + 0xb8, 0x7e, 0xd4, 0x71, 0x3e, 0xab, 0x90, 0x53, 0xd2, 0xec, 0x33, 0xcb, 0xb1, 0x5b, 0x06, 0x33, + 0xe4, 0x96, 0xd6, 0x73, 0x1d, 0xe6, 0x60, 0x3c, 0xb0, 0xd3, 0xa4, 0x91, 0x62, 0xd9, 0x9b, 0x6b, + 0x33, 0x8b, 0x59, 0x84, 0x56, 0xcc, 0x8e, 0xd3, 0xfc, 0xb4, 0x11, 0x98, 0x34, 0x86, 0xb3, 0x8b, + 0xeb, 0xb2, 0x25, 0x39, 0x21, 0x36, 0x13, 0x43, 0xaf, 0xcb, 0x43, 0x2e, 0x69, 0x5b, 0x94, 0x11, + 0x57, 0x8c, 0x6e, 0xb4, 0x1d, 0xa7, 0xdd, 0x21, 0x15, 0xde, 0x32, 0xfb, 0x47, 0x15, 0x66, 0x75, + 0x09, 0x65, 0x46, 0xb7, 0xe7, 0x19, 0xa8, 0x2f, 0x10, 0x94, 0x0e, 0x08, 0xdb, 0xf7, 0x77, 0xdd, + 0x33, 0x98, 0x51, 0x3b, 0xab, 0x0d, 0xa0, 0xd4, 0xf7, 0x74, 0xf2, 0xb4, 0x4f, 0x28, 0xc3, 0xeb, + 0x70, 0xc9, 0x03, 0x67, 0xb5, 0x0a, 0xa8, 0x84, 0xca, 0x79, 0x7d, 0x91, 0xb7, 0xeb, 0x2d, 0xfc, + 0x09, 0xac, 0x71, 0x34, 0x0d, 0x62, 0x37, 0x9d, 0x96, 0x65, 0xb7, 0x1b, 0x27, 0xc4, 0xa5, 0x96, + 0x63, 0x17, 0x94, 0x12, 0x2a, 0x2f, 0x57, 0xaf, 0x69, 0x9e, 0xe3, 0x02, 0x9f, 0xb6, 0x3f, 0x30, + 0xde, 0x17, 0xb6, 0x8f, 0x3d, 0x53, 0x7d, 0x95, 0x44, 0xf4, 0xaa, 0xa7, 0xb0, 0x39, 0x01, 0x19, + 0xed, 0x39, 0x36, 0x25, 0xf8, 0x10, 0x56, 0xa3, 0x78, 0xe3, 0x30, 0x73, 0xd5, 0xcd, 0x91, 0xdd, + 0xf9, 0x6c, 0x69, 0x45, 0x1d, 0x9b, 0x63, 0x7d, 0xea, 0x1f, 0x08, 0xae, 0x1e, 0xf6, 0x4d, 0xda, + 0x74, 0x2d, 0x93, 0xc8, 0xe6, 0x82, 0x91, 0x37, 0x61, 0x99, 0x32, 0xc3, 0x65, 0x8d, 0x11, 0x5e, + 0xf2, 0xbc, 0xb7, 0x26, 0xc8, 0xd9, 0x02, 0x1c, 0xb6, 0x3a, 0x26, 0x56, 0xfb, 0x98, 0x71, 0x62, + 0xb2, 0xfa, 0xe5, 0xa1, 0xe5, 0x87, 0xbc, 0x7f, 0x02, 0x95, 0x99, 0xb4, 0x54, 0xfe, 0x89, 0xe0, + 0x8d, 0x38, 0x87, 0x04, 0x91, 0x9b, 0x90, 0x97, 0x50, 0x22, 0x8e, 0x32, 0x67, 0x86, 0x00, 0xc6, + 0x71, 0xad, 0xa4, 0xe0, 0x1a, 0xdf, 0x87, 0x15, 0x6f, 0xd1, 0x20, 0x32, 0xb9, 0xbb, 0xb9, 0x6a, + 0x51, 0xf3, 0x62, 0x57, 0xf3, 0x63, 0x57, 0x7b, 0xe4, 0x5b, 0xe8, 0xcb, 0x7c, 0x4a, 0xd0, 0x56, + 0x7f, 0x43, 0xb0, 0x1d, 0xed, 0xdf, 0x03, 0xd7, 0xe9, 0x1e, 0x0e, 0xcf, 0x64, 0x2f, 0xd9, 0x01, + 0x5e, 0x60, 0x74, 0xff, 0x8e, 0xe0, 0xe6, 0x2c, 0x90, 0x3d, 0xee, 0x7d, 0xd8, 0xd1, 0x11, 0x85, + 0x12, 0x47, 0x54, 0x6a, 0xf8, 0x5f, 0x22, 0x78, 0x3b, 0x1e, 0xfe, 0x47, 0x06, 0x23, 0x34, 0x00, + 0x1d, 0x0f, 0x03, 0xa5, 0x85, 0xf1, 0xab, 0x02, 0x6b, 0x43, 0x18, 0x03, 0x0b, 0x7a, 0x91, 0x57, + 0xf4, 0x5d, 0x58, 0x38, 0xb2, 0x3a, 0x8c, 0xb8, 0x22, 0x46, 0x37, 0xb4, 0x71, 0x59, 0xf7, 0xe0, + 0x3f, 0xe0, 0x66, 0xba, 0x30, 0xc7, 0xdb, 0x80, 0x8f, 0x89, 0xe1, 0x32, 0x93, 0x18, 0xac, 0x61, + 0xd9, 0x8c, 0xb8, 0x27, 0x46, 0xa7, 0x90, 0xe5, 0xdb, 0x5c, 0x09, 0x46, 0xea, 0x62, 0x60, 0x02, + 0x63, 0xaf, 0xa4, 0x65, 0xec, 0x1b, 0x05, 0xae, 0x8f, 0x30, 0x96, 0xee, 0x8e, 0x0c, 0x39, 0x51, + 0xce, 0x83, 0x93, 0x4c, 0x72, 0x4e, 0xb2, 0x69, 0x39, 0x79, 0xa1, 0xc0, 0x5b, 0x71, 0x9c, 0xa4, + 0xb9, 0x7f, 0x2f, 0x01, 0x35, 0x7f, 0x21, 0x28, 0x45, 0x50, 0x23, 0x5f, 0xf0, 0xa1, 0x9f, 0xe8, + 0x3c, 0xfc, 0x54, 0x92, 0xfb, 0x99, 0xfa, 0x85, 0xfc, 0x1b, 0xc1, 0x6b, 0x63, 0x42, 0x22, 0x9e, + 0xc6, 0x09, 0xe9, 0xcf, 0xe8, 0xab, 0xa9, 0x8c, 0xbf, 0x9a, 0x5b, 0xb0, 0xc0, 0x77, 0xa4, 0x85, + 0x4c, 0x29, 0x53, 0xce, 0x55, 0x57, 0xa3, 0x40, 0xea, 0xc2, 0x26, 0xea, 0x39, 0xcc, 0x26, 0x7d, + 0x0e, 0xf1, 0x35, 0x78, 0xb5, 0x4b, 0x28, 0x35, 0xda, 0xa4, 0x61, 0xd9, 0x2d, 0x72, 0xca, 0x55, + 0x23, 0xab, 0xe7, 0x45, 0x67, 0x7d, 0xd0, 0xa7, 0x9a, 0x90, 0x0b, 0x1d, 0x09, 0xbe, 0x0a, 0xe0, + 0x71, 0xcb, 0xce, 0x7a, 0xa4, 0x80, 0x4a, 0x99, 0xf2, 0x92, 0xbe, 0xc4, 0x7b, 0x1e, 0x9d, 0xf5, + 0x08, 0x2e, 0xc2, 0xa5, 0xa6, 0x63, 0x33, 0xd7, 0x68, 0x0e, 0x9c, 0x1c, 0x0c, 0x06, 0x6d, 0x5c, + 0x80, 0x45, 0xa3, 0xd5, 0x72, 0x09, 0xf5, 0x5c, 0x5c, 0xd2, 0xfd, 0xa6, 0xfa, 0x39, 0x14, 0x0e, + 0x08, 0xd3, 0x45, 0x4e, 0xfa, 0xd8, 0xe8, 0xf4, 0x49, 0xa0, 0xcf, 0x33, 0x24, 0x1c, 0x1f, 0x40, + 0xde, 0xcf, 0x67, 0x1b, 0x56, 0x8b, 0xf2, 0x8d, 0x73, 0xd5, 0xf5, 0x11, 0x02, 0xfd, 0xe5, 0xeb, + 0x7b, 0x7a, 0xce, 0x37, 0xaf, 0xb7, 0xa8, 0x7a, 0x0b, 0xd6, 0x23, 0x36, 0x17, 0x67, 0xba, 0x06, + 0x0b, 0x27, 0xbc, 0x87, 0xbb, 0x9a, 0xd7, 0x45, 0x4b, 0xfd, 0x4e, 0x81, 0x4a, 0x10, 0x07, 0xbb, + 0xcd, 0xa6, 0xd3, 0xb7, 0xd9, 0x21, 0x33, 0x58, 0x9f, 0x92, 0x94, 0x3a, 0x79, 0x77, 0x44, 0x0c, + 0x4a, 0x51, 0x97, 0xc4, 0xdb, 0xea, 0x7f, 0xab, 0x06, 0x3f, 0x28, 0xa0, 0x4d, 0x65, 0x27, 0x8d, + 0x62, 0xbe, 0x0c, 0x24, 0xfd, 0x83, 0x26, 0x93, 0xe4, 0x69, 0x27, 0xf7, 0xda, 0x27, 0xe9, 0xee, + 0x88, 0x80, 0xa6, 0x75, 0xfb, 0xbf, 0x50, 0xd0, 0x5f, 0x94, 0xd0, 0x4b, 0x31, 0xe2, 0xf6, 0x39, + 0x49, 0xa9, 0x0a, 0x92, 0x84, 0x89, 0xd3, 0x95, 0xfa, 0xf0, 0xc7, 0xb0, 0xe8, 0x12, 0xda, 0xef, + 0x30, 0x5a, 0xc8, 0x72, 0xb9, 0xb8, 0x17, 0xc9, 0xe5, 0x14, 0xa0, 0x9a, 0xce, 0xd7, 0xd0, 0xfd, + 0xb5, 0x8a, 0x0f, 0x61, 0xc1, 0xeb, 0x0a, 0xab, 0x9d, 0xf0, 0x40, 0x34, 0x43, 0x4a, 0xaf, 0x4c, + 0x57, 0x7a, 0xf5, 0x00, 0xf2, 0xe1, 0x13, 0x9d, 0x26, 0xc0, 0xb1, 0x22, 0x5b, 0x7d, 0xbe, 0x02, + 0x97, 0xa5, 0x0c, 0x7c, 0xf7, 0x61, 0x1d, 0x3f, 0x43, 0x5c, 0xfd, 0xa2, 0xab, 0x67, 0x7c, 0x3b, + 0x8a, 0x93, 0x69, 0x9f, 0x01, 0x8a, 0x77, 0x12, 0xce, 0x12, 0x67, 0xfe, 0x15, 0x0a, 0xe7, 0xe8, + 0x52, 0xf1, 0x77, 0x73, 0xe2, 0xd9, 0x44, 0x55, 0xde, 0xc5, 0x6a, 0x92, 0x29, 0x1e, 0x02, 0x35, + 0xf3, 0x4c, 0x41, 0x3b, 0x08, 0x7f, 0x8f, 0xc2, 0xa9, 0xef, 0xa4, 0x2a, 0x11, 0xef, 0xce, 0xbe, + 0x4b, 0xcc, 0xab, 0x30, 0x0f, 0xd0, 0x1d, 0x84, 0x7f, 0x46, 0x70, 0x63, 0xf6, 0xb2, 0x10, 0xef, + 0xcf, 0x8b, 0x53, 0x12, 0xe9, 0x39, 0xb1, 0x7e, 0x2b, 0xe5, 0x86, 0xd1, 0x35, 0x20, 0xbe, 0x97, + 0x0c, 0xa1, 0x94, 0x58, 0xce, 0x89, 0xeb, 0x29, 0xac, 0x8c, 0xa4, 0x72, 0xf8, 0xc6, 0xe4, 0x85, + 0xc2, 0x85, 0x63, 0xf1, 0x9d, 0x99, 0x6c, 0xe5, 0xd0, 0x7a, 0x8e, 0x60, 0x63, 0x4a, 0x55, 0x85, + 0xdf, 0x9f, 0x61, 0xdd, 0xb8, 0x60, 0x4a, 0x82, 0x69, 0x07, 0xe1, 0xaf, 0xa5, 0xef, 0x3d, 0x51, + 0x05, 0x0d, 0x7e, 0x2f, 0x09, 0x1a, 0x39, 0x5a, 0x12, 0x82, 0xf9, 0x02, 0xc1, 0x7a, 0x6c, 0x09, + 0x11, 0x2d, 0x45, 0xd3, 0x2a, 0x8e, 0xa4, 0x10, 0x7a, 0x70, 0x65, 0x2c, 0x15, 0xc4, 0x5b, 0x31, + 0x72, 0x16, 0x99, 0xae, 0x16, 0xb7, 0x67, 0xb4, 0x16, 0xa2, 0xf7, 0x13, 0x82, 0xf2, 0xac, 0x79, + 0x24, 0xbe, 0x9f, 0xe4, 0x89, 0x8a, 0x0b, 0x91, 0xdb, 0xf3, 0xbc, 0x73, 0x3b, 0x08, 0xff, 0x18, + 0xfe, 0x92, 0x33, 0x39, 0xa7, 0xc3, 0xb5, 0xb9, 0x80, 0xca, 0xd1, 0x73, 0x51, 0x38, 0x43, 0x69, + 0x55, 0x72, 0x9c, 0xe3, 0x39, 0xd9, 0xbc, 0x38, 0x6b, 0x4f, 0x60, 0xd3, 0x71, 0xdb, 0x9a, 0x63, + 0xf3, 0xe9, 0x41, 0xb5, 0x26, 0xad, 0xf3, 0xe4, 0x4e, 0xdb, 0x62, 0xc7, 0x7d, 0x53, 0x6b, 0x3a, + 0xdd, 0x8a, 0x67, 0x59, 0xe1, 0x3f, 0xc1, 0x77, 0xfa, 0xb6, 0x53, 0x19, 0xff, 0x67, 0xc1, 0x5c, + 0xe0, 0xe3, 0xb7, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x9f, 0x02, 0x2a, 0xd1, 0x76, 0x18, 0x00, + 0x00, } diff --git a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go index d134e56a6..3107377e1 100644 --- a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go +++ b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go @@ -19,16 +19,19 @@ import ( const _ = grpc.SupportPackageIsVersion7 const ( - ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID" - ExecutionDataAPI_SubscribeExecutionData_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionData" - ExecutionDataAPI_SubscribeEvents_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEvents" - ExecutionDataAPI_SubscribeEventsFromStartBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEventsFromStartBlockID" - ExecutionDataAPI_SubscribeEventsFromStartHeight_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEventsFromStartHeight" - ExecutionDataAPI_SubscribeEventsFromLatest_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEventsFromLatest" - ExecutionDataAPI_GetRegisterValues_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetRegisterValues" - ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromStartBlockID" - ExecutionDataAPI_SubscribeAccountStatusesFromStartHeight_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromStartHeight" - ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlock_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromLatestBlock" + ExecutionDataAPI_GetExecutionDataByBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetExecutionDataByBlockID" + ExecutionDataAPI_SubscribeExecutionData_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionData" + ExecutionDataAPI_SubscribeExecutionDataFromStartBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionDataFromStartBlockID" + ExecutionDataAPI_SubscribeExecutionDataFromStartBlockHeight_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionDataFromStartBlockHeight" + ExecutionDataAPI_SubscribeExecutionDataFromLatest_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeExecutionDataFromLatest" + ExecutionDataAPI_SubscribeEvents_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEvents" + ExecutionDataAPI_SubscribeEventsFromStartBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEventsFromStartBlockID" + ExecutionDataAPI_SubscribeEventsFromStartHeight_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEventsFromStartHeight" + ExecutionDataAPI_SubscribeEventsFromLatest_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeEventsFromLatest" + ExecutionDataAPI_GetRegisterValues_FullMethodName = "/flow.executiondata.ExecutionDataAPI/GetRegisterValues" + ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockID_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromStartBlockID" + ExecutionDataAPI_SubscribeAccountStatusesFromStartHeight_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromStartHeight" + ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlock_FullMethodName = "/flow.executiondata.ExecutionDataAPI/SubscribeAccountStatusesFromLatestBlock" ) // ExecutionDataAPIClient is the client API for ExecutionDataAPI service. @@ -45,6 +48,11 @@ type ExecutionDataAPIClient interface { // node. This may happen if the block was from a previous spork, or if the // block has yet not been received. GetExecutionDataByBlockID(ctx context.Context, in *GetExecutionDataByBlockIDRequest, opts ...grpc.CallOption) (*GetExecutionDataByBlockIDResponse, error) + // Deprecated: Do not use. + // Warning: this endpoint is deprecated and will be removed in future versions. + // Use SubscribeExecutionDataFromStartBlockID, SubscribeExecutionDataFromStartBlockHeight + // or SubscribeExecutionDataFromLatest. + // // SubscribeExecutionData streams execution data for all blocks starting at // the requested start block, up until the latest available block. Once the // latest is reached, the stream will remain open and responses are sent for @@ -54,13 +62,43 @@ type ExecutionDataAPIClient interface { // - InvalidArgument is returned if the request contains an invalid start // block. // - NotFound is returned if the start block is not currently available on the - // node. This may - // - // happen if the block was from a previous spork, or if the block has yet - // not been received. + // node. This may happen if the block was from a previous spork, or if the block + // has yet not been received. SubscribeExecutionData(ctx context.Context, in *SubscribeExecutionDataRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataClient, error) + // SubscribeExecutionDataFromStartBlockID streams execution data for all blocks + // starting at the requested start block, up until the latest available block. + // Once the latest is reached, the stream will remain open and responses are + // sent for each new execution data as it becomes available. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid start + // block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, + // or if the block has yet not been received. + SubscribeExecutionDataFromStartBlockID(ctx context.Context, in *SubscribeExecutionDataFromStartBlockIDRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataFromStartBlockIDClient, error) + // SubscribeExecutionDataFromStartBlockHeight streams execution data for all blocks + // starting at the requested start block, up until the latest available block. + // Once the latest is reached, the stream will remain open and responses are + // sent for each new execution data as it becomes available. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid start + // block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, + // or if the block has yet not been received. + SubscribeExecutionDataFromStartBlockHeight(ctx context.Context, in *SubscribeExecutionDataFromStartBlockHeightRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataFromStartBlockHeightClient, error) + // SubscribeExecutionDataFromStartBlockHeight streams execution data for all blocks + // starting from the latest block. + // + // Errors: + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, + // or if the block has yet not been received. + SubscribeExecutionDataFromLatest(ctx context.Context, in *SubscribeExecutionDataFromLatestRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataFromLatestClient, error) // Deprecated: Do not use. - // Warning: this function is deprecated and will be removed in a future version. + // Warning: this endpoint is deprecated and will be removed in future versions. // Use SubscribeEventsFromStartBlockID, SubscribeEventsFromStartHeight or SubscribeEventsFromLatest. // // SubscribeEvents streams events for all blocks starting at the requested @@ -142,8 +180,7 @@ type ExecutionDataAPIClient interface { // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. // - // Errors: - // - InvalidArgument is returned if the request contains an invalid EventFilter. + // No errors are expected during normal operation. SubscribeEventsFromLatest(ctx context.Context, in *SubscribeEventsFromLatestRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromLatestClient, error) // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(ctx context.Context, in *GetRegisterValuesRequest, opts ...grpc.CallOption) (*GetRegisterValuesResponse, error) @@ -235,6 +272,7 @@ func (c *executionDataAPIClient) GetExecutionDataByBlockID(ctx context.Context, return out, nil } +// Deprecated: Do not use. func (c *executionDataAPIClient) SubscribeExecutionData(ctx context.Context, in *SubscribeExecutionDataRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataClient, error) { stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[0], ExecutionDataAPI_SubscribeExecutionData_FullMethodName, opts...) if err != nil { @@ -267,9 +305,105 @@ func (x *executionDataAPISubscribeExecutionDataClient) Recv() (*SubscribeExecuti return m, nil } +func (c *executionDataAPIClient) SubscribeExecutionDataFromStartBlockID(ctx context.Context, in *SubscribeExecutionDataFromStartBlockIDRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataFromStartBlockIDClient, error) { + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[1], ExecutionDataAPI_SubscribeExecutionDataFromStartBlockID_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &executionDataAPISubscribeExecutionDataFromStartBlockIDClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ExecutionDataAPI_SubscribeExecutionDataFromStartBlockIDClient interface { + Recv() (*SubscribeExecutionDataResponse, error) + grpc.ClientStream +} + +type executionDataAPISubscribeExecutionDataFromStartBlockIDClient struct { + grpc.ClientStream +} + +func (x *executionDataAPISubscribeExecutionDataFromStartBlockIDClient) Recv() (*SubscribeExecutionDataResponse, error) { + m := new(SubscribeExecutionDataResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *executionDataAPIClient) SubscribeExecutionDataFromStartBlockHeight(ctx context.Context, in *SubscribeExecutionDataFromStartBlockHeightRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataFromStartBlockHeightClient, error) { + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[2], ExecutionDataAPI_SubscribeExecutionDataFromStartBlockHeight_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &executionDataAPISubscribeExecutionDataFromStartBlockHeightClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ExecutionDataAPI_SubscribeExecutionDataFromStartBlockHeightClient interface { + Recv() (*SubscribeExecutionDataResponse, error) + grpc.ClientStream +} + +type executionDataAPISubscribeExecutionDataFromStartBlockHeightClient struct { + grpc.ClientStream +} + +func (x *executionDataAPISubscribeExecutionDataFromStartBlockHeightClient) Recv() (*SubscribeExecutionDataResponse, error) { + m := new(SubscribeExecutionDataResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + +func (c *executionDataAPIClient) SubscribeExecutionDataFromLatest(ctx context.Context, in *SubscribeExecutionDataFromLatestRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeExecutionDataFromLatestClient, error) { + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[3], ExecutionDataAPI_SubscribeExecutionDataFromLatest_FullMethodName, opts...) + if err != nil { + return nil, err + } + x := &executionDataAPISubscribeExecutionDataFromLatestClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ExecutionDataAPI_SubscribeExecutionDataFromLatestClient interface { + Recv() (*SubscribeExecutionDataResponse, error) + grpc.ClientStream +} + +type executionDataAPISubscribeExecutionDataFromLatestClient struct { + grpc.ClientStream +} + +func (x *executionDataAPISubscribeExecutionDataFromLatestClient) Recv() (*SubscribeExecutionDataResponse, error) { + m := new(SubscribeExecutionDataResponse) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + // Deprecated: Do not use. func (c *executionDataAPIClient) SubscribeEvents(ctx context.Context, in *SubscribeEventsRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[1], ExecutionDataAPI_SubscribeEvents_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[4], ExecutionDataAPI_SubscribeEvents_FullMethodName, opts...) if err != nil { return nil, err } @@ -301,7 +435,7 @@ func (x *executionDataAPISubscribeEventsClient) Recv() (*SubscribeEventsResponse } func (c *executionDataAPIClient) SubscribeEventsFromStartBlockID(ctx context.Context, in *SubscribeEventsFromStartBlockIDRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromStartBlockIDClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[2], ExecutionDataAPI_SubscribeEventsFromStartBlockID_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[5], ExecutionDataAPI_SubscribeEventsFromStartBlockID_FullMethodName, opts...) if err != nil { return nil, err } @@ -333,7 +467,7 @@ func (x *executionDataAPISubscribeEventsFromStartBlockIDClient) Recv() (*Subscri } func (c *executionDataAPIClient) SubscribeEventsFromStartHeight(ctx context.Context, in *SubscribeEventsFromStartHeightRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromStartHeightClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[3], ExecutionDataAPI_SubscribeEventsFromStartHeight_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[6], ExecutionDataAPI_SubscribeEventsFromStartHeight_FullMethodName, opts...) if err != nil { return nil, err } @@ -365,7 +499,7 @@ func (x *executionDataAPISubscribeEventsFromStartHeightClient) Recv() (*Subscrib } func (c *executionDataAPIClient) SubscribeEventsFromLatest(ctx context.Context, in *SubscribeEventsFromLatestRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromLatestClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[4], ExecutionDataAPI_SubscribeEventsFromLatest_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[7], ExecutionDataAPI_SubscribeEventsFromLatest_FullMethodName, opts...) if err != nil { return nil, err } @@ -406,7 +540,7 @@ func (c *executionDataAPIClient) GetRegisterValues(ctx context.Context, in *GetR } func (c *executionDataAPIClient) SubscribeAccountStatusesFromStartBlockID(ctx context.Context, in *SubscribeAccountStatusesFromStartBlockIDRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockIDClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[5], ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockID_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[8], ExecutionDataAPI_SubscribeAccountStatusesFromStartBlockID_FullMethodName, opts...) if err != nil { return nil, err } @@ -438,7 +572,7 @@ func (x *executionDataAPISubscribeAccountStatusesFromStartBlockIDClient) Recv() } func (c *executionDataAPIClient) SubscribeAccountStatusesFromStartHeight(ctx context.Context, in *SubscribeAccountStatusesFromStartHeightRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesFromStartHeightClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[6], ExecutionDataAPI_SubscribeAccountStatusesFromStartHeight_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[9], ExecutionDataAPI_SubscribeAccountStatusesFromStartHeight_FullMethodName, opts...) if err != nil { return nil, err } @@ -470,7 +604,7 @@ func (x *executionDataAPISubscribeAccountStatusesFromStartHeightClient) Recv() ( } func (c *executionDataAPIClient) SubscribeAccountStatusesFromLatestBlock(ctx context.Context, in *SubscribeAccountStatusesFromLatestBlockRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlockClient, error) { - stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[7], ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlock_FullMethodName, opts...) + stream, err := c.cc.NewStream(ctx, &ExecutionDataAPI_ServiceDesc.Streams[10], ExecutionDataAPI_SubscribeAccountStatusesFromLatestBlock_FullMethodName, opts...) if err != nil { return nil, err } @@ -515,6 +649,11 @@ type ExecutionDataAPIServer interface { // node. This may happen if the block was from a previous spork, or if the // block has yet not been received. GetExecutionDataByBlockID(context.Context, *GetExecutionDataByBlockIDRequest) (*GetExecutionDataByBlockIDResponse, error) + // Deprecated: Do not use. + // Warning: this endpoint is deprecated and will be removed in future versions. + // Use SubscribeExecutionDataFromStartBlockID, SubscribeExecutionDataFromStartBlockHeight + // or SubscribeExecutionDataFromLatest. + // // SubscribeExecutionData streams execution data for all blocks starting at // the requested start block, up until the latest available block. Once the // latest is reached, the stream will remain open and responses are sent for @@ -524,13 +663,43 @@ type ExecutionDataAPIServer interface { // - InvalidArgument is returned if the request contains an invalid start // block. // - NotFound is returned if the start block is not currently available on the - // node. This may - // - // happen if the block was from a previous spork, or if the block has yet - // not been received. + // node. This may happen if the block was from a previous spork, or if the block + // has yet not been received. SubscribeExecutionData(*SubscribeExecutionDataRequest, ExecutionDataAPI_SubscribeExecutionDataServer) error + // SubscribeExecutionDataFromStartBlockID streams execution data for all blocks + // starting at the requested start block, up until the latest available block. + // Once the latest is reached, the stream will remain open and responses are + // sent for each new execution data as it becomes available. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid start + // block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, + // or if the block has yet not been received. + SubscribeExecutionDataFromStartBlockID(*SubscribeExecutionDataFromStartBlockIDRequest, ExecutionDataAPI_SubscribeExecutionDataFromStartBlockIDServer) error + // SubscribeExecutionDataFromStartBlockHeight streams execution data for all blocks + // starting at the requested start block, up until the latest available block. + // Once the latest is reached, the stream will remain open and responses are + // sent for each new execution data as it becomes available. + // + // Errors: + // - InvalidArgument is returned if the request contains an invalid start + // block. + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, + // or if the block has yet not been received. + SubscribeExecutionDataFromStartBlockHeight(*SubscribeExecutionDataFromStartBlockHeightRequest, ExecutionDataAPI_SubscribeExecutionDataFromStartBlockHeightServer) error + // SubscribeExecutionDataFromStartBlockHeight streams execution data for all blocks + // starting from the latest block. + // + // Errors: + // - NotFound is returned if the start block is not currently available on the + // node. This may happen if the block was from a previous spork, + // or if the block has yet not been received. + SubscribeExecutionDataFromLatest(*SubscribeExecutionDataFromLatestRequest, ExecutionDataAPI_SubscribeExecutionDataFromLatestServer) error // Deprecated: Do not use. - // Warning: this function is deprecated and will be removed in a future version. + // Warning: this endpoint is deprecated and will be removed in future versions. // Use SubscribeEventsFromStartBlockID, SubscribeEventsFromStartHeight or SubscribeEventsFromLatest. // // SubscribeEvents streams events for all blocks starting at the requested @@ -612,8 +781,7 @@ type ExecutionDataAPIServer interface { // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. // - // Errors: - // - InvalidArgument is returned if the request contains an invalid EventFilter. + // No errors are expected during normal operation. SubscribeEventsFromLatest(*SubscribeEventsFromLatestRequest, ExecutionDataAPI_SubscribeEventsFromLatestServer) error // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) @@ -698,6 +866,15 @@ func (UnimplementedExecutionDataAPIServer) GetExecutionDataByBlockID(context.Con func (UnimplementedExecutionDataAPIServer) SubscribeExecutionData(*SubscribeExecutionDataRequest, ExecutionDataAPI_SubscribeExecutionDataServer) error { return status.Errorf(codes.Unimplemented, "method SubscribeExecutionData not implemented") } +func (UnimplementedExecutionDataAPIServer) SubscribeExecutionDataFromStartBlockID(*SubscribeExecutionDataFromStartBlockIDRequest, ExecutionDataAPI_SubscribeExecutionDataFromStartBlockIDServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeExecutionDataFromStartBlockID not implemented") +} +func (UnimplementedExecutionDataAPIServer) SubscribeExecutionDataFromStartBlockHeight(*SubscribeExecutionDataFromStartBlockHeightRequest, ExecutionDataAPI_SubscribeExecutionDataFromStartBlockHeightServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeExecutionDataFromStartBlockHeight not implemented") +} +func (UnimplementedExecutionDataAPIServer) SubscribeExecutionDataFromLatest(*SubscribeExecutionDataFromLatestRequest, ExecutionDataAPI_SubscribeExecutionDataFromLatestServer) error { + return status.Errorf(codes.Unimplemented, "method SubscribeExecutionDataFromLatest not implemented") +} func (UnimplementedExecutionDataAPIServer) SubscribeEvents(*SubscribeEventsRequest, ExecutionDataAPI_SubscribeEventsServer) error { return status.Errorf(codes.Unimplemented, "method SubscribeEvents not implemented") } @@ -773,6 +950,69 @@ func (x *executionDataAPISubscribeExecutionDataServer) Send(m *SubscribeExecutio return x.ServerStream.SendMsg(m) } +func _ExecutionDataAPI_SubscribeExecutionDataFromStartBlockID_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeExecutionDataFromStartBlockIDRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ExecutionDataAPIServer).SubscribeExecutionDataFromStartBlockID(m, &executionDataAPISubscribeExecutionDataFromStartBlockIDServer{stream}) +} + +type ExecutionDataAPI_SubscribeExecutionDataFromStartBlockIDServer interface { + Send(*SubscribeExecutionDataResponse) error + grpc.ServerStream +} + +type executionDataAPISubscribeExecutionDataFromStartBlockIDServer struct { + grpc.ServerStream +} + +func (x *executionDataAPISubscribeExecutionDataFromStartBlockIDServer) Send(m *SubscribeExecutionDataResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _ExecutionDataAPI_SubscribeExecutionDataFromStartBlockHeight_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeExecutionDataFromStartBlockHeightRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ExecutionDataAPIServer).SubscribeExecutionDataFromStartBlockHeight(m, &executionDataAPISubscribeExecutionDataFromStartBlockHeightServer{stream}) +} + +type ExecutionDataAPI_SubscribeExecutionDataFromStartBlockHeightServer interface { + Send(*SubscribeExecutionDataResponse) error + grpc.ServerStream +} + +type executionDataAPISubscribeExecutionDataFromStartBlockHeightServer struct { + grpc.ServerStream +} + +func (x *executionDataAPISubscribeExecutionDataFromStartBlockHeightServer) Send(m *SubscribeExecutionDataResponse) error { + return x.ServerStream.SendMsg(m) +} + +func _ExecutionDataAPI_SubscribeExecutionDataFromLatest_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(SubscribeExecutionDataFromLatestRequest) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ExecutionDataAPIServer).SubscribeExecutionDataFromLatest(m, &executionDataAPISubscribeExecutionDataFromLatestServer{stream}) +} + +type ExecutionDataAPI_SubscribeExecutionDataFromLatestServer interface { + Send(*SubscribeExecutionDataResponse) error + grpc.ServerStream +} + +type executionDataAPISubscribeExecutionDataFromLatestServer struct { + grpc.ServerStream +} + +func (x *executionDataAPISubscribeExecutionDataFromLatestServer) Send(m *SubscribeExecutionDataResponse) error { + return x.ServerStream.SendMsg(m) +} + func _ExecutionDataAPI_SubscribeEvents_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(SubscribeEventsRequest) if err := stream.RecvMsg(m); err != nil { @@ -960,6 +1200,21 @@ var ExecutionDataAPI_ServiceDesc = grpc.ServiceDesc{ Handler: _ExecutionDataAPI_SubscribeExecutionData_Handler, ServerStreams: true, }, + { + StreamName: "SubscribeExecutionDataFromStartBlockID", + Handler: _ExecutionDataAPI_SubscribeExecutionDataFromStartBlockID_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeExecutionDataFromStartBlockHeight", + Handler: _ExecutionDataAPI_SubscribeExecutionDataFromStartBlockHeight_Handler, + ServerStreams: true, + }, + { + StreamName: "SubscribeExecutionDataFromLatest", + Handler: _ExecutionDataAPI_SubscribeExecutionDataFromLatest_Handler, + ServerStreams: true, + }, { StreamName: "SubscribeEvents", Handler: _ExecutionDataAPI_SubscribeEvents_Handler, From e3e8c598255dca42cb374eb93915f84c2a7e82c6 Mon Sep 17 00:00:00 2001 From: Andrii Slisarchuk Date: Tue, 30 Apr 2024 12:44:23 +0300 Subject: [PATCH 276/626] Added highest indexed height to metadata --- protobuf/flow/entities/metadata.proto | 1 + protobuf/go/flow/entities/metadata.pb.go | 39 +++++++++++++++--------- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/protobuf/flow/entities/metadata.proto b/protobuf/flow/entities/metadata.proto index d4834ea99..e18bf2112 100644 --- a/protobuf/flow/entities/metadata.proto +++ b/protobuf/flow/entities/metadata.proto @@ -9,4 +9,5 @@ message Metadata { bytes latest_finalized_block_id = 1; uint64 latest_finalized_height = 2; bytes node_id = 3; + uint64 highest_indexed_height = 4; } \ No newline at end of file diff --git a/protobuf/go/flow/entities/metadata.pb.go b/protobuf/go/flow/entities/metadata.pb.go index 3c737d3bc..6d0e58381 100644 --- a/protobuf/go/flow/entities/metadata.pb.go +++ b/protobuf/go/flow/entities/metadata.pb.go @@ -24,6 +24,7 @@ type Metadata struct { LatestFinalizedBlockId []byte `protobuf:"bytes,1,opt,name=latest_finalized_block_id,json=latestFinalizedBlockId,proto3" json:"latest_finalized_block_id,omitempty"` LatestFinalizedHeight uint64 `protobuf:"varint,2,opt,name=latest_finalized_height,json=latestFinalizedHeight,proto3" json:"latest_finalized_height,omitempty"` NodeId []byte `protobuf:"bytes,3,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` + HighestIndexedHeight uint64 `protobuf:"varint,4,opt,name=highest_indexed_height,json=highestIndexedHeight,proto3" json:"highest_indexed_height,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -75,6 +76,13 @@ func (m *Metadata) GetNodeId() []byte { return nil } +func (m *Metadata) GetHighestIndexedHeight() uint64 { + if m != nil { + return m.HighestIndexedHeight + } + return 0 +} + func init() { proto.RegisterType((*Metadata)(nil), "flow.entities.Metadata") } @@ -82,19 +90,20 @@ func init() { func init() { proto.RegisterFile("flow/entities/metadata.proto", fileDescriptor_f6b3c67afa624bc0) } var fileDescriptor_f6b3c67afa624bc0 = []byte{ - // 210 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0xcb, 0xc9, 0x2f, - 0xd7, 0x4f, 0xcd, 0x2b, 0xc9, 0x2c, 0xc9, 0x4c, 0x2d, 0xd6, 0xcf, 0x4d, 0x2d, 0x49, 0x4c, 0x49, - 0x2c, 0x49, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x05, 0xc9, 0xea, 0xc1, 0x64, 0x95, - 0xa6, 0x31, 0x72, 0x71, 0xf8, 0x42, 0x55, 0x08, 0x59, 0x72, 0x49, 0xe6, 0x24, 0x96, 0xa4, 0x16, - 0x97, 0xc4, 0xa7, 0x65, 0xe6, 0x25, 0xe6, 0x64, 0x56, 0xa5, 0xa6, 0xc4, 0x27, 0xe5, 0xe4, 0x27, - 0x67, 0xc7, 0x67, 0xa6, 0x48, 0x30, 0x2a, 0x30, 0x6a, 0xf0, 0x04, 0x89, 0x41, 0x14, 0xb8, 0xc1, - 0xe4, 0x9d, 0x40, 0xd2, 0x9e, 0x29, 0x42, 0x66, 0x5c, 0xe2, 0x18, 0x5a, 0x33, 0x52, 0x33, 0xd3, - 0x33, 0x4a, 0x24, 0x98, 0x14, 0x18, 0x35, 0x58, 0x82, 0x44, 0xd1, 0x34, 0x7a, 0x80, 0x25, 0x85, - 0xc4, 0xb9, 0xd8, 0xf3, 0xf2, 0x53, 0x52, 0x41, 0x16, 0x30, 0x83, 0x2d, 0x60, 0x03, 0x71, 0x3d, - 0x53, 0x9c, 0x02, 0xb8, 0x64, 0xf2, 0x8b, 0xd2, 0xf5, 0xf2, 0xf3, 0xc0, 0xee, 0x05, 0xbb, 0x3d, - 0xa9, 0x34, 0x0d, 0xee, 0xf0, 0x28, 0x83, 0xf4, 0xcc, 0x92, 0x8c, 0xd2, 0x24, 0xbd, 0xe4, 0xfc, - 0x5c, 0x7d, 0x88, 0x22, 0x7d, 0x30, 0x01, 0x53, 0xa9, 0x9f, 0x9e, 0xaf, 0x8f, 0x12, 0x10, 0x49, - 0x6c, 0x60, 0x29, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0xcb, 0xd8, 0xee, 0x20, 0x01, - 0x00, 0x00, + // 237 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0xc1, 0x4a, 0x03, 0x31, + 0x10, 0x86, 0x59, 0x2d, 0x55, 0x82, 0x5e, 0x82, 0xb6, 0x15, 0x7a, 0x28, 0x9e, 0x7a, 0xda, 0x08, + 0x8a, 0xe0, 0xb5, 0x07, 0x71, 0x0f, 0x82, 0xf4, 0xe8, 0x65, 0x49, 0x9a, 0xd9, 0x64, 0x30, 0xcd, + 0x48, 0x3b, 0x45, 0xf1, 0x19, 0x7d, 0x28, 0x49, 0xd2, 0x55, 0xd4, 0x4b, 0x20, 0x7c, 0xff, 0x7c, + 0xc3, 0x3f, 0x62, 0xda, 0x05, 0x7a, 0x53, 0x10, 0x19, 0x19, 0x61, 0xab, 0xd6, 0xc0, 0xda, 0x6a, + 0xd6, 0xf5, 0xeb, 0x86, 0x98, 0xe4, 0x69, 0xa2, 0x75, 0x4f, 0x2f, 0x3f, 0x2b, 0x71, 0xfc, 0xb8, + 0x4f, 0xc8, 0x3b, 0x71, 0x11, 0x34, 0xc3, 0x96, 0xdb, 0x0e, 0xa3, 0x0e, 0xf8, 0x01, 0xb6, 0x35, + 0x81, 0x56, 0x2f, 0x2d, 0xda, 0x49, 0x35, 0xab, 0xe6, 0x27, 0xcb, 0x51, 0x09, 0xdc, 0xf7, 0x7c, + 0x91, 0x70, 0x63, 0xe5, 0xad, 0x18, 0xff, 0x1b, 0xf5, 0x80, 0xce, 0xf3, 0xe4, 0x60, 0x56, 0xcd, + 0x07, 0xcb, 0xf3, 0x3f, 0x83, 0x0f, 0x19, 0xca, 0xb1, 0x38, 0x8a, 0x64, 0x21, 0x2d, 0x38, 0xcc, + 0x0b, 0x86, 0xe9, 0xdb, 0x58, 0x79, 0x23, 0x46, 0x1e, 0x9d, 0x4f, 0x46, 0x8c, 0x16, 0xde, 0x7f, + 0x7c, 0x83, 0xec, 0x3b, 0xdb, 0xd3, 0xa6, 0xc0, 0xa2, 0x5b, 0x3c, 0x89, 0x29, 0x6d, 0x5c, 0x4d, + 0x31, 0xb7, 0xcc, 0x8d, 0xcd, 0xae, 0xfb, 0xae, 0xfb, 0x7c, 0xe5, 0x90, 0xfd, 0xce, 0xd4, 0x2b, + 0x5a, 0xab, 0x12, 0x52, 0xf9, 0xe9, 0x93, 0xca, 0x91, 0xfa, 0x75, 0x3e, 0x33, 0xcc, 0xe8, 0xfa, + 0x2b, 0x00, 0x00, 0xff, 0xff, 0xfd, 0xed, 0x60, 0x7c, 0x56, 0x01, 0x00, 0x00, } From b16c8a993bfc5bd725ec1b5015356f6892b68c75 Mon Sep 17 00:00:00 2001 From: Illia Malachyn Date: Tue, 30 Apr 2024 15:52:58 +0300 Subject: [PATCH 277/626] Update message index docs --- protobuf/flow/executiondata/executiondata.proto | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 8403dc3bb..68a9bdd75 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -388,7 +388,7 @@ message SubscribeEventsResponse { // Timestamp from the block containing the events. google.protobuf.Timestamp block_timestamp = 4; - // The message index of the response message. Used by the client to ensure they received all messages. Starts from "0". + // The message index of the response message. Used by the client to ensure they received all messages. Starts from "1". uint64 message_index = 5; } @@ -540,9 +540,8 @@ message SubscribeAccountStatusesResponse { // Block height of the block containing the events. uint64 block_height = 2; - // The MessageIndex of the response message. - // Used by the client to ensure they have received all messages. - uint64 messageIndex = 3; + // The message index of the response message. Used by the client to ensure they received all messages. Starts from "1". + uint64 message_index = 3; message Result { // Unique identifier for the account being streamed From e9cd9ec621834510fa961f5c1576b18b372ae346 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 8 May 2024 16:03:13 -0700 Subject: [PATCH 278/626] Create 2024-05-10-Flow-Sprint-Kickoff.md --- .../2024-05-10-Flow-Sprint-Kickoff.md | 335 ++++++++++++++++++ 1 file changed, 335 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..e71c86da2 --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -0,0 +1,335 @@ +# Overview + +### Team Wins 🎉 + +- + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (xx/yy/24 to xx/yy/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.99% | 12.1% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +[YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents + +1. April 18th - Sev 2: The average response time for all API requests served by the public access nodes increased significantly. Incident report available [here](https://www.notion.so/flowfoundation/High-response-time-on-Access-Nodes-04-18-2024-d70e8e08bd894c3a814a030eb7469d63). + +2. April 19th - Sev 3: After the rolling deployment of v0.33.17 several verification nodes ran out of disk space due to spikes in disk usage caused by badger compaction. [slack thread](https://dapperlabs.slack.com/archives/CUU2KQL4A/p1713544909496029) + +(Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): + - Testnet: 5/22/24 + - Mainnet: June/July 2024 (exact date TBD) +- Testnet migration test runs conducted every week. + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 6 (-1) | 8 | 0 | 7 (+2) | **21** (+1) | +| Proposed | 1 (-2) | 2 | 2 | 0 (-1) | **5** (-3) | +| Accepted | 2 | 1 | 1 | 1 | **5** (-1) | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 (+2) | 21 (+2) | 2 | 1 (+1) | **7** (+5) | +| Released | 4 | 0 | 3 | 6 (+2) | **13** (+2) | +| Total | **16** (-1) | **32** (+2) | **9** | **15** (+3) | **72** (+4) | + +**New FLIPs tracked now** +* [Protocol] Message Forensic (MF) System +* [Protocol] Passkey Support + +**Marked as Released** +* [Protocol] On-Chain randomness history for commit-reveal schemes +* [Protocol] Expand Access Streaming API with new endpoints + +**Implemented** +* [Cadence] Random function +* [Cadence] Require matching access modifiers for interface implementation members +* [Protocol] FVM supporting EVM +* [Application] Flow EVM Gateway +* [Application] FlowEVM VM Bridge + +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + + +**This sprint** + +Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +* [Emulator release is ready](https://github.com/onflow/flow-emulator/releases/tag/v1.0.0-preview.19), support devs that are teting migration, monitor Discord questions. + +Objective 1, KR4: Testnet Upgrade to Crescendo Release +* Completed Testnet migration with both Atree inlining and Cadence 1.0. +* Continue work on migration optimizations. +* Complete [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) production readiness EPICs. + +Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN +* Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind +* Continue refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +* Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +* Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + +Cadence 1.0 Contract updates +- [Continue working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) +- More reviews of bridge PRs and Cadence 1.0 changes +- Writing additional tests for recent Cadence FLIP changes +- [Audit and update docs and tutorials for Cadence 1.0](https://github.com/onflow/docs/issues/531) + +**On Hold** + +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) + + +**Active Epics** + +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR4: Testnet Upgrade to Crescendo Release +- KR6: Develop & share with community a disaster recovery plan to address potential issues after migration to Crescendo Release. +- KR7: Decision on how to deal with contracts that have not been upgraded to Cadence 1.0 by developers. +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Translate crypto performance improvements to consensus block rate increase [DONE] +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + + +**This sprint** + +* Zero-downtime Upgrades of Node Software: + - [Dynamic Protocol State - todos, suggested revisions and tech debt](https://github.com/onflow/flow-go/issues/5666#top) + - Reviews for open M2 PRs, priority to close the milestone + - Apply comments and finalize https://github.com/onflow/flow-go/pull/5773 + +* EFM Recovery + - [EFM Recovery integration tests](https://github.com/onflow/flow-go/issues/5639) + - [Cancel in progress root QC voting](https://github.com/onflow/flow-go/issues/5733) + + +* Cryptography: + - N/A this sprint as Tarak was out-of-office + +* Data Availability: + - Test local script exec with remaining studio nodes + - Continue to debug slow response time on mainnet QN ANs + - Continue to debug high memory usage on previewnet ANs + - KROK Team + - Continue work to support enabling indexing on Dynamic bootstrapped AN ([Issue #5423](https://github.com/onflow/flow-go/issues/5423)) + - Complete work to fix race condition in Access ingestion engine ([Issue #5420](https://github.com/onflow/flow-go/issues/5420)) + - Update rosetta for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52)) + - Address tech debt in APIs ([Issue #5558](https://github.com/onflow/flow-go/issues/5558), [Issue #5757](https://github.com/onflow/flow-go/issues/5757)) + - Add support for version beacon events to control script execution ([Issue #5757](https://github.com/onflow/flow-go/issues/5757)) + + +**On Hold** +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. +* Implement BFT mitigations to enable 20 permissionless ANs + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- Cadence 1.0 DEX Prep - IncrementFi +- EVM partner onboarding: Pyth, DeBridge, Coinmetrics +- Deliver Axelar bridge + +**Done last sprint** + + +**This sprint** + +* Review plan/proposal for next phase of JVM SDK update and get contract and timelines agreed +* Continue review of IncrementFi Cadence 1.0 contract upgrades + +**On Hold** +- Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + +**This sprint** +**Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, Splitting Dev Docs (Cadence 1.0/Legacy), and adding EVM docs for Cadence Devs** + +- [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) +- [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) +- [EPIC] Flow EVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) +- [EPIC] Spilt Dev Docs into Cadence 1.0 and Legacy [#738](https://github.com/onflow/docs/issues/738) + +#### Smart Contract WG + +- Reviews for Increment.fi +- NFTStorefront v1 & v2 Cadence 1.0 Refactor [#89](https://github.com/onflow/nft-storefront/pull/89) +- EVM Bridge prep for deployment and Audit + +**On Hold** + +- Update Flow port for Cadence Crescendo instance [#279](https://github.com/onflow/flow-port/issues/279) + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + + +**This sprint** + +- Complete Web3.js integration, authorization +- VM Bridge integration, moving FT and NFT in app. +- Product scoping for next cycle: + - Identifying needed polish + bug fixes + - Next product opportunities +- CTD: Outreach with Coinbase Wallet, MetaMask, Shadow Wallet and Blocto +- CTD: Working with Apple on app approval & release + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Solidify CloudFlare Migration plan and continue preparing for migration +- Continue assisting with DevEx migration to Cloud Run + +**Done last sprint** + +**Goal of this Sprint is to continue migration efforts** +**This Sprint** +- Solidify CloudFlare Migration plan and continue preparing for migration +- Continue assisting with DevEx migration to Cloud Run +- Improve synthetic alerting + +--- + +### **Governance and Tokenomics** \[Kshitij] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** + +**This sprint** + +- Test governance changes (gas to evm ratio, 5x compute limit, 100x fee) on PreviewNet +- Review inflation strategies with the team, get feedback, remodel, conclude on the way forward +- Draft FLIP on EVM gas to compute ratio and compute limit hike +- Update transaction fee 100x FLIP to suggest a new transaction fee multipler, also update the market comps per the latest exchange rates to get it ready for reintroduction +- Consolidate node operator data; assess which operator use lease tokens versus self-stake +- Continue working on node operator branding and logos with .find team +- Continue decentralization efforts - work with a16z to consolidate three nodes; with Coinbase to reduce one node they operate on leased stake; Continue work on automation of the decentralization dashboard to send messages when critical thresholds are crossed + +**On Hold** + + +**Active Epics** + +- N/A From 210df812ded4d6aab7bd984db19ec3022e466afe Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 9 May 2024 14:18:17 -0700 Subject: [PATCH 279/626] Added DeFi updates --- .../2024-05-10-Flow-Sprint-Kickoff.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index e71c86da2..27923e673 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -2,7 +2,7 @@ ### Team Wins 🎉 -- +- Unblocked JVM SDK artifact publishing GH automation which took several fiddly days of back and forth to figure out ### General updates @@ -194,16 +194,19 @@ Cycle Objective(s): Cycle Objective(s): - Resolving Circle's existing engineering improvements for USDC on Flow - Cadence 1.0 DEX Prep - IncrementFi -- EVM partner onboarding: Pyth, DeBridge, Coinmetrics +- EVM partner onboarding: Pyth, DeBridge, Covalent, Etherscan - Deliver Axelar bridge **Done last sprint** - +- Onboarded DeBridge to PreviewNet +- Unblocked JVM SDK artifact publishing GH automation which took several fiddly days of back and forth to figure out +- Approved and funded proposal for second phase of JVM SDK upgrade to start bringing it to parity with the Go SDK **This sprint** - -* Review plan/proposal for next phase of JVM SDK update and get contract and timelines agreed -* Continue review of IncrementFi Cadence 1.0 contract upgrades +* Update JVM SDK examples repo now that latest version artifact successfully published +* Implement multi-sig solution for Circle to help with USDC migration to EVM +* Upgrade Band protocol contract to C1.0 +* Continue review of IncrementFi Cadence 1.0 contract upgrades (couldn't get to it in past sprint) **On Hold** - Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing @@ -225,6 +228,7 @@ Cycle Objective(s): - Use the Crescendo Release grow Flow's developer base and network activity **Done last sprint** +- **This sprint** **Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, Splitting Dev Docs (Cadence 1.0/Legacy), and adding EVM docs for Cadence Devs** From 797e9110487f7a9f155a7d6aae47993ccc1cd038 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 9 May 2024 14:28:06 -0700 Subject: [PATCH 280/626] Added protocol updates --- .../2024-05-10-Flow-Sprint-Kickoff.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 27923e673..93747068f 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -145,6 +145,18 @@ Cycle Objective(s): * Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] **Done last Sprint:** +* Zero-downtime Upgrades of Node Software: + - Merged [kvstore branch](https://github.com/onflow/flow-go/pull/5840) with master and Cadence 1.0 and successfully tested on Benchnet + - Extended tests for edge case in Dynamic Protocol State: https://github.com/onflow/flow-go/pull/5681 + - Follow-up on KVStore + - [Fixing a KVStore encoding edge case](https://github.com/onflow/flow-go/pull/5854) + - [Simplifying snapshot model](https://github.com/onflow/flow-go/pull/5682) + +* EFM Recovery + - [Applied suggestions and finalized first Dynamic Protocol State issue for EFM recovery](https://github.com/onflow/flow-go/pull/5773) + - PR reviews to finalize M2 + - [Epoch Recover integration test](https://github.com/onflow/flow-go/issues/5886) + - [Investigate network/p2p flakey tests](https://github.com/onflow/flow-go/issues/5886) **This sprint** @@ -155,10 +167,11 @@ Cycle Objective(s): - Apply comments and finalize https://github.com/onflow/flow-go/pull/5773 * EFM Recovery - - [EFM Recovery integration tests](https://github.com/onflow/flow-go/issues/5639) + - [Fix & re-enable flakey tests](https://github.com/onflow/flow-go/issues/5886) + - [Address Recover Epoch cadence PR feedback](https://github.com/onflow/flow-core-contracts/pull/420) + - [Wrap up integration test](https://github.com/onflow/flow-go/issues/5886) - [Cancel in progress root QC voting](https://github.com/onflow/flow-go/issues/5733) - * Cryptography: - N/A this sprint as Tarak was out-of-office From 8f82ea45328dcbe040623ddd20fb6649a03dd909 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 9 May 2024 17:26:32 -0600 Subject: [PATCH 281/626] Add Infra section for 5/20/24 --- .../2024-05-10-Flow-Sprint-Kickoff.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 93747068f..110aeaa53 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -320,6 +320,29 @@ Cycle Objective(s): - Continue assisting with DevEx migration to Cloud Run **Done last sprint** +**Incident Management** +- Updated alert routing to solely go to Grafana OnCall + +**Benchnet Automation** +- [Updated contour to fix broken controller](https://github.com/dapperlabs/flow-benchnet-automation-infrastructure/pull/47) +- [Updated LB to allow FF IPs](https://github.com/dapperlabs/flow-benchnet-automation-infrastructure/pull/48) + +**Node Hosting** +- [Update Rate Limits for QuickNode IPs](https://github.com/dapperlabs/dapper-flow-hosting/pull/1485) +- [Update Devnet LN & VN Memory to avoid churn](https://github.com/dapperlabs/terraform/pull/4234) +- [Increase DL Studio Node sizes](https://github.com/dapperlabs/terraform/pull/4235/files) + +**Migration Support** +- [Add support for REST, gRPC-web, and EVM Gateway Routing on Migrationnet](https://github.com/dapperlabs/terraform/pull/4223) +- [Create the infrastructure for EVM Gateway on Migrationnet](https://github.com/dapperlabs/terraform/pull/4222) +- [Create the ansible configuration for the EVM Gateway on Migrationnet](https://github.com/dapperlabs/dapper-flow-hosting/pull/1483) + +**Support** +- Worked with GCP to request quota increases for migration nodes +- Created and configured Execution Node for isolated testing +- Assist with Mainnet HCU for DL nodes +- Assist with Previewnet Spork & Recovery +- Clean up old Vercel domains **Goal of this Sprint is to continue migration efforts** **This Sprint** From 8114b2fcce8e9ba034977a83ac87b11f333f938f Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 9 May 2024 16:47:09 -0700 Subject: [PATCH 282/626] Update 2024-05-10-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 110aeaa53..cdccbb025 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -27,9 +27,10 @@ ## Incidents -1. April 18th - Sev 2: The average response time for all API requests served by the public access nodes increased significantly. Incident report available [here](https://www.notion.so/flowfoundation/High-response-time-on-Access-Nodes-04-18-2024-d70e8e08bd894c3a814a030eb7469d63). - -2. April 19th - Sev 3: After the rolling deployment of v0.33.17 several verification nodes ran out of disk space due to spikes in disk usage caused by badger compaction. [slack thread](https://dapperlabs.slack.com/archives/CUU2KQL4A/p1713544909496029) +1. Sev 3: 26th April: Public access nodes run by QuickNode in EU falling behind [slack thread](https://dapperlabs.slack.com/archives/C03HP6MAFGE/p1714139880086399) +2. Sev 3: 26th April: Public access nodes run by QuickNode in EU falling behind [slack thread](https://dapperlabs.slack.com/archives/C03HP6MAFGE/p1714757713793539) +3. Sev 3: 4th May: NBA stuck on continously retrying a script on a block heigh [slack thread](https://dapperlabs.slack.com/archives/CTGAW0TM2/p1714866679734789) +4. Sev 3: 8th May: NBA getting timeout when fetching transactions on mainnet [slack thread](https://dapperlabs.slack.com/archives/CTGAW0TM2/p1715199157704169) (Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) From 5f4fe8b9c7bd1df3b561571810a32073f958df6d Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 9 May 2024 16:49:14 -0700 Subject: [PATCH 283/626] Update 2024-05-10-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index cdccbb025..d89b2422c 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -27,10 +27,10 @@ ## Incidents -1. Sev 3: 26th April: Public access nodes run by QuickNode in EU falling behind [slack thread](https://dapperlabs.slack.com/archives/C03HP6MAFGE/p1714139880086399) -2. Sev 3: 26th April: Public access nodes run by QuickNode in EU falling behind [slack thread](https://dapperlabs.slack.com/archives/C03HP6MAFGE/p1714757713793539) -3. Sev 3: 4th May: NBA stuck on continously retrying a script on a block heigh [slack thread](https://dapperlabs.slack.com/archives/CTGAW0TM2/p1714866679734789) -4. Sev 3: 8th May: NBA getting timeout when fetching transactions on mainnet [slack thread](https://dapperlabs.slack.com/archives/CTGAW0TM2/p1715199157704169) +1. Sev 3: 26th April: Public access nodes run by QuickNode in EU falling behind. [slack thread](https://dapperlabs.slack.com/archives/C03HP6MAFGE/p1714139880086399) +2. Sev 3: 3rd May: High response time on Public ANs in North America. [slack thread](https://dapperlabs.slack.com/archives/C03HP6MAFGE/p1714757713793539) +3. Sev 3: 4th May: NBA stuck on continuously retrying a script on a block height. [slack thread](https://dapperlabs.slack.com/archives/CTGAW0TM2/p1714866679734789) +4. Sev 3: 8th May: NBA getting timeout when fetching transactions on mainnet. [slack thread](https://dapperlabs.slack.com/archives/CTGAW0TM2/p1715199157704169) (Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) From 52584e961d2ef38a7f999dcaa51f07f5d3184435 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 9 May 2024 16:49:50 -0700 Subject: [PATCH 284/626] Update 2024-05-10-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index d89b2422c..bf448c962 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -27,6 +27,7 @@ ## Incidents +## Access Node incidents 1. Sev 3: 26th April: Public access nodes run by QuickNode in EU falling behind. [slack thread](https://dapperlabs.slack.com/archives/C03HP6MAFGE/p1714139880086399) 2. Sev 3: 3rd May: High response time on Public ANs in North America. [slack thread](https://dapperlabs.slack.com/archives/C03HP6MAFGE/p1714757713793539) 3. Sev 3: 4th May: NBA stuck on continuously retrying a script on a block height. [slack thread](https://dapperlabs.slack.com/archives/CTGAW0TM2/p1714866679734789) From 05ed79014a12269be5a9daa8f435be737d718941 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 9 May 2024 16:51:43 -0700 Subject: [PATCH 285/626] Update 2024-05-10-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index bf448c962..e14a0a1cc 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -36,10 +36,11 @@ (Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) ### Key Release Dates & Breaking Changes - +- Testnet HCU: 7th May ✔️ +- Mainnet HCU: 9th May ✔️ - Next Mainnet/Testnet network upgrade (spork): - - Testnet: 5/22/24 - - Mainnet: June/July 2024 (exact date TBD) + - Testnet: ~~5/22/24~~ 6/19/24 + - Mainnet: July 2024 (exact date TBD) - Testnet migration test runs conducted every week. --- From 049cbd38e635beeffaa85490ccaa385648af8a4d Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 9 May 2024 16:55:04 -0700 Subject: [PATCH 286/626] Update 2024-05-10-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index e14a0a1cc..986ab88ad 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -3,6 +3,7 @@ ### Team Wins 🎉 - Unblocked JVM SDK artifact publishing GH automation which took several fiddly days of back and forth to figure out +- Added one of the FF nodes to the QuickNode load balancer to enable easier testing and debugging of new Access node features with real user traffic. ### General updates From 5a522f7090c0217029245f2fe90e2a0e0dd96d83 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 9 May 2024 16:56:34 -0700 Subject: [PATCH 287/626] Update 2024-05-10-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 986ab88ad..5fb7db3b2 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -20,7 +20,7 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.99% | 12.1% | +| Access API Liveness | 99.9% | 99.99% | 7.23% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) From 481eb51f1f39c91818686f6fd8f5de1553d56b9c Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Thu, 9 May 2024 17:24:39 -0700 Subject: [PATCH 288/626] update data availability sprint 2024-05-09 --- .../2024-05-10-Flow-Sprint-Kickoff.md | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 5fb7db3b2..32af369d8 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -162,6 +162,17 @@ Cycle Objective(s): - [Epoch Recover integration test](https://github.com/onflow/flow-go/issues/5886) - [Investigate network/p2p flakey tests](https://github.com/onflow/flow-go/issues/5886) +* Data Availability: + - Add support for programs cache on access nodes ([PR #5585](https://github.com/onflow/flow-go/pull/5585)) + - Failover script execution to EN when computation limit exceeded ([PR #5877](https://github.com/onflow/flow-go/pull/5877)) + - Add options to disable DHT and bitswap reproviding ([PR #5827](https://github.com/onflow/flow-go/pull/5827)) + - Log configuration at error level (help communicate configs on QN nodes) ([PR #5785](https://github.com/onflow/flow-go/pull/5785)) + - Convert Ping engine to component ([PR #5649](https://github.com/onflow/flow-go/pull/5649)) + - KROK Team + - Refactor ingestion engine to prevent lost data ([PR #5714](https://github.com/onflow/flow-go/pull/5714)) + - Update ingestion engine to use consumer progress ([PR #5752](https://github.com/onflow/flow-go/pull/5752)) + - Align ExecutionData API with new endpoints ([PR #5672](https://github.com/onflow/flow-go/pull/5672)) + - Finished testing to support enabling indexing on Dynamic bootstrapped AN ([Issue #5423](https://github.com/onflow/flow-go/issues/5423)) **This sprint** @@ -180,14 +191,13 @@ Cycle Objective(s): - N/A this sprint as Tarak was out-of-office * Data Availability: - - Test local script exec with remaining studio nodes - - Continue to debug slow response time on mainnet QN ANs - - Continue to debug high memory usage on previewnet ANs + - Test local script exec with lower compute limit + - Continue debugging resource issues observed on QuickNode - KROK Team - - Continue work to support enabling indexing on Dynamic bootstrapped AN ([Issue #5423](https://github.com/onflow/flow-go/issues/5423)) - - Complete work to fix race condition in Access ingestion engine ([Issue #5420](https://github.com/onflow/flow-go/issues/5420)) + - Fix retries when using preferred-execution-nodes list ([Issue #5810](https://github.com/onflow/flow-go/issues/5810)) + - Merge changes to support enabling indexing on Dynamic bootstrapped AN ([Issue #5423](https://github.com/onflow/flow-go/issues/5423) - PR in review) - Update rosetta for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52)) - - Address tech debt in APIs ([Issue #5558](https://github.com/onflow/flow-go/issues/5558), [Issue #5757](https://github.com/onflow/flow-go/issues/5757)) + - Address tech debt in APIs ([Issue #5757](https://github.com/onflow/flow-go/issues/5757) - PR in review) - Add support for version beacon events to control script execution ([Issue #5757](https://github.com/onflow/flow-go/issues/5757)) From b7a7d67ca514d4b481110a88cb9b5057ca847010 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 10 May 2024 06:46:08 +0200 Subject: [PATCH 289/626] Updating Cadence wg --- .../2024-05-10-Flow-Sprint-Kickoff.md | 116 +++++++++++++++++- 1 file changed, 114 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 32af369d8..2e8e34345 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -4,6 +4,11 @@ - Unblocked JVM SDK artifact publishing GH automation which took several fiddly days of back and forth to figure out - Added one of the FF nodes to the QuickNode load balancer to enable easier testing and debugging of new Access node features with real user traffic. +- After over a year of development, flow-go stable-cadence (Cadence 1.0) branch [merged to master](https://github.com/onflow/flow-go/pull/5856)! +- All planned and requested breaking changes in C1.0 delivered in the latest preview release, unblocking devs to test they migration to C1.0. +- Fixed all known issues with C1.0 and Atree inlining state migrations. +- EVM updated to latest release and functional on Previewnet - All EVM changes needed for Testnet upgrade to Crescendo completed. +- Positive community feedback on new proposal for Testnet upgrade process to Crescendo, using transaction failure mode for transactions importing unstaged contracts. ### General updates @@ -93,16 +98,123 @@ Cycle Objective(s): **Done last sprint** +State migration to Crescendo release +- [Unskip migration of Testnet accounts with broken data](https://github.com/onflow/flow-go/pull/5759) +- [Mainnet state migration crashes on preview.22 build](https://github.com/onflow/cadence/issues/3287) + - [Handle missing staged contracts](https://github.com/onflow/flow-go/pull/5796) +- [Testnet state migration preview.22 health check after migration error](https://github.com/onflow/cadence/issues/3288) + - [Add reproducer as test for Cadence 1.0 migration issue](https://github.com/onflow/cadence/pull/3314) + - [Fix Cadence 1.0 migration of dictionary values when using atree inlined data](https://github.com/onflow/cadence/pull/3316) + - [Improve dictionary migration](https://github.com/onflow/cadence/pull/3318) +- [Improve migration logging, reports, and export broken slabs that were fixed to a new payloads file](https://github.com/onflow/flow-go/pull/5803) + - [port](https://github.com/onflow/flow-go/pull/5805) +- [Test the migration of &NonFungibleToken.Provider](https://github.com/onflow/flow-go/pull/5807) +- [Add predicate function and test for atree's PersistentSlabStorage.FixLoadedBrokenReferences](https://github.com/onflow/cadence/pull/3300) +- [Update Cadence 1.0 Contract Upgrade Validator to reject unrepresentable entitlement sets](https://github.com/onflow/cadence/issues/3296) + - [Produce a validator error when contracts would produce unrepresentable entitlements sets in the migration](https://github.com/onflow/cadence/pull/3304) +- [Use Cadence's predicate function to determine if given broken value should be fixed](https://github.com/onflow/flow-go/pull/5831) +- [Migration optimization](https://github.com/onflow/cadence/issues/3297) + - [Reuse static type cache across migrations in different accounts](https://github.com/onflow/flow-go/pull/5847) + - [Make static type cache an interface](https://github.com/onflow/cadence/pull/3315) + - [Make migration error stacktrace configurable](https://github.com/onflow/cadence/pull/3322) + - [Cache results of migrations, e.g. static types, entitlements, etc.](https://github.com/onflow/cadence/issues/3326) + - [Add/improve caching in static type and entitlements migration](https://github.com/onflow/cadence/pull/3329) +- Atree + - [Fix the migration feature that filters unreferenced slabs](https://github.com/onflow/atree/issues/395) + - [Fix migration filter for old unreferenced slabs](https://github.com/onflow/atree/pull/396) + - [Port](https://github.com/onflow/atree/pull/399) + - [SlabIterator should include nested storage ID](https://github.com/onflow/atree/issues/397) + - [Fix SlabIterator to include nested storage ID](https://github.com/onflow/atree/pull/398) + +Cadence Features / Improvements +- Go API Breaking changes: + - [Remove access to fields by index](https://github.com/onflow/cadence/issues/2952) + - [Unexport fields to prevent access by index](https://github.com/onflow/cadence/pull/3290) + - [Remove Value.ToGoValue and NewValue](https://github.com/onflow/cadence/pull/3291) +- [Enable attachments on mainnet](https://github.com/onflow/flow-go/pull/5866) +- [Fuzzer - update the C1.0](https://github.com/dapperlabs/cadence-fuzzer/pull/43) +- Security fixes: [1](https://github.com/dapperlabs/cadence-internal/pull/224), [2](https://github.com/dapperlabs/cadence-internal/pull/226), [3](https://github.com/dapperlabs/cadence-internal/pull/227) +- Security improvements + - [Add runtime check for transaction value moves](https://github.com/onflow/cadence/pull/3298) + - [Add test for untyped optional nested-reference creation](https://github.com/onflow/cadence/pull/3317) +- Bugfixes + - [Capability created with invalid ID when unrelated contract field is accessed](https://github.com/onflow/cadence/issues/3323) + - [Remove invalid ID capability error](https://github.com/onflow/cadence/pull/3325) + - [panic occurs when borrowing a contract interface from account](https://github.com/onflow/cadence/issues/3241) + - [Fix borrowing of contract interface](https://github.com/onflow/cadence/pull/3327) +- Docs + - [Clean up entitlements docs](https://github.com/onflow/cadence-lang.org/pull/97) +- Util: [Add a command to generate a mermaid diagram](https://github.com/onflow/cadence/pull/3307) + + +Crescendo release chores +- flow-go: [1](https://github.com/onflow/flow-go/pull/5887), [2](https://github.com/onflow/flow-go/pull/5792), [3](https://github.com/onflow/flow-go/pull/5793), [4](https://github.com/onflow/flow-go/pull/5806), [5](https://github.com/onflow/flow-go/pull/5817), [6](https://github.com/onflow/flow-go/pull/5820), [7](https://github.com/onflow/flow-go/pull/5829), [8](https://github.com/onflow/flow-go/pull/5830), [9](https://github.com/onflow/flow-go/pull/5834), [10](https://github.com/onflow/flow-go/pull/5835), [11](https://github.com/dapperlabs/flow-go/pull/6962), [12](https://github.com/dapperlabs/flow-go/pull/6963) +- Cadence: [1](https://github.com/onflow/cadence/pull/3293), [2](https://github.com/onflow/cadence/pull/3294), [3](https://github.com/onflow/cadence/pull/3295), [4](https://github.com/onflow/cadence/pull/3301), [5](https://github.com/onflow/cadence/pull/3306) +- flowkit: [1](https://github.com/onflow/flowkit/pull/38), [2](https://github.com/onflow/flowkit/pull/40) +- Cadence Tools: [1](https://github.com/onflow/cadence-tools/pull/351), [2](https://github.com/onflow/cadence-tools/pull/356), [3](https://github.com/onflow/cadence-tools/pull/357), [4](https://github.com/onflow/cadence-tools/pull/358), [5](https://github.com/onflow/cadence-tools/pull/362) +- EVM GW: [1](https://github.com/onflow/flow-evm-gateway/pull/218), [2](https://github.com/onflow/flow-evm-gateway/pull/227) +- flixkit-go: [1](https://github.com/onflow/flixkit-go/pull/59), [2](https://github.com/onflow/flixkit-go/pull/61) +- flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/pull/635), [2](https://github.com/onflow/flow-go-sdk/pull/640), [3](https://github.com/onflow/flow-go-sdk/pull/642) +- tool config: [1](https://github.com/onflow/cadence/pull/3292) +- emulator: [1](https://github.com/onflow/flow-emulator/pull/650), [2](https://github.com/onflow/flow-emulator/pull/652), [3](https://github.com/onflow/flow-emulator/pull/654), [4](https://github.com/onflow/flow-emulator/pull/659) +- CLI: [1](https://github.com/onflow/flow-cli/pull/1564) + +Cadence Execution +- [Completed new Ingestion engine implementation](https://github.com/onflow/flow-go/pull/5593) + - [Use compnent manager](https://github.com/onflow/flow-go/pull/5611) + - [Check local collection exists before fetching](https://github.com/onflow/flow-go/pull/5838) + - [Fix throttle](https://github.com/onflow/flow-go/pull/5863) + - [v0.33 backport](https://github.com/onflow/flow-go/pull/5787) +- [Util feature - find the first result that mismatch with the sealed result](https://github.com/onflow/flow-go/pull/5883) +- [EN1 Missing events for some blocks](https://github.com/dapperlabs/flow-go/issues/6959) + - Helper to detect the problem in the future - [adding checks when a block has no events](https://github.com/onflow/flow-go/pull/5764) + - [update error message when events hash mismatch](https://github.com/onflow/flow-go/pull/5804) +- Performance testing + - [Add a TPS test that does multiple token transfers per transaction to the performance benchmark](https://github.com/onflow/flow-go/issues/5329) + - [Add new TPS loader load type](https://github.com/onflow/flow-go/pull/5864) +- Bug: [Cadence 1.0 getBlock errors when querying outside of queriable range](https://github.com/onflow/flow-go/issues/5852) + - [Do not return an error when block is unavailable due to expiry](https://github.com/onflow/flow-go/pull/5853) +- CBOR: [Refactor to reuse functions and improve code coverage](https://github.com/fxamacker/cbor/pull/531) +- [Minor TPS benchmark fixes](https://github.com/onflow/flow-go/pull/5780) + +EVM +- Core + - [Support evm.batchRun](https://github.com/onflow/flow-go/issues/5501) + - [Batch run transactions](https://github.com/onflow/flow-go/pull/5614) + - [Add batch run to EVM FLIP](https://github.com/onflow/flips/pull/257) + - [Gas estimation](https://github.com/onflow/flow-go/issues/5603) + - [Dry-run function](https://github.com/onflow/flow-go/pull/5749) + - [block overhead optimization](https://github.com/onflow/flow-go/issues/5504) + - [Change transaction event field name](https://github.com/onflow/flow-go/issues/5760) + - [Add total gas used to block](https://github.com/onflow/flow-go/issues/5628) + - [Optimize event data](https://github.com/onflow/flow-go/pull/5779) + - [Bridged account creation event consolidation](https://github.com/onflow/flow-go/issues/5414) + - [Remove special EVM type](https://github.com/onflow/flow-go/pull/5791) + - [Skip nonce check on dry runs](https://github.com/onflow/flow-go/pull/5816) + - [Add transaction index to result](https://github.com/onflow/flow-go/pull/5818) + - [Result.deployedContract field is not assignable](https://github.com/onflow/flow-go/issues/5842) + - [Fix EVM.Result.deployedContract](https://github.com/onflow/flow-go/pull/5844) + - [Support decoding blocks without timestamp](https://github.com/onflow/flow-go/issues/5846) + - [Add decoder for blocks without timestamp](https://github.com/onflow/flow-go/pull/5848) +- Bridge + - [Add bridging interface to EVM contract - stable cadence port](https://github.com/onflow/flow-go/pull/5716) +- Gateway + - [Add support for batched transactions](https://github.com/onflow/flow-evm-gateway/issues/224) + - [Support batched transactions](https://github.com/onflow/flow-evm-gateway/pull/223) + - [Allow specifying init Cadence height](https://github.com/onflow/flow-evm-gateway/pull/226) + - [Add force set height flag](https://github.com/onflow/flow-evm-gateway/pull/232) + - [Set fixed height flag](https://github.com/onflow/flow-evm-gateway/pull/233) + - [Fix decoding issues with previous formats](https://github.com/onflow/flow-evm-gateway/pull/237) **This sprint** Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades -* [Emulator release is ready](https://github.com/onflow/flow-emulator/releases/tag/v1.0.0-preview.19), support devs that are teting migration, monitor Discord questions. +* All breaking changed released in a new CLI: v1.18.0-cadence-v1.0.0-preview.23 Objective 1, KR4: Testnet Upgrade to Crescendo Release * Completed Testnet migration with both Atree inlining and Cadence 1.0. +* Completed [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) production readiness EPICs. * Continue work on migration optimizations. -* Complete [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) production readiness EPICs. Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN * Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) From a08a0d79726e003c89990084884c365c67be519e Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 10 May 2024 06:38:12 -0700 Subject: [PATCH 290/626] Update 2024-05-10-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 2e8e34345..d77e17b87 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -17,7 +17,7 @@ --- -### Mainnet Uptime - Last 14 days (xx/yy/24 to xx/yy/24) \[Vishal] +### Mainnet Uptime - Last 14 days (4/26/24 to 5/10/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -25,7 +25,7 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.99% | 7.23% | +| Access API Liveness | 99.9% | 99.99% | 4.91% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) From 9d7dba55dbe75eac2a91eaf1a00671fd9126aa7c Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 10 May 2024 08:54:22 -0700 Subject: [PATCH 291/626] Update 2024-05-10-Flow-Sprint-Kickoff.md --- .../2024-05-10-Flow-Sprint-Kickoff.md | 43 ++++++++++++++++--- 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index d77e17b87..f16b3f12f 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -9,6 +9,9 @@ - Fixed all known issues with C1.0 and Atree inlining state migrations. - EVM updated to latest release and functional on Previewnet - All EVM changes needed for Testnet upgrade to Crescendo completed. - Positive community feedback on new proposal for Testnet upgrade process to Crescendo, using transaction failure mode for transactions importing unstaged contracts. +- Published [“Interacting with COAs with Cadence”](https://developers.flow.com/evm/cadence/interacting-with-coa) Guide +- CLI Interactive Init Demo in prep for release +- Merged feature branches in flow-ft and flow-nft ### General updates @@ -367,7 +370,37 @@ Cycle Objective(s): - Use the Crescendo Release grow Flow's developer base and network activity **Done last sprint** -- +- Fixed issues with Cadence decoding with backwards compatibility. Confirmed working https://github.com/onflow/cadence/issues/3250 +- FCL compatibility with Cadence 1.0 JSON-CDC changes +- Published [“Interacting with COAs with Cadence”](https://developers.flow.com/evm/cadence/interacting-with-coa) Guide +- Spilt Dev Docs into Cadence 1.0 and Legacy [#738](https://github.com/onflow/docs/issues/738) +- [Update JSON-CDC encoding for Cadence 1.0](https://github.com/onflow/fcl-js/issues/1861) +- [Windows CI not working as expected](https://github.com/onflow/flow-cli/issues/1556) +- [Broken flow.json when deploying contract with [String] as init arg](https://github.com/onflow/flow-cli/issues/1352) +- [Deploying contracts with Address init args breaks config](https://github.com/onflow/flow-cli/issues/1427) +- [flow test configuration and default behaviour](https://github.com/onflow/flow-cli/issues/1378) +- [Transferring Flow between Cadence and EVM](https://github.com/onflow/docs/issues/686) +- [Add EVM Bridge README](https://github.com/onflow/flow-evm-bridge/issues/49) +- [Restructure repo for organization and enhanced implicit clarity ](https://github.com/onflow/flow-evm-bridge/issues/50) +- [Add EVMBridgedMetadata implementation into ExampleNFT](https://github.com/onflow/flow-nft/issues/213) +- [Update code template args json](https://github.com/onflow/flow-evm-bridge/issues/53) +- [Update flow-ft contracts to comply with Stable Cadence changes](https://github.com/onflow/flow-ft/issues/96) +- [Impossible to count number of NFTs in large collections and get the IDs](https://github.com/onflow/flow-nft/issues/184) +- [Adding support in MetadataViews to support viewing nested resources](https://github.com/onflow/flow-nft/issues/146) +- [Update flow-nft contracts to comply with Stable Cadence changes](https://github.com/onflow/flow-nft/issues/133) +- [Replace all references for Flow Reference Wallet in the docs to Flow Wallet](https://github.com/onflow/docs/issues/699) +- [Cadence Direct Calls to the EVM Ref Doc](https://github.com/onflow/docs/issues/684) +- [Change paths in flow.json to relative](https://github.com/onflow/flow-cli/issues/1532) +- [Keep any project creation from saving until completion in case of cancellation](https://github.com/onflow/flow-cli/issues/1531) +- [Change "Flow Ref" References to "Flow"](https://github.com/onflow/fcl-discovery/issues/181) +- [Disable logs in generate for setup](https://github.com/onflow/flow-cli/issues/1554) +- [Improve emojis across Windows versions in Dependency Manager output headers](https://github.com/onflow/flow-cli/issues/1557) +- [Add message if conflicting contract on dependency install](https://github.com/onflow/flow-cli/issues/1560) +- [Setup project for flow dev](https://github.com/onflow/flow-cli/issues/1575) +- [Start emulator flag on flow dev errors for gas limit ](https://github.com/onflow/flow-cli/issues/1577) +- [flow dev should run emulator without flag](https://github.com/onflow/flow-cli/issues/1579) + + **This sprint** **Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, Splitting Dev Docs (Cadence 1.0/Legacy), and adding EVM docs for Cadence Devs** @@ -375,18 +408,16 @@ Cycle Objective(s): - [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) - [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) - [EPIC] Flow EVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) -- [EPIC] Spilt Dev Docs into Cadence 1.0 and Legacy [#738](https://github.com/onflow/docs/issues/738) +- [Epic]: Update Flow port for Cadence v1.0 instance [#279](https://github.com/onflow/flow-port/issues/279) #### Smart Contract WG - Reviews for Increment.fi -- NFTStorefront v1 & v2 Cadence 1.0 Refactor [#89](https://github.com/onflow/nft-storefront/pull/89) -- EVM Bridge prep for deployment and Audit +- Update Tutorials for Cadence 1.0 [#769](https://github.com/onflow/docs/issues/769) +- EVM Bridge **On Hold** -- Update Flow port for Cadence Crescendo instance [#279](https://github.com/onflow/flow-port/issues/279) - --- ### **Wallet** \[Jeff] From f1f3148abbf48abd85781afad79de2b319e78352 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 10 May 2024 09:17:54 -0700 Subject: [PATCH 292/626] Update 4D 2 2024-05-10-Flow-Sprint-Kickoff.md --- .../2024-05-10-Flow-Sprint-Kickoff.md | 48 +++++++++++-------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index f16b3f12f..7a154fd4d 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -370,16 +370,34 @@ Cycle Objective(s): - Use the Crescendo Release grow Flow's developer base and network activity **Done last sprint** + +**Tools** - Fixed issues with Cadence decoding with backwards compatibility. Confirmed working https://github.com/onflow/cadence/issues/3250 -- FCL compatibility with Cadence 1.0 JSON-CDC changes -- Published [“Interacting with COAs with Cadence”](https://developers.flow.com/evm/cadence/interacting-with-coa) Guide -- Spilt Dev Docs into Cadence 1.0 and Legacy [#738](https://github.com/onflow/docs/issues/738) -- [Update JSON-CDC encoding for Cadence 1.0](https://github.com/onflow/fcl-js/issues/1861) +- FCL compatibility with Cadence 1.0 JSON-CDC changes - [Windows CI not working as expected](https://github.com/onflow/flow-cli/issues/1556) +- [Disable logs in generate for setup](https://github.com/onflow/flow-cli/issues/1554) +- [Improve emojis across Windows versions in Dependency Manager output headers](https://github.com/onflow/flow-cli/issues/1557) +- [Add message if conflicting contract on dependency install](https://github.com/onflow/flow-cli/issues/1560) +- [Setup project for flow dev](https://github.com/onflow/flow-cli/issues/1575) +- [Start emulator flag on flow dev errors for gas limit ](https://github.com/onflow/flow-cli/issues/1577) +- [flow dev should run emulator without flag](https://github.com/onflow/flow-cli/issues/1579) +- [Change paths in flow.json to relative](https://github.com/onflow/flow-cli/issues/1532) +- [Keep any project creation from saving until completion in case of cancellation](https://github.com/onflow/flow-cli/issues/1531) +- [Change "Flow Ref" References to "Flow"](https://github.com/onflow/fcl-discovery/issues/181) +- [Update JSON-CDC encoding for Cadence 1.0](https://github.com/onflow/fcl-js/issues/1861) - [Broken flow.json when deploying contract with [String] as init arg](https://github.com/onflow/flow-cli/issues/1352) -- [Deploying contracts with Address init args breaks config](https://github.com/onflow/flow-cli/issues/1427) - [flow test configuration and default behaviour](https://github.com/onflow/flow-cli/issues/1378) + +**Education and Adoption** +- Published [“Interacting with COAs with Cadence”](https://developers.flow.com/evm/cadence/interacting-with-coa) Guide +- Spilt Dev Docs into Cadence 1.0 and Legacy [#738](https://github.com/onflow/docs/issues/738) - [Transferring Flow between Cadence and EVM](https://github.com/onflow/docs/issues/686) +- [Replace all references for Flow Reference Wallet in the docs to Flow Wallet](https://github.com/onflow/docs/issues/699) +- [Cadence Direct Calls to the EVM Ref Doc](https://github.com/onflow/docs/issues/684) + +**Smart Contracts** +- [Deploying contracts with Address init args breaks config](https://github.com/onflow/flow-cli/issues/1427) +- [Update flow-nft contracts to comply with Stable Cadence changes](https://github.com/onflow/flow-nft/issues/133) - [Add EVM Bridge README](https://github.com/onflow/flow-evm-bridge/issues/49) - [Restructure repo for organization and enhanced implicit clarity ](https://github.com/onflow/flow-evm-bridge/issues/50) - [Add EVMBridgedMetadata implementation into ExampleNFT](https://github.com/onflow/flow-nft/issues/213) @@ -387,23 +405,9 @@ Cycle Objective(s): - [Update flow-ft contracts to comply with Stable Cadence changes](https://github.com/onflow/flow-ft/issues/96) - [Impossible to count number of NFTs in large collections and get the IDs](https://github.com/onflow/flow-nft/issues/184) - [Adding support in MetadataViews to support viewing nested resources](https://github.com/onflow/flow-nft/issues/146) -- [Update flow-nft contracts to comply with Stable Cadence changes](https://github.com/onflow/flow-nft/issues/133) -- [Replace all references for Flow Reference Wallet in the docs to Flow Wallet](https://github.com/onflow/docs/issues/699) -- [Cadence Direct Calls to the EVM Ref Doc](https://github.com/onflow/docs/issues/684) -- [Change paths in flow.json to relative](https://github.com/onflow/flow-cli/issues/1532) -- [Keep any project creation from saving until completion in case of cancellation](https://github.com/onflow/flow-cli/issues/1531) -- [Change "Flow Ref" References to "Flow"](https://github.com/onflow/fcl-discovery/issues/181) -- [Disable logs in generate for setup](https://github.com/onflow/flow-cli/issues/1554) -- [Improve emojis across Windows versions in Dependency Manager output headers](https://github.com/onflow/flow-cli/issues/1557) -- [Add message if conflicting contract on dependency install](https://github.com/onflow/flow-cli/issues/1560) -- [Setup project for flow dev](https://github.com/onflow/flow-cli/issues/1575) -- [Start emulator flag on flow dev errors for gas limit ](https://github.com/onflow/flow-cli/issues/1577) -- [flow dev should run emulator without flag](https://github.com/onflow/flow-cli/issues/1579) - - **This sprint** -**Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, Splitting Dev Docs (Cadence 1.0/Legacy), and adding EVM docs for Cadence Devs** +**Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, FCL x WalletConnect Improvements, shipping new CLI version, EVM randomness** - [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) - [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) @@ -413,8 +417,10 @@ Cycle Objective(s): #### Smart Contract WG - Reviews for Increment.fi +- Circle Support - Update Tutorials for Cadence 1.0 [#769](https://github.com/onflow/docs/issues/769) -- EVM Bridge +- Add Solidity implementation using EVM randomness +- [FEATURE] Update Core Contracts [#756](https://github.com/onflow/docs/issues/756) **On Hold** From c3bc30310d44d2607a51f24386a876ca8adec293 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 10 May 2024 09:25:51 -0700 Subject: [PATCH 293/626] Added cryptography update --- .../sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 7a154fd4d..74c0e7882 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -289,12 +289,19 @@ Cycle Objective(s): - Align ExecutionData API with new endpoints ([PR #5672](https://github.com/onflow/flow-go/pull/5672)) - Finished testing to support enabling indexing on Dynamic bootstrapped AN ([Issue #5423](https://github.com/onflow/flow-go/issues/5423)) +* Cryptography: + - Randomness core-contract fix: updated on TN and MN (Josh) - confirmed the update fixed the broken state - e2e tests updated + - DKG: investigate papers for potential security reduction of Pedersen output keys + - BFT: pick-up the proof of possession of staking private keys epic (check current state - update old open PRs) + - core-contracts: use new Cadence’s modulo argument to fix uniformity in random distributions + **This sprint** * Zero-downtime Upgrades of Node Software: - [Dynamic Protocol State - todos, suggested revisions and tech debt](https://github.com/onflow/flow-go/issues/5666#top) - - Reviews for open M2 PRs, priority to close the milestone - Apply comments and finalize https://github.com/onflow/flow-go/pull/5773 + - Reviews for open M2 PRs, priority to close the milestone + - Wrapping up the KVStore M2 items going into this spork * EFM Recovery - [Fix & re-enable flakey tests](https://github.com/onflow/flow-go/issues/5886) @@ -303,7 +310,8 @@ Cycle Objective(s): - [Cancel in progress root QC voting](https://github.com/onflow/flow-go/issues/5733) * Cryptography: - - N/A this sprint as Tarak was out-of-office + - BFT - proof of possession epic : continue updating old PRs - scope the Ledger wallet work with VaccumLabs + - SPoCK aggregation: revisit the SPoCK security proof * Data Availability: - Test local script exec with lower compute limit From bbe5773774a61d6cfdbbfbe533bf6a013844a6b6 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 10 May 2024 09:26:37 -0700 Subject: [PATCH 294/626] Minor tweak --- agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 74c0e7882..fb6df9962 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -2,7 +2,6 @@ ### Team Wins 🎉 -- Unblocked JVM SDK artifact publishing GH automation which took several fiddly days of back and forth to figure out - Added one of the FF nodes to the QuickNode load balancer to enable easier testing and debugging of new Access node features with real user traffic. - After over a year of development, flow-go stable-cadence (Cadence 1.0) branch [merged to master](https://github.com/onflow/flow-go/pull/5856)! - All planned and requested breaking changes in C1.0 delivered in the latest preview release, unblocking devs to test they migration to C1.0. @@ -12,6 +11,7 @@ - Published [“Interacting with COAs with Cadence”](https://developers.flow.com/evm/cadence/interacting-with-coa) Guide - CLI Interactive Init Demo in prep for release - Merged feature branches in flow-ft and flow-nft +- Unblocked JVM SDK artifact publishing GH automation which took several fiddly days of back and forth to figure out ### General updates From ea22643fe16710b2f2269f42060e45b02b7e7769 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 10 May 2024 09:26:56 -0700 Subject: [PATCH 295/626] Not needed --- agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 1 - 1 file changed, 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index fb6df9962..e7900a6a8 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -11,7 +11,6 @@ - Published [“Interacting with COAs with Cadence”](https://developers.flow.com/evm/cadence/interacting-with-coa) Guide - CLI Interactive Init Demo in prep for release - Merged feature branches in flow-ft and flow-nft -- Unblocked JVM SDK artifact publishing GH automation which took several fiddly days of back and forth to figure out ### General updates From 028b8c19170782493fe6de4a365bdc85b2c3c5e5 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 10 May 2024 09:28:46 -0700 Subject: [PATCH 296/626] ordering change --- .../2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index e7900a6a8..ede2494e5 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -308,10 +308,6 @@ Cycle Objective(s): - [Wrap up integration test](https://github.com/onflow/flow-go/issues/5886) - [Cancel in progress root QC voting](https://github.com/onflow/flow-go/issues/5733) -* Cryptography: - - BFT - proof of possession epic : continue updating old PRs - scope the Ledger wallet work with VaccumLabs - - SPoCK aggregation: revisit the SPoCK security proof - * Data Availability: - Test local script exec with lower compute limit - Continue debugging resource issues observed on QuickNode @@ -322,6 +318,10 @@ Cycle Objective(s): - Address tech debt in APIs ([Issue #5757](https://github.com/onflow/flow-go/issues/5757) - PR in review) - Add support for version beacon events to control script execution ([Issue #5757](https://github.com/onflow/flow-go/issues/5757)) +* Cryptography: + - BFT - proof of possession epic : continue updating old PRs - scope the Ledger wallet work with VaccumLabs + - SPoCK aggregation: revisit the SPoCK security proof + **On Hold** * Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. From b1b713c4780046db90a3db3b29a52a391f98e0f2 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 10 May 2024 09:34:19 -0700 Subject: [PATCH 297/626] Minor tidyup --- agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index ede2494e5..2b0473eca 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -355,7 +355,6 @@ Cycle Objective(s): * Update JVM SDK examples repo now that latest version artifact successfully published * Implement multi-sig solution for Circle to help with USDC migration to EVM * Upgrade Band protocol contract to C1.0 -* Continue review of IncrementFi Cadence 1.0 contract upgrades (couldn't get to it in past sprint) **On Hold** - Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing @@ -428,6 +427,7 @@ Cycle Objective(s): - Update Tutorials for Cadence 1.0 [#769](https://github.com/onflow/docs/issues/769) - Add Solidity implementation using EVM randomness - [FEATURE] Update Core Contracts [#756](https://github.com/onflow/docs/issues/756) +- VM Bridge audit startd May 13th **On Hold** From ce6c3d4c7c122e9577e357308c91c7c12a52ed43 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 10 May 2024 09:43:05 -0700 Subject: [PATCH 298/626] Remove dupe --- agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 1 - 1 file changed, 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 2b0473eca..0d9e4fceb 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -303,7 +303,6 @@ Cycle Objective(s): - Wrapping up the KVStore M2 items going into this spork * EFM Recovery - - [Fix & re-enable flakey tests](https://github.com/onflow/flow-go/issues/5886) - [Address Recover Epoch cadence PR feedback](https://github.com/onflow/flow-core-contracts/pull/420) - [Wrap up integration test](https://github.com/onflow/flow-go/issues/5886) - [Cancel in progress root QC voting](https://github.com/onflow/flow-go/issues/5733) From 23afd07889b417904e49f38da91a7a2e1246ab9e Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 10 May 2024 22:24:07 +0530 Subject: [PATCH 299/626] Update 2024-05-10-Flow-Sprint-Kickoff.md FLIP tracker + governance updates --- .../2024-05-10-Flow-Sprint-Kickoff.md | 54 +++++++++---------- 1 file changed, 25 insertions(+), 29 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 2b0473eca..a427febc9 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -57,29 +57,16 @@ | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 6 (-1) | 8 | 0 | 7 (+2) | **21** (+1) | -| Proposed | 1 (-2) | 2 | 2 | 0 (-1) | **5** (-3) | -| Accepted | 2 | 1 | 1 | 1 | **5** (-1) | +| Drafted | 6 | 8 | 1 | 7 | **22** (+1) | +| Proposed | 1 | 2 | 2 | 0 | **5** | +| Accepted | 2 | 1 | 1 | 1 | **5** | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 3 (+2) | 21 (+2) | 2 | 1 (+1) | **7** (+5) | -| Released | 4 | 0 | 3 | 6 (+2) | **13** (+2) | -| Total | **16** (-1) | **32** (+2) | **9** | **15** (+3) | **72** (+4) | - -**New FLIPs tracked now** -* [Protocol] Message Forensic (MF) System -* [Protocol] Passkey Support - -**Marked as Released** -* [Protocol] On-Chain randomness history for commit-reveal schemes -* [Protocol] Expand Access Streaming API with new endpoints - -**Implemented** -* [Cadence] Random function -* [Cadence] Require matching access modifiers for interface implementation members -* [Protocol] FVM supporting EVM -* [Application] Flow EVM Gateway -* [Application] FlowEVM VM Bridge +| Implemented | 3 | 21 | 2 | 1 | **7** | +| Released | 4 | 0 | 3 | 6 | **13** | +| Total | **16** | **32** | **10** (+1) | **15** | **73** (+1) | +**New FLIPs** +* [Governance] - 5X Computation Limit Hike (Drafted) --- @@ -526,17 +513,26 @@ Cycle Objective(s): Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** +- Tested governance changes (gas to evm ratio, 5x compute limit, 100x fee) on PreviewNet +- Review various inflation reduction strategies with the team - see slide 2 on [this deck](https://docs.google.com/presentation/d/1EBYqB8FwxHtOwaQMHiId0ZZv4bRNThNYrgF5-CZeI8M/edit?pli=1#slide=id.g26c5efcb5cb_0_280) for a summary +- Monthly Flow Governance Working Group meeting +- Computation Limit Hike [PR](https://github.com/onflow/flips/pull/268) +- Transaction fee multiplioer [PR](https://github.com/onflow/flips/pull/265) and Data update [PR](https://github.com/onflow/flips/pull/266) +- Consolidated node operator data; assessed which operator use lease tokens versus self-stake; revoked leases +- Research on shock-absorbers ("responsible liquidation smart contract") to FLOW volatility and as a burn-alternative +- Synced with new potential consensus node operators +- Updated market comps data; TPS, fees, multiple vis a vis Flow. summary [here](https://docs.google.com/spreadsheets/d/1XvGvIRegRg7HJDmCRpOnP97Ozbb6gKVNPBnolbfqbKY/edit#gid=0) **This sprint** - -- Test governance changes (gas to evm ratio, 5x compute limit, 100x fee) on PreviewNet -- Review inflation strategies with the team, get feedback, remodel, conclude on the way forward -- Draft FLIP on EVM gas to compute ratio and compute limit hike -- Update transaction fee 100x FLIP to suggest a new transaction fee multipler, also update the market comps per the latest exchange rates to get it ready for reintroduction -- Consolidate node operator data; assess which operator use lease tokens versus self-stake +- Continue chats with potential consensus node operators and finalize lease discussions +- Onboard 8 new SNs - contracts, lease transfers, stake and setup assistance +- Review, finalize and merge Tokenomics PRs +- Transaction fee partner impact discussion and way forward with FF leadership +- Map and evaluate post crescendo Flow scenarios regarding tps, fees and inflation +- R&D and planning with Dete on post Crescendo surge pricing [already kicked off] +- Metrics planning for foundation’s financials and network Tokenomics - Continue working on node operator branding and logos with .find team -- Continue decentralization efforts - work with a16z to consolidate three nodes; with Coinbase to reduce one node they operate on leased stake; Continue work on automation of the decentralization dashboard to send messages when critical thresholds are crossed - + **On Hold** From 0fe58776b01b87c9c33fa58547f37fa5a70e1b03 Mon Sep 17 00:00:00 2001 From: Jeff Doyle Date: Fri, 10 May 2024 13:57:40 -0300 Subject: [PATCH 300/626] Update 2024-05-10-Flow-Sprint-Kickoff.md --- .../2024-05-10-Flow-Sprint-Kickoff.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 404721224..95b806e82 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -452,14 +452,15 @@ Cycle Objective(s): **This sprint** -- Complete Web3.js integration, authorization -- VM Bridge integration, moving FT and NFT in app. -- Product scoping for next cycle: - - Identifying needed polish + bug fixes - - Next product opportunities -- CTD: Outreach with Coinbase Wallet, MetaMask, Shadow Wallet and Blocto -- CTD: Working with Apple on app approval & release - +- Completing VM-Bridge integration, NFT transfer +- UI / UX / Bug updates. Working through a large list of tracked bugs / UI updates required: + - Improving SE account creation workflow. + - Profile account recovery / social recovery. + - Account recovery from multiple sources. + - Asset display issues (NFT and FT). + - Supporting additional token types (eg: Those created by toucans) + - Misc copy updates / fixes. + **On Hold** - N/A From 4d44b0ec675ba4f805c9087544d82ed83b676c51 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 10 May 2024 19:31:36 +0200 Subject: [PATCH 301/626] Update 2024-05-10-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md index 95b806e82..0190ef7c3 100644 --- a/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-10-Flow-Sprint-Kickoff.md @@ -10,7 +10,7 @@ - Positive community feedback on new proposal for Testnet upgrade process to Crescendo, using transaction failure mode for transactions importing unstaged contracts. - Published [“Interacting with COAs with Cadence”](https://developers.flow.com/evm/cadence/interacting-with-coa) Guide - CLI Interactive Init Demo in prep for release -- Merged feature branches in flow-ft and flow-nft +- Merged Cadence 1.0 feature branches in flow-ft and flow-nft ### General updates From b38a12aa2b090c7c83ea9317b1dddbdcd01240ed Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 10 May 2024 12:34:09 -0700 Subject: [PATCH 302/626] Generate missed protobug changes --- .../go/flow/executiondata/executiondata.pb.go | 152 +++++++++--------- .../executiondata/executiondata_grpc.pb.go | 6 +- 2 files changed, 79 insertions(+), 79 deletions(-) diff --git a/protobuf/go/flow/executiondata/executiondata.pb.go b/protobuf/go/flow/executiondata/executiondata.pb.go index cb6afeaf8..f855b6d7a 100644 --- a/protobuf/go/flow/executiondata/executiondata.pb.go +++ b/protobuf/go/flow/executiondata/executiondata.pb.go @@ -741,7 +741,7 @@ type SubscribeEventsResponse struct { Events []*entities.Event `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"` // Timestamp from the block containing the events. BlockTimestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=block_timestamp,json=blockTimestamp,proto3" json:"block_timestamp,omitempty"` - // The message index of the response message. Used by the client to ensure they received all messages. Starts from "0". + // The message index of the response message. Used by the client to ensure they received all messages. Starts from "1". MessageIndex uint64 `protobuf:"varint,5,opt,name=message_index,json=messageIndex,proto3" json:"message_index,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -1240,9 +1240,8 @@ type SubscribeAccountStatusesResponse struct { BlockId []byte `protobuf:"bytes,1,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"` // Block height of the block containing the events. BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - // The MessageIndex of the response message. - // Used by the client to ensure they have received all messages. - MessageIndex uint64 `protobuf:"varint,3,opt,name=messageIndex,proto3" json:"messageIndex,omitempty"` + // The message index of the response message. Used by the client to ensure they received all messages. Starts from "1". + MessageIndex uint64 `protobuf:"varint,3,opt,name=message_index,json=messageIndex,proto3" json:"message_index,omitempty"` // The API may return no results which signals a periodic heartbeat. This // allows clients to track which blocks were searched. Client can use this // information to determine which block to start from when reconnecting. @@ -1455,80 +1454,79 @@ func init() { } var fileDescriptor_da469632570513fb = []byte{ - // 1185 bytes of a gzipped FileDescriptorProto + // 1183 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0x41, 0x6f, 0x1b, 0x45, - 0x14, 0xd6, 0xac, 0x4d, 0xd2, 0x3c, 0x9b, 0xa4, 0x1d, 0x45, 0xc1, 0xb1, 0x28, 0x71, 0xb6, 0x50, + 0x14, 0xd6, 0xac, 0x8d, 0xd3, 0x3c, 0x9b, 0xa4, 0x1d, 0x45, 0xc1, 0xb6, 0x28, 0x71, 0xb6, 0x50, 0xac, 0x92, 0xac, 0x53, 0xb7, 0x15, 0x85, 0x72, 0x89, 0x9b, 0x34, 0x58, 0xe2, 0x50, 0x6d, 0x4a, 0x25, 0x7a, 0xb1, 0x76, 0xed, 0x89, 0xb3, 0xc2, 0xde, 0x75, 0x77, 0xc6, 0x21, 0x11, 0x17, 0x0e, - 0x08, 0x55, 0xa8, 0x17, 0x0e, 0x48, 0x95, 0x38, 0x81, 0x84, 0x10, 0x07, 0x04, 0x3f, 0x80, 0xdf, - 0xc0, 0x3f, 0xe0, 0xc8, 0x99, 0x0b, 0x3f, 0x00, 0x79, 0x76, 0x76, 0xbd, 0x63, 0xef, 0xda, 0x5e, - 0x6f, 0x22, 0x50, 0x2f, 0x96, 0x66, 0xe6, 0xcd, 0xcc, 0xf7, 0xbe, 0x79, 0xf3, 0xcd, 0x7b, 0x6b, - 0xb8, 0x7e, 0xd4, 0x71, 0x3e, 0xab, 0x90, 0x53, 0xd2, 0xec, 0x33, 0xcb, 0xb1, 0x5b, 0x06, 0x33, - 0xe4, 0x96, 0xd6, 0x73, 0x1d, 0xe6, 0x60, 0x3c, 0xb0, 0xd3, 0xa4, 0x91, 0x62, 0xd9, 0x9b, 0x6b, - 0x33, 0x8b, 0x59, 0x84, 0x56, 0xcc, 0x8e, 0xd3, 0xfc, 0xb4, 0x11, 0x98, 0x34, 0x86, 0xb3, 0x8b, - 0xeb, 0xb2, 0x25, 0x39, 0x21, 0x36, 0x13, 0x43, 0xaf, 0xcb, 0x43, 0x2e, 0x69, 0x5b, 0x94, 0x11, - 0x57, 0x8c, 0x6e, 0xb4, 0x1d, 0xa7, 0xdd, 0x21, 0x15, 0xde, 0x32, 0xfb, 0x47, 0x15, 0x66, 0x75, - 0x09, 0x65, 0x46, 0xb7, 0xe7, 0x19, 0xa8, 0x2f, 0x10, 0x94, 0x0e, 0x08, 0xdb, 0xf7, 0x77, 0xdd, - 0x33, 0x98, 0x51, 0x3b, 0xab, 0x0d, 0xa0, 0xd4, 0xf7, 0x74, 0xf2, 0xb4, 0x4f, 0x28, 0xc3, 0xeb, - 0x70, 0xc9, 0x03, 0x67, 0xb5, 0x0a, 0xa8, 0x84, 0xca, 0x79, 0x7d, 0x91, 0xb7, 0xeb, 0x2d, 0xfc, - 0x09, 0xac, 0x71, 0x34, 0x0d, 0x62, 0x37, 0x9d, 0x96, 0x65, 0xb7, 0x1b, 0x27, 0xc4, 0xa5, 0x96, - 0x63, 0x17, 0x94, 0x12, 0x2a, 0x2f, 0x57, 0xaf, 0x69, 0x9e, 0xe3, 0x02, 0x9f, 0xb6, 0x3f, 0x30, - 0xde, 0x17, 0xb6, 0x8f, 0x3d, 0x53, 0x7d, 0x95, 0x44, 0xf4, 0xaa, 0xa7, 0xb0, 0x39, 0x01, 0x19, - 0xed, 0x39, 0x36, 0x25, 0xf8, 0x10, 0x56, 0xa3, 0x78, 0xe3, 0x30, 0x73, 0xd5, 0xcd, 0x91, 0xdd, - 0xf9, 0x6c, 0x69, 0x45, 0x1d, 0x9b, 0x63, 0x7d, 0xea, 0x1f, 0x08, 0xae, 0x1e, 0xf6, 0x4d, 0xda, - 0x74, 0x2d, 0x93, 0xc8, 0xe6, 0x82, 0x91, 0x37, 0x61, 0x99, 0x32, 0xc3, 0x65, 0x8d, 0x11, 0x5e, - 0xf2, 0xbc, 0xb7, 0x26, 0xc8, 0xd9, 0x02, 0x1c, 0xb6, 0x3a, 0x26, 0x56, 0xfb, 0x98, 0x71, 0x62, - 0xb2, 0xfa, 0xe5, 0xa1, 0xe5, 0x87, 0xbc, 0x7f, 0x02, 0x95, 0x99, 0xb4, 0x54, 0xfe, 0x89, 0xe0, - 0x8d, 0x38, 0x87, 0x04, 0x91, 0x9b, 0x90, 0x97, 0x50, 0x22, 0x8e, 0x32, 0x67, 0x86, 0x00, 0xc6, - 0x71, 0xad, 0xa4, 0xe0, 0x1a, 0xdf, 0x87, 0x15, 0x6f, 0xd1, 0x20, 0x32, 0xb9, 0xbb, 0xb9, 0x6a, - 0x51, 0xf3, 0x62, 0x57, 0xf3, 0x63, 0x57, 0x7b, 0xe4, 0x5b, 0xe8, 0xcb, 0x7c, 0x4a, 0xd0, 0x56, - 0x7f, 0x43, 0xb0, 0x1d, 0xed, 0xdf, 0x03, 0xd7, 0xe9, 0x1e, 0x0e, 0xcf, 0x64, 0x2f, 0xd9, 0x01, - 0x5e, 0x60, 0x74, 0xff, 0x8e, 0xe0, 0xe6, 0x2c, 0x90, 0x3d, 0xee, 0x7d, 0xd8, 0xd1, 0x11, 0x85, - 0x12, 0x47, 0x54, 0x6a, 0xf8, 0x5f, 0x22, 0x78, 0x3b, 0x1e, 0xfe, 0x47, 0x06, 0x23, 0x34, 0x00, - 0x1d, 0x0f, 0x03, 0xa5, 0x85, 0xf1, 0xab, 0x02, 0x6b, 0x43, 0x18, 0x03, 0x0b, 0x7a, 0x91, 0x57, - 0xf4, 0x5d, 0x58, 0x38, 0xb2, 0x3a, 0x8c, 0xb8, 0x22, 0x46, 0x37, 0xb4, 0x71, 0x59, 0xf7, 0xe0, - 0x3f, 0xe0, 0x66, 0xba, 0x30, 0xc7, 0xdb, 0x80, 0x8f, 0x89, 0xe1, 0x32, 0x93, 0x18, 0xac, 0x61, - 0xd9, 0x8c, 0xb8, 0x27, 0x46, 0xa7, 0x90, 0xe5, 0xdb, 0x5c, 0x09, 0x46, 0xea, 0x62, 0x60, 0x02, - 0x63, 0xaf, 0xa4, 0x65, 0xec, 0x1b, 0x05, 0xae, 0x8f, 0x30, 0x96, 0xee, 0x8e, 0x0c, 0x39, 0x51, - 0xce, 0x83, 0x93, 0x4c, 0x72, 0x4e, 0xb2, 0x69, 0x39, 0x79, 0xa1, 0xc0, 0x5b, 0x71, 0x9c, 0xa4, - 0xb9, 0x7f, 0x2f, 0x01, 0x35, 0x7f, 0x21, 0x28, 0x45, 0x50, 0x23, 0x5f, 0xf0, 0xa1, 0x9f, 0xe8, - 0x3c, 0xfc, 0x54, 0x92, 0xfb, 0x99, 0xfa, 0x85, 0xfc, 0x1b, 0xc1, 0x6b, 0x63, 0x42, 0x22, 0x9e, - 0xc6, 0x09, 0xe9, 0xcf, 0xe8, 0xab, 0xa9, 0x8c, 0xbf, 0x9a, 0x5b, 0xb0, 0xc0, 0x77, 0xa4, 0x85, - 0x4c, 0x29, 0x53, 0xce, 0x55, 0x57, 0xa3, 0x40, 0xea, 0xc2, 0x26, 0xea, 0x39, 0xcc, 0x26, 0x7d, - 0x0e, 0xf1, 0x35, 0x78, 0xb5, 0x4b, 0x28, 0x35, 0xda, 0xa4, 0x61, 0xd9, 0x2d, 0x72, 0xca, 0x55, - 0x23, 0xab, 0xe7, 0x45, 0x67, 0x7d, 0xd0, 0xa7, 0x9a, 0x90, 0x0b, 0x1d, 0x09, 0xbe, 0x0a, 0xe0, - 0x71, 0xcb, 0xce, 0x7a, 0xa4, 0x80, 0x4a, 0x99, 0xf2, 0x92, 0xbe, 0xc4, 0x7b, 0x1e, 0x9d, 0xf5, - 0x08, 0x2e, 0xc2, 0xa5, 0xa6, 0x63, 0x33, 0xd7, 0x68, 0x0e, 0x9c, 0x1c, 0x0c, 0x06, 0x6d, 0x5c, - 0x80, 0x45, 0xa3, 0xd5, 0x72, 0x09, 0xf5, 0x5c, 0x5c, 0xd2, 0xfd, 0xa6, 0xfa, 0x39, 0x14, 0x0e, - 0x08, 0xd3, 0x45, 0x4e, 0xfa, 0xd8, 0xe8, 0xf4, 0x49, 0xa0, 0xcf, 0x33, 0x24, 0x1c, 0x1f, 0x40, - 0xde, 0xcf, 0x67, 0x1b, 0x56, 0x8b, 0xf2, 0x8d, 0x73, 0xd5, 0xf5, 0x11, 0x02, 0xfd, 0xe5, 0xeb, - 0x7b, 0x7a, 0xce, 0x37, 0xaf, 0xb7, 0xa8, 0x7a, 0x0b, 0xd6, 0x23, 0x36, 0x17, 0x67, 0xba, 0x06, - 0x0b, 0x27, 0xbc, 0x87, 0xbb, 0x9a, 0xd7, 0x45, 0x4b, 0xfd, 0x4e, 0x81, 0x4a, 0x10, 0x07, 0xbb, - 0xcd, 0xa6, 0xd3, 0xb7, 0xd9, 0x21, 0x33, 0x58, 0x9f, 0x92, 0x94, 0x3a, 0x79, 0x77, 0x44, 0x0c, - 0x4a, 0x51, 0x97, 0xc4, 0xdb, 0xea, 0x7f, 0xab, 0x06, 0x3f, 0x28, 0xa0, 0x4d, 0x65, 0x27, 0x8d, - 0x62, 0xbe, 0x0c, 0x24, 0xfd, 0x83, 0x26, 0x93, 0xe4, 0x69, 0x27, 0xf7, 0xda, 0x27, 0xe9, 0xee, - 0x88, 0x80, 0xa6, 0x75, 0xfb, 0xbf, 0x50, 0xd0, 0x5f, 0x94, 0xd0, 0x4b, 0x31, 0xe2, 0xf6, 0x39, - 0x49, 0xa9, 0x0a, 0x92, 0x84, 0x89, 0xd3, 0x95, 0xfa, 0xf0, 0xc7, 0xb0, 0xe8, 0x12, 0xda, 0xef, - 0x30, 0x5a, 0xc8, 0x72, 0xb9, 0xb8, 0x17, 0xc9, 0xe5, 0x14, 0xa0, 0x9a, 0xce, 0xd7, 0xd0, 0xfd, - 0xb5, 0x8a, 0x0f, 0x61, 0xc1, 0xeb, 0x0a, 0xab, 0x9d, 0xf0, 0x40, 0x34, 0x43, 0x4a, 0xaf, 0x4c, - 0x57, 0x7a, 0xf5, 0x00, 0xf2, 0xe1, 0x13, 0x9d, 0x26, 0xc0, 0xb1, 0x22, 0x5b, 0x7d, 0xbe, 0x02, - 0x97, 0xa5, 0x0c, 0x7c, 0xf7, 0x61, 0x1d, 0x3f, 0x43, 0x5c, 0xfd, 0xa2, 0xab, 0x67, 0x7c, 0x3b, - 0x8a, 0x93, 0x69, 0x9f, 0x01, 0x8a, 0x77, 0x12, 0xce, 0x12, 0x67, 0xfe, 0x15, 0x0a, 0xe7, 0xe8, - 0x52, 0xf1, 0x77, 0x73, 0xe2, 0xd9, 0x44, 0x55, 0xde, 0xc5, 0x6a, 0x92, 0x29, 0x1e, 0x02, 0x35, - 0xf3, 0x4c, 0x41, 0x3b, 0x08, 0x7f, 0x8f, 0xc2, 0xa9, 0xef, 0xa4, 0x2a, 0x11, 0xef, 0xce, 0xbe, - 0x4b, 0xcc, 0xab, 0x30, 0x0f, 0xd0, 0x1d, 0x84, 0x7f, 0x46, 0x70, 0x63, 0xf6, 0xb2, 0x10, 0xef, - 0xcf, 0x8b, 0x53, 0x12, 0xe9, 0x39, 0xb1, 0x7e, 0x2b, 0xe5, 0x86, 0xd1, 0x35, 0x20, 0xbe, 0x97, - 0x0c, 0xa1, 0x94, 0x58, 0xce, 0x89, 0xeb, 0x29, 0xac, 0x8c, 0xa4, 0x72, 0xf8, 0xc6, 0xe4, 0x85, - 0xc2, 0x85, 0x63, 0xf1, 0x9d, 0x99, 0x6c, 0xe5, 0xd0, 0x7a, 0x8e, 0x60, 0x63, 0x4a, 0x55, 0x85, - 0xdf, 0x9f, 0x61, 0xdd, 0xb8, 0x60, 0x4a, 0x82, 0x69, 0x07, 0xe1, 0xaf, 0xa5, 0xef, 0x3d, 0x51, - 0x05, 0x0d, 0x7e, 0x2f, 0x09, 0x1a, 0x39, 0x5a, 0x12, 0x82, 0xf9, 0x02, 0xc1, 0x7a, 0x6c, 0x09, - 0x11, 0x2d, 0x45, 0xd3, 0x2a, 0x8e, 0xa4, 0x10, 0x7a, 0x70, 0x65, 0x2c, 0x15, 0xc4, 0x5b, 0x31, - 0x72, 0x16, 0x99, 0xae, 0x16, 0xb7, 0x67, 0xb4, 0x16, 0xa2, 0xf7, 0x13, 0x82, 0xf2, 0xac, 0x79, - 0x24, 0xbe, 0x9f, 0xe4, 0x89, 0x8a, 0x0b, 0x91, 0xdb, 0xf3, 0xbc, 0x73, 0x3b, 0x08, 0xff, 0x18, - 0xfe, 0x92, 0x33, 0x39, 0xa7, 0xc3, 0xb5, 0xb9, 0x80, 0xca, 0xd1, 0x73, 0x51, 0x38, 0x43, 0x69, - 0x55, 0x72, 0x9c, 0xe3, 0x39, 0xd9, 0xbc, 0x38, 0x6b, 0x4f, 0x60, 0xd3, 0x71, 0xdb, 0x9a, 0x63, - 0xf3, 0xe9, 0x41, 0xb5, 0x26, 0xad, 0xf3, 0xe4, 0x4e, 0xdb, 0x62, 0xc7, 0x7d, 0x53, 0x6b, 0x3a, - 0xdd, 0x8a, 0x67, 0x59, 0xe1, 0x3f, 0xc1, 0x77, 0xfa, 0xb6, 0x53, 0x19, 0xff, 0x67, 0xc1, 0x5c, - 0xe0, 0xe3, 0xb7, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x9f, 0x02, 0x2a, 0xd1, 0x76, 0x18, 0x00, - 0x00, + 0x08, 0x55, 0xa8, 0x17, 0x0e, 0x48, 0x95, 0x38, 0x81, 0x84, 0x10, 0x17, 0xe0, 0x07, 0xf0, 0x1b, + 0xf8, 0x07, 0x1c, 0x39, 0x73, 0xe1, 0x07, 0x20, 0xcf, 0xce, 0xae, 0x77, 0xed, 0xdd, 0xb5, 0xd7, + 0x9b, 0x08, 0xd4, 0x8b, 0xa5, 0x99, 0x79, 0x33, 0xf3, 0xbd, 0x6f, 0xde, 0x7c, 0xf3, 0xde, 0x1a, + 0xae, 0x1f, 0xf5, 0xac, 0xcf, 0x6a, 0xe4, 0x94, 0xb4, 0x87, 0xcc, 0xb0, 0xcc, 0x8e, 0xc6, 0xb4, + 0x60, 0x4b, 0x19, 0xd8, 0x16, 0xb3, 0x30, 0x1e, 0xd9, 0x29, 0x81, 0x91, 0x72, 0xd5, 0x99, 0x6b, + 0x32, 0x83, 0x19, 0x84, 0xd6, 0xf4, 0x9e, 0xd5, 0xfe, 0xb4, 0xe5, 0x99, 0xb4, 0xc6, 0xb3, 0xcb, + 0xa5, 0xa0, 0x25, 0x39, 0x21, 0x26, 0x13, 0x43, 0xaf, 0x07, 0x87, 0x6c, 0xd2, 0x35, 0x28, 0x23, + 0xb6, 0x18, 0xdd, 0xe8, 0x5a, 0x56, 0xb7, 0x47, 0x6a, 0xbc, 0xa5, 0x0f, 0x8f, 0x6a, 0xcc, 0xe8, + 0x13, 0xca, 0xb4, 0xfe, 0xc0, 0x31, 0x90, 0x5f, 0x20, 0xa8, 0x1c, 0x10, 0xb6, 0xef, 0xee, 0xba, + 0xa7, 0x31, 0xad, 0x71, 0xd6, 0x18, 0x41, 0x69, 0xee, 0xa9, 0xe4, 0xe9, 0x90, 0x50, 0x86, 0x4b, + 0x70, 0xc9, 0x01, 0x67, 0x74, 0x8a, 0xa8, 0x82, 0xaa, 0x05, 0x75, 0x89, 0xb7, 0x9b, 0x1d, 0xfc, + 0x09, 0xac, 0x73, 0x34, 0x2d, 0x62, 0xb6, 0xad, 0x8e, 0x61, 0x76, 0x5b, 0x27, 0xc4, 0xa6, 0x86, + 0x65, 0x16, 0xa5, 0x0a, 0xaa, 0xae, 0xd4, 0xaf, 0x29, 0x8e, 0xe3, 0x02, 0x9f, 0xb2, 0x3f, 0x32, + 0xde, 0x17, 0xb6, 0x8f, 0x1d, 0x53, 0x75, 0x8d, 0x84, 0xf4, 0xca, 0xa7, 0xb0, 0x19, 0x83, 0x8c, + 0x0e, 0x2c, 0x93, 0x12, 0x7c, 0x08, 0x6b, 0x61, 0xbc, 0x71, 0x98, 0xf9, 0xfa, 0xe6, 0xc4, 0xee, + 0x7c, 0x76, 0x60, 0x45, 0x15, 0xeb, 0x53, 0x7d, 0xf2, 0x1f, 0x08, 0xae, 0x1e, 0x0e, 0x75, 0xda, + 0xb6, 0x0d, 0x9d, 0x04, 0xcd, 0x05, 0x23, 0x6f, 0xc2, 0x0a, 0x65, 0x9a, 0xcd, 0x5a, 0x13, 0xbc, + 0x14, 0x78, 0x6f, 0x43, 0x90, 0xb3, 0x05, 0xd8, 0x6f, 0x75, 0x4c, 0x8c, 0xee, 0x31, 0xe3, 0xc4, + 0x64, 0xd5, 0xcb, 0x63, 0xcb, 0x0f, 0x79, 0x7f, 0x0c, 0x95, 0x99, 0xb4, 0x54, 0xfe, 0x89, 0xe0, + 0x8d, 0x28, 0x87, 0x04, 0x91, 0x9b, 0x50, 0x08, 0xa0, 0x44, 0x1c, 0x65, 0x5e, 0xf7, 0x01, 0x8c, + 0xe2, 0x5a, 0x4a, 0xc1, 0x35, 0xbe, 0x0f, 0xab, 0xce, 0xa2, 0x5e, 0x64, 0x72, 0x77, 0xf3, 0xf5, + 0xb2, 0xe2, 0xc4, 0xae, 0xe2, 0xc6, 0xae, 0xf2, 0xc8, 0xb5, 0x50, 0x57, 0xf8, 0x14, 0xaf, 0x2d, + 0xff, 0x86, 0x60, 0x3b, 0xdc, 0xbf, 0x07, 0xb6, 0xd5, 0x3f, 0x1c, 0x9f, 0xc9, 0x5e, 0xb2, 0x03, + 0xbc, 0xc0, 0xe8, 0xfe, 0x1d, 0xc1, 0xcd, 0x79, 0x20, 0x3b, 0xdc, 0xbb, 0xb0, 0xc3, 0x23, 0x0a, + 0x25, 0x8e, 0xa8, 0xd4, 0xf0, 0xbf, 0x44, 0xf0, 0x76, 0x34, 0xfc, 0x8f, 0x34, 0x46, 0xa8, 0x07, + 0x3a, 0x1a, 0x06, 0x4a, 0x0b, 0xe3, 0x57, 0x09, 0xd6, 0xc7, 0x30, 0x46, 0x16, 0xf4, 0x22, 0xaf, + 0xe8, 0xbb, 0x90, 0x3b, 0x32, 0x7a, 0x8c, 0xd8, 0x22, 0x46, 0x37, 0x94, 0x69, 0x59, 0x77, 0xe0, + 0x3f, 0xe0, 0x66, 0xaa, 0x30, 0xc7, 0xdb, 0x80, 0x8f, 0x89, 0x66, 0x33, 0x9d, 0x68, 0xac, 0x65, + 0x98, 0x8c, 0xd8, 0x27, 0x5a, 0xaf, 0x98, 0xe5, 0xdb, 0x5c, 0xf1, 0x46, 0x9a, 0x62, 0x20, 0x86, + 0xb1, 0x57, 0xd2, 0x32, 0xf6, 0x8d, 0x04, 0xd7, 0x27, 0x18, 0x4b, 0x77, 0x47, 0xc6, 0x9c, 0x48, + 0xe7, 0xc1, 0x49, 0x26, 0x39, 0x27, 0xd9, 0xb4, 0x9c, 0xbc, 0x90, 0xe0, 0xad, 0x28, 0x4e, 0xd2, + 0xdc, 0xbf, 0x97, 0x80, 0x9a, 0xbf, 0x10, 0x54, 0x42, 0xa8, 0x09, 0x5e, 0xf0, 0xb1, 0x9f, 0xe8, + 0x3c, 0xfc, 0x94, 0x92, 0xfb, 0x99, 0xfa, 0x85, 0xfc, 0x1b, 0xc1, 0x6b, 0x53, 0x42, 0x22, 0x9e, + 0xc6, 0x98, 0xf4, 0x67, 0xf2, 0xd5, 0x94, 0xa6, 0x5f, 0xcd, 0x2d, 0xc8, 0xf1, 0x1d, 0x69, 0x31, + 0x53, 0xc9, 0x54, 0xf3, 0xf5, 0xb5, 0x30, 0x90, 0xaa, 0xb0, 0x09, 0x7b, 0x0e, 0xb3, 0x49, 0x9f, + 0x43, 0x7c, 0x0d, 0x5e, 0xed, 0x13, 0x4a, 0xb5, 0x2e, 0x69, 0x19, 0x66, 0x87, 0x9c, 0x72, 0xd5, + 0xc8, 0xaa, 0x05, 0xd1, 0xd9, 0x1c, 0xf5, 0xc9, 0x3a, 0xe4, 0x7d, 0x47, 0x82, 0xaf, 0x02, 0x38, + 0xdc, 0xb2, 0xb3, 0x01, 0x29, 0xa2, 0x4a, 0xa6, 0xba, 0xac, 0x2e, 0xf3, 0x9e, 0x47, 0x67, 0x03, + 0x82, 0xcb, 0x70, 0xa9, 0x6d, 0x99, 0xcc, 0xd6, 0xda, 0x23, 0x27, 0x47, 0x83, 0x5e, 0x1b, 0x17, + 0x61, 0x49, 0xeb, 0x74, 0x6c, 0x42, 0x1d, 0x17, 0x97, 0x55, 0xb7, 0x29, 0x7f, 0x0e, 0xc5, 0x03, + 0xc2, 0x54, 0x91, 0x93, 0x3e, 0xd6, 0x7a, 0x43, 0xe2, 0xe9, 0xf3, 0x1c, 0x09, 0xc7, 0x07, 0x50, + 0x70, 0xf3, 0xd9, 0x96, 0xd1, 0xa1, 0x7c, 0xe3, 0x7c, 0xbd, 0x34, 0x41, 0xa0, 0xbb, 0x7c, 0x73, + 0x4f, 0xcd, 0xbb, 0xe6, 0xcd, 0x0e, 0x95, 0x6f, 0x41, 0x29, 0x64, 0x73, 0x71, 0xa6, 0xeb, 0x90, + 0x3b, 0xe1, 0x3d, 0xdc, 0xd5, 0x82, 0x2a, 0x5a, 0xf2, 0x77, 0x12, 0xd4, 0xbc, 0x38, 0xd8, 0x6d, + 0xb7, 0xad, 0xa1, 0xc9, 0x0e, 0x99, 0xc6, 0x86, 0x94, 0xa4, 0xd4, 0xc9, 0xbb, 0x13, 0x62, 0x50, + 0x09, 0xbb, 0x24, 0xce, 0x56, 0xff, 0x5b, 0x35, 0xf8, 0x41, 0x02, 0x65, 0x26, 0x3b, 0x69, 0x14, + 0xf3, 0x65, 0x20, 0xe9, 0x1f, 0x14, 0x4f, 0x92, 0xa3, 0x9d, 0xdc, 0x6b, 0x97, 0xa4, 0xbb, 0x13, + 0x02, 0x9a, 0xd6, 0xed, 0xff, 0x42, 0x41, 0x7f, 0x91, 0x7c, 0x2f, 0xc5, 0x84, 0xdb, 0xe7, 0x24, + 0xa5, 0x53, 0xba, 0x96, 0x99, 0xd6, 0x35, 0xfc, 0x31, 0x2c, 0xd9, 0x84, 0x0e, 0x7b, 0x8c, 0x16, + 0xb3, 0x5c, 0x2f, 0xee, 0x85, 0x92, 0x39, 0x03, 0xa9, 0xa2, 0xf2, 0x35, 0x54, 0x77, 0xad, 0xf2, + 0x43, 0xc8, 0x39, 0x5d, 0x7e, 0xb9, 0x13, 0x2e, 0x88, 0xa6, 0x4f, 0xea, 0xa5, 0xd9, 0x52, 0x2f, + 0x1f, 0x40, 0xc1, 0x7f, 0xa4, 0xb3, 0x14, 0x38, 0x52, 0x65, 0xeb, 0xcf, 0x57, 0xe1, 0x72, 0x20, + 0x05, 0xdf, 0x7d, 0xd8, 0xc4, 0xcf, 0x10, 0x97, 0xbf, 0xf0, 0xf2, 0x19, 0xdf, 0x0e, 0xe3, 0x64, + 0xd6, 0x77, 0x80, 0xf2, 0x9d, 0x84, 0xb3, 0xc4, 0xa1, 0x7f, 0x85, 0xfc, 0x49, 0x7a, 0xa0, 0xfa, + 0xbb, 0x19, 0x7b, 0x36, 0x61, 0xa5, 0x77, 0xb9, 0x9e, 0x64, 0x8a, 0x83, 0x40, 0xce, 0x3c, 0x93, + 0xd0, 0x0e, 0xc2, 0xdf, 0x23, 0x7f, 0xee, 0x1b, 0x57, 0x26, 0xe2, 0xdd, 0xf9, 0x77, 0x89, 0x78, + 0x16, 0x16, 0x01, 0xba, 0x83, 0xf0, 0xcf, 0x08, 0x6e, 0xcc, 0x5f, 0x17, 0xe2, 0xfd, 0x45, 0x71, + 0x06, 0x54, 0x7a, 0x41, 0xac, 0xdf, 0x06, 0x92, 0xc3, 0xf0, 0x22, 0x10, 0xdf, 0x4b, 0x86, 0x30, + 0x90, 0x59, 0x2e, 0x88, 0xeb, 0x29, 0xac, 0x4e, 0xe4, 0x72, 0xf8, 0x46, 0xfc, 0x42, 0xfe, 0xca, + 0xb1, 0xfc, 0xce, 0x5c, 0xb6, 0xc1, 0xd0, 0x7a, 0x8e, 0x60, 0x63, 0x46, 0x59, 0x85, 0xdf, 0x9f, + 0x63, 0xdd, 0xa8, 0x60, 0x4a, 0x82, 0x69, 0x07, 0xe1, 0xaf, 0x03, 0x1f, 0x7c, 0xc2, 0x2a, 0x1a, + 0xfc, 0x5e, 0x12, 0x34, 0xc1, 0x68, 0x49, 0x08, 0xe6, 0x0b, 0x04, 0xa5, 0xc8, 0x1a, 0x22, 0x5c, + 0x8a, 0x66, 0x95, 0x1c, 0x49, 0x21, 0x0c, 0xe0, 0xca, 0x54, 0x2e, 0x88, 0xb7, 0x22, 0xe4, 0x2c, + 0x34, 0x5f, 0x2d, 0x6f, 0xcf, 0x69, 0x2d, 0x44, 0xef, 0x27, 0x04, 0xd5, 0x79, 0x13, 0x49, 0x7c, + 0x3f, 0xc9, 0x13, 0x15, 0x15, 0x22, 0xb7, 0x17, 0x79, 0xe7, 0x76, 0x10, 0xfe, 0xd1, 0xff, 0x29, + 0x27, 0x3e, 0xa9, 0xc3, 0x8d, 0x85, 0x80, 0x06, 0xa3, 0xe7, 0xa2, 0x70, 0xfa, 0xf2, 0xaa, 0xe4, + 0x38, 0xa7, 0x93, 0xb2, 0x45, 0x71, 0x36, 0x9e, 0xc0, 0xa6, 0x65, 0x77, 0x15, 0xcb, 0xe4, 0xd3, + 0xbd, 0x72, 0x2d, 0xb0, 0xce, 0x93, 0x3b, 0x5d, 0x83, 0x1d, 0x0f, 0x75, 0xa5, 0x6d, 0xf5, 0x6b, + 0x8e, 0x65, 0x8d, 0xff, 0x78, 0x1f, 0xea, 0xbb, 0x56, 0x6d, 0xfa, 0xaf, 0x05, 0x3d, 0xc7, 0xc7, + 0x6f, 0xfd, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x87, 0xa1, 0x3d, 0xb5, 0x77, 0x18, 0x00, 0x00, } diff --git a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go index 3107377e1..5e6687018 100644 --- a/protobuf/go/flow/executiondata/executiondata_grpc.pb.go +++ b/protobuf/go/flow/executiondata/executiondata_grpc.pb.go @@ -180,7 +180,8 @@ type ExecutionDataAPIClient interface { // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. // - // No errors are expected during normal operation. + // Errors: + // - InvalidArgument is returned if the request contains an invalid EventFilter. SubscribeEventsFromLatest(ctx context.Context, in *SubscribeEventsFromLatestRequest, opts ...grpc.CallOption) (ExecutionDataAPI_SubscribeEventsFromLatestClient, error) // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(ctx context.Context, in *GetRegisterValuesRequest, opts ...grpc.CallOption) (*GetRegisterValuesResponse, error) @@ -781,7 +782,8 @@ type ExecutionDataAPIServer interface { // clients to track which blocks were searched. Clients can use this // information to determine which block to start from when reconnecting. // - // No errors are expected during normal operation. + // Errors: + // - InvalidArgument is returned if the request contains an invalid EventFilter. SubscribeEventsFromLatest(*SubscribeEventsFromLatestRequest, ExecutionDataAPI_SubscribeEventsFromLatestServer) error // GetRegisterValues gets the values for the given register IDs as of the given block height GetRegisterValues(context.Context, *GetRegisterValuesRequest) (*GetRegisterValuesResponse, error) From b47eadca6c30a8b34d8e280ef1133ef9c2c05b38 Mon Sep 17 00:00:00 2001 From: "Leo Zhang (zhangchiqing)" Date: Fri, 10 May 2024 12:37:50 -0700 Subject: [PATCH 303/626] add get full collection by id api --- protobuf/flow/access/access.proto | 15 +- protobuf/go/flow/access/access.pb.go | 491 +++++++++++++--------- protobuf/go/flow/access/access_grpc.pb.go | 39 ++ 3 files changed, 343 insertions(+), 202 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index c415ff8a7..a450ede34 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -51,6 +51,8 @@ service AccessAPI { // GetCollectionByID gets a collection by ID. rpc GetCollectionByID(GetCollectionByIDRequest) returns (CollectionResponse); + // GetFullCollectionByID gets a collection by ID. + rpc GetFullCollectionByID(GetFullCollectionByIDRequest) returns (FullCollectionResponse); // Transactions @@ -189,7 +191,7 @@ service AccessAPI { // if the status is "sealed", only sealed blocks will be returned. rpc SubscribeBlocksFromLatest(SubscribeBlocksFromLatestRequest) returns (stream SubscribeBlocksResponse); - + // Subscribe block headers // SubscribeBlockHeadersFromStartBlockID streams finalized or sealed block headers starting at the requested @@ -317,11 +319,20 @@ message GetCollectionByIDRequest { bytes id = 1; } +message GetFullCollectionByIDRequest { + bytes id = 1; +} + message CollectionResponse { entities.Collection collection = 1; entities.Metadata metadata = 2; } +message FullCollectionResponse { + repeated entities.Transaction transactions = 1; + entities.Metadata metadata = 2; +} + // Transactions message SendTransactionRequest { @@ -666,4 +677,4 @@ message SendAndSubscribeTransactionStatusesResponse { TransactionResultResponse transaction_results = 1; // The message index of the response message. Used by the client to ensure they received all messages. Starts from "0". uint64 message_index = 2; -} \ No newline at end of file +} diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index aef44ebdc..b12248d12 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -561,6 +561,45 @@ func (m *GetCollectionByIDRequest) GetId() []byte { return nil } +type GetFullCollectionByIDRequest struct { + Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetFullCollectionByIDRequest) Reset() { *m = GetFullCollectionByIDRequest{} } +func (m *GetFullCollectionByIDRequest) String() string { return proto.CompactTextString(m) } +func (*GetFullCollectionByIDRequest) ProtoMessage() {} +func (*GetFullCollectionByIDRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{13} +} + +func (m *GetFullCollectionByIDRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetFullCollectionByIDRequest.Unmarshal(m, b) +} +func (m *GetFullCollectionByIDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetFullCollectionByIDRequest.Marshal(b, m, deterministic) +} +func (m *GetFullCollectionByIDRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetFullCollectionByIDRequest.Merge(m, src) +} +func (m *GetFullCollectionByIDRequest) XXX_Size() int { + return xxx_messageInfo_GetFullCollectionByIDRequest.Size(m) +} +func (m *GetFullCollectionByIDRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetFullCollectionByIDRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetFullCollectionByIDRequest proto.InternalMessageInfo + +func (m *GetFullCollectionByIDRequest) GetId() []byte { + if m != nil { + return m.Id + } + return nil +} + type CollectionResponse struct { Collection *entities.Collection `protobuf:"bytes,1,opt,name=collection,proto3" json:"collection,omitempty"` Metadata *entities.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` @@ -573,7 +612,7 @@ func (m *CollectionResponse) Reset() { *m = CollectionResponse{} } func (m *CollectionResponse) String() string { return proto.CompactTextString(m) } func (*CollectionResponse) ProtoMessage() {} func (*CollectionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{13} + return fileDescriptor_4382e32bb8e3e8e5, []int{14} } func (m *CollectionResponse) XXX_Unmarshal(b []byte) error { @@ -608,6 +647,53 @@ func (m *CollectionResponse) GetMetadata() *entities.Metadata { return nil } +type FullCollectionResponse struct { + Transactions []*entities.Transaction `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"` + Metadata *entities.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *FullCollectionResponse) Reset() { *m = FullCollectionResponse{} } +func (m *FullCollectionResponse) String() string { return proto.CompactTextString(m) } +func (*FullCollectionResponse) ProtoMessage() {} +func (*FullCollectionResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{15} +} + +func (m *FullCollectionResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_FullCollectionResponse.Unmarshal(m, b) +} +func (m *FullCollectionResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_FullCollectionResponse.Marshal(b, m, deterministic) +} +func (m *FullCollectionResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_FullCollectionResponse.Merge(m, src) +} +func (m *FullCollectionResponse) XXX_Size() int { + return xxx_messageInfo_FullCollectionResponse.Size(m) +} +func (m *FullCollectionResponse) XXX_DiscardUnknown() { + xxx_messageInfo_FullCollectionResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_FullCollectionResponse proto.InternalMessageInfo + +func (m *FullCollectionResponse) GetTransactions() []*entities.Transaction { + if m != nil { + return m.Transactions + } + return nil +} + +func (m *FullCollectionResponse) GetMetadata() *entities.Metadata { + if m != nil { + return m.Metadata + } + return nil +} + type SendTransactionRequest struct { Transaction *entities.Transaction `protobuf:"bytes,1,opt,name=transaction,proto3" json:"transaction,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -619,7 +705,7 @@ func (m *SendTransactionRequest) Reset() { *m = SendTransactionRequest{} func (m *SendTransactionRequest) String() string { return proto.CompactTextString(m) } func (*SendTransactionRequest) ProtoMessage() {} func (*SendTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{14} + return fileDescriptor_4382e32bb8e3e8e5, []int{16} } func (m *SendTransactionRequest) XXX_Unmarshal(b []byte) error { @@ -659,7 +745,7 @@ func (m *SendTransactionResponse) Reset() { *m = SendTransactionResponse func (m *SendTransactionResponse) String() string { return proto.CompactTextString(m) } func (*SendTransactionResponse) ProtoMessage() {} func (*SendTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{15} + return fileDescriptor_4382e32bb8e3e8e5, []int{17} } func (m *SendTransactionResponse) XXX_Unmarshal(b []byte) error { @@ -708,7 +794,7 @@ func (m *GetTransactionRequest) Reset() { *m = GetTransactionRequest{} } func (m *GetTransactionRequest) String() string { return proto.CompactTextString(m) } func (*GetTransactionRequest) ProtoMessage() {} func (*GetTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{16} + return fileDescriptor_4382e32bb8e3e8e5, []int{18} } func (m *GetTransactionRequest) XXX_Unmarshal(b []byte) error { @@ -768,7 +854,7 @@ func (m *GetSystemTransactionRequest) Reset() { *m = GetSystemTransactio func (m *GetSystemTransactionRequest) String() string { return proto.CompactTextString(m) } func (*GetSystemTransactionRequest) ProtoMessage() {} func (*GetSystemTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{17} + return fileDescriptor_4382e32bb8e3e8e5, []int{19} } func (m *GetSystemTransactionRequest) XXX_Unmarshal(b []byte) error { @@ -808,7 +894,7 @@ func (m *GetSystemTransactionResultRequest) Reset() { *m = GetSystemTran func (m *GetSystemTransactionResultRequest) String() string { return proto.CompactTextString(m) } func (*GetSystemTransactionResultRequest) ProtoMessage() {} func (*GetSystemTransactionResultRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{18} + return fileDescriptor_4382e32bb8e3e8e5, []int{20} } func (m *GetSystemTransactionResultRequest) XXX_Unmarshal(b []byte) error { @@ -856,7 +942,7 @@ func (m *GetTransactionByIndexRequest) Reset() { *m = GetTransactionByIn func (m *GetTransactionByIndexRequest) String() string { return proto.CompactTextString(m) } func (*GetTransactionByIndexRequest) ProtoMessage() {} func (*GetTransactionByIndexRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{19} + return fileDescriptor_4382e32bb8e3e8e5, []int{21} } func (m *GetTransactionByIndexRequest) XXX_Unmarshal(b []byte) error { @@ -910,7 +996,7 @@ func (m *GetTransactionsByBlockIDRequest) Reset() { *m = GetTransactions func (m *GetTransactionsByBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*GetTransactionsByBlockIDRequest) ProtoMessage() {} func (*GetTransactionsByBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{20} + return fileDescriptor_4382e32bb8e3e8e5, []int{22} } func (m *GetTransactionsByBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -957,7 +1043,7 @@ func (m *TransactionResultsResponse) Reset() { *m = TransactionResultsRe func (m *TransactionResultsResponse) String() string { return proto.CompactTextString(m) } func (*TransactionResultsResponse) ProtoMessage() {} func (*TransactionResultsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{21} + return fileDescriptor_4382e32bb8e3e8e5, []int{23} } func (m *TransactionResultsResponse) XXX_Unmarshal(b []byte) error { @@ -1004,7 +1090,7 @@ func (m *TransactionsResponse) Reset() { *m = TransactionsResponse{} } func (m *TransactionsResponse) String() string { return proto.CompactTextString(m) } func (*TransactionsResponse) ProtoMessage() {} func (*TransactionsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{22} + return fileDescriptor_4382e32bb8e3e8e5, []int{24} } func (m *TransactionsResponse) XXX_Unmarshal(b []byte) error { @@ -1051,7 +1137,7 @@ func (m *TransactionResponse) Reset() { *m = TransactionResponse{} } func (m *TransactionResponse) String() string { return proto.CompactTextString(m) } func (*TransactionResponse) ProtoMessage() {} func (*TransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{23} + return fileDescriptor_4382e32bb8e3e8e5, []int{25} } func (m *TransactionResponse) XXX_Unmarshal(b []byte) error { @@ -1106,7 +1192,7 @@ func (m *TransactionResultResponse) Reset() { *m = TransactionResultResp func (m *TransactionResultResponse) String() string { return proto.CompactTextString(m) } func (*TransactionResultResponse) ProtoMessage() {} func (*TransactionResultResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{24} + return fileDescriptor_4382e32bb8e3e8e5, []int{26} } func (m *TransactionResultResponse) XXX_Unmarshal(b []byte) error { @@ -1208,7 +1294,7 @@ func (m *GetAccountRequest) Reset() { *m = GetAccountRequest{} } func (m *GetAccountRequest) String() string { return proto.CompactTextString(m) } func (*GetAccountRequest) ProtoMessage() {} func (*GetAccountRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{25} + return fileDescriptor_4382e32bb8e3e8e5, []int{27} } func (m *GetAccountRequest) XXX_Unmarshal(b []byte) error { @@ -1248,7 +1334,7 @@ func (m *GetAccountResponse) Reset() { *m = GetAccountResponse{} } func (m *GetAccountResponse) String() string { return proto.CompactTextString(m) } func (*GetAccountResponse) ProtoMessage() {} func (*GetAccountResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{26} + return fileDescriptor_4382e32bb8e3e8e5, []int{28} } func (m *GetAccountResponse) XXX_Unmarshal(b []byte) error { @@ -1294,7 +1380,7 @@ func (m *GetAccountAtLatestBlockRequest) Reset() { *m = GetAccountAtLate func (m *GetAccountAtLatestBlockRequest) String() string { return proto.CompactTextString(m) } func (*GetAccountAtLatestBlockRequest) ProtoMessage() {} func (*GetAccountAtLatestBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{27} + return fileDescriptor_4382e32bb8e3e8e5, []int{29} } func (m *GetAccountAtLatestBlockRequest) XXX_Unmarshal(b []byte) error { @@ -1334,7 +1420,7 @@ func (m *AccountResponse) Reset() { *m = AccountResponse{} } func (m *AccountResponse) String() string { return proto.CompactTextString(m) } func (*AccountResponse) ProtoMessage() {} func (*AccountResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{28} + return fileDescriptor_4382e32bb8e3e8e5, []int{30} } func (m *AccountResponse) XXX_Unmarshal(b []byte) error { @@ -1381,7 +1467,7 @@ func (m *GetAccountAtBlockHeightRequest) Reset() { *m = GetAccountAtBloc func (m *GetAccountAtBlockHeightRequest) String() string { return proto.CompactTextString(m) } func (*GetAccountAtBlockHeightRequest) ProtoMessage() {} func (*GetAccountAtBlockHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{29} + return fileDescriptor_4382e32bb8e3e8e5, []int{31} } func (m *GetAccountAtBlockHeightRequest) XXX_Unmarshal(b []byte) error { @@ -1428,7 +1514,7 @@ func (m *ExecuteScriptAtLatestBlockRequest) Reset() { *m = ExecuteScript func (m *ExecuteScriptAtLatestBlockRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptAtLatestBlockRequest) ProtoMessage() {} func (*ExecuteScriptAtLatestBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{30} + return fileDescriptor_4382e32bb8e3e8e5, []int{32} } func (m *ExecuteScriptAtLatestBlockRequest) XXX_Unmarshal(b []byte) error { @@ -1476,7 +1562,7 @@ func (m *ExecuteScriptAtBlockIDRequest) Reset() { *m = ExecuteScriptAtBl func (m *ExecuteScriptAtBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptAtBlockIDRequest) ProtoMessage() {} func (*ExecuteScriptAtBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{31} + return fileDescriptor_4382e32bb8e3e8e5, []int{33} } func (m *ExecuteScriptAtBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -1531,7 +1617,7 @@ func (m *ExecuteScriptAtBlockHeightRequest) Reset() { *m = ExecuteScript func (m *ExecuteScriptAtBlockHeightRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptAtBlockHeightRequest) ProtoMessage() {} func (*ExecuteScriptAtBlockHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{32} + return fileDescriptor_4382e32bb8e3e8e5, []int{34} } func (m *ExecuteScriptAtBlockHeightRequest) XXX_Unmarshal(b []byte) error { @@ -1586,7 +1672,7 @@ func (m *ExecuteScriptResponse) Reset() { *m = ExecuteScriptResponse{} } func (m *ExecuteScriptResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptResponse) ProtoMessage() {} func (*ExecuteScriptResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{33} + return fileDescriptor_4382e32bb8e3e8e5, []int{35} } func (m *ExecuteScriptResponse) XXX_Unmarshal(b []byte) error { @@ -1642,7 +1728,7 @@ func (m *GetEventsForHeightRangeRequest) Reset() { *m = GetEventsForHeig func (m *GetEventsForHeightRangeRequest) String() string { return proto.CompactTextString(m) } func (*GetEventsForHeightRangeRequest) ProtoMessage() {} func (*GetEventsForHeightRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{34} + return fileDescriptor_4382e32bb8e3e8e5, []int{36} } func (m *GetEventsForHeightRangeRequest) XXX_Unmarshal(b []byte) error { @@ -1704,7 +1790,7 @@ func (m *GetEventsForBlockIDsRequest) Reset() { *m = GetEventsForBlockID func (m *GetEventsForBlockIDsRequest) String() string { return proto.CompactTextString(m) } func (*GetEventsForBlockIDsRequest) ProtoMessage() {} func (*GetEventsForBlockIDsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{35} + return fileDescriptor_4382e32bb8e3e8e5, []int{37} } func (m *GetEventsForBlockIDsRequest) XXX_Unmarshal(b []byte) error { @@ -1758,7 +1844,7 @@ func (m *EventsResponse) Reset() { *m = EventsResponse{} } func (m *EventsResponse) String() string { return proto.CompactTextString(m) } func (*EventsResponse) ProtoMessage() {} func (*EventsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{36} + return fileDescriptor_4382e32bb8e3e8e5, []int{38} } func (m *EventsResponse) XXX_Unmarshal(b []byte) error { @@ -1807,7 +1893,7 @@ func (m *EventsResponse_Result) Reset() { *m = EventsResponse_Result{} } func (m *EventsResponse_Result) String() string { return proto.CompactTextString(m) } func (*EventsResponse_Result) ProtoMessage() {} func (*EventsResponse_Result) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{36, 0} + return fileDescriptor_4382e32bb8e3e8e5, []int{38, 0} } func (m *EventsResponse_Result) XXX_Unmarshal(b []byte) error { @@ -1866,7 +1952,7 @@ func (m *GetNetworkParametersRequest) Reset() { *m = GetNetworkParameter func (m *GetNetworkParametersRequest) String() string { return proto.CompactTextString(m) } func (*GetNetworkParametersRequest) ProtoMessage() {} func (*GetNetworkParametersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{37} + return fileDescriptor_4382e32bb8e3e8e5, []int{39} } func (m *GetNetworkParametersRequest) XXX_Unmarshal(b []byte) error { @@ -1898,7 +1984,7 @@ func (m *GetNetworkParametersResponse) Reset() { *m = GetNetworkParamete func (m *GetNetworkParametersResponse) String() string { return proto.CompactTextString(m) } func (*GetNetworkParametersResponse) ProtoMessage() {} func (*GetNetworkParametersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{38} + return fileDescriptor_4382e32bb8e3e8e5, []int{40} } func (m *GetNetworkParametersResponse) XXX_Unmarshal(b []byte) error { @@ -1936,7 +2022,7 @@ func (m *GetLatestProtocolStateSnapshotRequest) Reset() { *m = GetLatest func (m *GetLatestProtocolStateSnapshotRequest) String() string { return proto.CompactTextString(m) } func (*GetLatestProtocolStateSnapshotRequest) ProtoMessage() {} func (*GetLatestProtocolStateSnapshotRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{39} + return fileDescriptor_4382e32bb8e3e8e5, []int{41} } func (m *GetLatestProtocolStateSnapshotRequest) XXX_Unmarshal(b []byte) error { @@ -1970,7 +2056,7 @@ func (m *GetProtocolStateSnapshotByBlockIDRequest) Reset() { func (m *GetProtocolStateSnapshotByBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*GetProtocolStateSnapshotByBlockIDRequest) ProtoMessage() {} func (*GetProtocolStateSnapshotByBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{40} + return fileDescriptor_4382e32bb8e3e8e5, []int{42} } func (m *GetProtocolStateSnapshotByBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2011,7 +2097,7 @@ func (m *GetProtocolStateSnapshotByHeightRequest) Reset() { func (m *GetProtocolStateSnapshotByHeightRequest) String() string { return proto.CompactTextString(m) } func (*GetProtocolStateSnapshotByHeightRequest) ProtoMessage() {} func (*GetProtocolStateSnapshotByHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{41} + return fileDescriptor_4382e32bb8e3e8e5, []int{43} } func (m *GetProtocolStateSnapshotByHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2051,7 +2137,7 @@ func (m *ProtocolStateSnapshotResponse) Reset() { *m = ProtocolStateSnap func (m *ProtocolStateSnapshotResponse) String() string { return proto.CompactTextString(m) } func (*ProtocolStateSnapshotResponse) ProtoMessage() {} func (*ProtocolStateSnapshotResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{42} + return fileDescriptor_4382e32bb8e3e8e5, []int{44} } func (m *ProtocolStateSnapshotResponse) XXX_Unmarshal(b []byte) error { @@ -2097,7 +2183,7 @@ func (m *GetExecutionResultForBlockIDRequest) Reset() { *m = GetExecutio func (m *GetExecutionResultForBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*GetExecutionResultForBlockIDRequest) ProtoMessage() {} func (*GetExecutionResultForBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{43} + return fileDescriptor_4382e32bb8e3e8e5, []int{45} } func (m *GetExecutionResultForBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2137,7 +2223,7 @@ func (m *ExecutionResultForBlockIDResponse) Reset() { *m = ExecutionResu func (m *ExecutionResultForBlockIDResponse) String() string { return proto.CompactTextString(m) } func (*ExecutionResultForBlockIDResponse) ProtoMessage() {} func (*ExecutionResultForBlockIDResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{44} + return fileDescriptor_4382e32bb8e3e8e5, []int{46} } func (m *ExecutionResultForBlockIDResponse) XXX_Unmarshal(b []byte) error { @@ -2183,7 +2269,7 @@ func (m *GetExecutionResultByIDRequest) Reset() { *m = GetExecutionResul func (m *GetExecutionResultByIDRequest) String() string { return proto.CompactTextString(m) } func (*GetExecutionResultByIDRequest) ProtoMessage() {} func (*GetExecutionResultByIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{45} + return fileDescriptor_4382e32bb8e3e8e5, []int{47} } func (m *GetExecutionResultByIDRequest) XXX_Unmarshal(b []byte) error { @@ -2223,7 +2309,7 @@ func (m *ExecutionResultByIDResponse) Reset() { *m = ExecutionResultByID func (m *ExecutionResultByIDResponse) String() string { return proto.CompactTextString(m) } func (*ExecutionResultByIDResponse) ProtoMessage() {} func (*ExecutionResultByIDResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{46} + return fileDescriptor_4382e32bb8e3e8e5, []int{48} } func (m *ExecutionResultByIDResponse) XXX_Unmarshal(b []byte) error { @@ -2280,7 +2366,7 @@ func (m *SubscribeBlocksFromStartBlockIDRequest) Reset() { func (m *SubscribeBlocksFromStartBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlocksFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{47} + return fileDescriptor_4382e32bb8e3e8e5, []int{49} } func (m *SubscribeBlocksFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2342,7 +2428,7 @@ func (m *SubscribeBlocksFromStartHeightRequest) Reset() { *m = Subscribe func (m *SubscribeBlocksFromStartHeightRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlocksFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{48} + return fileDescriptor_4382e32bb8e3e8e5, []int{50} } func (m *SubscribeBlocksFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2402,7 +2488,7 @@ func (m *SubscribeBlocksFromLatestRequest) Reset() { *m = SubscribeBlock func (m *SubscribeBlocksFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromLatestRequest) ProtoMessage() {} func (*SubscribeBlocksFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{49} + return fileDescriptor_4382e32bb8e3e8e5, []int{51} } func (m *SubscribeBlocksFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -2451,7 +2537,7 @@ func (m *SubscribeBlocksResponse) Reset() { *m = SubscribeBlocksResponse func (m *SubscribeBlocksResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksResponse) ProtoMessage() {} func (*SubscribeBlocksResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{50} + return fileDescriptor_4382e32bb8e3e8e5, []int{52} } func (m *SubscribeBlocksResponse) XXX_Unmarshal(b []byte) error { @@ -2501,7 +2587,7 @@ func (m *SubscribeBlockHeadersFromStartBlockIDRequest) String() string { } func (*SubscribeBlockHeadersFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{51} + return fileDescriptor_4382e32bb8e3e8e5, []int{53} } func (m *SubscribeBlockHeadersFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2558,7 +2644,7 @@ func (m *SubscribeBlockHeadersFromStartHeightRequest) String() string { } func (*SubscribeBlockHeadersFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{52} + return fileDescriptor_4382e32bb8e3e8e5, []int{54} } func (m *SubscribeBlockHeadersFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2611,7 +2697,7 @@ func (m *SubscribeBlockHeadersFromLatestRequest) Reset() { func (m *SubscribeBlockHeadersFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockHeadersFromLatestRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{53} + return fileDescriptor_4382e32bb8e3e8e5, []int{55} } func (m *SubscribeBlockHeadersFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -2653,7 +2739,7 @@ func (m *SubscribeBlockHeadersResponse) Reset() { *m = SubscribeBlockHea func (m *SubscribeBlockHeadersResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockHeadersResponse) ProtoMessage() {} func (*SubscribeBlockHeadersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{54} + return fileDescriptor_4382e32bb8e3e8e5, []int{56} } func (m *SubscribeBlockHeadersResponse) XXX_Unmarshal(b []byte) error { @@ -2703,7 +2789,7 @@ func (m *SubscribeBlockDigestsFromStartBlockIDRequest) String() string { } func (*SubscribeBlockDigestsFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{55} + return fileDescriptor_4382e32bb8e3e8e5, []int{57} } func (m *SubscribeBlockDigestsFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2760,7 +2846,7 @@ func (m *SubscribeBlockDigestsFromStartHeightRequest) String() string { } func (*SubscribeBlockDigestsFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{56} + return fileDescriptor_4382e32bb8e3e8e5, []int{58} } func (m *SubscribeBlockDigestsFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2813,7 +2899,7 @@ func (m *SubscribeBlockDigestsFromLatestRequest) Reset() { func (m *SubscribeBlockDigestsFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockDigestsFromLatestRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{57} + return fileDescriptor_4382e32bb8e3e8e5, []int{59} } func (m *SubscribeBlockDigestsFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -2861,7 +2947,7 @@ func (m *SubscribeBlockDigestsResponse) Reset() { *m = SubscribeBlockDig func (m *SubscribeBlockDigestsResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockDigestsResponse) ProtoMessage() {} func (*SubscribeBlockDigestsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{58} + return fileDescriptor_4382e32bb8e3e8e5, []int{60} } func (m *SubscribeBlockDigestsResponse) XXX_Unmarshal(b []byte) error { @@ -2922,7 +3008,7 @@ func (m *SendAndSubscribeTransactionStatusesRequest) String() string { } func (*SendAndSubscribeTransactionStatusesRequest) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{59} + return fileDescriptor_4382e32bb8e3e8e5, []int{61} } func (m *SendAndSubscribeTransactionStatusesRequest) XXX_Unmarshal(b []byte) error { @@ -2976,7 +3062,7 @@ func (m *SendAndSubscribeTransactionStatusesResponse) String() string { } func (*SendAndSubscribeTransactionStatusesResponse) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{60} + return fileDescriptor_4382e32bb8e3e8e5, []int{62} } func (m *SendAndSubscribeTransactionStatusesResponse) XXX_Unmarshal(b []byte) error { @@ -3025,7 +3111,9 @@ func init() { proto.RegisterType((*GetBlockByHeightRequest)(nil), "flow.access.GetBlockByHeightRequest") proto.RegisterType((*BlockResponse)(nil), "flow.access.BlockResponse") proto.RegisterType((*GetCollectionByIDRequest)(nil), "flow.access.GetCollectionByIDRequest") + proto.RegisterType((*GetFullCollectionByIDRequest)(nil), "flow.access.GetFullCollectionByIDRequest") proto.RegisterType((*CollectionResponse)(nil), "flow.access.CollectionResponse") + proto.RegisterType((*FullCollectionResponse)(nil), "flow.access.FullCollectionResponse") proto.RegisterType((*SendTransactionRequest)(nil), "flow.access.SendTransactionRequest") proto.RegisterType((*SendTransactionResponse)(nil), "flow.access.SendTransactionResponse") proto.RegisterType((*GetTransactionRequest)(nil), "flow.access.GetTransactionRequest") @@ -3079,155 +3167,158 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2393 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdd, 0x6f, 0x1c, 0x49, - 0x11, 0x57, 0x7b, 0x1d, 0x7f, 0x94, 0xd7, 0x4e, 0xd2, 0xf6, 0x39, 0xeb, 0x71, 0x6c, 0x6f, 0xc6, - 0xf6, 0xc5, 0x97, 0xe4, 0xd6, 0x91, 0x03, 0xba, 0xe4, 0xf8, 0x10, 0x76, 0xce, 0xe7, 0xb3, 0x94, - 0x9c, 0xac, 0xdd, 0x5c, 0xd0, 0x01, 0x77, 0xd6, 0x78, 0xa7, 0xbd, 0x1e, 0x65, 0x77, 0x66, 0x99, - 0x99, 0x4d, 0x62, 0x38, 0xa1, 0x7b, 0x88, 0x10, 0x12, 0x12, 0x1f, 0xe2, 0x01, 0x11, 0x89, 0x17, - 0x78, 0x02, 0x1e, 0x78, 0xe2, 0x01, 0x21, 0x84, 0x84, 0xe0, 0x0f, 0xe0, 0x2f, 0x02, 0x4d, 0x77, - 0xcf, 0xee, 0x74, 0x4f, 0x4f, 0xef, 0xec, 0x3a, 0xc1, 0x79, 0xb9, 0xf3, 0x4c, 0x57, 0x57, 0xfd, - 0xaa, 0xab, 0xba, 0xba, 0xe7, 0x57, 0x1b, 0x28, 0x1d, 0x37, 0xbd, 0x67, 0x9b, 0x56, 0xbd, 0x4e, - 0x82, 0x80, 0xff, 0xaf, 0xd2, 0xf6, 0xbd, 0xd0, 0xc3, 0x53, 0xd1, 0x48, 0x85, 0xbd, 0x32, 0x16, - 0xa9, 0x18, 0x71, 0x43, 0x27, 0x74, 0x08, 0x15, 0xf4, 0x3a, 0x6e, 0xc8, 0x24, 0x8d, 0xb2, 0x38, - 0x78, 0xd4, 0xf4, 0xea, 0x4f, 0x0e, 0x4f, 0x88, 0x65, 0x13, 0x9f, 0x4b, 0x2c, 0x28, 0x24, 0xf8, - 0xd0, 0xb2, 0x38, 0x54, 0xf7, 0x9a, 0x4d, 0x52, 0x0f, 0x1d, 0xcf, 0x55, 0x4f, 0x25, 0x4f, 0x49, - 0xd7, 0xee, 0x9a, 0x34, 0xf4, 0x9c, 0xd4, 0x3b, 0xd1, 0xcc, 0x43, 0x9f, 0x04, 0x9d, 0x66, 0x2c, - 0x75, 0x55, 0x94, 0x6a, 0x91, 0xd0, 0xb2, 0xad, 0xd0, 0xe2, 0xa3, 0xeb, 0xe2, 0xa8, 0xeb, 0xd9, - 0xe4, 0xf0, 0x29, 0xf1, 0x83, 0x48, 0x8d, 0xe3, 0x1e, 0x7b, 0x5c, 0x6c, 0x45, 0x14, 0x0b, 0x7d, - 0xcb, 0x0d, 0xac, 0x24, 0xcc, 0x95, 0x86, 0xe7, 0x35, 0x9a, 0x64, 0x93, 0x3e, 0x1d, 0x75, 0x8e, - 0x37, 0x43, 0xa7, 0x45, 0x82, 0xd0, 0x6a, 0xb5, 0x99, 0x80, 0x39, 0x0d, 0x53, 0x07, 0x8e, 0xdb, - 0xa8, 0x92, 0xef, 0x77, 0x48, 0x10, 0x9a, 0x33, 0x50, 0x64, 0x8f, 0x41, 0xdb, 0x73, 0x03, 0x62, - 0x2e, 0xc2, 0xc2, 0x1e, 0x09, 0x3f, 0xf6, 0x6c, 0xf2, 0x98, 0x59, 0xdf, 0x77, 0x8f, 0xbd, 0x58, - 0xf8, 0x00, 0x0c, 0xd5, 0x20, 0x9b, 0x8a, 0xb7, 0x60, 0x34, 0x42, 0x5a, 0x42, 0x65, 0xb4, 0x31, - 0xb5, 0xb5, 0x5c, 0xa1, 0x71, 0x8b, 0xa1, 0x56, 0xe4, 0x59, 0x54, 0xd6, 0x7c, 0x1f, 0x16, 0xf7, - 0x48, 0xf8, 0xc0, 0x0a, 0x49, 0x10, 0xee, 0x44, 0xd1, 0xf8, 0x88, 0x86, 0x8b, 0x1b, 0xc4, 0x8b, - 0x30, 0xe9, 0x04, 0x87, 0x01, 0xb1, 0x9a, 0xc4, 0xa6, 0x7a, 0x27, 0xaa, 0x13, 0x4e, 0x50, 0xa3, - 0xcf, 0xe6, 0x4d, 0x0a, 0x35, 0x31, 0x6b, 0xe7, 0x74, 0xff, 0x83, 0x78, 0xe6, 0x0c, 0x8c, 0x38, - 0x6c, 0x4a, 0xb1, 0x3a, 0xe2, 0xd8, 0xe6, 0x7b, 0xb0, 0x24, 0x0b, 0x7f, 0x44, 0x9c, 0xc6, 0x49, - 0x18, 0x4f, 0x98, 0x87, 0xb1, 0x13, 0xfa, 0x82, 0x4e, 0x1a, 0xad, 0xf2, 0x27, 0xf3, 0x6f, 0x08, - 0x66, 0x05, 0x64, 0xdc, 0xdb, 0xdb, 0x70, 0x81, 0xa6, 0x0f, 0x77, 0xd7, 0x90, 0xdc, 0x4d, 0x4e, - 0x61, 0x82, 0xf8, 0x1b, 0x50, 0x64, 0x29, 0x19, 0x84, 0x56, 0xd8, 0x09, 0x4a, 0x23, 0x65, 0xb4, - 0x31, 0xa3, 0x9e, 0x58, 0xa3, 0x12, 0xd5, 0xa9, 0xa3, 0xde, 0x03, 0xbe, 0x03, 0x13, 0x71, 0xce, - 0x94, 0x0a, 0xd4, 0xe6, 0x15, 0x69, 0xea, 0x43, 0x3e, 0x5c, 0xed, 0x0a, 0x9a, 0x36, 0xbc, 0x25, - 0xae, 0x6f, 0x9e, 0x95, 0xc5, 0x15, 0x98, 0x3d, 0xee, 0x34, 0x9b, 0x87, 0x0c, 0xae, 0xcf, 0x5d, - 0xa6, 0x80, 0x27, 0xaa, 0x97, 0xa3, 0x21, 0xae, 0x8b, 0x27, 0xcd, 0x27, 0x30, 0x1b, 0x2f, 0xae, - 0x26, 0x06, 0x03, 0xab, 0xb5, 0xe0, 0x4a, 0x4f, 0x6d, 0xae, 0x68, 0x0d, 0x6c, 0xe2, 0xcf, 0x08, - 0xa6, 0x85, 0x37, 0xf8, 0x86, 0x18, 0xd7, 0x39, 0x55, 0x78, 0xce, 0x33, 0xa2, 0x37, 0xa0, 0xb4, - 0x47, 0xc2, 0xfb, 0xdd, 0xf2, 0xa4, 0x4b, 0xfa, 0x17, 0x08, 0x70, 0x4f, 0xb2, 0xeb, 0xe2, 0x3d, - 0x80, 0x5e, 0x79, 0xe3, 0x7e, 0x2e, 0x48, 0x96, 0x13, 0xd3, 0x12, 0xc2, 0x02, 0xe4, 0x91, 0xbc, - 0x90, 0x1f, 0xc3, 0x7c, 0x8d, 0xb8, 0xf6, 0xa3, 0x5e, 0xb1, 0x8a, 0x01, 0x7f, 0x1d, 0xa6, 0x12, - 0x25, 0x2c, 0x63, 0x2b, 0x25, 0xe7, 0x25, 0xc5, 0xcd, 0xcf, 0xe1, 0x4a, 0x4a, 0x2f, 0x77, 0x51, - 0x4e, 0xbd, 0xa1, 0x70, 0xff, 0x13, 0xd1, 0xdd, 0xa3, 0xc0, 0x2d, 0xab, 0x5f, 0x80, 0x09, 0x96, - 0x08, 0x8e, 0x4d, 0xd5, 0x17, 0xab, 0xe3, 0xf4, 0x79, 0xdf, 0xc6, 0xab, 0x30, 0xdd, 0x5b, 0xbf, - 0x68, 0xbc, 0x40, 0xc7, 0x8b, 0xbd, 0x97, 0xfb, 0x36, 0xfe, 0x14, 0xe6, 0xe9, 0x81, 0x72, 0x48, - 0xdc, 0xba, 0x67, 0x3b, 0x6e, 0x23, 0xae, 0xfd, 0xa5, 0x51, 0x9a, 0x52, 0xab, 0x12, 0xd8, 0xdd, - 0x48, 0x78, 0x97, 0xcb, 0xf2, 0xaa, 0x5a, 0x9d, 0x23, 0x8a, 0xb7, 0xe6, 0x5d, 0x5a, 0x61, 0x6b, - 0xa7, 0x41, 0x48, 0x5a, 0x0a, 0x4f, 0x92, 0xc8, 0x91, 0x80, 0xdc, 0xfc, 0x0d, 0x82, 0x6b, 0xea, - 0xa9, 0xd1, 0xa9, 0xd6, 0x5f, 0x81, 0xc6, 0xab, 0x91, 0xb3, 0x7a, 0xf5, 0x47, 0x04, 0x57, 0xc5, - 0xd0, 0xec, 0x9c, 0xee, 0xbb, 0x36, 0x79, 0x9e, 0x03, 0xd6, 0x1c, 0x5c, 0x70, 0x22, 0x51, 0x8a, - 0x62, 0xba, 0xca, 0x1e, 0x34, 0x60, 0x0b, 0x67, 0x05, 0xfb, 0x6b, 0x04, 0x2b, 0x22, 0xd8, 0x60, - 0xe7, 0x94, 0x56, 0x85, 0xde, 0xd6, 0x3d, 0xb7, 0x65, 0x34, 0x52, 0x91, 0x0d, 0xba, 0xbb, 0xe8, - 0xdb, 0x30, 0x9b, 0xd8, 0x6f, 0xfc, 0x3a, 0x13, 0x94, 0x50, 0xb9, 0xb0, 0x31, 0xb5, 0xf5, 0x76, - 0x25, 0x71, 0x31, 0xab, 0x28, 0xf2, 0x83, 0x29, 0xa9, 0xe2, 0x30, 0x65, 0x60, 0xb8, 0xed, 0xf8, - 0x53, 0x04, 0x73, 0xc9, 0x35, 0xec, 0xc2, 0xfc, 0x26, 0x14, 0x13, 0x36, 0x62, 0x7c, 0xba, 0x32, - 0x22, 0xc8, 0x0f, 0x87, 0xe6, 0x27, 0x08, 0x66, 0x55, 0x95, 0xe7, 0x4c, 0x25, 0x6d, 0x38, 0x28, - 0x7f, 0x29, 0xc0, 0x42, 0xe6, 0xfa, 0xe3, 0xbb, 0x30, 0xc6, 0x8f, 0x27, 0x44, 0xd3, 0xa5, 0x9c, - 0x8d, 0x85, 0x1f, 0x52, 0x5c, 0x1e, 0xaf, 0xc0, 0x14, 0xfb, 0xeb, 0xb0, 0xee, 0xd9, 0x84, 0x6f, - 0x17, 0x60, 0xaf, 0xee, 0x7b, 0x36, 0x89, 0x6a, 0x1b, 0xf1, 0x7d, 0xcf, 0x3f, 0x6c, 0x91, 0x20, - 0xb0, 0x1a, 0x84, 0x6e, 0x95, 0xc9, 0x6a, 0x91, 0xbe, 0x7c, 0xc8, 0xde, 0xe1, 0x5b, 0x30, 0x46, - 0x73, 0x2f, 0x28, 0x8d, 0xd2, 0xb8, 0xcc, 0xa9, 0xd2, 0xb5, 0xca, 0x65, 0x84, 0x7d, 0x70, 0x41, - 0xdc, 0x07, 0xeb, 0x30, 0x93, 0xcc, 0x46, 0xc7, 0x2e, 0x8d, 0x51, 0x81, 0xe9, 0xc4, 0x5b, 0x55, - 0xc1, 0x1d, 0x57, 0x14, 0xdc, 0x6b, 0xf1, 0xc9, 0xcd, 0x6f, 0x11, 0x13, 0xf4, 0x16, 0xc1, 0x4e, - 0x67, 0x76, 0xd3, 0x10, 0x42, 0x31, 0x99, 0x33, 0x14, 0xf8, 0x26, 0x5c, 0xae, 0x7b, 0xad, 0x76, - 0x27, 0xb4, 0xa8, 0xf5, 0x0e, 0x5d, 0x15, 0xa0, 0xca, 0x2f, 0x25, 0x06, 0x3e, 0x89, 0xde, 0x9b, - 0xef, 0xc2, 0xe5, 0x3d, 0x12, 0x6e, 0xb3, 0x6f, 0x98, 0xb8, 0x10, 0x94, 0x60, 0xdc, 0xb2, 0x6d, - 0x9f, 0x04, 0x41, 0x5c, 0x07, 0xf8, 0xa3, 0xf9, 0x43, 0xc0, 0x49, 0xf1, 0xee, 0x3d, 0x74, 0x9c, - 0x7f, 0x05, 0xf1, 0x5c, 0x9b, 0x97, 0x50, 0xc6, 0x13, 0x62, 0xb1, 0xe1, 0x72, 0xec, 0x7d, 0x58, - 0xee, 0x19, 0xdf, 0x56, 0xdd, 0x28, 0xb3, 0x81, 0x3f, 0x87, 0x8b, 0xe7, 0x84, 0xfa, 0x33, 0x11, - 0xf5, 0x4e, 0x2f, 0xbc, 0x7d, 0x51, 0xa7, 0x52, 0x64, 0x24, 0x95, 0x22, 0xe6, 0xa7, 0x70, 0x6d, - 0x97, 0x7e, 0xec, 0x91, 0x5a, 0xdd, 0x77, 0xda, 0xea, 0x75, 0x99, 0x87, 0xb1, 0x80, 0x8e, 0x72, - 0x03, 0xfc, 0x09, 0x5f, 0x85, 0x49, 0xcb, 0x6f, 0x74, 0x5a, 0x74, 0x6b, 0x8c, 0x94, 0x0b, 0x1b, - 0xc5, 0x6a, 0xef, 0x85, 0xd9, 0x86, 0x25, 0x49, 0x75, 0xfe, 0x03, 0xa3, 0x67, 0x71, 0x24, 0xdb, - 0x62, 0x41, 0xb6, 0xf8, 0x45, 0xca, 0x19, 0xc5, 0x72, 0xc9, 0x8b, 0x82, 0xd2, 0xfb, 0x66, 0x38, - 0xeb, 0x3f, 0x47, 0xf0, 0x96, 0x60, 0xbe, 0x9b, 0x2a, 0x73, 0x70, 0xe1, 0xa9, 0xd5, 0xec, 0x10, - 0xee, 0x25, 0x7b, 0x18, 0x2a, 0x1d, 0xd4, 0xbb, 0xb3, 0x90, 0xb1, 0x3b, 0xff, 0x83, 0x68, 0xf2, - 0xd0, 0xf2, 0x14, 0x7c, 0xe8, 0xf9, 0x7c, 0x21, 0x2c, 0xb7, 0x41, 0xe2, 0xd5, 0xc0, 0x30, 0x1a, - 0x9e, 0xb6, 0x19, 0xb2, 0xc9, 0x2a, 0xfd, 0x3b, 0x5a, 0xa1, 0x20, 0xb4, 0xfc, 0x50, 0x4a, 0x1b, - 0xfa, 0x8e, 0xaf, 0xd0, 0x12, 0x00, 0x71, 0xed, 0x58, 0x80, 0xd9, 0x9f, 0x24, 0xae, 0xcd, 0x87, - 0x5f, 0xe3, 0x65, 0xf0, 0x0f, 0x88, 0xde, 0x06, 0xbb, 0x3e, 0xf1, 0x9c, 0x0a, 0x74, 0x0e, 0x2d, - 0xc2, 0x64, 0x9c, 0x68, 0x71, 0x9e, 0x4e, 0xf0, 0x4c, 0x0b, 0x5e, 0xe7, 0xad, 0xe9, 0x1f, 0x23, - 0x30, 0xc3, 0x80, 0x26, 0xce, 0xd6, 0x71, 0xf1, 0x0e, 0x62, 0x0a, 0x77, 0x10, 0x51, 0xba, 0xc2, - 0xcf, 0xc1, 0x78, 0xca, 0x50, 0x29, 0x63, 0xfc, 0x15, 0xc1, 0x18, 0x53, 0xa4, 0xdb, 0x71, 0xfd, - 0x6b, 0x45, 0xe2, 0x18, 0x2c, 0xe4, 0x38, 0x06, 0xef, 0xc3, 0x45, 0xa6, 0xb0, 0x4b, 0xdf, 0xd0, - 0xe0, 0x47, 0x37, 0x09, 0x46, 0xf0, 0x54, 0x62, 0x82, 0xa7, 0xf2, 0x28, 0x96, 0xa8, 0xce, 0xd0, - 0x29, 0xdd, 0x67, 0x73, 0x89, 0x06, 0xfb, 0x63, 0x12, 0x3e, 0xf3, 0xfc, 0x27, 0x07, 0x96, 0x6f, - 0xb5, 0x48, 0x48, 0xfc, 0x38, 0xd8, 0xe6, 0x3d, 0x7a, 0x85, 0x56, 0x0c, 0xf3, 0xd5, 0x5e, 0x80, - 0x89, 0xfa, 0x89, 0xe5, 0xb8, 0xb1, 0xbf, 0x93, 0xd5, 0x71, 0xfa, 0xbc, 0x6f, 0x9b, 0xd7, 0x61, - 0xbd, 0x4b, 0x2b, 0x1c, 0x44, 0x40, 0xea, 0x5e, 0x33, 0xba, 0x3c, 0x90, 0x9a, 0x6b, 0xb5, 0x83, - 0x13, 0x2f, 0xae, 0x17, 0xe6, 0x2e, 0x6c, 0xec, 0x11, 0xb5, 0xc8, 0x00, 0x57, 0x60, 0xf3, 0x01, - 0x5c, 0xcf, 0x56, 0x33, 0x68, 0x85, 0x8a, 0x3e, 0x8b, 0x97, 0x32, 0x50, 0x73, 0xd7, 0x2b, 0x80, - 0x03, 0xe2, 0x3b, 0x56, 0xd3, 0xf9, 0x01, 0xb1, 0xe3, 0x51, 0x0e, 0x4a, 0x31, 0x32, 0xdc, 0xe1, - 0xf4, 0x2d, 0x58, 0x8d, 0xf6, 0x62, 0xcc, 0x16, 0xb2, 0x2c, 0xeb, 0x6d, 0xca, 0x1c, 0xcb, 0xf2, - 0x7b, 0x14, 0xd7, 0x6c, 0xe5, 0x7c, 0xee, 0xcc, 0x3e, 0x5c, 0x92, 0x29, 0xc9, 0x0c, 0x8e, 0x4e, - 0xd2, 0x55, 0xbd, 0x48, 0xc4, 0x17, 0xc3, 0xf9, 0xb9, 0x49, 0xa9, 0x37, 0x49, 0xb7, 0x8e, 0xb6, - 0xf8, 0x2d, 0x82, 0x45, 0xa5, 0xf8, 0x1b, 0xe2, 0xd0, 0xdf, 0x11, 0xbc, 0x5d, 0xeb, 0x1c, 0x45, - 0xe7, 0xda, 0x11, 0xa1, 0xab, 0x1d, 0x7c, 0xe8, 0x7b, 0xad, 0x5a, 0x54, 0xe2, 0xa5, 0xe0, 0xad, - 0xc1, 0x0c, 0x3b, 0x0d, 0xa4, 0x10, 0xb2, 0x33, 0x62, 0x87, 0x97, 0x8f, 0x33, 0xf2, 0x48, 0x19, - 0xa4, 0x57, 0x21, 0x8b, 0xf4, 0xfa, 0x17, 0x82, 0xf5, 0x2c, 0xfc, 0xe2, 0x66, 0xba, 0x05, 0x38, - 0x09, 0x5f, 0xd8, 0x52, 0x97, 0x7a, 0x2e, 0xf0, 0x12, 0xf7, 0x7f, 0x76, 0xe3, 0x97, 0x08, 0xca, - 0x0a, 0x37, 0x58, 0x55, 0x8a, 0x3d, 0x90, 0x31, 0xa1, 0x57, 0x82, 0x29, 0x93, 0x4f, 0xdc, 0x85, - 0x2b, 0x12, 0xa4, 0x61, 0x88, 0x45, 0xf3, 0x57, 0x08, 0x6e, 0x89, 0x7a, 0x18, 0x95, 0x7c, 0xae, - 0x79, 0x66, 0xbe, 0x44, 0x70, 0x53, 0x8f, 0xea, 0xfc, 0xb2, 0xc7, 0x6c, 0xc8, 0x7b, 0x32, 0x81, - 0xed, 0x55, 0xa6, 0x84, 0x59, 0x83, 0x25, 0xa5, 0xa1, 0x44, 0x1f, 0x64, 0x8c, 0x35, 0x9d, 0x72, - 0xb4, 0x06, 0xb8, 0xa4, 0x22, 0xe0, 0x1f, 0x38, 0x0d, 0x12, 0x84, 0x6f, 0x5a, 0xc0, 0x65, 0x54, - 0x6f, 0x52, 0xc0, 0x13, 0xd8, 0x5e, 0x69, 0xc0, 0x7f, 0x87, 0xe4, 0x88, 0x73, 0x4b, 0xc9, 0x9b, - 0xd2, 0x19, 0x6e, 0x86, 0x8a, 0xbb, 0x5e, 0x61, 0xe0, 0xbb, 0xde, 0xbf, 0x11, 0xdc, 0xa8, 0x11, - 0xd7, 0xde, 0x76, 0xed, 0x2e, 0xd6, 0x14, 0xb3, 0x43, 0x82, 0x57, 0x42, 0xbc, 0xbf, 0x4e, 0x46, - 0xf2, 0x4f, 0x51, 0xca, 0xe5, 0xf1, 0xa3, 0x1f, 0x45, 0x89, 0xce, 0x48, 0x51, 0xae, 0xc2, 0x34, - 0x67, 0xb5, 0x0e, 0x7b, 0x6c, 0xf1, 0x68, 0xb5, 0xc8, 0x5f, 0x52, 0xb2, 0x79, 0xeb, 0xbf, 0xab, - 0x30, 0xb9, 0x4d, 0xb5, 0x6f, 0x1f, 0xec, 0xe3, 0xaf, 0xc1, 0xe8, 0x81, 0xe3, 0x36, 0x70, 0x49, - 0x30, 0x9b, 0xe8, 0xb6, 0x1a, 0x0b, 0x8a, 0x11, 0xee, 0x08, 0xa1, 0xec, 0x8e, 0xd4, 0x25, 0xc5, - 0xa2, 0x07, 0x99, 0x9d, 0x59, 0xe3, 0x7a, 0x5f, 0x39, 0x6e, 0xe6, 0x08, 0xe6, 0x54, 0x0d, 0x57, - 0xbc, 0x21, 0x2b, 0xc8, 0xea, 0xc9, 0x1a, 0x65, 0x41, 0x52, 0xd5, 0x1a, 0xfd, 0x9c, 0xba, 0x22, - 0x35, 0x66, 0xd3, 0xae, 0xa8, 0x3b, 0xb7, 0x39, 0xf4, 0x1f, 0xc3, 0xbc, 0xba, 0x97, 0x8b, 0x6f, - 0x68, 0x6d, 0x08, 0xc5, 0x2a, 0x87, 0x9d, 0x03, 0x98, 0x11, 0x17, 0x02, 0x9b, 0x9a, 0x55, 0x8a, - 0xf5, 0x1a, 0x69, 0xbd, 0x5d, 0x8d, 0x0f, 0xa0, 0x98, 0x6c, 0x94, 0xe2, 0xb2, 0x12, 0x6f, 0x72, - 0x35, 0x74, 0xda, 0x1e, 0xc1, 0x25, 0xb9, 0x3f, 0x8a, 0xd7, 0x32, 0x34, 0x8a, 0xbe, 0xeb, 0xb4, - 0x7e, 0x97, 0xb2, 0x92, 0x62, 0x83, 0x11, 0xaf, 0xcb, 0x6a, 0x95, 0x0d, 0x48, 0x63, 0x45, 0x10, - 0x53, 0xb4, 0x1e, 0xbf, 0x07, 0x17, 0xa5, 0x96, 0x1d, 0x5e, 0x15, 0xe6, 0xa8, 0x1b, 0x85, 0xc6, - 0x9a, 0x5e, 0x88, 0x6b, 0x7f, 0x4c, 0x03, 0x96, 0x54, 0x9e, 0x0a, 0x98, 0x42, 0x77, 0x59, 0x53, - 0x25, 0x92, 0x9b, 0x26, 0x55, 0x3f, 0x72, 0x69, 0xcf, 0x59, 0x83, 0x70, 0x9b, 0x7e, 0xac, 0xa7, - 0xc6, 0x79, 0x5b, 0x0b, 0xbf, 0xa3, 0x31, 0x25, 0xb6, 0xbe, 0x72, 0x5b, 0x7c, 0x46, 0xf9, 0xad, - 0x74, 0xfb, 0xa7, 0xfb, 0x61, 0x8e, 0x6f, 0x69, 0x8c, 0xa6, 0x5a, 0x58, 0x52, 0x0d, 0xd2, 0xb4, - 0x95, 0x9e, 0xd0, 0x16, 0xb6, 0x52, 0xd7, 0x80, 0x26, 0xaf, 0x65, 0x99, 0x0c, 0xa4, 0xd8, 0xa5, - 0x9a, 0x98, 0xe9, 0x82, 0x97, 0xd5, 0x22, 0xcd, 0x91, 0x1f, 0x21, 0xfd, 0x5d, 0x4c, 0x46, 0xa3, - 0x14, 0x57, 0x72, 0x58, 0x4a, 0x74, 0x54, 0x73, 0xc7, 0xef, 0x21, 0x40, 0x8f, 0xdc, 0xc6, 0xcb, - 0xb2, 0x15, 0xb1, 0xaf, 0x20, 0x6d, 0x4d, 0x45, 0x23, 0xc1, 0xa6, 0xbf, 0xb6, 0x50, 0x31, 0xfc, - 0xf8, 0x66, 0xc6, 0x5c, 0x15, 0xdf, 0x6d, 0x5c, 0x15, 0x84, 0xfb, 0x58, 0x49, 0xde, 0x07, 0xb3, - 0xad, 0xa4, 0x89, 0xe8, 0x3e, 0x56, 0xda, 0x60, 0x64, 0x13, 0xf3, 0x52, 0x40, 0xfa, 0x32, 0xf8, - 0x86, 0x99, 0x2d, 0xdf, 0xb5, 0x78, 0x02, 0xf3, 0x6a, 0xbe, 0x5e, 0x3a, 0x93, 0xb4, 0xa4, 0x7e, - 0x2e, 0x4b, 0x69, 0xdf, 0x92, 0x8b, 0x58, 0xe9, 0x6b, 0x4d, 0x5c, 0xc7, 0x3c, 0x16, 0xeb, 0x34, - 0x66, 0x2a, 0x22, 0x3c, 0x1d, 0x33, 0x0d, 0x5d, 0x6e, 0x2c, 0x6a, 0xd8, 0x5a, 0xfc, 0x19, 0xdd, - 0xa7, 0x29, 0x66, 0x3a, 0xbd, 0x4f, 0xb3, 0xc8, 0x6b, 0xbd, 0xfa, 0x27, 0x54, 0x7d, 0x8a, 0xec, - 0x4c, 0xab, 0xcf, 0xa2, 0x4b, 0x8d, 0x77, 0x72, 0x48, 0x72, 0x63, 0x5f, 0xb2, 0xd6, 0x81, 0x86, - 0x1f, 0xc5, 0x5b, 0xea, 0x9b, 0x84, 0x8e, 0x4c, 0x35, 0xc4, 0x4c, 0xd2, 0x33, 0x98, 0x3f, 0x66, - 0x3f, 0xde, 0xd0, 0x33, 0xaf, 0xf8, 0xab, 0x32, 0x8a, 0x5c, 0x4c, 0xed, 0x40, 0x40, 0x5e, 0x20, - 0x28, 0xf7, 0xe3, 0x6e, 0xf1, 0x57, 0x72, 0xe2, 0x10, 0x73, 0x77, 0x10, 0x18, 0x5f, 0xb2, 0x1f, - 0x8c, 0x64, 0xb2, 0xa5, 0xf8, 0x76, 0x2a, 0xcf, 0xfa, 0x10, 0xb3, 0x86, 0x6a, 0xab, 0xe9, 0x78, - 0x58, 0x97, 0x5e, 0x5b, 0x15, 0xc4, 0x66, 0xfa, 0xda, 0x9a, 0x4d, 0x96, 0x1a, 0x1b, 0x3a, 0xab, - 0x02, 0x4d, 0xfa, 0x23, 0x58, 0xe9, 0xc3, 0x52, 0xe2, 0x3b, 0xe2, 0xb5, 0x2a, 0x17, 0xa7, 0x29, - 0xdf, 0xc5, 0xd4, 0x74, 0xd7, 0x6d, 0x84, 0xbf, 0x80, 0x65, 0x3d, 0xcb, 0x28, 0x6d, 0x82, 0x5c, - 0x94, 0x64, 0x6e, 0xeb, 0x3e, 0x2c, 0x64, 0x92, 0x83, 0xf8, 0xdd, 0x7e, 0x86, 0x05, 0x02, 0x21, - 0xb7, 0xcd, 0x5f, 0xa4, 0x88, 0xd5, 0x0c, 0xda, 0x0e, 0xdf, 0xd3, 0x68, 0xd4, 0x53, 0x7d, 0x52, - 0xd6, 0x6b, 0xa9, 0xa8, 0xdb, 0x08, 0xff, 0x0c, 0xc1, 0x5a, 0x1e, 0xce, 0x0e, 0xdf, 0x1d, 0x00, - 0x91, 0x6e, 0x1b, 0xf6, 0x03, 0xf4, 0x02, 0xc9, 0x69, 0x99, 0x22, 0xea, 0xb4, 0x69, 0x99, 0x45, - 0xeb, 0x0d, 0x08, 0x23, 0x1d, 0xaa, 0x0c, 0xc2, 0x4d, 0x1b, 0x2a, 0x3d, 0x49, 0xa7, 0x85, 0x24, - 0x71, 0x48, 0xca, 0x50, 0xa9, 0xd9, 0x36, 0x6d, 0xa8, 0xb4, 0x04, 0xdd, 0x80, 0x80, 0xd2, 0xa1, - 0x4a, 0x51, 0x6c, 0xda, 0x50, 0x65, 0x11, 0x72, 0x03, 0xc2, 0x78, 0x89, 0x60, 0x35, 0x07, 0x25, - 0x84, 0xdf, 0x4b, 0x7d, 0x23, 0xe6, 0x23, 0xc3, 0x8c, 0xbb, 0x83, 0x4f, 0x8c, 0xc1, 0xed, 0x3c, - 0x00, 0xc3, 0xf3, 0x1b, 0x15, 0xcf, 0xa5, 0x2a, 0xba, 0x44, 0x1d, 0xd3, 0xf5, 0x9d, 0x4a, 0xc3, - 0x09, 0x4f, 0x3a, 0x47, 0x95, 0xba, 0xd7, 0xda, 0x64, 0x22, 0x9b, 0xf4, 0x3f, 0xdd, 0x5f, 0xe7, - 0x37, 0xbc, 0xcd, 0xc4, 0x3f, 0x7c, 0x38, 0x1a, 0xa3, 0x03, 0x77, 0xfe, 0x17, 0x00, 0x00, 0xff, - 0xff, 0x25, 0x13, 0xe5, 0x10, 0x0e, 0x31, 0x00, 0x00, + // 2433 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0x5f, 0x6f, 0xdb, 0xc8, + 0x11, 0xc7, 0x5a, 0x8e, 0xff, 0x8c, 0x65, 0x27, 0x59, 0xfb, 0x1c, 0x99, 0x8e, 0x6d, 0x85, 0xb6, + 0x2f, 0xbe, 0x24, 0x27, 0x07, 0x49, 0x8b, 0x4b, 0xae, 0x7f, 0x50, 0x3b, 0xe7, 0xf8, 0x0c, 0x24, + 0x07, 0x83, 0xca, 0xa5, 0xb8, 0xb6, 0x77, 0x06, 0x2d, 0xae, 0x65, 0x22, 0x12, 0xa9, 0x92, 0x54, + 0x12, 0xb7, 0x87, 0xe2, 0x1e, 0x82, 0xa2, 0x40, 0xd1, 0x7f, 0xe8, 0x43, 0xd1, 0x00, 0x7d, 0x69, + 0x9f, 0xda, 0x3e, 0xf4, 0xa9, 0x0f, 0x45, 0x51, 0x14, 0x28, 0xda, 0x0f, 0xd0, 0x6f, 0xd1, 0x8f, + 0x51, 0x70, 0xb9, 0xa4, 0xb8, 0xcb, 0xe5, 0x8a, 0x92, 0x93, 0x73, 0x5e, 0x12, 0x93, 0x3b, 0x3b, + 0xf3, 0x9b, 0x9d, 0xd9, 0xd9, 0xd5, 0x6f, 0x24, 0xa8, 0x1c, 0xb5, 0xdc, 0x67, 0x9b, 0x66, 0xa3, + 0x41, 0x7c, 0x9f, 0xfd, 0x57, 0xeb, 0x78, 0x6e, 0xe0, 0xe2, 0xa9, 0x70, 0xa4, 0x16, 0xbd, 0xd2, + 0x16, 0xa9, 0x18, 0x71, 0x02, 0x3b, 0xb0, 0x09, 0x15, 0x74, 0xbb, 0x4e, 0x10, 0x49, 0x6a, 0x55, + 0x7e, 0xf0, 0xb0, 0xe5, 0x36, 0x9e, 0x1c, 0x1c, 0x13, 0xd3, 0x22, 0x1e, 0x93, 0x58, 0x90, 0x48, + 0xb0, 0xa1, 0x65, 0x7e, 0xa8, 0xe1, 0xb6, 0x5a, 0xa4, 0x11, 0xd8, 0xae, 0x23, 0x9f, 0x4a, 0x9e, + 0x92, 0xc4, 0xee, 0x9a, 0x30, 0xf4, 0x9c, 0x34, 0xba, 0xe1, 0xcc, 0x03, 0x8f, 0xf8, 0xdd, 0x56, + 0x2c, 0x75, 0x99, 0x97, 0x6a, 0x93, 0xc0, 0xb4, 0xcc, 0xc0, 0x64, 0xa3, 0xeb, 0xfc, 0xa8, 0xe3, + 0x5a, 0xe4, 0xe0, 0x29, 0xf1, 0xfc, 0x50, 0x8d, 0xed, 0x1c, 0xb9, 0x4c, 0x6c, 0x85, 0x17, 0x0b, + 0x3c, 0xd3, 0xf1, 0xcd, 0x34, 0xcc, 0x95, 0xa6, 0xeb, 0x36, 0x5b, 0x64, 0x93, 0x3e, 0x1d, 0x76, + 0x8f, 0x36, 0x03, 0xbb, 0x4d, 0xfc, 0xc0, 0x6c, 0x77, 0x22, 0x01, 0x7d, 0x1a, 0xa6, 0xf6, 0x6d, + 0xa7, 0x69, 0x90, 0xef, 0x77, 0x89, 0x1f, 0xe8, 0x33, 0x50, 0x8e, 0x1e, 0xfd, 0x8e, 0xeb, 0xf8, + 0x44, 0x5f, 0x84, 0x85, 0x5d, 0x12, 0x7c, 0xe4, 0x5a, 0xe4, 0x71, 0x64, 0x7d, 0xcf, 0x39, 0x72, + 0x63, 0xe1, 0x7d, 0xd0, 0x64, 0x83, 0xd1, 0x54, 0x7c, 0x0b, 0x46, 0x43, 0xa4, 0x15, 0x54, 0x45, + 0x1b, 0x53, 0xb7, 0x96, 0x6b, 0x34, 0x6e, 0x31, 0xd4, 0x9a, 0x38, 0x8b, 0xca, 0xea, 0xef, 0xc3, + 0xe2, 0x2e, 0x09, 0x1e, 0x98, 0x01, 0xf1, 0x83, 0xed, 0x30, 0x1a, 0x1f, 0xd2, 0x70, 0x31, 0x83, + 0x78, 0x11, 0x26, 0x6d, 0xff, 0xc0, 0x27, 0x66, 0x8b, 0x58, 0x54, 0xef, 0x84, 0x31, 0x61, 0xfb, + 0x75, 0xfa, 0xac, 0x5f, 0xa7, 0x50, 0x53, 0xb3, 0xb6, 0x4f, 0xf6, 0x3e, 0x88, 0x67, 0xce, 0xc0, + 0x88, 0x1d, 0x4d, 0x29, 0x1b, 0x23, 0xb6, 0xa5, 0xbf, 0x07, 0x4b, 0xa2, 0xf0, 0x87, 0xc4, 0x6e, + 0x1e, 0x07, 0xf1, 0x84, 0x79, 0x18, 0x3b, 0xa6, 0x2f, 0xe8, 0xa4, 0x51, 0x83, 0x3d, 0xe9, 0x7f, + 0x47, 0x30, 0xcb, 0x21, 0x63, 0xde, 0xde, 0x84, 0x73, 0x34, 0x7d, 0x98, 0xbb, 0x9a, 0xe0, 0x6e, + 0x7a, 0x4a, 0x24, 0x88, 0xbf, 0x01, 0xe5, 0x28, 0x25, 0xfd, 0xc0, 0x0c, 0xba, 0x7e, 0x65, 0xa4, + 0x8a, 0x36, 0x66, 0xe4, 0x13, 0xeb, 0x54, 0xc2, 0x98, 0x3a, 0xec, 0x3d, 0xe0, 0xdb, 0x30, 0x11, + 0xe7, 0x4c, 0xa5, 0x44, 0x6d, 0x5e, 0x12, 0xa6, 0x3e, 0x64, 0xc3, 0x46, 0x22, 0xa8, 0x5b, 0xf0, + 0x16, 0xbf, 0xbe, 0x45, 0x56, 0x16, 0xd7, 0x60, 0xf6, 0xa8, 0xdb, 0x6a, 0x1d, 0x44, 0x70, 0x3d, + 0xe6, 0x32, 0x05, 0x3c, 0x61, 0x5c, 0x0c, 0x87, 0x98, 0x2e, 0x96, 0x34, 0x1f, 0xc3, 0x6c, 0xbc, + 0xb8, 0x8a, 0x18, 0x0c, 0xac, 0xd6, 0x84, 0x4b, 0x3d, 0xb5, 0x85, 0xa2, 0x35, 0xb0, 0x89, 0xbf, + 0x20, 0x98, 0xe6, 0xde, 0xe0, 0x6b, 0x7c, 0x5c, 0xe7, 0x64, 0xe1, 0x39, 0xcb, 0x88, 0x5e, 0x83, + 0xca, 0x2e, 0x09, 0xee, 0x25, 0xe5, 0x49, 0x95, 0xf4, 0x35, 0xb8, 0xbc, 0x4b, 0x82, 0xfb, 0xdd, + 0x56, 0xab, 0x98, 0xfc, 0x0b, 0x04, 0xb8, 0x27, 0x99, 0x2c, 0xc9, 0x5d, 0x80, 0x5e, 0x39, 0x64, + 0xeb, 0xb2, 0x20, 0x20, 0x4d, 0x4d, 0x4b, 0x09, 0x73, 0x2e, 0x8e, 0x14, 0x75, 0xf1, 0x67, 0x08, + 0xe6, 0x79, 0xd0, 0x09, 0x94, 0x6f, 0x42, 0x39, 0x55, 0xf3, 0xfc, 0x0a, 0xaa, 0x96, 0x24, 0x9b, + 0xef, 0x51, 0x4f, 0xc4, 0xe0, 0xe4, 0x87, 0xc3, 0xf3, 0x18, 0xe6, 0xeb, 0xc4, 0xb1, 0xd2, 0x5a, + 0xd9, 0x02, 0x7e, 0x1d, 0xa6, 0x52, 0xea, 0x73, 0x4a, 0x41, 0x7a, 0x5e, 0x5a, 0x5c, 0xff, 0x0c, + 0x2e, 0x65, 0xf4, 0x32, 0x3f, 0xc5, 0xad, 0x33, 0x14, 0xee, 0x7f, 0x21, 0xba, 0xfb, 0x25, 0xb8, + 0x45, 0xf5, 0x0b, 0x30, 0x11, 0x25, 0xb2, 0x6d, 0x51, 0xf5, 0x65, 0x63, 0x9c, 0x3e, 0xef, 0x59, + 0x78, 0x15, 0xa6, 0x7b, 0xf1, 0x0c, 0xc7, 0x4b, 0x74, 0xbc, 0xdc, 0x7b, 0xb9, 0x67, 0xe1, 0x4f, + 0x60, 0x9e, 0x1e, 0x88, 0x07, 0xc4, 0x69, 0xb8, 0x96, 0xed, 0x34, 0xe3, 0xb3, 0xab, 0x32, 0x4a, + 0xb7, 0xc4, 0xaa, 0x00, 0x76, 0x27, 0x14, 0xde, 0x61, 0xb2, 0xec, 0x54, 0x30, 0xe6, 0x88, 0xe4, + 0xad, 0x7e, 0x87, 0x9e, 0x10, 0xf5, 0x13, 0x3f, 0x20, 0x6d, 0x89, 0x27, 0x69, 0xe4, 0x88, 0x43, + 0xae, 0xff, 0x16, 0xc1, 0x15, 0xf9, 0xd4, 0xf0, 0x54, 0xee, 0xaf, 0x40, 0xe1, 0xd5, 0xc8, 0x69, + 0xbd, 0xfa, 0x13, 0xa2, 0x5b, 0x33, 0x85, 0x6a, 0xfb, 0x64, 0xcf, 0xb1, 0xc8, 0xf3, 0x02, 0xb0, + 0xe6, 0xe0, 0x9c, 0x1d, 0x8a, 0x52, 0x14, 0xd3, 0x46, 0xf4, 0xa0, 0x00, 0x5b, 0x3a, 0x2d, 0xd8, + 0xdf, 0x20, 0x58, 0xe1, 0xc1, 0xfa, 0xdb, 0x27, 0xb4, 0xaa, 0xf5, 0x4a, 0xc9, 0x99, 0x2d, 0xa3, + 0x96, 0x89, 0xac, 0x9f, 0xec, 0xa2, 0x6f, 0xc3, 0x6c, 0x6a, 0xbf, 0xb1, 0xeb, 0x58, 0x5c, 0x34, + 0xde, 0xae, 0xa5, 0x2e, 0x96, 0x35, 0x49, 0x7e, 0x44, 0x4a, 0x0c, 0x1c, 0x64, 0x0c, 0x0c, 0xb7, + 0x1d, 0x7f, 0x8a, 0x60, 0x2e, 0xbd, 0x86, 0x67, 0x5b, 0xd4, 0x7e, 0x82, 0x60, 0x56, 0x56, 0x79, + 0x4e, 0x55, 0xd2, 0x86, 0x83, 0xf2, 0xd7, 0x12, 0x2c, 0xe4, 0xae, 0x3f, 0xbe, 0x03, 0x63, 0xec, + 0x78, 0x45, 0x34, 0x5d, 0xaa, 0xf9, 0x58, 0xd8, 0x21, 0xcb, 0xe4, 0xf1, 0x0a, 0x4c, 0x45, 0x7f, + 0x1d, 0x34, 0x5c, 0x8b, 0xb0, 0xed, 0x02, 0xd1, 0xab, 0x7b, 0xae, 0x45, 0xc2, 0xda, 0x46, 0x3c, + 0xcf, 0xf5, 0x0e, 0xda, 0xc4, 0xf7, 0xcd, 0x26, 0xa1, 0x5b, 0x65, 0xd2, 0x28, 0xd3, 0x97, 0x0f, + 0xa3, 0x77, 0xf8, 0x06, 0x8c, 0xd1, 0xdc, 0xf3, 0x2b, 0xa3, 0x34, 0x2e, 0x73, 0xb2, 0x74, 0x35, + 0x98, 0x0c, 0xb7, 0x0f, 0xce, 0xf1, 0xfb, 0x60, 0x1d, 0x66, 0xd2, 0xd9, 0x68, 0x5b, 0x95, 0x31, + 0x2a, 0x30, 0x9d, 0x7a, 0x2b, 0x2b, 0xb8, 0xe3, 0x92, 0x82, 0x7b, 0x25, 0xbe, 0x79, 0xb0, 0x5b, + 0xd0, 0x04, 0xbd, 0x05, 0x45, 0xb7, 0x8b, 0xe8, 0xa6, 0xc4, 0x85, 0x62, 0xb2, 0x60, 0x28, 0xf0, + 0x75, 0xb8, 0xd8, 0x70, 0xdb, 0x9d, 0x6e, 0x60, 0x52, 0xeb, 0x5d, 0xba, 0x2a, 0x40, 0x95, 0x5f, + 0x48, 0x0d, 0x7c, 0x1c, 0xbe, 0xd7, 0xdf, 0x85, 0x8b, 0xbb, 0x24, 0xd8, 0x8a, 0x3e, 0x83, 0xc5, + 0x85, 0xa0, 0x02, 0xe3, 0xa6, 0x65, 0x79, 0xc4, 0xf7, 0xe3, 0x3a, 0xc0, 0x1e, 0xf5, 0x1f, 0x02, + 0x4e, 0x8b, 0x27, 0xf7, 0xe8, 0x71, 0xf6, 0x29, 0x8e, 0xe5, 0xda, 0xbc, 0x80, 0x32, 0x9e, 0x10, + 0x8b, 0x0d, 0x97, 0x63, 0xef, 0xc3, 0x72, 0xcf, 0xf8, 0x96, 0xec, 0x46, 0x9c, 0x0f, 0xfc, 0x39, + 0x9c, 0x3f, 0x23, 0xd4, 0x9f, 0xf2, 0xa8, 0xb7, 0x7b, 0xe1, 0xed, 0x8b, 0x3a, 0x93, 0x22, 0x23, + 0x99, 0x14, 0xd1, 0x3f, 0x81, 0x2b, 0x3b, 0xf4, 0xc3, 0x2a, 0xa9, 0x37, 0x3c, 0xbb, 0x23, 0x5f, + 0x97, 0x79, 0x18, 0xf3, 0xe9, 0x28, 0x33, 0xc0, 0x9e, 0xf0, 0x65, 0x98, 0x34, 0xbd, 0x66, 0xb7, + 0x4d, 0xb7, 0xc6, 0x48, 0xb5, 0xb4, 0x51, 0x36, 0x7a, 0x2f, 0xf4, 0x0e, 0x2c, 0x09, 0xaa, 0x8b, + 0x1f, 0x18, 0x3d, 0x8b, 0x23, 0xf9, 0x16, 0x4b, 0xa2, 0xc5, 0xcf, 0x33, 0xce, 0x48, 0x96, 0x4b, + 0x5c, 0x14, 0x94, 0xdd, 0x37, 0xc3, 0x59, 0xff, 0x05, 0x82, 0xb7, 0x38, 0xf3, 0x49, 0xaa, 0xcc, + 0xc1, 0xb9, 0xa7, 0x66, 0xab, 0x4b, 0x98, 0x97, 0xd1, 0xc3, 0x50, 0xe9, 0x20, 0xdf, 0x9d, 0xa5, + 0x9c, 0xdd, 0xf9, 0x5f, 0x44, 0x93, 0x87, 0x96, 0x27, 0xff, 0xbe, 0xeb, 0xb1, 0x85, 0x30, 0x9d, + 0x26, 0x89, 0x57, 0x03, 0xc3, 0x68, 0x70, 0xd2, 0x89, 0x90, 0x4d, 0x1a, 0xf4, 0xef, 0x70, 0x85, + 0xfc, 0xc0, 0xf4, 0x02, 0x21, 0x6d, 0xe8, 0x3b, 0xb6, 0x42, 0x4b, 0x00, 0xc4, 0xb1, 0x62, 0x81, + 0xc8, 0xfe, 0x24, 0x71, 0x2c, 0x36, 0xfc, 0x1a, 0x2f, 0x83, 0x7f, 0x44, 0xf4, 0x36, 0x98, 0xf8, + 0xc4, 0x72, 0xca, 0x57, 0x39, 0xb4, 0x08, 0x93, 0x71, 0xa2, 0xc5, 0x79, 0x3a, 0xc1, 0x32, 0xcd, + 0x7f, 0x9d, 0xb7, 0xa6, 0x7f, 0x8e, 0xc0, 0x4c, 0x04, 0x34, 0x75, 0xb6, 0x8e, 0xf3, 0x77, 0x10, + 0x9d, 0xbb, 0x83, 0xf0, 0xd2, 0x35, 0x76, 0x0e, 0xc6, 0x53, 0x86, 0x4a, 0x19, 0xed, 0x6f, 0x08, + 0xc6, 0x22, 0x45, 0xaa, 0x1d, 0xd7, 0xbf, 0x56, 0xa4, 0x8e, 0xc1, 0x52, 0x81, 0x63, 0xf0, 0x1e, + 0x9c, 0x8f, 0x14, 0x26, 0xf4, 0x13, 0x0d, 0x7e, 0x78, 0x93, 0x88, 0x08, 0xaa, 0x5a, 0x4c, 0x50, + 0xd5, 0x1e, 0xc5, 0x12, 0xc6, 0x0c, 0x9d, 0x92, 0x3c, 0xeb, 0x4b, 0x34, 0xd8, 0x1f, 0x91, 0xe0, + 0x99, 0xeb, 0x3d, 0xd9, 0x37, 0x3d, 0xb3, 0x4d, 0x02, 0xe2, 0xc5, 0xc1, 0xd6, 0xef, 0xd2, 0x2b, + 0xb4, 0x64, 0x98, 0xad, 0xf6, 0x02, 0x4c, 0x34, 0x8e, 0x4d, 0xdb, 0x89, 0xfd, 0x9d, 0x34, 0xc6, + 0xe9, 0xf3, 0x9e, 0xa5, 0x5f, 0x85, 0xf5, 0x84, 0x16, 0xd9, 0x0f, 0x81, 0x34, 0xdc, 0x56, 0x78, + 0x79, 0x20, 0x75, 0xc7, 0xec, 0xf8, 0xc7, 0x6e, 0x5c, 0x2f, 0xf4, 0x1d, 0xd8, 0xd8, 0x25, 0x72, + 0x91, 0x01, 0xae, 0xc0, 0xfa, 0x03, 0xb8, 0x9a, 0xaf, 0x66, 0xd0, 0x0a, 0x15, 0x7e, 0x4c, 0x5f, + 0xca, 0x41, 0xcd, 0x5c, 0xaf, 0x01, 0xf6, 0x89, 0x67, 0x9b, 0x2d, 0xfb, 0x07, 0xc4, 0x8a, 0x47, + 0x19, 0x28, 0xc9, 0xc8, 0x70, 0x87, 0xd3, 0xb7, 0x60, 0x35, 0xdc, 0x8b, 0x31, 0xdb, 0x19, 0x65, + 0x59, 0x6f, 0x53, 0x16, 0x58, 0x96, 0x3f, 0xa0, 0xb8, 0x66, 0x4b, 0xe7, 0x33, 0x67, 0xf6, 0xe0, + 0x82, 0x48, 0xa9, 0xe6, 0x70, 0x8c, 0x82, 0x2e, 0xe3, 0x3c, 0xe1, 0x5f, 0x0c, 0xe7, 0xe7, 0x26, + 0xa5, 0x0e, 0x05, 0xdd, 0x2a, 0x1a, 0xe5, 0x77, 0x08, 0x16, 0xa5, 0xe2, 0x6f, 0x88, 0x43, 0xff, + 0x40, 0xf0, 0x76, 0xbd, 0x7b, 0x18, 0x9e, 0x6b, 0x87, 0x84, 0xae, 0xb6, 0x7f, 0xdf, 0x73, 0xdb, + 0xf5, 0xb0, 0xc4, 0x0b, 0xc1, 0x5b, 0x83, 0x99, 0xe8, 0x34, 0x10, 0x42, 0x18, 0x9d, 0x11, 0xdb, + 0xac, 0x7c, 0x9c, 0x92, 0x07, 0xcb, 0x21, 0xed, 0x4a, 0x79, 0xa4, 0xdd, 0xbf, 0x11, 0xac, 0xe7, + 0xe1, 0xe7, 0x37, 0xd3, 0x0d, 0xc0, 0x69, 0xf8, 0xdc, 0x96, 0xba, 0xd0, 0x73, 0x81, 0x95, 0xb8, + 0x2f, 0xd9, 0x8d, 0x5f, 0x21, 0xa8, 0x4a, 0xdc, 0x88, 0xaa, 0x52, 0xec, 0x81, 0x88, 0x09, 0xbd, + 0x12, 0x4c, 0xb9, 0x7c, 0xe8, 0x0e, 0x5c, 0x12, 0x20, 0x0d, 0x43, 0x8c, 0xea, 0xbf, 0x46, 0x70, + 0x83, 0xd7, 0x13, 0x51, 0xe1, 0x67, 0x9a, 0x67, 0xfa, 0x4b, 0x04, 0xd7, 0xd5, 0xa8, 0xce, 0x2e, + 0x7b, 0xf4, 0xa6, 0xb8, 0x27, 0x53, 0xd8, 0x5e, 0x65, 0x4a, 0xe8, 0x75, 0x58, 0x92, 0x1a, 0x4a, + 0xf5, 0x71, 0xc6, 0xa2, 0xa6, 0x59, 0x81, 0xd6, 0x06, 0x93, 0x94, 0x04, 0xfc, 0x03, 0xbb, 0x49, + 0xfc, 0xe0, 0x4d, 0x0b, 0xb8, 0x88, 0xea, 0x4d, 0x0a, 0x78, 0x0a, 0xdb, 0x2b, 0x0d, 0xf8, 0xef, + 0x91, 0x18, 0x71, 0x66, 0x29, 0x7d, 0x53, 0x3a, 0xc5, 0xcd, 0x50, 0x72, 0xd7, 0x2b, 0x0d, 0x7c, + 0xd7, 0xfb, 0x0f, 0x82, 0x6b, 0x75, 0xe2, 0x58, 0x5b, 0x8e, 0x95, 0x60, 0xcd, 0x30, 0x3b, 0xc4, + 0x7f, 0x25, 0xc4, 0xfb, 0xeb, 0x64, 0x24, 0xff, 0x1c, 0xa6, 0x5c, 0x11, 0x3f, 0xfa, 0x51, 0x94, + 0xe8, 0x94, 0x14, 0xe5, 0x2a, 0x4c, 0x33, 0x56, 0xeb, 0xa0, 0xc7, 0x16, 0x8f, 0x1a, 0x65, 0xf6, + 0x92, 0x92, 0xcd, 0xb7, 0xfe, 0xb7, 0x06, 0x93, 0x5b, 0x54, 0xfb, 0xd6, 0xfe, 0x1e, 0xfe, 0x1a, + 0x8c, 0xee, 0xdb, 0x4e, 0x13, 0x57, 0x38, 0xb3, 0xa9, 0x6e, 0xb1, 0xb6, 0x20, 0x19, 0x61, 0x8e, + 0x10, 0xca, 0xee, 0x08, 0x5d, 0x5e, 0xcc, 0x7b, 0x90, 0xdb, 0x59, 0xd6, 0xae, 0xf6, 0x95, 0x63, + 0x66, 0x0e, 0x61, 0x4e, 0xd6, 0x30, 0xc6, 0x1b, 0xa2, 0x82, 0xbc, 0x9e, 0xb2, 0x56, 0xe5, 0x24, + 0x65, 0xad, 0xdd, 0xcf, 0xa8, 0x2b, 0x42, 0x63, 0x39, 0xeb, 0x8a, 0xbc, 0xf3, 0x5c, 0x40, 0xff, + 0x11, 0xcc, 0xcb, 0x7b, 0xd1, 0xf8, 0x9a, 0xd2, 0x06, 0x57, 0xac, 0x0a, 0xd8, 0xd9, 0x87, 0x19, + 0x7e, 0x21, 0xb0, 0xae, 0x58, 0xa5, 0x58, 0xaf, 0x96, 0xd5, 0x9b, 0x68, 0x7c, 0x00, 0xe5, 0x74, + 0xa3, 0x17, 0x57, 0xa5, 0x78, 0xd3, 0xab, 0xa1, 0xd2, 0xf6, 0x08, 0x2e, 0x88, 0xfd, 0x5d, 0xbc, + 0x96, 0xa3, 0x91, 0xf7, 0x5d, 0xa5, 0xf5, 0xbb, 0x94, 0x95, 0xe4, 0x1b, 0x9e, 0x78, 0x5d, 0x54, + 0x2b, 0x6d, 0x88, 0x6a, 0x2b, 0x9c, 0x98, 0xa4, 0xff, 0xd8, 0xa4, 0x1d, 0xb5, 0x6c, 0x47, 0x15, + 0xbf, 0x23, 0x1a, 0xc8, 0xed, 0xba, 0x6a, 0xab, 0x9c, 0x68, 0x4e, 0xa3, 0xf3, 0x7b, 0x70, 0x5e, + 0xe8, 0x0d, 0x62, 0x7e, 0x9e, 0xbc, 0x23, 0xa9, 0xad, 0xa9, 0x85, 0x98, 0xf6, 0xc7, 0x34, 0x33, + 0xd2, 0xca, 0x33, 0x99, 0x21, 0xd1, 0x5d, 0x55, 0x94, 0xa3, 0xf4, 0xee, 0xcc, 0x14, 0xaa, 0x42, + 0xda, 0x0b, 0x16, 0x3b, 0xdc, 0xa1, 0xac, 0x40, 0x66, 0x9c, 0xf5, 0xcf, 0xb2, 0x81, 0xc8, 0xed, + 0xb1, 0x15, 0xb6, 0xf8, 0x8c, 0x12, 0x69, 0xd9, 0x3e, 0x53, 0xc2, 0x00, 0xe0, 0x1b, 0x0a, 0xa3, + 0x99, 0x5e, 0x99, 0x50, 0xec, 0x14, 0xfd, 0xab, 0x27, 0xb4, 0xd7, 0x2f, 0xd5, 0x35, 0xa0, 0xc9, + 0x2b, 0x79, 0x26, 0x7d, 0x21, 0x76, 0x99, 0x6e, 0x69, 0xb6, 0xb2, 0xe6, 0xf5, 0x62, 0x0b, 0xe4, + 0x47, 0x40, 0xbf, 0x40, 0x94, 0xd3, 0x91, 0xc5, 0xb5, 0x02, 0x96, 0x52, 0xad, 0xdb, 0xc2, 0xf1, + 0x7b, 0x08, 0xd0, 0x63, 0xd1, 0xf1, 0xb2, 0x68, 0x85, 0x6f, 0x60, 0x08, 0x35, 0x40, 0xd2, 0xb1, + 0xb0, 0xe8, 0xd7, 0x52, 0x64, 0xad, 0x04, 0x7c, 0x3d, 0x67, 0xae, 0x8c, 0x58, 0xd7, 0x2e, 0x73, + 0xc2, 0x7d, 0xac, 0xa4, 0x2f, 0x9e, 0xf9, 0x56, 0xb2, 0x8c, 0x77, 0x1f, 0x2b, 0x1d, 0xd0, 0xf2, + 0x3b, 0x00, 0x42, 0x40, 0xfa, 0xb6, 0x0a, 0x34, 0x3d, 0x5f, 0x3e, 0xb1, 0x78, 0x0c, 0xf3, 0xf2, + 0xc6, 0x80, 0x70, 0xf8, 0x29, 0xbb, 0x07, 0x85, 0x2c, 0x65, 0x7d, 0x4b, 0x2f, 0x62, 0xad, 0xaf, + 0x35, 0x7e, 0x1d, 0x8b, 0x58, 0x6c, 0xd0, 0x98, 0xc9, 0x18, 0xf7, 0x6c, 0xcc, 0x14, 0xbc, 0xbc, + 0xb6, 0xa8, 0xa0, 0x85, 0xf1, 0xa7, 0x74, 0x9f, 0x66, 0x28, 0xf0, 0xec, 0x3e, 0xcd, 0x63, 0xc9, + 0xd5, 0xea, 0x9f, 0x50, 0xf5, 0x19, 0x56, 0x35, 0xab, 0x3e, 0x8f, 0x97, 0xd5, 0xde, 0x29, 0x20, + 0xc9, 0x8c, 0x7d, 0x11, 0xf5, 0x28, 0x14, 0x44, 0x2c, 0xbe, 0x25, 0xbf, 0xb2, 0xa8, 0x58, 0x5b, + 0x8d, 0xcf, 0x24, 0x35, 0x55, 0xfa, 0xe3, 0xe8, 0x5b, 0x22, 0x6a, 0x8a, 0x17, 0x7f, 0x55, 0x44, + 0x51, 0x88, 0x12, 0x1e, 0x08, 0xc8, 0x0b, 0x04, 0xd5, 0x7e, 0x24, 0x31, 0xfe, 0x4a, 0x41, 0x1c, + 0x7c, 0xee, 0x0e, 0x02, 0xe3, 0x8b, 0xe8, 0x9b, 0x29, 0xb9, 0xb4, 0x2c, 0xbe, 0x99, 0xc9, 0xb3, + 0x3e, 0x0c, 0xb0, 0x26, 0xdb, 0x6a, 0x2a, 0xc2, 0xd7, 0xa1, 0xf7, 0x63, 0x09, 0x83, 0x9a, 0xbd, + 0x1f, 0xe7, 0xb3, 0xb2, 0xda, 0x86, 0xca, 0x2a, 0xc7, 0xc7, 0xfe, 0x08, 0x56, 0xfa, 0xd0, 0xa1, + 0xf8, 0x36, 0x7f, 0xad, 0x2a, 0x44, 0x9e, 0x8a, 0x77, 0x31, 0x39, 0xaf, 0x76, 0x13, 0xe1, 0xcf, + 0x61, 0x59, 0x4d, 0x67, 0x0a, 0x9b, 0xa0, 0x10, 0xf7, 0x59, 0xd8, 0xba, 0x07, 0x0b, 0xb9, 0x2c, + 0x24, 0x7e, 0xb7, 0x9f, 0x61, 0x8e, 0xa9, 0x28, 0x6c, 0xf3, 0x97, 0x19, 0x06, 0x37, 0x87, 0x1f, + 0xc4, 0x77, 0x15, 0x1a, 0xd5, 0x9c, 0xa2, 0x90, 0xf5, 0x4a, 0xce, 0xeb, 0x26, 0xc2, 0x3f, 0x47, + 0xb0, 0x56, 0x84, 0x1c, 0xc4, 0x77, 0x06, 0x40, 0xa4, 0xda, 0x86, 0xfd, 0x00, 0xbd, 0x40, 0x62, + 0x5a, 0x66, 0x18, 0x41, 0x65, 0x5a, 0xe6, 0xf1, 0x87, 0x03, 0xc2, 0xc8, 0x86, 0x2a, 0x87, 0xd9, + 0x53, 0x86, 0x4a, 0xcd, 0x06, 0x2a, 0x21, 0x09, 0x64, 0x95, 0x34, 0x54, 0x72, 0x5a, 0x4f, 0x19, + 0x2a, 0x25, 0x13, 0x38, 0x20, 0xa0, 0x6c, 0xa8, 0x32, 0x5c, 0x9e, 0x32, 0x54, 0x79, 0xcc, 0xdf, + 0x80, 0x30, 0x5e, 0x22, 0x58, 0x2d, 0xc0, 0x3d, 0xe1, 0xf7, 0x32, 0x9f, 0x11, 0x8b, 0xb1, 0x6e, + 0xda, 0x9d, 0xc1, 0x27, 0xc6, 0xe0, 0xb6, 0x1f, 0x80, 0xe6, 0x7a, 0xcd, 0x9a, 0xeb, 0x50, 0x15, + 0x09, 0x23, 0x18, 0xe9, 0xfa, 0x4e, 0xad, 0x69, 0x07, 0xc7, 0xdd, 0xc3, 0x5a, 0xc3, 0x6d, 0x6f, + 0x46, 0x22, 0x9b, 0xf4, 0x9f, 0xe4, 0x67, 0x0c, 0x4d, 0x77, 0x33, 0xf5, 0x0b, 0x91, 0xc3, 0x31, + 0x3a, 0x70, 0xfb, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x79, 0x62, 0x3d, 0x77, 0x37, 0x32, 0x00, + 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index e1cad3888..5cd031599 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -28,6 +28,7 @@ const ( AccessAPI_GetBlockByID_FullMethodName = "/flow.access.AccessAPI/GetBlockByID" AccessAPI_GetBlockByHeight_FullMethodName = "/flow.access.AccessAPI/GetBlockByHeight" AccessAPI_GetCollectionByID_FullMethodName = "/flow.access.AccessAPI/GetCollectionByID" + AccessAPI_GetFullCollectionByID_FullMethodName = "/flow.access.AccessAPI/GetFullCollectionByID" AccessAPI_SendTransaction_FullMethodName = "/flow.access.AccessAPI/SendTransaction" AccessAPI_GetTransaction_FullMethodName = "/flow.access.AccessAPI/GetTransaction" AccessAPI_GetTransactionResult_FullMethodName = "/flow.access.AccessAPI/GetTransactionResult" @@ -86,6 +87,8 @@ type AccessAPIClient interface { GetBlockByHeight(ctx context.Context, in *GetBlockByHeightRequest, opts ...grpc.CallOption) (*BlockResponse, error) // GetCollectionByID gets a collection by ID. GetCollectionByID(ctx context.Context, in *GetCollectionByIDRequest, opts ...grpc.CallOption) (*CollectionResponse, error) + // GetFullCollectionByID gets a collection by ID. + GetFullCollectionByID(ctx context.Context, in *GetFullCollectionByIDRequest, opts ...grpc.CallOption) (*FullCollectionResponse, error) // SendTransaction submits a transaction to the network. SendTransaction(ctx context.Context, in *SendTransactionRequest, opts ...grpc.CallOption) (*SendTransactionResponse, error) // GetTransaction gets a transaction by ID. @@ -311,6 +314,15 @@ func (c *accessAPIClient) GetCollectionByID(ctx context.Context, in *GetCollecti return out, nil } +func (c *accessAPIClient) GetFullCollectionByID(ctx context.Context, in *GetFullCollectionByIDRequest, opts ...grpc.CallOption) (*FullCollectionResponse, error) { + out := new(FullCollectionResponse) + err := c.cc.Invoke(ctx, AccessAPI_GetFullCollectionByID_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *accessAPIClient) SendTransaction(ctx context.Context, in *SendTransactionRequest, opts ...grpc.CallOption) (*SendTransactionResponse, error) { out := new(SendTransactionResponse) err := c.cc.Invoke(ctx, AccessAPI_SendTransaction_FullMethodName, in, out, opts...) @@ -853,6 +865,8 @@ type AccessAPIServer interface { GetBlockByHeight(context.Context, *GetBlockByHeightRequest) (*BlockResponse, error) // GetCollectionByID gets a collection by ID. GetCollectionByID(context.Context, *GetCollectionByIDRequest) (*CollectionResponse, error) + // GetFullCollectionByID gets a collection by ID. + GetFullCollectionByID(context.Context, *GetFullCollectionByIDRequest) (*FullCollectionResponse, error) // SendTransaction submits a transaction to the network. SendTransaction(context.Context, *SendTransactionRequest) (*SendTransactionResponse, error) // GetTransaction gets a transaction by ID. @@ -1020,6 +1034,9 @@ func (UnimplementedAccessAPIServer) GetBlockByHeight(context.Context, *GetBlockB func (UnimplementedAccessAPIServer) GetCollectionByID(context.Context, *GetCollectionByIDRequest) (*CollectionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetCollectionByID not implemented") } +func (UnimplementedAccessAPIServer) GetFullCollectionByID(context.Context, *GetFullCollectionByIDRequest) (*FullCollectionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFullCollectionByID not implemented") +} func (UnimplementedAccessAPIServer) SendTransaction(context.Context, *SendTransactionRequest) (*SendTransactionResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SendTransaction not implemented") } @@ -1290,6 +1307,24 @@ func _AccessAPI_GetCollectionByID_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _AccessAPI_GetFullCollectionByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetFullCollectionByIDRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessAPIServer).GetFullCollectionByID(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccessAPI_GetFullCollectionByID_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessAPIServer).GetFullCollectionByID(ctx, req.(*GetFullCollectionByIDRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _AccessAPI_SendTransaction_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SendTransactionRequest) if err := dec(in); err != nil { @@ -1939,6 +1974,10 @@ var AccessAPI_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetCollectionByID", Handler: _AccessAPI_GetCollectionByID_Handler, }, + { + MethodName: "GetFullCollectionByID", + Handler: _AccessAPI_GetFullCollectionByID_Handler, + }, { MethodName: "SendTransaction", Handler: _AccessAPI_SendTransaction_Handler, From 06c87ec821ca2d1b7f641ba5ce61a5992472bb38 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 22 May 2024 15:30:50 -0700 Subject: [PATCH 304/626] Create 2024-05-24-Flow-Sprint-Kickoff.md --- .../2024-05-24-Flow-Sprint-Kickoff.md | 322 ++++++++++++++++++ 1 file changed, 322 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..16913ba41 --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -0,0 +1,322 @@ +# Overview + +### Team Wins 🎉 + +- + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (xx/yy/24 to xx/yy/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.99% | 4.91% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +[YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents + +## Access Node incidents + +(Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) + +### Key Release Dates & Breaking Changes +- Next Mainnet/Testnet network upgrade (spork): + - Testnet: 6/19/24 + - Mainnet: July 2024 (exact date TBD) +- Testnet migration test runs conducted every week. + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 6 | 8 | 1 | 7 | **22** (+1) | +| Proposed | 1 | 2 | 2 | 0 | **5** | +| Accepted | 2 | 1 | 1 | 1 | **5** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 | 21 | 2 | 1 | **7** | +| Released | 4 | 0 | 3 | 6 | **13** | +| Total | **16** | **32** | **10** (+1) | **15** | **73** (+1) | + +**New FLIPs** +* [Governance] - 5X Computation Limit Hike (Drafted) +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + + +**This sprint** + +Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +* All breaking changed released in a new CLI: v1.18.0-cadence-v1.0.0-preview.23 + +Objective 1, KR4: Testnet Upgrade to Crescendo Release +* Completed Testnet migration with both Atree inlining and Cadence 1.0. +* Completed [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) production readiness EPICs. +* Continue work on migration optimizations. + +Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN +* Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind +* Continue refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +* Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +* Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + +Cadence 1.0 Contract updates +- [Continue working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) +- More reviews of bridge PRs and Cadence 1.0 changes +- Writing additional tests for recent Cadence FLIP changes +- [Audit and update docs and tutorials for Cadence 1.0](https://github.com/onflow/docs/issues/531) + +**On Hold** + +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) + + +**Active Epics** + +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR4: Testnet Upgrade to Crescendo Release +- KR6: Develop & share with community a disaster recovery plan to address potential issues after migration to Crescendo Release. +- KR7: Decision on how to deal with contracts that have not been upgraded to Cadence 1.0 by developers. +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Translate crypto performance improvements to consensus block rate increase [DONE] +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + + +**This sprint** + +* Zero-downtime Upgrades of Node Software: + - [Dynamic Protocol State - todos, suggested revisions and tech debt](https://github.com/onflow/flow-go/issues/5666#top) + - Apply comments and finalize https://github.com/onflow/flow-go/pull/5773 + - Reviews for open M2 PRs, priority to close the milestone + - Wrapping up the KVStore M2 items going into this spork + +* EFM Recovery + - [Address Recover Epoch cadence PR feedback](https://github.com/onflow/flow-core-contracts/pull/420) + - [Wrap up integration test](https://github.com/onflow/flow-go/issues/5886) + - [Cancel in progress root QC voting](https://github.com/onflow/flow-go/issues/5733) + +* Data Availability: + - Test local script exec with lower compute limit + - Continue debugging resource issues observed on QuickNode + - KROK Team + - Fix retries when using preferred-execution-nodes list ([Issue #5810](https://github.com/onflow/flow-go/issues/5810)) + - Merge changes to support enabling indexing on Dynamic bootstrapped AN ([Issue #5423](https://github.com/onflow/flow-go/issues/5423) - PR in review) + - Update rosetta for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52)) + - Address tech debt in APIs ([Issue #5757](https://github.com/onflow/flow-go/issues/5757) - PR in review) + - Add support for version beacon events to control script execution ([Issue #5757](https://github.com/onflow/flow-go/issues/5757)) + +* Cryptography: + - BFT - proof of possession epic : continue updating old PRs - scope the Ledger wallet work with VaccumLabs + - SPoCK aggregation: revisit the SPoCK security proof + + +**On Hold** +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. +* Implement BFT mitigations to enable 20 permissionless ANs + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- Cadence 1.0 DEX Prep - IncrementFi +- EVM partner onboarding: Pyth, DeBridge, Covalent, Etherscan +- Deliver Axelar bridge + +**Done last sprint** + + +**This sprint** +* Update JVM SDK examples repo now that latest version artifact successfully published +* Implement multi-sig solution for Circle to help with USDC migration to EVM +* Upgrade Band protocol contract to C1.0 + +**On Hold** +- Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + +**This sprint** +**Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, FCL x WalletConnect Improvements, shipping new CLI version, EVM randomness** + +- [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) +- [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) +- [EPIC] Flow EVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) +- [Epic]: Update Flow port for Cadence v1.0 instance [#279](https://github.com/onflow/flow-port/issues/279) + +#### Smart Contract WG + +- Reviews for Increment.fi +- Circle Support +- Update Tutorials for Cadence 1.0 [#769](https://github.com/onflow/docs/issues/769) +- Add Solidity implementation using EVM randomness +- [FEATURE] Update Core Contracts [#756](https://github.com/onflow/docs/issues/756) +- VM Bridge audit startd May 13th + +**On Hold** + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + + +**This sprint** + +- Completing VM-Bridge integration, NFT transfer +- UI / UX / Bug updates. Working through a large list of tracked bugs / UI updates required: + - Improving SE account creation workflow. + - Profile account recovery / social recovery. + - Account recovery from multiple sources. + - Asset display issues (NFT and FT). + - Supporting additional token types (eg: Those created by toucans) + - Misc copy updates / fixes. + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Solidify CloudFlare Migration plan and continue preparing for migration +- Continue assisting with DevEx migration to Cloud Run + +**Done last sprint** + + +**Goal of this Sprint is to continue migration efforts** +**This Sprint** +- Solidify CloudFlare Migration plan and continue preparing for migration +- Continue assisting with DevEx migration to Cloud Run +- Improve synthetic alerting + +--- + +### **Governance and Tokenomics** \[Kshitij] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + + +**This sprint** +- Continue chats with potential consensus node operators and finalize lease discussions +- Onboard 8 new SNs - contracts, lease transfers, stake and setup assistance +- Review, finalize and merge Tokenomics PRs +- Transaction fee partner impact discussion and way forward with FF leadership +- Map and evaluate post crescendo Flow scenarios regarding tps, fees and inflation +- R&D and planning with Dete on post Crescendo surge pricing [already kicked off] +- Metrics planning for foundation’s financials and network Tokenomics +- Continue working on node operator branding and logos with .find team + +**On Hold** + + +**Active Epics** + +- N/A From 96860f38518365339d589af3f2483eba4edb70f6 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 23 May 2024 17:27:30 -0600 Subject: [PATCH 305/626] Add infra section --- .../2024-05-24-Flow-Sprint-Kickoff.md | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 16913ba41..0443f64d9 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -291,12 +291,38 @@ Cycle Objective(s): **Done last sprint** +**CloudFlare Migration** +- [ Migrated Hardware wallet API to Cloud Run](https://github.com/dapperlabs/flow-devex-infrastructure/pull/153) +- Backed up & removed unnecessary resources from Gen2 cluster +- Identified CloudFlare resources +- Started process with CloudFlare to create new account & get quotes + +**Sporks** +- [Created infrastructure for Devnet50 spork](https://github.com/dapperlabs/terraform/pull/4242) +- [Create Ansible Configuration](https://github.com/dapperlabs/dapper-flow-hosting/pull/1501) +- [Scale down Devnet49 network](https://github.com/dapperlabs/terraform/pull/4245) +- Assisted with Devnet50 spork execution +- Assisted with Previewnet spork(s) execution + +**Node Hosting** +- [Scale up Mainnet Studio ANs to alleviate memory issues](https://github.com/dapperlabs/terraform/pull/4235) +- [Scale up Mainnet ANs to alleviate memory issues](https://github.com/dapperlabs/terraform/pull/4246) + +**EVM Gateway** +- [Update Prometheus to scrape EVM Gateway]((https://github.com/dapperlabs/dapper-flow-hosting/pull/1507) +- [Updated EVM Gateway firewall to allow envoy scraping](https://github.com/dapperlabs/terraform/pull/4247) + +**Support** +- [Create new KMS key for node operations](https://github.com/dapperlabs/terraform/pull/4240) +- [Migrate port.onflow.org to port.flow.com](https://github.com/dapperlabs/terraform/pull/4248) +- [Redirect port.onflow.org to port.flow.com](https://github.com/dapperlabs/terraform/pull/4249) **Goal of this Sprint is to continue migration efforts** **This Sprint** -- Solidify CloudFlare Migration plan and continue preparing for migration +- Continue removing dependencies on CloudFlare & assist with account creation - Continue assisting with DevEx migration to Cloud Run - Improve synthetic alerting +- Assist with migration and spork prep efforts --- From 80ae587e56a5a0f65dd6e192cefc57444284866c Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 23 May 2024 20:57:43 -0700 Subject: [PATCH 306/626] Update 2024-05-24-Flow-Sprint-Kickoff.md --- .../2024-05-24-Flow-Sprint-Kickoff.md | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 0443f64d9..a625b5cae 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -27,16 +27,22 @@ ## Incidents -## Access Node incidents +## Core protocol incidents + +### Mainnet +- May 10th: Sev-2 - Execution stopped on FlowFoundation execution nodes for ~5 mins. Root cause: All FF nodes in `us-central` seem to have gone down for a few minutes. Postmortem available [here](https://www.notion.so/flowfoundation/Mainnet-GCP-Network-Outage-5-10-f2c2380ab5454481b8170836bf64db6c?pvs=4#f7981c0fc3b54ccc9c64ae8470b9788f) +- May 10th: Sev-3 - EN1 failed to restart (part of the same issue ☝️) +- May 19th: Sev-3 - EN1 crashed. Currently being investigated: https://github.com/onflow/flow-go/issues/5956. + +### Testnet +- May 20th: Sev-1 - ENs on testnet forked and sealing halted. Testnet underwent a network upgrade (spork) [Slack thread](https://dapperlabs.slack.com/archives/CUU2KQL4A/p1716230568407649) (Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) ### Key Release Dates & Breaking Changes - Next Mainnet/Testnet network upgrade (spork): - - Testnet: 6/19/24 - - Mainnet: July 2024 (exact date TBD) -- Testnet migration test runs conducted every week. - + - Testnet: 20th June 2024 + - Mainnet: 29th July 2024 --- ### FLIPs Tracker \[Kshitij] From be7984cd842342b5b029bf8d9a3d16a9fd671282 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 23 May 2024 21:02:47 -0700 Subject: [PATCH 307/626] Update 2024-05-24-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index a625b5cae..f6212f365 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -11,15 +11,15 @@ --- -### Mainnet Uptime - Last 14 days (xx/yy/24 to xx/yy/24) \[Vishal] +### Mainnet Uptime - Last 14 days (/yy/24 to 05/yy/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| | Collection Finalization | 99.9% | 100% | 0% | | Block Finalization | 99.9% | 100% | 0% | -| Transaction Execution | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 99.95% | 49.6% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.99% | 4.91% | +| Access API Liveness | 99.9% | 99.919% | 81.0% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) From 93e402773abb14cf1738523afb74d718caabe4ec Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 23 May 2024 21:11:10 -0700 Subject: [PATCH 308/626] Update 2024-05-24-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index f6212f365..1608962ba 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -11,7 +11,7 @@ --- -### Mainnet Uptime - Last 14 days (/yy/24 to 05/yy/24) \[Vishal] +### Mainnet Uptime - Last 14 days (05/10/24 to 05/23/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| From 5b3b398de28423abe607935e89cb691c81056341 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 24 May 2024 14:20:40 +0200 Subject: [PATCH 309/626] Cadence wg update --- .../2024-05-24-Flow-Sprint-Kickoff.md | 118 ++++++++++++++++-- 1 file changed, 109 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 1608962ba..50abf4003 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -2,7 +2,14 @@ ### Team Wins 🎉 -- +- [EVM FLIP](https://github.com/onflow/flips/pull/272) is approved and accepted. +- Crescendo state migration on MN state reduced from ~37 to ~5 hours total migration time +- Successfully deployed Crescendo readiness audit on Testnet - execution mode where transactions importing unstaged contracts fail with error message linking to upcoming Crescendo release. +- Released all Cadence language breaking changes in both flow-go release used for migration and CLI. +- Deployed new execution node ingestion engine to Mainnet (enabled on one EN) and so far running successfully for the last ~2 weeks. This enables us to boot EN anywhere in the spork and it will catch up, while previously it would crash if it was too far behind. +- Successfully upgraded previewnet to latest flow-go master and got EVM working End-End. +- Successfully got the EVM Gateway working on Migration environment. + ### General updates @@ -79,27 +86,120 @@ Cycle Objective(s): **Done last sprint** +State migration for Crescendo release +Optimizatins +- [Add Payload.Address() to allow migrations, etc. to reduce overhead](https://github.com/onflow/flow-go/pull/5948) +- [Disable spock proof generation for migrations](https://github.com/onflow/flow-go/pull/5920) +- [Use faster atree funcs to speedup Cadence 1.0 migration](https://github.com/onflow/flow-go/pull/5916) +- [Add Storage.NondeterministicCommit for faster migrations](https://github.com/onflow/cadence/pull/3348) +- [Optimize creation of new payloads](https://github.com/onflow/flow-go/pull/5914) +- [Optimize Cadence v0.42 + atree inlining migration](https://github.com/onflow/flow-go/pull/5913) +- [Optimize the Cadence 1.0 migration](https://github.com/onflow/flow-go/pull/5897) +- [Improve scheduling in account-based migration](https://github.com/onflow/flow-go/pull/5901) +- Atree - [Add NonderterministicFastCommit to speed up migrations when ordering isn't required](https://github.com/onflow/atree/pull/403) +- Atree - [Add BatchPreload to decode slabs in parallel and cache](https://github.com/onflow/atree/pull/404) +Updates +- [Update or deploy EVM contract, depending on chain](https://github.com/onflow/flow-go/pull/5915) +- [Include NFTStorefrontV2 in the testnet migrations](https://github.com/onflow/flow-go/issues/5963) + - [Stage contract update for NFTStorefrontV2 on Testnet](https://github.com/onflow/flow-go/pull/5964) +Bugfixes +- [Fix string formatting for values](https://github.com/onflow/cadence/pull/3370) +- [Handle missing interfaces in Cadence 1.0 contract update validator](https://github.com/onflow/cadence/pull/3337) +- [Fix Cadence 1.0 migration error when address is used as register owner](https://github.com/onflow/flow-go/pull/5929) +- [Gracefully recover from panics encountered during contract update validation](https://github.com/onflow/flow-go/pull/5935) +- [Allow export of global registers (owner is empty string)](https://github.com/onflow/flow-go/pull/5939) +Testing +- [Test registers data structure](https://github.com/onflow/flow-go/pull/5949) + +Cadence Language +Improvement +- Language breaking change: [Return a copy for enum-typed members, during member-access via references](https://github.com/onflow/cadence/pull/3357) +- [Allow construction of paths with syntactically invalid identifiers](https://github.com/onflow/cadence/pull/3338) +- [Add invalidation for storage references](https://github.com/onflow/cadence/pull/3343) +Security Improvements +- Language breaking change: [Resource methods can be separated/moved-around as a function pointer](https://github.com/dapperlabs/cadence-internal/issues/213) +- Language breaking change: [Moving of contract and transaction variable is not statically rejected](https://github.com/dapperlabs/cadence-internal/issues/217) +Bugfix +- [Fix restricted type checking in contract-update-validator](https://github.com/onflow/cadence/pull/3352) +- [Check dictionary keys when checking the ability for dereferencing](https://github.com/onflow/cadence/pull/3339) +- [Wrap host-function typed member-values with a bound-function](https://github.com/onflow/cadence/pull/3342) +Docs +- [Update section about validator entitlement computation](https://github.com/onflow/cadence-lang.org/pull/104) +Testing +- [Add back transaction execute tests](https://github.com/onflow/cadence/pull/3345) + +Cadence Execution +- [Transaction audit / failure mode for missing staged contract](https://github.com/onflow/flow-go/issues/5858) + - [Add a dependency check for cadence imports](https://github.com/onflow/flow-go/pull/5908) + - bugfixes + - [Fix comparison of payload addresses, handle empty address](https://github.com/onflow/flow-go/pull/5942) + - [Fix FVM call to checkDependencies](https://github.com/onflow/flow-go/pull/5957) +- Unstaked Execution node (EN testing) + - [Add get full collection by id api](https://github.com/onflow/flow/pull/1463) +- New Ingestion engine + - [Add ingestion core tests](https://github.com/onflow/flow-go/pull/5871) +Improvements +- Atree: [Allow detection and logging on mutation of elements returned by readonly iterators](https://github.com/onflow/atree/issues/409) +- [Fix missing mock generation](https://github.com/onflow/flow-go/pull/5928) +- [move FlowClient to grpcclient package](https://github.com/onflow/flow-go/pull/5962) +Bugfixes + - Long running bug causing execution to stall [Fix requester engine's optimization](https://github.com/onflow/flow-go/pull/5941) + - [Fix get highest executed and finalized height](https://github.com/onflow/flow-go/pull/5903) + - [Fix Util to find execution result mismatch](https://github.com/onflow/flow-go/pull/5890) +chores +- Spork/HCU prep: [1](https://github.com/onflow/flow-go/pull/5895), [2](https://github.com/onflow/flow-go/pull/5896), [3](https://github.com/onflow/flow-go/pull/5889), [4](https://github.com/onflow/flow-go/pull/5940) +- Dependency updates + - Cadence: [1](https://github.com/onflow/cadence/pull/3344), [2](https://github.com/onflow/cadence/pull/3346), [3](https://github.com/onflow/cadence/pull/3347), [4](https://github.com/onflow/cadence/pull/3351), [5](https://github.com/onflow/cadence/pull/3359), [6](https://github.com/onflow/cadence/pull/3364), [7](https://github.com/onflow/cadence/pull/3365) + - flow-go: [1](https://github.com/onflow/flow-go/pull/5921), [2](https://github.com/onflow/flow-go/pull/5925), [3](https://github.com/onflow/flow-go/pull/5926), [4](https://github.com/onflow/flow-go/pull/5930), [5](https://github.com/onflow/flow-go/pull/5931), [6](https://github.com/onflow/flow-go/pull/5946), [7](https://github.com/onflow/flow-go/pull/5950), [8](https://github.com/onflow/flow-go/pull/5965), [9](https://github.com/onflow/flow-go/pull/5966) + - flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/pull/653), [2](https://github.com/onflow/flow-go-sdk/pull/654), [3](https://github.com/onflow/flow-go-sdk/pull/655) + - cadence tools: [1](https://github.com/onflow/cadence-tools/pull/369), [2](https://github.com/onflow/cadence-tools/pull/370), [3](https://github.com/onflow/cadence-tools/pull/371) + - emulator: [1](https://github.com/onflow/flow-emulator/pull/678) + - flowkit: [1](https://github.com/onflow/flowkit/pull/51) + - flixkit-go: [1](https://github.com/onflow/flixkit-go/pull/66) + - evm-gw: [1](https://github.com/onflow/flow-evm-gateway/pull/252) + - CLI: [1](https://github.com/onflow/flow-cli/pull/1608) + +EVM Gateway +Features +- [Handle cross-spork access](https://github.com/onflow/flow-evm-gateway/issues/229) + - [Multi-spork client access support](https://github.com/onflow/flow-evm-gateway/pull/230) +Hardening / Improvements +-[Multi-key account creation process improvements](https://github.com/onflow/flow-evm-gateway/pull/249) +- [Improve event testing](https://github.com/onflow/flow-evm-gateway/pull/240) +- [Improve crash reporting](https://github.com/onflow/flow-evm-gateway/issues/236) +bugfix +- [Fix decoding blocks with no total gas used](https://github.com/onflow/flow-go/pull/5872) +Ops chores +- [1](https://github.com/dapperlabs/dapper-flow-hosting/pull/1500), [2](https://github.com/onflow/flow-evm-gateway/pull/255), [3](https://github.com/onflow/flow-evm-gateway/pull/257), [4](https://github.com/onflow/flow-evm-gateway/pull/258) + +EVM Core +- [Add support for revertible random](https://github.com/onflow/flow-go/issues/5862) +Hardening / Improvements +- [Use hex-encoded address as event values for better readability](https://github.com/onflow/flow-go/issues/5911) +- [Support decoding of all previous block types](https://github.com/onflow/flow-go/pull/5875) +Bugfix +- [EVM.dryRun method inconsistent behavior for certain errors](https://github.com/onflow/flow-go/issues/5902) **This sprint** -Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades -* All breaking changed released in a new CLI: v1.18.0-cadence-v1.0.0-preview.23 +DONE: Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +* All breaking changed released in a new CLI: v1.18.0-cadence-v1.0.0-preview.24 -Objective 1, KR4: Testnet Upgrade to Crescendo Release +IN PROGRESS: Objective 1, KR4: Testnet Upgrade to Crescendo Release * Completed Testnet migration with both Atree inlining and Cadence 1.0. * Completed [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) production readiness EPICs. * Continue work on migration optimizations. -Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN +IN PROGRESS: Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN * Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) -Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind -* Continue refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) +DONE: Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind +* Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) -Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +ON HOLD: Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs * Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. -* Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) +ON HOLD: * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) Cadence 1.0 Contract updates - [Continue working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) From 914bf49cd8a4c9f5ec5ee22034fc518f77b5039d Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 24 May 2024 14:25:43 +0200 Subject: [PATCH 310/626] fix formatting --- .../2024-05-24-Flow-Sprint-Kickoff.md | 153 +++++++++--------- 1 file changed, 79 insertions(+), 74 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 50abf4003..a45dc441b 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -87,48 +87,51 @@ Cycle Objective(s): **Done last sprint** State migration for Crescendo release -Optimizatins -- [Add Payload.Address() to allow migrations, etc. to reduce overhead](https://github.com/onflow/flow-go/pull/5948) -- [Disable spock proof generation for migrations](https://github.com/onflow/flow-go/pull/5920) -- [Use faster atree funcs to speedup Cadence 1.0 migration](https://github.com/onflow/flow-go/pull/5916) -- [Add Storage.NondeterministicCommit for faster migrations](https://github.com/onflow/cadence/pull/3348) -- [Optimize creation of new payloads](https://github.com/onflow/flow-go/pull/5914) -- [Optimize Cadence v0.42 + atree inlining migration](https://github.com/onflow/flow-go/pull/5913) -- [Optimize the Cadence 1.0 migration](https://github.com/onflow/flow-go/pull/5897) -- [Improve scheduling in account-based migration](https://github.com/onflow/flow-go/pull/5901) -- Atree - [Add NonderterministicFastCommit to speed up migrations when ordering isn't required](https://github.com/onflow/atree/pull/403) -- Atree - [Add BatchPreload to decode slabs in parallel and cache](https://github.com/onflow/atree/pull/404) -Updates -- [Update or deploy EVM contract, depending on chain](https://github.com/onflow/flow-go/pull/5915) -- [Include NFTStorefrontV2 in the testnet migrations](https://github.com/onflow/flow-go/issues/5963) - - [Stage contract update for NFTStorefrontV2 on Testnet](https://github.com/onflow/flow-go/pull/5964) -Bugfixes -- [Fix string formatting for values](https://github.com/onflow/cadence/pull/3370) -- [Handle missing interfaces in Cadence 1.0 contract update validator](https://github.com/onflow/cadence/pull/3337) -- [Fix Cadence 1.0 migration error when address is used as register owner](https://github.com/onflow/flow-go/pull/5929) -- [Gracefully recover from panics encountered during contract update validation](https://github.com/onflow/flow-go/pull/5935) -- [Allow export of global registers (owner is empty string)](https://github.com/onflow/flow-go/pull/5939) -Testing -- [Test registers data structure](https://github.com/onflow/flow-go/pull/5949) + +- Optimizatins + - [Add Payload.Address() to allow migrations, etc. to reduce overhead](https://github.com/onflow/flow-go/pull/5948) + - [Disable spock proof generation for migrations](https://github.com/onflow/flow-go/pull/5920) + - [Use faster atree funcs to speedup Cadence 1.0 migration](https://github.com/onflow/flow-go/pull/5916) + - [Add Storage.NondeterministicCommit for faster migrations](https://github.com/onflow/cadence/pull/3348) + - [Optimize creation of new payloads](https://github.com/onflow/flow-go/pull/5914) + - [Optimize Cadence v0.42 + atree inlining migration](https://github.com/onflow/flow-go/pull/5913) + - [Optimize the Cadence 1.0 migration](https://github.com/onflow/flow-go/pull/5897) + - [Improve scheduling in account-based migration](https://github.com/onflow/flow-go/pull/5901) + - Atree - [Add NonderterministicFastCommit to speed up migrations when ordering isn't required](https://github.com/onflow/atree/pull/403) + - Atree - [Add BatchPreload to decode slabs in parallel and cache](https://github.com/onflow/atree/pull/404) +- Updates + - [Update or deploy EVM contract, depending on chain](https://github.com/onflow/flow-go/pull/5915) + - [Include NFTStorefrontV2 in the testnet migrations](https://github.com/onflow/flow-go/issues/5963) + - [Stage contract update for NFTStorefrontV2 on Testnet](https://github.com/onflow/flow-go/pull/5964) +-Bugfixes + - [Fix string formatting for values](https://github.com/onflow/cadence/pull/3370) + - [Handle missing interfaces in Cadence 1.0 contract update validator](https://github.com/onflow/cadence/pull/3337) + - [Fix Cadence 1.0 migration error when address is used as register owner](https://github.com/onflow/flow-go/pull/5929) + - [Gracefully recover from panics encountered during contract update validation](https://github.com/onflow/flow-go/pull/5935) + - [Allow export of global registers (owner is empty string)](https://github.com/onflow/flow-go/pull/5939) +- Testing +- [Test registers data structure](https://github.com/onflow/flow-go/pull/5949) Cadence Language -Improvement -- Language breaking change: [Return a copy for enum-typed members, during member-access via references](https://github.com/onflow/cadence/pull/3357) -- [Allow construction of paths with syntactically invalid identifiers](https://github.com/onflow/cadence/pull/3338) -- [Add invalidation for storage references](https://github.com/onflow/cadence/pull/3343) -Security Improvements -- Language breaking change: [Resource methods can be separated/moved-around as a function pointer](https://github.com/dapperlabs/cadence-internal/issues/213) -- Language breaking change: [Moving of contract and transaction variable is not statically rejected](https://github.com/dapperlabs/cadence-internal/issues/217) -Bugfix -- [Fix restricted type checking in contract-update-validator](https://github.com/onflow/cadence/pull/3352) -- [Check dictionary keys when checking the ability for dereferencing](https://github.com/onflow/cadence/pull/3339) -- [Wrap host-function typed member-values with a bound-function](https://github.com/onflow/cadence/pull/3342) -Docs -- [Update section about validator entitlement computation](https://github.com/onflow/cadence-lang.org/pull/104) -Testing -- [Add back transaction execute tests](https://github.com/onflow/cadence/pull/3345) + +- Improvement + - Language breaking change: [Return a copy for enum-typed members, during member-access via references](https://github.com/onflow/cadence/pull/3357) + - [Allow construction of paths with syntactically invalid identifiers](https://github.com/onflow/cadence/pull/3338) + - [Add invalidation for storage references](https://github.com/onflow/cadence/pull/3343) +- Security Improvements + - Language breaking change: [Resource methods can be separated/moved-around as a function pointer](https://github.com/dapperlabs/cadence-internal/issues/213) + - Language breaking change: [Moving of contract and transaction variable is not statically rejected](https://github.com/dapperlabs/cadence-internal/issues/217) +- Bugfix + - [Fix restricted type checking in contract-update-validator](https://github.com/onflow/cadence/pull/3352) + - [Check dictionary keys when checking the ability for dereferencing](https://github.com/onflow/cadence/pull/3339) + - [Wrap host-function typed member-values with a bound-function](https://github.com/onflow/cadence/pull/3342) +- Docs + - [Update section about validator entitlement computation](https://github.com/onflow/cadence-lang.org/pull/104) +- Testing + - [Add back transaction execute tests](https://github.com/onflow/cadence/pull/3345) Cadence Execution + - [Transaction audit / failure mode for missing staged contract](https://github.com/onflow/flow-go/issues/5858) - [Add a dependency check for cadence imports](https://github.com/onflow/flow-go/pull/5908) - bugfixes @@ -138,47 +141,49 @@ Cadence Execution - [Add get full collection by id api](https://github.com/onflow/flow/pull/1463) - New Ingestion engine - [Add ingestion core tests](https://github.com/onflow/flow-go/pull/5871) -Improvements -- Atree: [Allow detection and logging on mutation of elements returned by readonly iterators](https://github.com/onflow/atree/issues/409) -- [Fix missing mock generation](https://github.com/onflow/flow-go/pull/5928) -- [move FlowClient to grpcclient package](https://github.com/onflow/flow-go/pull/5962) -Bugfixes - - Long running bug causing execution to stall [Fix requester engine's optimization](https://github.com/onflow/flow-go/pull/5941) - - [Fix get highest executed and finalized height](https://github.com/onflow/flow-go/pull/5903) - - [Fix Util to find execution result mismatch](https://github.com/onflow/flow-go/pull/5890) -chores -- Spork/HCU prep: [1](https://github.com/onflow/flow-go/pull/5895), [2](https://github.com/onflow/flow-go/pull/5896), [3](https://github.com/onflow/flow-go/pull/5889), [4](https://github.com/onflow/flow-go/pull/5940) -- Dependency updates - - Cadence: [1](https://github.com/onflow/cadence/pull/3344), [2](https://github.com/onflow/cadence/pull/3346), [3](https://github.com/onflow/cadence/pull/3347), [4](https://github.com/onflow/cadence/pull/3351), [5](https://github.com/onflow/cadence/pull/3359), [6](https://github.com/onflow/cadence/pull/3364), [7](https://github.com/onflow/cadence/pull/3365) - - flow-go: [1](https://github.com/onflow/flow-go/pull/5921), [2](https://github.com/onflow/flow-go/pull/5925), [3](https://github.com/onflow/flow-go/pull/5926), [4](https://github.com/onflow/flow-go/pull/5930), [5](https://github.com/onflow/flow-go/pull/5931), [6](https://github.com/onflow/flow-go/pull/5946), [7](https://github.com/onflow/flow-go/pull/5950), [8](https://github.com/onflow/flow-go/pull/5965), [9](https://github.com/onflow/flow-go/pull/5966) - - flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/pull/653), [2](https://github.com/onflow/flow-go-sdk/pull/654), [3](https://github.com/onflow/flow-go-sdk/pull/655) - - cadence tools: [1](https://github.com/onflow/cadence-tools/pull/369), [2](https://github.com/onflow/cadence-tools/pull/370), [3](https://github.com/onflow/cadence-tools/pull/371) - - emulator: [1](https://github.com/onflow/flow-emulator/pull/678) - - flowkit: [1](https://github.com/onflow/flowkit/pull/51) - - flixkit-go: [1](https://github.com/onflow/flixkit-go/pull/66) - - evm-gw: [1](https://github.com/onflow/flow-evm-gateway/pull/252) - - CLI: [1](https://github.com/onflow/flow-cli/pull/1608) +- Improvements + - Atree: [Allow detection and logging on mutation of elements returned by readonly iterators](https://github.com/onflow/atree/issues/409) + - [Fix missing mock generation](https://github.com/onflow/flow-go/pull/5928) + - [move FlowClient to grpcclient package](https://github.com/onflow/flow-go/pull/5962) +- Bugfixes + - Long running bug causing execution to stall [Fix requester engine's optimization](https://github.com/onflow/flow-go/pull/5941) + - [Fix get highest executed and finalized height](https://github.com/onflow/flow-go/pull/5903) + - [Fix Util to find execution result mismatch](https://github.com/onflow/flow-go/pull/5890) +- chores + - Spork/HCU prep: [1](https://github.com/onflow/flow-go/pull/5895), [2](https://github.com/onflow/flow-go/pull/5896), [3](https://github.com/onflow/flow-go/pull/5889), [4](https://github.com/onflow/flow-go/pull/5940) + - Dependency updates + - Cadence: [1](https://github.com/onflow/cadence/pull/3344), [2](https://github.com/onflow/cadence/pull/3346), [3](https://github.com/onflow/cadence/pull/3347), [4](https://github.com/onflow/cadence/pull/3351), [5](https://github.com/onflow/cadence/pull/3359), [6](https://github.com/onflow/cadence/pull/3364), [7](https://github.com/onflow/cadence/pull/3365) + - flow-go: [1](https://github.com/onflow/flow-go/pull/5921), [2](https://github.com/onflow/flow-go/pull/5925), [3](https://github.com/onflow/flow-go/pull/5926), [4](https://github.com/onflow/flow-go/pull/5930), [5](https://github.com/onflow/flow-go/pull/5931), [6](https://github.com/onflow/flow-go/pull/5946), [7](https://github.com/onflow/flow-go/pull/5950), [8](https://github.com/onflow/flow-go/pull/5965), [9](https://github.com/onflow/flow-go/pull/5966) + - flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/pull/653), [2](https://github.com/onflow/flow-go-sdk/pull/654), [3](https://github.com/onflow/flow-go-sdk/pull/655) + - cadence tools: [1](https://github.com/onflow/cadence-tools/pull/369), [2](https://github.com/onflow/cadence-tools/pull/370), [3](https://github.com/onflow/cadence-tools/pull/371) + - emulator: [1](https://github.com/onflow/flow-emulator/pull/678) + - flowkit: [1](https://github.com/onflow/flowkit/pull/51) + - flixkit-go: [1](https://github.com/onflow/flixkit-go/pull/66) + - evm-gw: [1](https://github.com/onflow/flow-evm-gateway/pull/252) + - CLI: [1](https://github.com/onflow/flow-cli/pull/1608) EVM Gateway -Features -- [Handle cross-spork access](https://github.com/onflow/flow-evm-gateway/issues/229) - - [Multi-spork client access support](https://github.com/onflow/flow-evm-gateway/pull/230) -Hardening / Improvements --[Multi-key account creation process improvements](https://github.com/onflow/flow-evm-gateway/pull/249) -- [Improve event testing](https://github.com/onflow/flow-evm-gateway/pull/240) -- [Improve crash reporting](https://github.com/onflow/flow-evm-gateway/issues/236) -bugfix -- [Fix decoding blocks with no total gas used](https://github.com/onflow/flow-go/pull/5872) -Ops chores -- [1](https://github.com/dapperlabs/dapper-flow-hosting/pull/1500), [2](https://github.com/onflow/flow-evm-gateway/pull/255), [3](https://github.com/onflow/flow-evm-gateway/pull/257), [4](https://github.com/onflow/flow-evm-gateway/pull/258) + +- Features + - [Handle cross-spork access](https://github.com/onflow/flow-evm-gateway/issues/229) + - [Multi-spork client access support](https://github.com/onflow/flow-evm-gateway/pull/230) +- Hardening / Improvements + - [Multi-key account creation process improvements](https://github.com/onflow/flow-evm-gateway/pull/249) + - [Improve event testing](https://github.com/onflow/flow-evm-gateway/pull/240) + - [Improve crash reporting](https://github.com/onflow/flow-evm-gateway/issues/236) +- bugfix + - [Fix decoding blocks with no total gas used](https://github.com/onflow/flow-go/pull/5872) +- Ops chores + - [1](https://github.com/dapperlabs/dapper-flow-hosting/pull/1500), [2](https://github.com/onflow/flow-evm-gateway/pull/255), [3](https://github.com/onflow/flow-evm-gateway/pull/257), [4](https://github.com/onflow/flow-evm-gateway/pull/258) EVM Core + - [Add support for revertible random](https://github.com/onflow/flow-go/issues/5862) -Hardening / Improvements -- [Use hex-encoded address as event values for better readability](https://github.com/onflow/flow-go/issues/5911) -- [Support decoding of all previous block types](https://github.com/onflow/flow-go/pull/5875) -Bugfix -- [EVM.dryRun method inconsistent behavior for certain errors](https://github.com/onflow/flow-go/issues/5902) +- Hardening / Improvements + - [Use hex-encoded address as event values for better readability](https://github.com/onflow/flow-go/issues/5911) + - [Support decoding of all previous block types](https://github.com/onflow/flow-go/pull/5875) +- Bugfix + - [EVM.dryRun method inconsistent behavior for certain errors](https://github.com/onflow/flow-go/issues/5902) **This sprint** From 7e449c81b53738c7f7e23a2017b68dc400750ad4 Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 24 May 2024 07:11:56 -0700 Subject: [PATCH 311/626] update data availability sprint 2024-05-24 --- .../2024-05-24-Flow-Sprint-Kickoff.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index a45dc441b..31122ca57 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -241,6 +241,11 @@ Cycle Objective(s): **Done last Sprint:** +* Data Availability: + - KROK Team + - Add increment method for monotonic counter ([PR #5814](https://github.com/onflow/flow-go/pull/5814)) + - Support serving system tx result from local index ([PR #5802](https://github.com/onflow/flow-go/pull/5802)) + - Allow dynamic bootstrapped ANs to index execution data ([PR #5888](https://github.com/onflow/flow-go/pull/5888)) **This sprint** @@ -256,14 +261,15 @@ Cycle Objective(s): - [Cancel in progress root QC voting](https://github.com/onflow/flow-go/issues/5733) * Data Availability: - - Test local script exec with lower compute limit - - Continue debugging resource issues observed on QuickNode + - Redeploy local index and script exec on QN bare metal instances + - Start design work for DB pruning - KROK Team - Fix retries when using preferred-execution-nodes list ([Issue #5810](https://github.com/onflow/flow-go/issues/5810)) - - Merge changes to support enabling indexing on Dynamic bootstrapped AN ([Issue #5423](https://github.com/onflow/flow-go/issues/5423) - PR in review) - Update rosetta for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52)) - - Address tech debt in APIs ([Issue #5757](https://github.com/onflow/flow-go/issues/5757) - PR in review) + - Fix rosetta event hash check ([Issue #41]( https://github.com/onflow/rosetta/issues/41)) - Add support for version beacon events to control script execution ([Issue #5757](https://github.com/onflow/flow-go/issues/5757)) + - Fix Access integration test ([Issue #5825](https://github.com/onflow/flow-go/issues/5825) - PR in review) + - Add indexed height indicator in grpc metadata response ([Issue #4757](https://github.com/onflow/flow-go/issues/4757) - PR in review) * Cryptography: - BFT - proof of possession epic : continue updating old PRs - scope the Ledger wallet work with VaccumLabs From 98d50b7d95767a1d290a906eb3b8de87b99fe86d Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 24 May 2024 08:15:33 -0700 Subject: [PATCH 312/626] Add UX Team Wins --- .../2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 31122ca57..5b5be9683 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -9,6 +9,13 @@ - Deployed new execution node ingestion engine to Mainnet (enabled on one EN) and so far running successfully for the last ~2 weeks. This enables us to boot EN anywhere in the spork and it will catch up, while previously it would crash if it was too far behind. - Successfully upgraded previewnet to latest flow-go master and got EVM working End-End. - Successfully got the EVM Gateway working on Migration environment. +- Released Foundry guide for EVM +- Deployed multicall smartcontract to EVM previewnet and integrated it with viem +- Proved out onboarding and bridging EVM FT to Cadence and bridging Cadence FT to EVM in Flow Port. +- Updated FT, NFT, and metadata views guides to Cadence 1.0 +- Finished Cadence 1.0 changes for NFTStorefront and included it in testnet migrations +- CLI Staging Imjprovements: Added ability to stage & validate entire project in one command to CLI, Warn users if staged contracts are no longer valid in the CLI when running commands + ### General updates From 5434a21344b4f24bff8de28085fdd0da418ae9ad Mon Sep 17 00:00:00 2001 From: Jordan Schalm Date: Fri, 24 May 2024 11:43:15 -0400 Subject: [PATCH 313/626] Update 2024-05-24-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 5b5be9683..fcd50aa63 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -15,7 +15,7 @@ - Updated FT, NFT, and metadata views guides to Cadence 1.0 - Finished Cadence 1.0 changes for NFTStorefront and included it in testnet migrations - CLI Staging Imjprovements: Added ability to stage & validate entire project in one command to CLI, Warn users if staged contracts are no longer valid in the CLI when running commands - +- Protocol State Snapshot updated -> can be constructed from any reference block ### General updates From b58c1ee97b61df4b65fe76b7248168709d00d9ce Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 24 May 2024 08:51:16 -0700 Subject: [PATCH 314/626] UX Updates Sprint Plan --- .../2024-05-24-Flow-Sprint-Kickoff.md | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index fcd50aa63..d39e20761 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -335,8 +335,36 @@ Cycle Objective(s): **Done last sprint** +**Docs** +Add Foundry Guide +Update Viem Guide +[Update banners across Cadence, Dev Docs, and Playground for Messaging Update](https://github.com/onflow/docs/issues/781) +**CLI** +[Prompt yes/no if you'd like to install core contracts](https://github.com/onflow/flow-cli/issues/1586) +[Add config only flag to init to just generate flow.json](https://github.com/onflow/flow-cli/issues/1588) +[Add/Use Counter as default contract](https://github.com/onflow/flow-cli/issues/1587) +[Gracefully recovery from C1.0 contract update validation panics](https://github.com/onflow/flow-cli/issues/1602) +[Add ability to stage all contracts](https://github.com/onflow/flow-cli/issues/1559) +[Notify when longer valid staged contracts in CLI](https://github.com/onflow/flow-cli/issues/1543) +[Dependency Manager repeats the inquiry for extra dependencies](https://github.com/onflow/flow-cli/issues/1569) +[Init project with default contract, scripts, and transaction](https://github.com/onflow/flow-cli/issues/1575) +[[IMPROVEMENT] Allow for private key to be created in a target directory](https://github.com/onflow/flowkit/issues/47) +[[IMPROVEMENT] Add target directory option for emulator key generation](https://github.com/onflow/flow-cli/issues/1583) +[[BUG] Fix dependencies/contracts conflict check](https://github.com/onflow/flow-cli/issues/1599) +**SC** +[Update Core Contracts Pages](https://github.com/onflow/docs/issues/756) +[Enable Minting FUSD and USDC on previewnet](https://github.com/onflow/docs/issues/773) +[Include NFTStorefrontV2 in migrations](https://github.com/onflow/flow-go/issues/5963) +**FCL** +[[BUG] util-actor breaks if multiple versions of the library are installed at the same time](https://github.com/onflow/fcl-js/issues/1885) +[[BUG] Cannot send transaction with no authorizers](https://github.com/onflow/fcl-js/issues/1878) +[[BUG] Access API Error after upgrading fcl-js](https://github.com/onflow/fcl-js/issues/1877) +[Invariant is missing TypeScript assertion](https://github.com/onflow/fcl-js/issues/1873) +[Remove WalletConnect services from clientServices](https://github.com/onflow/fcl-js/issues/1871) +[Stage FCLCryptoContract](https://github.com/onflow/fcl-js/issues/1865) + **This sprint** -**Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, FCL x WalletConnect Improvements, shipping new CLI version, EVM randomness** +**Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, FCL x WalletConnect Improvements, Crescendo Rewards** - [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) - [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) @@ -347,10 +375,8 @@ Cycle Objective(s): - Reviews for Increment.fi - Circle Support -- Update Tutorials for Cadence 1.0 [#769](https://github.com/onflow/docs/issues/769) - Add Solidity implementation using EVM randomness -- [FEATURE] Update Core Contracts [#756](https://github.com/onflow/docs/issues/756) -- VM Bridge audit startd May 13th +- Discovery Design Inbox Standard **On Hold** From 357f854e4f46cbea762010267911d3d42f34f2fd Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 24 May 2024 08:53:12 -0700 Subject: [PATCH 315/626] UX Updates fix --- .../2024-05-24-Flow-Sprint-Kickoff.md | 52 ++++++++++--------- 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index d39e20761..de65d0faf 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -336,32 +336,35 @@ Cycle Objective(s): **Done last sprint** **Docs** -Add Foundry Guide -Update Viem Guide -[Update banners across Cadence, Dev Docs, and Playground for Messaging Update](https://github.com/onflow/docs/issues/781) +- Add Foundry Guide +- Update Viem Guide +- [Update banners across Cadence, Dev Docs, and Playground for Messaging Update](https://github.com/onflow/docs/issues/781) + **CLI** -[Prompt yes/no if you'd like to install core contracts](https://github.com/onflow/flow-cli/issues/1586) -[Add config only flag to init to just generate flow.json](https://github.com/onflow/flow-cli/issues/1588) -[Add/Use Counter as default contract](https://github.com/onflow/flow-cli/issues/1587) -[Gracefully recovery from C1.0 contract update validation panics](https://github.com/onflow/flow-cli/issues/1602) -[Add ability to stage all contracts](https://github.com/onflow/flow-cli/issues/1559) -[Notify when longer valid staged contracts in CLI](https://github.com/onflow/flow-cli/issues/1543) -[Dependency Manager repeats the inquiry for extra dependencies](https://github.com/onflow/flow-cli/issues/1569) -[Init project with default contract, scripts, and transaction](https://github.com/onflow/flow-cli/issues/1575) -[[IMPROVEMENT] Allow for private key to be created in a target directory](https://github.com/onflow/flowkit/issues/47) -[[IMPROVEMENT] Add target directory option for emulator key generation](https://github.com/onflow/flow-cli/issues/1583) -[[BUG] Fix dependencies/contracts conflict check](https://github.com/onflow/flow-cli/issues/1599) +- [Prompt yes/no if you'd like to install core contracts](https://github.com/onflow/flow-cli/issues/1586) +- [Add config only flag to init to just generate flow.json](https://github.com/onflow/flow-cli/issues/1588) +- [Add/Use Counter as default contract](https://github.com/onflow/flow-cli/issues/1587) +- [Gracefully recovery from C1.0 contract update validation panics](https://github.com/onflow/flow-cli/issues/1602) +- [Add ability to stage all contracts](https://github.com/onflow/flow-cli/issues/1559) +- [Notify when longer valid staged contracts in CLI](https://github.com/onflow/flow-cli/issues/1543) +- [Dependency Manager repeats the inquiry for extra dependencies](https://github.com/onflow/flow-cli/issues/1569) +- [Init project with default contract, scripts, and transaction](https://github.com/onflow/flow-cli/issues/1575) +- [[IMPROVEMENT] Allow for private key to be created in a target directory](https://github.com/onflow/flowkit/issues/47) +- [[IMPROVEMENT] Add target directory option for emulator key generation](https://github.com/onflow/flow-cli/issues/1583) +- [[BUG] Fix dependencies/contracts conflict check](https://github.com/onflow/flow-cli/issues/1599) + **SC** -[Update Core Contracts Pages](https://github.com/onflow/docs/issues/756) -[Enable Minting FUSD and USDC on previewnet](https://github.com/onflow/docs/issues/773) -[Include NFTStorefrontV2 in migrations](https://github.com/onflow/flow-go/issues/5963) +- [Update Core Contracts Pages](https://github.com/onflow/docs/issues/756) +- [Enable Minting FUSD and USDC on previewnet](https://github.com/onflow/docs/issues/773) +- [Include NFTStorefrontV2 in migrations](https://github.com/onflow/flow-go/issues/5963) + **FCL** -[[BUG] util-actor breaks if multiple versions of the library are installed at the same time](https://github.com/onflow/fcl-js/issues/1885) -[[BUG] Cannot send transaction with no authorizers](https://github.com/onflow/fcl-js/issues/1878) -[[BUG] Access API Error after upgrading fcl-js](https://github.com/onflow/fcl-js/issues/1877) -[Invariant is missing TypeScript assertion](https://github.com/onflow/fcl-js/issues/1873) -[Remove WalletConnect services from clientServices](https://github.com/onflow/fcl-js/issues/1871) -[Stage FCLCryptoContract](https://github.com/onflow/fcl-js/issues/1865) +- [[BUG] util-actor breaks if multiple versions of the library are installed at the same time](https://github.com/onflow/fcl-js/issues/1885) +- [[BUG] Cannot send transaction with no authorizers](https://github.com/onflow/fcl-js/issues/1878) +- [[BUG] Access API Error after upgrading fcl-js](https://github.com/onflow/fcl-js/issues/1877) +- [Invariant is missing TypeScript assertion](https://github.com/onflow/fcl-js/issues/1873) +- [Remove WalletConnect services from clientServices](https://github.com/onflow/fcl-js/issues/1871) +- [Stage FCLCryptoContract](https://github.com/onflow/fcl-js/issues/1865) **This sprint** **Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, FCL x WalletConnect Improvements, Crescendo Rewards** @@ -369,7 +372,8 @@ Update Viem Guide - [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) - [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) - [EPIC] Flow EVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) -- [Epic]: Update Flow port for Cadence v1.0 instance [#279](https://github.com/onflow/flow-port/issues/279) +- [EPIC]: Update Flow port for Cadence v1.0 instance [#279](https://github.com/onflow/flow-port/issues/279) +- [EPIC] FCL WalletConnect Improvements https://github.com/onflow/fcl-js/issues/1872 #### Smart Contract WG From 5f6b054bc83896e1aa554d420de60b38a7cfc7ab Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 24 May 2024 21:31:58 +0530 Subject: [PATCH 316/626] Update 2024-05-24-Flow-Sprint-Kickoff.md adding flip updates --- .../sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index de65d0faf..699d3f3ee 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -63,16 +63,17 @@ | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 6 | 8 | 1 | 7 | **22** (+1) | -| Proposed | 1 | 2 | 2 | 0 | **5** | +| Drafted | 7 (+1) | 8 | 0 (-1) | 7 | **22** | +| Proposed | 1 | 2 | 3 (+1) | 0 | **6** (+1) | | Accepted | 2 | 1 | 1 | 1 | **5** | | Rejected | 0 | 0 | 1 | 0 | **1** | | Implemented | 3 | 21 | 2 | 1 | **7** | | Released | 4 | 0 | 3 | 6 | **13** | -| Total | **16** | **32** | **10** (+1) | **15** | **73** (+1) | +| Total | **17** (+1) | **32** | **10** (+1) | **15** | **74** (+1) | -**New FLIPs** -* [Governance] - 5X Computation Limit Hike (Drafted) +**Updates** +* [Application] - FLIP 270: FCL `ServiceProvider` v1.1.0 (new) +* [Governance] - 5X Computation Limit Hike (moved from drafted to proposed) --- From 4eb14491f210b4dcb129c09a889b5634a7474a9f Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 24 May 2024 09:06:39 -0700 Subject: [PATCH 317/626] Add protocol changes --- .../2024-05-24-Flow-Sprint-Kickoff.md | 41 +++++++++++++------ 1 file changed, 28 insertions(+), 13 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 699d3f3ee..97630f3e1 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -16,6 +16,7 @@ - Finished Cadence 1.0 changes for NFTStorefront and included it in testnet migrations - CLI Staging Imjprovements: Added ability to stage & validate entire project in one command to CLI, Warn users if staged contracts are no longer valid in the CLI when running commands - Protocol State Snapshot updated -> can be constructed from any reference block +- Development on Zero-downtime Upgrades of Node Software are complete, ready to deploy in next network update ### General updates @@ -248,25 +249,40 @@ Cycle Objective(s): * Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] **Done last Sprint:** - * Data Availability: - KROK Team - Add increment method for monotonic counter ([PR #5814](https://github.com/onflow/flow-go/pull/5814)) - Support serving system tx result from local index ([PR #5802](https://github.com/onflow/flow-go/pull/5802)) - Allow dynamic bootstrapped ANs to index execution data ([PR #5888](https://github.com/onflow/flow-go/pull/5888)) -**This sprint** - * Zero-downtime Upgrades of Node Software: - - [Dynamic Protocol State - todos, suggested revisions and tech debt](https://github.com/onflow/flow-go/issues/5666#top) - - Apply comments and finalize https://github.com/onflow/flow-go/pull/5773 - - Reviews for open M2 PRs, priority to close the milestone - - Wrapping up the KVStore M2 items going into this spork + - [InitialProtocolState refactor and epoch protocol sub-state rename](https://github.com/onflow/flow-go/pull/5968) + - [Use Dynamic Protocol State API to compute events / metrics](https://github.com/onflow/flow-go/pull/5923) + - [Remove duplicated top-level EncodableSnapshot fields](https://github.com/onflow/flow-go/pull/5884) * EFM Recovery - - [Address Recover Epoch cadence PR feedback](https://github.com/onflow/flow-core-contracts/pull/420) - - [Wrap up integration test](https://github.com/onflow/flow-go/issues/5886) - - [Cancel in progress root QC voting](https://github.com/onflow/flow-go/issues/5733) + - [Added EpochRecover go service event that maps from Cadence](https://github.com/onflow/flow-go/pull/5943) + - [Implementing transition to already committed epoch in EFM](https://github.com/onflow/flow-go/pull/5898) + - [Made good progress on epoch recovery, currently working on last tests](https://github.com/onflow/flow-go/issues/5727) + - [Epoch manager QC voting changes](https://github.com/onflow/flow-go/issues/5733) + - [Address PR feedback EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) + +* Cryptography: + - BFT - proof of possession epic: + - [inished updating old PRs (core-contract/flow-go/flow-mgmt) + - Only ledger-app PR remains - aligned with team and VacuumLabs on the remaining work + - WASM build of emulator: fix an issue in flow-go related to crypto + - Review randomness on Flow EVM + - SPoCK aggregation: revisit single SPoCK proof (but the KOSK proof) + +**This sprint** + +* EFM Recovery + - Finish https://github.com/onflow/flow-go/issues/5727 + - Onboard Jordan to EFM tasks + - [Finish Epoch manager QC voting changes](https://github.com/onflow/flow-go/issues/5733) (implementing tests) + - Ongoing review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) + - [Start Blocktime controller EFM changes])(https://github.com/onflow/flow-go/issues/5732) * Data Availability: - Redeploy local index and script exec on QN bare metal instances @@ -280,9 +296,8 @@ Cycle Objective(s): - Add indexed height indicator in grpc metadata response ([Issue #4757](https://github.com/onflow/flow-go/issues/4757) - PR in review) * Cryptography: - - BFT - proof of possession epic : continue updating old PRs - scope the Ledger wallet work with VaccumLabs - - SPoCK aggregation: revisit the SPoCK security proof - + - SPoCK aggregation: deeper look at the KOSK model + - content piece on secure enclaves **On Hold** * Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. From 647ceeecbd119d9c9f8f69d8392c300b897bbb5a Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 24 May 2024 21:39:50 +0530 Subject: [PATCH 318/626] Update 2024-05-24-Flow-Sprint-Kickoff.md Governance updates --- .../2024-05-24-Flow-Sprint-Kickoff.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 699d3f3ee..118e3ae48 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -484,15 +484,22 @@ Cycle Objective(s): ### **Governance and Tokenomics** \[Kshitij] Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. +**Done last sprin** +- Chats with potential consensus node operators around leases, contracts and running SNs +- FF staked 1 new consensus node (via Figment) with 500K FLOW stake +- Finalized contract, account setup for Flowty and transferred the lease +- Published Computation Limit hike FLIP; addressing feedback +- Transaction fee impact discussion with working group DRIs +- Drove early surge pricing research **This sprint** -- Continue chats with potential consensus node operators and finalize lease discussions -- Onboard 8 new SNs - contracts, lease transfers, stake and setup assistance -- Review, finalize and merge Tokenomics PRs +- Set up 3 FF nodes via Figment +- Onboard Doodles and Cryptotoys as SN operators +- Kick off Flowty's consensus node +- Assess decentralization situation and the way forward +- Review, finalize and take a decision on computation limit FLIP - Transaction fee partner impact discussion and way forward with FF leadership -- Map and evaluate post crescendo Flow scenarios regarding tps, fees and inflation -- R&D and planning with Dete on post Crescendo surge pricing [already kicked off] -- Metrics planning for foundation’s financials and network Tokenomics +- R&D and planning with Dete on post Crescendo surge pricing - Continue working on node operator branding and logos with .find team **On Hold** From 8657aa76f117ce1439edbf415d45829305038b4f Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 24 May 2024 09:19:26 -0700 Subject: [PATCH 319/626] Misc updates --- .../2024-05-24-Flow-Sprint-Kickoff.md | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 97630f3e1..7fb6abb43 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -194,6 +194,11 @@ EVM Core - Bugfix - [EVM.dryRun method inconsistent behavior for certain errors](https://github.com/onflow/flow-go/issues/5902) +Cadence 1.0 Contract updates + - Follow up reviews for [dependency audit contract](https://github.com/onflow/contract-updater/pull/33), NFT Catalog and FT/NFT guide updates + - [Bridge standup script](https://github.com/onflow/flow-evm-bridge/pull/76) + - Completed VM bridge deployment runbook + **This sprint** DONE: Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades @@ -275,6 +280,11 @@ Cycle Objective(s): - Review randomness on Flow EVM - SPoCK aggregation: revisit single SPoCK proof (but the KOSK proof) +* Rosetta: + - Cadence Rosetta Crescendo compatibility: [Started Rosetta event hash check](https://github.com/onflow/rosetta/pull/60) + - Took delivery of Flow EVM Rosetta implementation from contract developer + + **This sprint** * EFM Recovery @@ -289,8 +299,6 @@ Cycle Objective(s): - Start design work for DB pruning - KROK Team - Fix retries when using preferred-execution-nodes list ([Issue #5810](https://github.com/onflow/flow-go/issues/5810)) - - Update rosetta for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52)) - - Fix rosetta event hash check ([Issue #41]( https://github.com/onflow/rosetta/issues/41)) - Add support for version beacon events to control script execution ([Issue #5757](https://github.com/onflow/flow-go/issues/5757)) - Fix Access integration test ([Issue #5825](https://github.com/onflow/flow-go/issues/5825) - PR in review) - Add indexed height indicator in grpc metadata response ([Issue #4757](https://github.com/onflow/flow-go/issues/4757) - PR in review) @@ -299,6 +307,11 @@ Cycle Objective(s): - SPoCK aggregation: deeper look at the KOSK model - content piece on secure enclaves +* Rosetta: + - [Finish Rosetta event hash check](https://github.com/onflow/rosetta/issues/41) + - [Continue Cadence Rosetta updates for Crescendo compatibility](https://github.com/onflow/rosetta/issues/41) + - Review Flow EVM Rosetta implementation from contract developer + **On Hold** * Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. * Implement BFT mitigations to enable 20 permissionless ANs @@ -323,12 +336,11 @@ Cycle Objective(s): - Deliver Axelar bridge **Done last sprint** - +* Started backfill of missing crypto algos to JVM SDK +* Started multi-sig solution for Circle to help with USDC migration to EVM **This sprint** -* Update JVM SDK examples repo now that latest version artifact successfully published -* Implement multi-sig solution for Circle to help with USDC migration to EVM -* Upgrade Band protocol contract to C1.0 +* Continue backfill of missing crypto primitives in JVM SDK **On Hold** - Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing From ca1d5783b8720d53b654fc5d4acc281788effbf9 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 24 May 2024 09:22:57 -0700 Subject: [PATCH 320/626] Minor tidyup --- .../2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 5134cdc32..98c7055ab 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -281,7 +281,8 @@ Cycle Objective(s): - SPoCK aggregation: revisit single SPoCK proof (but the KOSK proof) * Rosetta: - - Cadence Rosetta Crescendo compatibility: [Started Rosetta event hash check](https://github.com/onflow/rosetta/pull/60) + - Cadence Rosetta Crescendo compatibility + - KROK [Started Rosetta event hash check](https://github.com/onflow/rosetta/pull/60) - Took delivery of Flow EVM Rosetta implementation from contract developer @@ -308,8 +309,8 @@ Cycle Objective(s): - content piece on secure enclaves * Rosetta: - - [Finish Rosetta event hash check](https://github.com/onflow/rosetta/issues/41) - - [Continue Cadence Rosetta updates for Crescendo compatibility](https://github.com/onflow/rosetta/issues/41) + - KROK [Finish Rosetta event hash check](https://github.com/onflow/rosetta/issues/41) + - KROK [Continue Cadence Rosetta updates for Crescendo compatibility](https://github.com/onflow/rosetta/issues/41) - Review Flow EVM Rosetta implementation from contract developer **On Hold** From 400f28a05f04b899aca5ab88183da24050f09193 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 24 May 2024 09:24:18 -0700 Subject: [PATCH 321/626] Blog update --- agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 98c7055ab..49ac75739 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -298,6 +298,7 @@ Cycle Objective(s): * Data Availability: - Redeploy local index and script exec on QN bare metal instances - Start design work for DB pruning + - Finish review of Event Streaming blog authored by KROK - KROK Team - Fix retries when using preferred-execution-nodes list ([Issue #5810](https://github.com/onflow/flow-go/issues/5810)) - Add support for version beacon events to control script execution ([Issue #5757](https://github.com/onflow/flow-go/issues/5757)) From 21d759d76ed92ab99fc497442e9caa841fec5553 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 24 May 2024 09:35:33 -0700 Subject: [PATCH 322/626] Added missing win --- agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 49ac75739..7ce3c1dcb 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -17,6 +17,7 @@ - CLI Staging Imjprovements: Added ability to stage & validate entire project in one command to CLI, Warn users if staged contracts are no longer valid in the CLI when running commands - Protocol State Snapshot updated -> can be constructed from any reference block - Development on Zero-downtime Upgrades of Node Software are complete, ready to deploy in next network update +- Took delivery of initial implementation of Rosetta for Flow EVM which is needed for CB integration with EVM ### General updates From 03420851bd4d420ae274bff5d192ff5e3224962e Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 24 May 2024 18:58:32 +0200 Subject: [PATCH 323/626] Update 2024-05-24-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 7ce3c1dcb..1a614bcb7 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -221,6 +221,10 @@ ON HOLD: Objective 3: Analyze execution runtime trends and risks to plan next se ON HOLD: * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) +IN PROGRESS: EVM GW stability - investigating + +ON HOLD: EVM GW Debug endpoint implementation + Cadence 1.0 Contract updates - [Continue working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) - More reviews of bridge PRs and Cadence 1.0 changes From 1cd3faf8fe9ced5f5041869e4d5c63e390dbf6ea Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 24 May 2024 19:06:16 +0200 Subject: [PATCH 324/626] Update 2024-05-24-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index 1a614bcb7..c1bb5ee14 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -113,7 +113,7 @@ State migration for Crescendo release - [Update or deploy EVM contract, depending on chain](https://github.com/onflow/flow-go/pull/5915) - [Include NFTStorefrontV2 in the testnet migrations](https://github.com/onflow/flow-go/issues/5963) - [Stage contract update for NFTStorefrontV2 on Testnet](https://github.com/onflow/flow-go/pull/5964) --Bugfixes +- Bugfixes - [Fix string formatting for values](https://github.com/onflow/cadence/pull/3370) - [Handle missing interfaces in Cadence 1.0 contract update validator](https://github.com/onflow/cadence/pull/3337) - [Fix Cadence 1.0 migration error when address is used as register owner](https://github.com/onflow/flow-go/pull/5929) From db0bbb47c78a8a0683ac4f99fb195314ff2f34d9 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 24 May 2024 22:53:15 +0530 Subject: [PATCH 325/626] Update 2024-05-24-Flow-Sprint-Kickoff.md spelling --- agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md index c1bb5ee14..a6f4aa7d1 100644 --- a/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-05-24-Flow-Sprint-Kickoff.md @@ -518,7 +518,7 @@ Cycle Objective(s): ### **Governance and Tokenomics** \[Kshitij] Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. -**Done last sprin** +**Done last sprint** - Chats with potential consensus node operators around leases, contracts and running SNs - FF staked 1 new consensus node (via Figment) with 500K FLOW stake - Finalized contract, account setup for Flowty and transferred the lease From bf10839dfa2f1c472a59c173f11919734cc73ba3 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 5 Jun 2024 17:05:29 -0700 Subject: [PATCH 326/626] Create 2024-06-07-Flow-Sprint-Kickoff.md --- .../2024-06-07-Flow-Sprint-Kickoff.md | 319 ++++++++++++++++++ 1 file changed, 319 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..7c9901a19 --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -0,0 +1,319 @@ +# Overview + +### Team Wins 🎉 + +- + + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (xx/yy/24 to xx/yy/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 99.95% | 49.6% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.919% | 81.0% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +[YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents + +## Core protocol incidents + +### Mainnet + +### Testnet + +(Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) + +### Key Release Dates & Breaking Changes +- Next Mainnet/Testnet network upgrade (spork): + - Testnet: 20th June 2024 + - Mainnet: 29th July 2024 +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 7 (+1) | 8 | 0 (-1) | 7 | **22** | +| Proposed | 1 | 2 | 3 (+1) | 0 | **6** (+1) | +| Accepted | 2 | 1 | 1 | 1 | **5** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 | 21 | 2 | 1 | **7** | +| Released | 4 | 0 | 3 | 6 | **13** | +| Total | **17** (+1) | **32** | **10** (+1) | **15** | **74** (+1) | + +**Updates** +* [Application] - FLIP 270: FCL `ServiceProvider` v1.1.0 (new) +* [Governance] - 5X Computation Limit Hike (moved from drafted to proposed) +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + +**This sprint** + +DONE: Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +* All breaking changed released in a new CLI: v1.18.0-cadence-v1.0.0-preview.24 + +IN PROGRESS: Objective 1, KR4: Testnet Upgrade to Crescendo Release +* Completed Testnet migration with both Atree inlining and Cadence 1.0. +* Completed [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) production readiness EPICs. +* Continue work on migration optimizations. + +IN PROGRESS: Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN +* Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +DONE: Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind +* Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +ON HOLD: Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +* Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +ON HOLD: * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + +IN PROGRESS: EVM GW stability - investigating + +ON HOLD: EVM GW Debug endpoint implementation + +Cadence 1.0 Contract updates +- [Continue working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) +- More reviews of bridge PRs and Cadence 1.0 changes +- Writing additional tests for recent Cadence FLIP changes +- [Audit and update docs and tutorials for Cadence 1.0](https://github.com/onflow/docs/issues/531) + +**On Hold** + +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) + + +**Active Epics** + +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR4: Testnet Upgrade to Crescendo Release +- KR6: Develop & share with community a disaster recovery plan to address potential issues after migration to Crescendo Release. +- KR7: Decision on how to deal with contracts that have not been upgraded to Cadence 1.0 by developers. +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Translate crypto performance improvements to consensus block rate increase [DONE] +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + + +**This sprint** + +* EFM Recovery + - Finish https://github.com/onflow/flow-go/issues/5727 + - Onboard Jordan to EFM tasks + - [Finish Epoch manager QC voting changes](https://github.com/onflow/flow-go/issues/5733) (implementing tests) + - Ongoing review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) + - [Start Blocktime controller EFM changes])(https://github.com/onflow/flow-go/issues/5732) + +* Data Availability: + - Redeploy local index and script exec on QN bare metal instances + - Start design work for DB pruning + - Finish review of Event Streaming blog authored by KROK + - KROK Team + - Fix retries when using preferred-execution-nodes list ([Issue #5810](https://github.com/onflow/flow-go/issues/5810)) + - Add support for version beacon events to control script execution ([Issue #5757](https://github.com/onflow/flow-go/issues/5757)) + - Fix Access integration test ([Issue #5825](https://github.com/onflow/flow-go/issues/5825) - PR in review) + - Add indexed height indicator in grpc metadata response ([Issue #4757](https://github.com/onflow/flow-go/issues/4757) - PR in review) + +* Cryptography: + - SPoCK aggregation: deeper look at the KOSK model + - content piece on secure enclaves + +* Rosetta: + - KROK [Finish Rosetta event hash check](https://github.com/onflow/rosetta/issues/41) + - KROK [Continue Cadence Rosetta updates for Crescendo compatibility](https://github.com/onflow/rosetta/issues/41) + - Review Flow EVM Rosetta implementation from contract developer + +**On Hold** +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. +* Implement BFT mitigations to enable 20 permissionless ANs + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- Cadence 1.0 DEX Prep - IncrementFi +- EVM partner onboarding: Pyth, DeBridge, Covalent, Etherscan +- Deliver Axelar bridge + +**Done last sprint** +* PR to backfill of missing crypto algos to JVM SDK ready for review + +**This sprint** +* Backfill missing API methods to JVM SDK + +**On Hold** +- Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + + +**This sprint** +**Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, FCL x WalletConnect Improvements, Crescendo Rewards** + +- [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) +- [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) +- [EPIC] Flow EVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) +- [EPIC]: Update Flow port for Cadence v1.0 instance [#279](https://github.com/onflow/flow-port/issues/279) +- [EPIC] FCL WalletConnect Improvements https://github.com/onflow/fcl-js/issues/1872 + +#### Smart Contract WG + +- Reviews for Increment.fi +- Circle Support +- Add Solidity implementation using EVM randomness +- Discovery Design Inbox Standard + +**On Hold** + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + + +**This sprint** + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Solidify CloudFlare Migration plan and continue preparing for migration +- Continue assisting with DevEx migration to Cloud Run + +**Done last sprint** + +**Goal of this Sprint is to continue migration efforts** +**This Sprint** +- Continue removing dependencies on CloudFlare & assist with account creation +- Continue assisting with DevEx migration to Cloud Run +- Improve synthetic alerting +- Assist with migration and spork prep efforts + +--- + +### **Governance and Tokenomics** \[Kshitij] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** + +**This sprint** +- Set up 3 FF nodes via Figment +- Onboard Doodles and Cryptotoys as SN operators +- Kick off Flowty's consensus node +- Assess decentralization situation and the way forward +- Review, finalize and take a decision on computation limit FLIP +- Transaction fee partner impact discussion and way forward with FF leadership +- R&D and planning with Dete on post Crescendo surge pricing +- Continue working on node operator branding and logos with .find team + +**On Hold** + + +**Active Epics** + +- N/A From 035b49d7f1bea3fc006437eece4cbc9bf0519347 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 5 Jun 2024 17:32:45 -0700 Subject: [PATCH 327/626] Added DA and Rosetta updates --- .../2024-06-07-Flow-Sprint-Kickoff.md | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index 7c9901a19..2f010287c 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -136,35 +136,41 @@ Cycle Objective(s): * Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] **Done last Sprint:** +* Data Availability: + - KROK Team + - Fix event hashing CCF ([PR #53](https://github.com/onflow/rosetta/pull/53), [PR #62](https://github.com/onflow/rosetta/pull/62)) + - Add indexed height to API response metadata ([PR #5832](https://github.com/onflow/flow-go/pull/5832)) + - Fix flaky access tests([PR #6014](https://github.com/onflow/flow-go/pull/6014), [PR #5953](https://github.com/onflow/flow-go/pull/5953)) + +* Rosetta: + - KROK Team + - [Finish Rosetta event hash check](https://github.com/onflow/rosetta/issues/41) - **This sprint** * EFM Recovery - Finish https://github.com/onflow/flow-go/issues/5727 - - Onboard Jordan to EFM tasks - [Finish Epoch manager QC voting changes](https://github.com/onflow/flow-go/issues/5733) (implementing tests) - Ongoing review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) - [Start Blocktime controller EFM changes])(https://github.com/onflow/flow-go/issues/5732) * Data Availability: - - Redeploy local index and script exec on QN bare metal instances - - Start design work for DB pruning - - Finish review of Event Streaming blog authored by KROK + - Complete RegistersDB pruning design, start on protocol db design + - Continue redeploy of local index and script exec on QN bare metal instances - KROK Team - - Fix retries when using preferred-execution-nodes list ([Issue #5810](https://github.com/onflow/flow-go/issues/5810)) - - Add support for version beacon events to control script execution ([Issue #5757](https://github.com/onflow/flow-go/issues/5757)) - - Fix Access integration test ([Issue #5825](https://github.com/onflow/flow-go/issues/5825) - PR in review) - - Add indexed height indicator in grpc metadata response ([Issue #4757](https://github.com/onflow/flow-go/issues/4757) - PR in review) + - Fix retries when using preferred-execution-nodes list ([Issue #5810](https://github.com/onflow/flow-go/issues/5810) - PR in review) + - Add support for version beacon events to control script execution ([Issue #5788](https://github.com/onflow/flow-go/issues/5788), [Issue #5789](https://github.com/onflow/flow-go/issues/5789), [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) + - Expose separate endpoints for getting account balance and keys ([Issue #5894](https://github.com/onflow/flow-go/issues/5894), [Issue #5999](https://github.com/onflow/flow-go/issues/5999)) + - Create proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823)) + - Add support for pruning execution data db on ANs ([Issue #6002](https://github.com/onflow/flow-go/issues/6002)) + - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017)) * Cryptography: - SPoCK aggregation: deeper look at the KOSK model - content piece on secure enclaves * Rosetta: - - KROK [Finish Rosetta event hash check](https://github.com/onflow/rosetta/issues/41) - - KROK [Continue Cadence Rosetta updates for Crescendo compatibility](https://github.com/onflow/rosetta/issues/41) - - Review Flow EVM Rosetta implementation from contract developer + - Update rosetta for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) **On Hold** * Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. From 798cf6cd7245d1facf986e3955d67aa15123278f Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Thu, 6 Jun 2024 21:35:01 +0900 Subject: [PATCH 328/626] Setting up CICD for JVM release --- .../ci-manual-publish-jvm-release.yml | 63 +++++++++++++ .../ci-manual-publish-jvm-snapshot.yml | 60 ++++++++++++ protobuf/build.gradle.kts | 91 +++++++++++-------- .../gradle/wrapper/gradle-wrapper.properties | 2 +- 4 files changed, 179 insertions(+), 37 deletions(-) create mode 100644 .github/workflows/ci-manual-publish-jvm-release.yml create mode 100644 .github/workflows/ci-manual-publish-jvm-snapshot.yml diff --git a/.github/workflows/ci-manual-publish-jvm-release.yml b/.github/workflows/ci-manual-publish-jvm-release.yml new file mode 100644 index 000000000..2cfe23127 --- /dev/null +++ b/.github/workflows/ci-manual-publish-jvm-release.yml @@ -0,0 +1,63 @@ +name: Manually Publish Release +on: + workflow_dispatch: + branches: + - master +jobs: + build: + name: Manually publish release + runs-on: ubuntu-latest + env: + JAVA_OPTS: -Xmx2g -Dorg.gradle.daemon=false + #services: + # flow-emulator: + # image: gcr.io/flow-container-registry/emulator + # env: + # FLOW_VERBOSE: true + # FLOW_PORT: 3569 + # FLOW_INTERVAL: 5s + # FLOW_PERSIST: false + # ports: + # - 3569:3569 + steps: + - name: Get current date + id: date + run: echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')" + + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Java + uses: actions/setup-java@v2 + with: + java-version: '21' + java-package: jdk + distribution: 'adopt' + + - name: Install flow emulator + run: sh -ci "$(curl -fsSL https://storage.googleapis.com/flow-cli/install.sh)" + + - name: Make gradle executable + run: chmod +x ./gradlew + + - name: Build + id: build + run: ./gradlew --warning-mode all check build -x test -x integrationTest + + - name: Publish release + env: + JAVA_OPTS: -Xmx2g -Dorg.gradle.daemon=false + ORG_GRADLE_PROJECT_mavenCentralUsername: '${{ secrets.FLOW_JVM_SDK_SONATYPE_USERNAME }}' + ORG_GRADLE_PROJECT_mavenCentralPassword: '${{ secrets.FLOW_JVM_SDK_SONATYPE_PASSWORD }}' + ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.FLOW_JVM_SDK_SIGNING_KEY }} + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.FLOW_JVM_SDK_SIGNING_PASSWORD }} + + run: | + if [[ "${{ secrets.FLOW_JVM_SDK_CICD_PUBLISH_ENABLED }}" != "true" ]]; + then + exit 0; + fi + ./gradlew \ + -Psigning.key="${{ secrets.FLOW_JVM_SDK_SIGNING_KEY }}" \ + -Psigning.password="${{ secrets.FLOW_JVM_SDK_SIGNING_PASSWORD }}" \ + publishAndReleaseToMavenCentral --no-configuration-cache diff --git a/.github/workflows/ci-manual-publish-jvm-snapshot.yml b/.github/workflows/ci-manual-publish-jvm-snapshot.yml new file mode 100644 index 000000000..5ca904a38 --- /dev/null +++ b/.github/workflows/ci-manual-publish-jvm-snapshot.yml @@ -0,0 +1,60 @@ +name: Manually Publish Snapshot +on: + workflow_dispatch: + branches: + - master +jobs: + build: + name: Manually publish snapshot + runs-on: ubuntu-latest + env: + JAVA_OPTS: -Xmx2g -Dorg.gradle.daemon=false + #services: + # flow-emulator: + # image: gcr.io/flow-container-registry/emulator + # env: + # FLOW_VERBOSE: true + # FLOW_PORT: 3569 + # FLOW_INTERVAL: 5s + # FLOW_PERSIST: false + # ports: + # - 3569:3569 + steps: + - name: Get current date + id: date + run: echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')" + + - name: Checkout code + uses: actions/checkout@v3 + + - name: Setup Java + uses: actions/setup-java@v2 + with: + java-version: '21' + java-package: jdk + distribution: 'adopt' + + - name: Make gradle executable + run: chmod +x ./gradlew + + - name: Build + id: build + run: ./gradlew --warning-mode all check build -x test -x integrationTest + + - name: Publish snapshot + env: + JAVA_OPTS: -Xmx2g -Dorg.gradle.daemon=false + ORG_GRADLE_PROJECT_mavenCentralUsername: '${{ secrets.FLOW_JVM_SDK_SONATYPE_USERNAME }}' + ORG_GRADLE_PROJECT_mavenCentralPassword: '${{ secrets.FLOW_JVM_SDK_SONATYPE_PASSWORD }}' + ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.FLOW_JVM_SDK_SIGNING_KEY }} + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.FLOW_JVM_SDK_SIGNING_PASSWORD }} + + run: | + if [[ "${{ secrets.FLOW_JVM_SDK_CICD_PUBLISH_ENABLED }}" != "true" ]]; + then + exit 0; + fi + ./gradlew \ + -Psigning.key="${{ secrets.FLOW_JVM_SDK_SIGNING_KEY }}" \ + -Psigning.password="${{ secrets.FLOW_JVM_SDK_SIGNING_PASSWORD }}" \ + publishToMavenCentral --no-configuration-cache diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index 85e102ed8..1c13deb33 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -1,17 +1,41 @@ import com.google.protobuf.gradle.* +import com.vanniktech.maven.publish.SonatypeHost +fun getProp(name: String, defaultValue: String? = null): String? { + return project.findProperty("flow.$name")?.toString()?.trim()?.ifBlank { null } + ?: project.findProperty(name)?.toString()?.trim()?.ifBlank { null } + ?: defaultValue +} + +// configuration variables +val defaultGroupId = "org.onflow" +val defaultVersion = "1.0.0" + +group = getProp("groupId", defaultGroupId)!! +version = when { + getProp("version") !in setOf("unspecified", null) -> { getProp("version")!! } + getProp("snapshotDate") != null -> { "${defaultVersion.replace("-SNAPSHOT", "")}.${getProp("snapshotDate")!!}-SNAPSHOT" } + else -> { defaultVersion } +} plugins { id("com.google.protobuf") version "0.8.15" + kotlin("jvm") version "1.9.22" `java-library` `maven-publish` signing id("io.github.gradle-nexus.publish-plugin") version "1.0.0" + id ("com.vanniktech.maven.publish") version "0.28.0" } val protobufVersion = "3.14.0" val grpcVersion = "1.35.0" +java { + sourceCompatibility = JavaVersion.VERSION_20 + targetCompatibility = JavaVersion.VERSION_20 +} + protobuf { protoc { artifact = "com.google.protobuf:protoc:$protobufVersion" @@ -44,40 +68,44 @@ nexusPublishing { } } -publishing { - publications { - create("mavenJava") { - from(components["java"]) - - pom { - licenses { - license { - name.set("The Apache License, Version 2.0") - url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") - } - } - name.set(project.name) +mavenPublishing { + publishToMavenCentral(SonatypeHost.DEFAULT, true) + + coordinates(group.toString(), "flow-jvm-sdk", version.toString()) + + signAllPublications() + + pom { + licenses { + license { + name.set("The Apache License, Version 2.0") + url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + } + } + name.set(project.name) + url.set("https://onflow.org") + description.set("The Flow Blockchain") + scm { + url.set("https://github.com/onflow/flow") + connection.set("scm:git:git@github.com/onflow/flow.git") + developerConnection.set("scm:git:git@github.com/onflow/flow.git") + } + developers { + developer { + name.set("Flow Developers") url.set("https://onflow.org") - description.set("The Flow Blockchain") - scm { - url.set("https://github.com/onflow/flow") - connection.set("scm:git:git@github.com/onflow/flow.git") - developerConnection.set("scm:git:git@github.com/onflow/flow.git") - } - developers { - developer { - name.set("Flow Developers") - url.set("https://onflow.org") - } - } } } } } signing { - useGpgCmd() //use gpg2 - sign(publishing.publications["mavenJava"]) + if (getProp("signing.key") != null) { + useInMemoryPgpKeys(getProp("signing.key"), getProp("signing.password")) + } else { + useGpgCmd() + } + sign(publishing.publications) } sourceSets { @@ -97,16 +125,7 @@ java { withSourcesJar() } -tasks.compileJava { - sourceCompatibility = "1.8" - targetCompatibility = "1.8" -} - repositories { mavenCentral() } -group = "org.onflow" - -// TODO - grab version from Git -version = "0.21" diff --git a/protobuf/gradle/wrapper/gradle-wrapper.properties b/protobuf/gradle/wrapper/gradle-wrapper.properties index 2a563242c..a59520664 100644 --- a/protobuf/gradle/wrapper/gradle-wrapper.properties +++ b/protobuf/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From e7d036c4e48d4a05a4e26c32210e7915376c28ea Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 6 Jun 2024 09:53:19 -0700 Subject: [PATCH 329/626] Misc protocol updates --- .../2024-06-07-Flow-Sprint-Kickoff.md | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index 2f010287c..7f31cf93a 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -130,13 +130,21 @@ Objective 3: Analyze execution runtime trends and risks to plan next set of scal ### **Core Protocol** \[Jerome] Cycle Objective(s): -* Translate crypto performance improvements to consensus block rate increase [DONE] * Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node -* Reduce CPU usage on Execution node by 30% +* Reduce CPU usage on Execution node by 30% [GOAL MODIFIED] +* Translate crypto performance improvements to consensus block rate increase [DONE] * Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] **Done last Sprint:** + +* EFM Recovery + - Continued https://github.com/onflow/flow-go/issues/5727 + - [Continued Epoch manager QC voting changes](https://github.com/onflow/flow-go/issues/5733) (implementing tests) + - Ongoing review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) + - [EpochRecover service event processing](https://github.com/onflow/flow-go/issues/5727) + * Data Availability: + - [Started RegistersDB pruning design](https://github.com/onflow/flow-go/issues/5761) - KROK Team - Fix event hashing CCF ([PR #53](https://github.com/onflow/rosetta/pull/53), [PR #62](https://github.com/onflow/rosetta/pull/62)) - Add indexed height to API response metadata ([PR #5832](https://github.com/onflow/flow-go/pull/5832)) @@ -146,16 +154,22 @@ Cycle Objective(s): - KROK Team - [Finish Rosetta event hash check](https://github.com/onflow/rosetta/issues/41) +* Other: + - Started high level 2-pager of public roadmap & vision for protocol decentralization & permissionless consensus on Flow + - Resumed detailed technical content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. + **This sprint** * EFM Recovery - Finish https://github.com/onflow/flow-go/issues/5727 - [Finish Epoch manager QC voting changes](https://github.com/onflow/flow-go/issues/5733) (implementing tests) - Ongoing review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) - - [Start Blocktime controller EFM changes])(https://github.com/onflow/flow-go/issues/5732) + - [Blocktime controller EFM changes])(https://github.com/onflow/flow-go/issues/5732) + - [`epochs.FallbackStateMachine` only tolerates narrow unexpected behaviour](https://github.com/onflow/flow-go/issues/6018) + - [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) * Data Availability: - - Complete RegistersDB pruning design, start on protocol db design + - [Complete RegistersDB pruning design, start on protocol db design](https://github.com/onflow/flow-go/issues/5761) - Continue redeploy of local index and script exec on QN bare metal instances - KROK Team - Fix retries when using preferred-execution-nodes list ([Issue #5810](https://github.com/onflow/flow-go/issues/5810) - PR in review) @@ -169,11 +183,14 @@ Cycle Objective(s): - SPoCK aggregation: deeper look at the KOSK model - content piece on secure enclaves -* Rosetta: - - Update rosetta for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) +* Rosetta (KROK Team): + - Last items Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) + +* Other: + - Complete high level 2-pager of public roadmap & vision for protocol decentralization & permissionless consensus on Flow + - Continue content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. **On Hold** -* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. * Implement BFT mitigations to enable 20 permissionless ANs **Active Epics** From deefd03fd6359d2cb5330f85c6461ca0312efee2 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 6 Jun 2024 16:55:35 -0600 Subject: [PATCH 330/626] Update infra section --- .../2024-06-07-Flow-Sprint-Kickoff.md | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index 7f31cf93a..e0a8c6d30 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -310,12 +310,36 @@ Cycle Objective(s): **Done last sprint** +**CloudFlare Migration** +- [Created workflows for deploying CAST to Cloud Run](https://github.com/onflow/CAST/pull/28) +- [Created infrastructure for running CAST on Cloud Run](https://github.com/dapperlabs/flow-devex-infrastructure/pull/155) +- Backed up resources from CAST Cluster +- Continued working with reps to get quotes for new plan + +**Node Hosting** +- [Update Mainnet AN instance sizes](https://github.com/dapperlabs/terraform/pull/4246) +- Reclaim disk space through CDP deletion on Mainnet DL nodes +- Reclaim disk space through CDP deletion on Previewnet nodes + +**Sporks** +- [Scale down Devnet49 & Snapshot disks](https://github.com/dapperlabs/terraform/pull/4251) + +**EVM Gateway** +- [Create bucket for execution traces](https://github.com/dapperlabs/terraform/pull/4258) +- [Add rate limiting support to EVM Gateway](https://github.com/dapperlabs/dapper-flow-hosting/pull/1509) + +**Support** +- [Remove unnecessary scrape job from Prometheus](https://github.com/dapperlabs/dapper-flow-hosting/pull/1518) +- [Remove Krok instance](https://github.com/dapperlabs/terraform/pull/4255) +- Assist with creation and configuration isolated Devnet EN for testing +- Assist with creation and configuration isolated Mainnet EN for testing +- Assist with configuration of script execution on Studio nodes + **Goal of this Sprint is to continue migration efforts** **This Sprint** +- Assist with migration and spork prep efforts - Continue removing dependencies on CloudFlare & assist with account creation - Continue assisting with DevEx migration to Cloud Run -- Improve synthetic alerting -- Assist with migration and spork prep efforts --- From e4a579b8463bc260340f06a229d235ea595f4aba Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 6 Jun 2024 16:45:55 -0700 Subject: [PATCH 331/626] Minor correction --- agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index e0a8c6d30..4038d0024 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -152,7 +152,7 @@ Cycle Objective(s): * Rosetta: - KROK Team - - [Finish Rosetta event hash check](https://github.com/onflow/rosetta/issues/41) + - [Rosetta event hash check](https://github.com/onflow/rosetta/issues/41) * Other: - Started high level 2-pager of public roadmap & vision for protocol decentralization & permissionless consensus on Flow From 8915ddc8f0e7ac4a5030ceec9efe7cfcc885509a Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 7 Jun 2024 08:11:23 +0200 Subject: [PATCH 332/626] Cadence wg update --- .../2024-06-07-Flow-Sprint-Kickoff.md | 122 +++++++++++++++++- 1 file changed, 116 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index 4038d0024..0cef83392 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -2,7 +2,12 @@ ### Team Wins 🎉 -- +- Crescendo migration - is now deterministic + all remaining blockers are completed. +- Fixes EVM Gateway stability issue (intermittent request timeouts). +- Completed development of EVM trace debug endpoint, unblocking EVM integrators after deployed on previewnet. +- Published [Crescendo bug bounty](https://flow.com/bounty-program). +- Transaction audit mode ready to be deployed on Mainnet next week (Tue) via HCU. +- Resumed Storehouse testing using new Unstaked EN (executing latest MN blocks). ### General updates @@ -77,15 +82,124 @@ Cycle Objective(s): **Done last sprint** +State migration for Crescendo release +- Features + - Transaction audit / failure mode for missing staged contract + - [Add dependency audit contract](https://github.com/onflow/contract-updater/pull/33) + - [Enable dependency check for all networks](https://github.com/onflow/flow-go/pull/6026) + - Metering values migrated per contract + - [Report migration metrics](https://github.com/onflow/flow-go/pull/5988) + - [Report storage traversing errors during metrics collection](https://github.com/onflow/flow-go/pull/5997) + - [Report additional logs in metrics migration](https://github.com/onflow/flow-go/pull/6024) +- Fixes + - [Migration problems](https://github.com/onflow/cadence/issues/3366) + - [Assert migration order](https://github.com/onflow/flow-go/pull/5977) + - [Make more parts of the migration deterministic](https://github.com/onflow/flow-go/pull/5979) + - [Remove incorrect caching from migrations](https://github.com/onflow/cadence/pull/3375) + - [Improve dictionary key migration](https://github.com/onflow/cadence/pull/3386) + - [Use Cadence func to decide which testnet data to fix during atree migration](https://github.com/onflow/flow-go/pull/6038) +- Improvement + - Cadence 1.0 migration optimization: + - [Cache results of static types migration and entitlements migration](https://github.com/onflow/cadence/pull/3396) + - [Use errgroup for concurrent account migration](https://github.com/onflow/flow-go/pull/5986) + - [Improve dictionary value migration](https://github.com/onflow/cadence/pull/3381) + - Atree inlining migration optimization: + - [Port predicate func from PR 3300 to feature/atree-register-inlining-v0.42](https://github.com/onflow/cadence/pull/3394) +- Tooling + - [Update the storage explorer to the latest version of flow-go](https://github.com/onflow/cadence/pull/3374) + - [Add command to diff states](https://github.com/onflow/flow-go/pull/5970) + +Cadence Language +- Improvements + - [Update to Go 1.22](https://github.com/onflow/cadence/pull/3393) + - Circle unblocker: [Allow removing type declarations from contracts](https://github.com/onflow/cadence/issues/3210) + - [Allow types to be removed in contract updates](https://github.com/onflow/cadence/pull/3376) + - [Move operator (<-) has higher precedence than the casting operator (v as! T)](https://github.com/onflow/cadence/issues/3372) + - [Forbid interface removals](https://github.com/onflow/cadence/pull/3380) + - [Remove stacktrace from errors](https://github.com/onflow/cadence/pull/3392) + - [Improve update tool](https://github.com/onflow/cadence/pull/3395) +- Bugfix + - [Fix error message](https://github.com/onflow/cadence/pull/3379) + - [Don't short circuit references on member access when entitlements are involved](https://github.com/onflow/cadence/pull/3387) +- Docs + - [Document new `#removedType` pragma](https://github.com/onflow/cadence-lang.org/pull/107) + - [Explain why conformance removal is not allowed](https://github.com/onflow/cadence-lang.org/pull/108) + - [Improve explanation on interface removal restriction](https://github.com/onflow/cadence-lang.org/pull/109) + +Cadence Execution +- Unstaked EN (Execution testing) + - improve execution speed of unstaked EN + - [Add get full collection by id api](https://github.com/onflow/flow-go/pull/5910) + - [Add GRPC requester to fetch collections](https://github.com/onflow/flow-go/pull/5961) + - [Add get full collection support](https://github.com/onflow/flow-emulator/pull/681) + - [Increase guarantee buffer](https://github.com/onflow/flow-go/pull/6011) +- Improvements + - [Update to Go 1.22](https://github.com/onflow/flow-go/pull/6037) + - DL EN Crash investigation: [Add more information to panic](https://github.com/onflow/flow-go/pull/6003) + - [Check checkpoint has only 1 trie before importing](https://github.com/onflow/flow-go/pull/6032) +- chores + - Spork/HCU prep: [1](https://github.com/onflow/flow-go/pull/5975), [2](https://github.com/onflow/flow-go/pull/6022), [3](https://github.com/onflow/flow-go/pull/6034) + - Migration preperation - dependency updates + - Cadence: [1](https://github.com/onflow/cadence/pull/3378), [2](https://github.com/onflow/cadence/pull/3383), [3](https://github.com/onflow/cadence/pull/3390) + - Flow-go: [1](https://github.com/onflow/flow-go/pull/5987), [2](https://github.com/onflow/flow-go/pull/5993), [3](https://github.com/onflow/flow-go/pull/6029), [4](https://github.com/onflow/flow-go/pull/6031) + - Flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/pull/670), [2](https://github.com/onflow/flow-go-sdk/pull/672), [3](https://github.com/onflow/flow-go-sdk/pull/677), [4](https://github.com/onflow/flow-go-sdk/pull/678), [5](https://github.com/onflow/flow-go-sdk/pull/679) + - Cadence-tools: [1](https://github.com/onflow/cadence-tools/pull/373), [2](https://github.com/onflow/cadence-tools/pull/374), [3](https://github.com/onflow/cadence-tools/pull/375), [4](https://github.com/onflow/cadence-tools/pull/378), [5](https://github.com/onflow/cadence-tools/pull/379), [6](https://github.com/onflow/cadence-tools/pull/380) + - Emulator: [1](https://github.com/onflow/flow-emulator/pull/684), [2](https://github.com/onflow/flow-emulator/pull/687) + - Flowkit: [1](https://github.com/onflow/flowkit/pull/57), [2](https://github.com/onflow/flowkit/pull/60) + - Flixkit-go: [1](https://github.com/onflow/flixkit-go/pull/67), [2](https://github.com/onflow/flixkit-go/pull/69) + - EVM Gateway: [1](https://github.com/onflow/flow-evm-gateway/pull/276), [2](https://github.com/onflow/flow-evm-gateway/pull/280) + - CLI: [1](https://github.com/onflow/flow-cli/pull/1631), [2](https://github.com/onflow/flow-cli/pull/1638) +- Atree + - Docs: [Update comment for NondeterministicFastCommit](https://github.com/onflow/atree/pull/412) +- Testing + - [Fixing test case](https://github.com/onflow/flow-go/pull/6039) + - [Add EVM batch.run load test](https://github.com/onflow/flow-go/issues/5745) + - [Add new TPS loader load type: EVM batch transfer](https://github.com/onflow/flow-go/pull/5879) + +EVM Core +- Feature + - [Support for transactions debug](https://github.com/onflow/flow-go/issues/5952) + - [Transaction tracer support ](https://github.com/onflow/flow-go/pull/6016) +- Improvement + - [TotalGasUsed is 0 for blocks with direct calls and batch txs](https://github.com/onflow/flow-go/issues/5951) + - [Calculate EVM.BlockExecuted.TotalGasUsed for Tx batch runs and COA calls](https://github.com/onflow/flow-go/pull/6015) + - [Add the `GetErrorForCode` helper method](https://github.com/onflow/flow-go/pull/5907) + - [EVM setup cleanup](https://github.com/onflow/flow-go/pull/5978) + +EVM Gateway +- Feature + - transaction pool (handling of pending transactions) + - [Empty transaction pool](https://github.com/onflow/flow-evm-gateway/pull/259) + - [Report Cadence transaction status](https://github.com/onflow/flow-evm-gateway/pull/270) + - [Websocket rate-limiting](https://github.com/onflow/flow-evm-gateway/issues/265) + - [Allow configuring heartbeat interval](https://github.com/onflow/flow-evm-gateway/pull/261) + - cross-spork support + - [Cross-spork client checks for boundaries](https://github.com/onflow/flow-evm-gateway/pull/263) +- [Make websocket support configurable](https://github.com/onflow/flow-evm-gateway/pull/266) +- Improvements + - [Improve logging](https://github.com/onflow/flow-evm-gateway/pull/262) + - [Requester accept EVM height](https://github.com/onflow/flow-evm-gateway/pull/268) + - [Overwrite source address with logging](https://github.com/onflow/flow-evm-gateway/pull/272) + - [Add request limits for JSON-RPC batch calls](https://github.com/onflow/flow-evm-gateway/pull/277) +- Bugfixes + - [Bugfix deadlock in the code](https://github.com/onflow/flow-evm-gateway/pull/269) +- Testing + - [Improve tests for batched transactions](https://github.com/onflow/flow-evm-gateway/pull/239) + - [Remove logging of user errors](https://github.com/onflow/flow-evm-gateway/pull/271) +- Docs + - [Added migration net to readme](https://github.com/onflow/flow-evm-gateway/pull/275) + **This sprint** DONE: Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades -* All breaking changed released in a new CLI: v1.18.0-cadence-v1.0.0-preview.24 +* All breaking changed released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 IN PROGRESS: Objective 1, KR4: Testnet Upgrade to Crescendo Release * Completed Testnet migration with both Atree inlining and Cadence 1.0. * Completed [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) production readiness EPICs. * Continue work on migration optimizations. +* Investigate / Fix any security report incoming from bug bounty. +* Finish implementation of remaining EVM Gateway blockers: [1](https://github.com/onflow/flow-evm-gateway/issues/250), [2](https://github.com/onflow/flow-go/issues/5983) IN PROGRESS: Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN * Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) @@ -98,10 +212,6 @@ ON HOLD: Objective 3: Analyze execution runtime trends and risks to plan next se ON HOLD: * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) -IN PROGRESS: EVM GW stability - investigating - -ON HOLD: EVM GW Debug endpoint implementation - Cadence 1.0 Contract updates - [Continue working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) - More reviews of bridge PRs and Cadence 1.0 changes From 853bd651e61fd9055a5154b11c8de7ee39e9e794 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 7 Jun 2024 08:13:44 +0200 Subject: [PATCH 333/626] Cadence wg update fixes --- .../sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index 0cef83392..35f81e862 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -98,7 +98,7 @@ State migration for Crescendo release - [Remove incorrect caching from migrations](https://github.com/onflow/cadence/pull/3375) - [Improve dictionary key migration](https://github.com/onflow/cadence/pull/3386) - [Use Cadence func to decide which testnet data to fix during atree migration](https://github.com/onflow/flow-go/pull/6038) -- Improvement +- Improvements - Cadence 1.0 migration optimization: - [Cache results of static types migration and entitlements migration](https://github.com/onflow/cadence/pull/3396) - [Use errgroup for concurrent account migration](https://github.com/onflow/flow-go/pull/5986) @@ -118,7 +118,7 @@ Cadence Language - [Forbid interface removals](https://github.com/onflow/cadence/pull/3380) - [Remove stacktrace from errors](https://github.com/onflow/cadence/pull/3392) - [Improve update tool](https://github.com/onflow/cadence/pull/3395) -- Bugfix +- Bugfixes - [Fix error message](https://github.com/onflow/cadence/pull/3379) - [Don't short circuit references on member access when entitlements are involved](https://github.com/onflow/cadence/pull/3387) - Docs @@ -160,14 +160,14 @@ EVM Core - Feature - [Support for transactions debug](https://github.com/onflow/flow-go/issues/5952) - [Transaction tracer support ](https://github.com/onflow/flow-go/pull/6016) -- Improvement +- Improvements - [TotalGasUsed is 0 for blocks with direct calls and batch txs](https://github.com/onflow/flow-go/issues/5951) - [Calculate EVM.BlockExecuted.TotalGasUsed for Tx batch runs and COA calls](https://github.com/onflow/flow-go/pull/6015) - [Add the `GetErrorForCode` helper method](https://github.com/onflow/flow-go/pull/5907) - [EVM setup cleanup](https://github.com/onflow/flow-go/pull/5978) EVM Gateway -- Feature +- Features - transaction pool (handling of pending transactions) - [Empty transaction pool](https://github.com/onflow/flow-evm-gateway/pull/259) - [Report Cadence transaction status](https://github.com/onflow/flow-evm-gateway/pull/270) @@ -181,7 +181,7 @@ EVM Gateway - [Requester accept EVM height](https://github.com/onflow/flow-evm-gateway/pull/268) - [Overwrite source address with logging](https://github.com/onflow/flow-evm-gateway/pull/272) - [Add request limits for JSON-RPC batch calls](https://github.com/onflow/flow-evm-gateway/pull/277) -- Bugfixes +- Bugfix - [Bugfix deadlock in the code](https://github.com/onflow/flow-evm-gateway/pull/269) - Testing - [Improve tests for batched transactions](https://github.com/onflow/flow-evm-gateway/pull/239) From 4915dd68dcf6293fc50308c587c370234ea061f6 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 7 Jun 2024 08:23:11 -0700 Subject: [PATCH 334/626] UX Updates --- .../2024-06-07-Flow-Sprint-Kickoff.md | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index 35f81e862..ad427aef7 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -8,6 +8,11 @@ - Published [Crescendo bug bounty](https://flow.com/bounty-program). - Transaction audit mode ready to be deployed on Mainnet next week (Tue) via HCU. - Resumed Storehouse testing using new Unstaked EN (executing latest MN blocks). +- Flow Port updates: Fungible transfers, onboarding and bridging, Dynamic FLOW token transfers +- Fixed public key indexer incremental and bulk loading +- First round of reports for incorrect public function exposure for Cadence 1.0 was sent. We’re set to run this tool every week hoping to plug security holes +- Got all the basic Cadence Tutorials updated to Cadence 1.0 + ### General updates @@ -349,6 +354,33 @@ Cycle Objective(s): **Done last sprint** +**Crescendo Rewards** +- Deployed Crescendo Rewards BE to cloudrun +- Setup next application with component library: https://github.com/onflow/crescendo-rewards/issues/2 +- Create header component: https://github.com/onflow/crescendo-rewards/issues/3 +- Create total rewards component with mock data: https://github.com/onflow/crescendo-rewards/issues/4 +- Create days until launch component: https://github.com/onflow/crescendo-rewards/issues/5 +- Create leaderboard component with mock data: https://github.com/onflow/crescendo-rewards/issues/6 +- Create navigation and hook up routes: https://github.com/onflow/crescendo-rewards/issues/7 +- Create home page: https://github.com/onflow/crescendo-rewards/issues/8 +- Create rewards page: https://github.com/onflow/crescendo-rewards/issues/9 +- Create rewards earned component with mock data: https://github.com/onflow/crescendo-rewards/issues/10 +- Create lock more component with mock data: https://github.com/onflow/crescendo-rewards/issues/11 +- Create partner page with mock data: https://github.com/onflow/crescendo-rewards/issues/12 +- Create partner card component with mock data: https://github.com/onflow/crescendo-rewards/issues/13 +- Setup fastify server: https://github.com/onflow/crescendo-rewards-be/issues/2 +- Setup drizzle orm with postgres: https://github.com/onflow/crescendo-rewards-be/issues/3 +**Flow Port** +Flow Port, FLOW transfers https://github.com/onflow/flow-port/issues/289 +Flow Port, FLOW Token balances, https://github.com/onflow/flow-port/issues/285 +**Docs** +- Updated basic Cadence tutorials to 1.0: https://github.com/onflow/docs/issues/769 +**Misc Bugs and Issues** +- Bug: fix preview chain not known https://github.com/onflow/flow-cli/issues/1592 +- "Commit" broken in flow version https://github.com/onflow/flow-cli/issues/1639 +- Cadence plugin failed to be activated in the latest VSCode https://github.com/onflow/vscode-cadence/issues/626 +- Cannot start EVM gateway https://github.com/onflow/flow-cli/issues/1620 +- Fix for CLI Version https://github.com/onflow/flow-cli/issues/1626 **This sprint** **Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, FCL x WalletConnect Improvements, Crescendo Rewards** @@ -356,8 +388,12 @@ Cycle Objective(s): - [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) - [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) - [EPIC] Flow EVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) -- [EPIC]: Update Flow port for Cadence v1.0 instance [#279](https://github.com/onflow/flow-port/issues/279) +- [EPIC] Update Flow port for Cadence v1.0 instance [#279](https://github.com/onflow/flow-port/issues/279) - [EPIC] FCL WalletConnect Improvements https://github.com/onflow/fcl-js/issues/1872 +- [EPIC] Crescendo Rewards Portal + - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) + - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) + - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) #### Smart Contract WG From e3e2fc9ee0f44c83eca15d6c1909fb996a439284 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 7 Jun 2024 17:53:55 +0200 Subject: [PATCH 335/626] Update 2024-06-07-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index ad427aef7..f8a02039d 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -8,6 +8,7 @@ - Published [Crescendo bug bounty](https://flow.com/bounty-program). - Transaction audit mode ready to be deployed on Mainnet next week (Tue) via HCU. - Resumed Storehouse testing using new Unstaked EN (executing latest MN blocks). +- Updated Ledger app audit approved by 3rd-party reviewer. - Flow Port updates: Fungible transfers, onboarding and bridging, Dynamic FLOW token transfers - Fixed public key indexer incremental and bulk loading - First round of reports for incorrect public function exposure for Cadence 1.0 was sent. We’re set to run this tool every week hoping to plug security holes From b2bbd65cd6d3e98806484d5e6afafc80baf77e21 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 7 Jun 2024 09:06:49 -0700 Subject: [PATCH 336/626] Added crypto updates --- .../2024-06-07-Flow-Sprint-Kickoff.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index f8a02039d..92887014a 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -14,8 +14,6 @@ - First round of reports for incorrect public function exposure for Cadence 1.0 was sent. We’re set to run this tool every week hoping to plug security holes - Got all the basic Cadence Tutorials updated to Cadence 1.0 - - ### General updates ### OOO @@ -270,6 +268,11 @@ Cycle Objective(s): - KROK Team - [Rosetta event hash check](https://github.com/onflow/rosetta/issues/41) +* Cryptography: + - SPoCK aggregation: looked into zk KOSK and its role in the security proof + - Reviewed crypto updates on go v1.22 and update the crypto repo + - Reviewed last details on EVM randomness + * Other: - Started high level 2-pager of public roadmap & vision for protocol decentralization & permissionless consensus on Flow - Resumed detailed technical content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. @@ -296,8 +299,7 @@ Cycle Objective(s): - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017)) * Cryptography: - - SPoCK aggregation: deeper look at the KOSK model - - content piece on secure enclaves + - SPoCK aggregation: from BLS security proof to BLS aggregation security proof (more than a sprint) * Rosetta (KROK Team): - Last items Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) @@ -325,14 +327,16 @@ Cycle Objective(s): Cycle Objective(s): - Resolving Circle's existing engineering improvements for USDC on Flow - Cadence 1.0 DEX Prep - IncrementFi -- EVM partner onboarding: Pyth, DeBridge, Covalent, Etherscan -- Deliver Axelar bridge +- EVM partner onboarding: Moralis, Covalent, Ankr +- Deliver Axelar bridge [PAUSED] **Done last sprint** * PR to backfill of missing crypto algos to JVM SDK ready for review +* Reviewed BLS PR for JVM-SDK **This sprint** * Backfill missing API methods to JVM SDK +* Review of new hash additions PR for JVM-SDK **On Hold** - Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing From e5d8d00f8ca5603b03e23f2092995c54933ab892 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 7 Jun 2024 09:13:34 -0700 Subject: [PATCH 337/626] Added missing rosetta updates --- .../sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index 92887014a..38554ba7b 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -267,6 +267,8 @@ Cycle Objective(s): * Rosetta: - KROK Team - [Rosetta event hash check](https://github.com/onflow/rosetta/issues/41) + - DistributedLab + - Completed initial review of Rosetta for EVM on Flow * Cryptography: - SPoCK aggregation: looked into zk KOSK and its role in the security proof @@ -301,9 +303,12 @@ Cycle Objective(s): * Cryptography: - SPoCK aggregation: from BLS security proof to BLS aggregation security proof (more than a sprint) -* Rosetta (KROK Team): - - Last items Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) - +* Rosetta: + - KROK: + - Last items Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) + - DistributedLab: + - Continue with remaining updates for Rosetta for EVM on Flow + * Other: - Complete high level 2-pager of public roadmap & vision for protocol decentralization & permissionless consensus on Flow - Continue content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. @@ -333,6 +338,7 @@ Cycle Objective(s): **Done last sprint** * PR to backfill of missing crypto algos to JVM SDK ready for review * Reviewed BLS PR for JVM-SDK +* Onboarding kickoff meeting for ANKR for Liquid Staking on EBM **This sprint** * Backfill missing API methods to JVM SDK From c770746ecfba8970c449df6a2f7051ce321a05ee Mon Sep 17 00:00:00 2001 From: Jeff Doyle Date: Fri, 7 Jun 2024 09:26:44 -0700 Subject: [PATCH 338/626] Update 2024-06-07-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index 38554ba7b..b7ee7d536 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -447,8 +447,16 @@ Cycle Objective(s): **Done last sprint** +- Completed version 2.2 of Flow Wallet with EVM Support! 🎉 + - Releasing early next week **This sprint** + +- Continue to better support Secure Enclave + - User migration from Extension (seed phrase) to mobile (secure enclave) wallet security + - New account creation UI explaining the benefits of SE + - Explain any UI differences between seed phrase / SE wallets + - Profile account recovery - one backup to a users multiple primary accounts **On Hold** From 8ed43097e5e50054ba5714ab3d332cfacc8f2e51 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 7 Jun 2024 09:33:41 -0700 Subject: [PATCH 339/626] Update 2024-06-07-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index b7ee7d536..3fffadea8 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -27,9 +27,9 @@ |:------------------------|:------:|:-------------:|:-----------------:| | Collection Finalization | 99.9% | 100% | 0% | | Block Finalization | 99.9% | 100% | 0% | -| Transaction Execution | 99.9% | 99.95% | 49.6% | +| Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.919% | 81.0% | +| Access API Liveness | 99.9% | 100% | 0% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) @@ -37,7 +37,8 @@ ## Incidents -## Core protocol incidents +None + ### Mainnet @@ -47,8 +48,10 @@ ### Key Release Dates & Breaking Changes - Next Mainnet/Testnet network upgrade (spork): + - Testnet and mainnet HCU next week. - Testnet: 20th June 2024 - - Mainnet: 29th July 2024 + - Mainnet: 31st July 2024 + --- ### FLIPs Tracker \[Kshitij] From b5a438b7a332c02b2ef5de4890aa4322142ad4e1 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 7 Jun 2024 22:17:50 +0530 Subject: [PATCH 340/626] Update 2024-06-07-Flow-Sprint-Kickoff.md FLIP updates --- .../sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index 3fffadea8..d309af355 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -58,17 +58,17 @@ None | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 7 (+1) | 8 | 0 (-1) | 7 | **22** | -| Proposed | 1 | 2 | 3 (+1) | 0 | **6** (+1) | -| Accepted | 2 | 1 | 1 | 1 | **5** | +| Drafted | 7 | 9 (+1) | 0 | 7 | **23** (+1) | +| Proposed | 1 | 2 | 2 (-1) | 0 | **5** (-1) | +| Accepted | 2 | 1 | 2 (+1 | 1 | **6** (+1) | | Rejected | 0 | 0 | 1 | 0 | **1** | | Implemented | 3 | 21 | 2 | 1 | **7** | | Released | 4 | 0 | 3 | 6 | **13** | -| Total | **17** (+1) | **32** | **10** (+1) | **15** | **74** (+1) | +| Total | **17** | **33** (+1) | **10** | **15** | **75** (+1) | **Updates** -* [Application] - FLIP 270: FCL `ServiceProvider` v1.1.0 (new) -* [Governance] - 5X Computation Limit Hike (moved from drafted to proposed) +* [Cadence] - Type Removal In Contract Updates (FLIP 275) was drafted +* [Governance] - Computation Limit hike (FLIP 267) was accepted --- From 1dcfbf511ab0445409d0f15bcdfa526f20e3f0bf Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 7 Jun 2024 22:24:37 +0530 Subject: [PATCH 341/626] Update 2024-06-07-Flow-Sprint-Kickoff.md + governance updates --- .../2024-06-07-Flow-Sprint-Kickoff.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index d309af355..637a910e2 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -515,16 +515,19 @@ Cycle Objective(s): Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** +- Kicked off Flowty's consensus node and 4 FF nodes - all operated via Figment +- Computation limit FLIP discussed and accepted +- Transaction fee partner impact discussion with working group leaders and partners. See [go/no-go doc](https://www.notion.so/flowfoundation/Go-No-go-on-transaction-fee-100x-15e70eebe0254aefb4bf78bf901edc75) +- Data crunching for post-Crescendo fee estimates for typical NFT transfer. See [sheet](https://docs.google.com/spreadsheets/d/1XRZD65Ni9CaSNbcWYERdLRwf85ALN5ArBOYFV1LV9LY/edit#gid=0) +- Governance monthly working group meeting **This sprint** -- Set up 3 FF nodes via Figment -- Onboard Doodles and Cryptotoys as SN operators -- Kick off Flowty's consensus node -- Assess decentralization situation and the way forward -- Review, finalize and take a decision on computation limit FLIP -- Transaction fee partner impact discussion and way forward with FF leadership +- Work with Doodles, Cryptotoys and Edgevana for new nodes; Blockdaemon for continued operations via lease formalization +- Work on node operator branding and logos with .find team +- Finalize and publish Flow EVM documentation on docsite +- Discussion and decision on txn fee hike timeline - R&D and planning with Dete on post Crescendo surge pricing -- Continue working on node operator branding and logos with .find team +- Plan next cycle OKRs for governance **On Hold** From f0031609cae45183f8d91170b9a980450784eef8 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 7 Jun 2024 18:58:46 +0200 Subject: [PATCH 342/626] Update 2024-06-07-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index 637a910e2..94bcec5a1 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -3,7 +3,7 @@ ### Team Wins 🎉 - Crescendo migration - is now deterministic + all remaining blockers are completed. -- Fixes EVM Gateway stability issue (intermittent request timeouts). +- EVM Gateway stability issue is fixed (intermittent request timeouts). - Completed development of EVM trace debug endpoint, unblocking EVM integrators after deployed on previewnet. - Published [Crescendo bug bounty](https://flow.com/bounty-program). - Transaction audit mode ready to be deployed on Mainnet next week (Tue) via HCU. From 723c20a8113a9512f126d9ed8c96bc0e48e6a0ec Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 7 Jun 2024 10:03:14 -0700 Subject: [PATCH 343/626] Update 2024-06-07-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md index 94bcec5a1..0ef649d6f 100644 --- a/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-07-Flow-Sprint-Kickoff.md @@ -21,7 +21,7 @@ --- -### Mainnet Uptime - Last 14 days (xx/yy/24 to xx/yy/24) \[Vishal] +### Mainnet Uptime - Last 14 days (05/25/24 to 06/07/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| From 1e0e3093440520f43bfce217ec6d6dd997d6eb69 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 22:13:00 +0900 Subject: [PATCH 344/626] Setting up CICD for JVM release --- protobuf/build.gradle.kts | 88 +++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 46 deletions(-) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index 1c13deb33..9e8b08cf8 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -19,7 +19,7 @@ version = when { } plugins { - id("com.google.protobuf") version "0.8.15" + id("com.google.protobuf") version "0.9.4" kotlin("jvm") version "1.9.22" `java-library` `maven-publish` @@ -31,11 +31,52 @@ plugins { val protobufVersion = "3.14.0" val grpcVersion = "1.35.0" +dependencies { + api("com.google.protobuf:protobuf-java:$protobufVersion") + api("io.grpc:grpc-netty-shaded:$grpcVersion") + api("io.grpc:grpc-protobuf:$grpcVersion") + api("io.grpc:grpc-stub:$grpcVersion") + api("javax.annotation:javax.annotation-api:1.3.2") +} + java { sourceCompatibility = JavaVersion.VERSION_20 targetCompatibility = JavaVersion.VERSION_20 } +tasks { + mavenPublishing { + publishToMavenCentral(SonatypeHost.DEFAULT, true) + + coordinates(group.toString(), "flow-jvm-sdk", version.toString()) + + signAllPublications() + + pom { + licenses { + license { + name.set("The Apache License, Version 2.0") + url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") + } + } + name.set(project.name) + url.set("https://onflow.org") + description.set("The Flow Blockchain") + scm { + url.set("https://github.com/onflow/flow") + connection.set("scm:git:git@github.com/onflow/flow.git") + developerConnection.set("scm:git:git@github.com/onflow/flow.git") + } + developers { + developer { + name.set("Flow Developers") + url.set("https://onflow.org") + } + } + } + } +} + protobuf { protoc { artifact = "com.google.protobuf:protoc:$protobufVersion" @@ -54,51 +95,6 @@ protobuf { } } -dependencies { - api("com.google.protobuf:protobuf-java:$protobufVersion") - api("io.grpc:grpc-netty-shaded:$grpcVersion") - api("io.grpc:grpc-protobuf:$grpcVersion") - api("io.grpc:grpc-stub:$grpcVersion") - api("javax.annotation:javax.annotation-api:1.3.2") -} - -nexusPublishing { - repositories { - sonatype() - } -} - -mavenPublishing { - publishToMavenCentral(SonatypeHost.DEFAULT, true) - - coordinates(group.toString(), "flow-jvm-sdk", version.toString()) - - signAllPublications() - - pom { - licenses { - license { - name.set("The Apache License, Version 2.0") - url.set("http://www.apache.org/licenses/LICENSE-2.0.txt") - } - } - name.set(project.name) - url.set("https://onflow.org") - description.set("The Flow Blockchain") - scm { - url.set("https://github.com/onflow/flow") - connection.set("scm:git:git@github.com/onflow/flow.git") - developerConnection.set("scm:git:git@github.com/onflow/flow.git") - } - developers { - developer { - name.set("Flow Developers") - url.set("https://onflow.org") - } - } - } -} - signing { if (getProp("signing.key") != null) { useInMemoryPgpKeys(getProp("signing.key"), getProp("signing.password")) From 24aa4dd097dd56861d1f7ee3713c5bf39b65b961 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 22:16:08 +0900 Subject: [PATCH 345/626] Update groupId --- protobuf/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index 9e8b08cf8..6c9522e5f 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -48,7 +48,7 @@ tasks { mavenPublishing { publishToMavenCentral(SonatypeHost.DEFAULT, true) - coordinates(group.toString(), "flow-jvm-sdk", version.toString()) + coordinates(group.toString(), "flow", version.toString()) signAllPublications() From 023965af975a69de414d57dc54283f00f15d1fee Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 22:22:36 +0900 Subject: [PATCH 346/626] Update GH actions --- .github/workflows/ci-manual-publish-jvm-release.yml | 5 ++++- .github/workflows/ci-manual-publish-jvm-snapshot.yml | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-manual-publish-jvm-release.yml b/.github/workflows/ci-manual-publish-jvm-release.yml index 2cfe23127..5b02fad4f 100644 --- a/.github/workflows/ci-manual-publish-jvm-release.yml +++ b/.github/workflows/ci-manual-publish-jvm-release.yml @@ -25,7 +25,10 @@ jobs: run: echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')" - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v3 + + - name: Change to protobuf directory + run: cd protobuf - name: Setup Java uses: actions/setup-java@v2 diff --git a/.github/workflows/ci-manual-publish-jvm-snapshot.yml b/.github/workflows/ci-manual-publish-jvm-snapshot.yml index 5ca904a38..21e26273e 100644 --- a/.github/workflows/ci-manual-publish-jvm-snapshot.yml +++ b/.github/workflows/ci-manual-publish-jvm-snapshot.yml @@ -25,7 +25,10 @@ jobs: run: echo "::set-output name=date::$(date +'%Y%m%d%H%M%S')" - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v3 + + - name: Change to protobuf directory + run: cd protobuf - name: Setup Java uses: actions/setup-java@v2 From f678fb8f0a5c1b1a0509f233837e42fe7ec8cf52 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 22:37:24 +0900 Subject: [PATCH 347/626] Update GH actions --- .../ci-manual-publish-jvm-release.yml | 5 +-- .../ci-manual-publish-jvm-snapshot.yml | 2 +- .../ci-pull-request-jvm-protobuf.yml | 39 +++++++++++++++++++ 3 files changed, 41 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/ci-pull-request-jvm-protobuf.yml diff --git a/.github/workflows/ci-manual-publish-jvm-release.yml b/.github/workflows/ci-manual-publish-jvm-release.yml index 5b02fad4f..1c9146067 100644 --- a/.github/workflows/ci-manual-publish-jvm-release.yml +++ b/.github/workflows/ci-manual-publish-jvm-release.yml @@ -37,15 +37,12 @@ jobs: java-package: jdk distribution: 'adopt' - - name: Install flow emulator - run: sh -ci "$(curl -fsSL https://storage.googleapis.com/flow-cli/install.sh)" - - name: Make gradle executable run: chmod +x ./gradlew - name: Build id: build - run: ./gradlew --warning-mode all check build -x test -x integrationTest + run: ./gradlew --warning-mode all check build - name: Publish release env: diff --git a/.github/workflows/ci-manual-publish-jvm-snapshot.yml b/.github/workflows/ci-manual-publish-jvm-snapshot.yml index 21e26273e..ef48f1788 100644 --- a/.github/workflows/ci-manual-publish-jvm-snapshot.yml +++ b/.github/workflows/ci-manual-publish-jvm-snapshot.yml @@ -42,7 +42,7 @@ jobs: - name: Build id: build - run: ./gradlew --warning-mode all check build -x test -x integrationTest + run: ./gradlew --warning-mode all check build - name: Publish snapshot env: diff --git a/.github/workflows/ci-pull-request-jvm-protobuf.yml b/.github/workflows/ci-pull-request-jvm-protobuf.yml new file mode 100644 index 000000000..892dbb50c --- /dev/null +++ b/.github/workflows/ci-pull-request-jvm-protobuf.yml @@ -0,0 +1,39 @@ +name: Build Pull Request +on: pull_request + +jobs: + build: + name: Build pull request + runs-on: ubuntu-latest + env: + JAVA_OPTS: -Xmx2g -Dorg.gradle.daemon=false + #services: + # flow-emulator: + # image: gcr.io/flow-container-registry/emulator + # env: + # FLOW_VERBOSE: true + # FLOW_PORT: 3569 + # FLOW_INTERVAL: 5s + # FLOW_PERSIST: false + # ports: + # - 3569:3569 + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Change to protobuf directory + run: cd protobuf + + - name: Setup Java + uses: actions/setup-java@v2 + with: + java-version: '21' + java-package: jdk + distribution: 'adopt' + + - name: Make gradle executable + run: chmod +x ./gradlew + + - name: Build + id: build + run: ./gradlew --warning-mode all check build From e4bfd2993978a03104737099ff52e4256ca54800 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 22:43:46 +0900 Subject: [PATCH 348/626] Update GH actions --- .github/workflows/ci-pull-request-jvm-protobuf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-pull-request-jvm-protobuf.yml b/.github/workflows/ci-pull-request-jvm-protobuf.yml index 892dbb50c..d7abec21a 100644 --- a/.github/workflows/ci-pull-request-jvm-protobuf.yml +++ b/.github/workflows/ci-pull-request-jvm-protobuf.yml @@ -22,7 +22,7 @@ jobs: uses: actions/checkout@v3 - name: Change to protobuf directory - run: cd protobuf + run: cd ./protobuf - name: Setup Java uses: actions/setup-java@v2 From 7c0324df56ef04b9e7ccb8723e0fa4b3cba0af6b Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 22:45:31 +0900 Subject: [PATCH 349/626] Update GH actions --- .github/workflows/ci-pull-request-jvm-protobuf.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/ci-pull-request-jvm-protobuf.yml b/.github/workflows/ci-pull-request-jvm-protobuf.yml index d7abec21a..8043a1b66 100644 --- a/.github/workflows/ci-pull-request-jvm-protobuf.yml +++ b/.github/workflows/ci-pull-request-jvm-protobuf.yml @@ -21,9 +21,6 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Change to protobuf directory - run: cd ./protobuf - - name: Setup Java uses: actions/setup-java@v2 with: @@ -32,7 +29,7 @@ jobs: distribution: 'adopt' - name: Make gradle executable - run: chmod +x ./gradlew + run: chmod +x ./protobuf/gradlew - name: Build id: build From 6950d7cd870aedbef7bf08fd9e97eb3ff3f6430c Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 22:47:33 +0900 Subject: [PATCH 350/626] Update GH actions --- .github/workflows/ci-pull-request-jvm-protobuf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-pull-request-jvm-protobuf.yml b/.github/workflows/ci-pull-request-jvm-protobuf.yml index 8043a1b66..d28272261 100644 --- a/.github/workflows/ci-pull-request-jvm-protobuf.yml +++ b/.github/workflows/ci-pull-request-jvm-protobuf.yml @@ -33,4 +33,4 @@ jobs: - name: Build id: build - run: ./gradlew --warning-mode all check build + run: cd protobuf && ./gradlew --warning-mode all check build From a87af602e55e7b9fbe3809d2efe7a48145b0f3c0 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 22:49:37 +0900 Subject: [PATCH 351/626] Update GH actions --- .github/workflows/ci-manual-publish-jvm-release.yml | 5 +++-- .github/workflows/ci-manual-publish-jvm-snapshot.yml | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-manual-publish-jvm-release.yml b/.github/workflows/ci-manual-publish-jvm-release.yml index 1c9146067..da6710de5 100644 --- a/.github/workflows/ci-manual-publish-jvm-release.yml +++ b/.github/workflows/ci-manual-publish-jvm-release.yml @@ -38,11 +38,11 @@ jobs: distribution: 'adopt' - name: Make gradle executable - run: chmod +x ./gradlew + run: chmod +x ./protobuf/gradlew - name: Build id: build - run: ./gradlew --warning-mode all check build + run: cd protobuf && ./gradlew --warning-mode all check build - name: Publish release env: @@ -53,6 +53,7 @@ jobs: ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.FLOW_JVM_SDK_SIGNING_PASSWORD }} run: | + cd protobuf if [[ "${{ secrets.FLOW_JVM_SDK_CICD_PUBLISH_ENABLED }}" != "true" ]]; then exit 0; diff --git a/.github/workflows/ci-manual-publish-jvm-snapshot.yml b/.github/workflows/ci-manual-publish-jvm-snapshot.yml index ef48f1788..9f7ad5670 100644 --- a/.github/workflows/ci-manual-publish-jvm-snapshot.yml +++ b/.github/workflows/ci-manual-publish-jvm-snapshot.yml @@ -38,11 +38,11 @@ jobs: distribution: 'adopt' - name: Make gradle executable - run: chmod +x ./gradlew + run: chmod +x ./protobuf/gradlew - name: Build id: build - run: ./gradlew --warning-mode all check build + run: cd protobuf && ./gradlew --warning-mode all check build - name: Publish snapshot env: @@ -53,6 +53,7 @@ jobs: ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.FLOW_JVM_SDK_SIGNING_PASSWORD }} run: | + cd protobuf if [[ "${{ secrets.FLOW_JVM_SDK_CICD_PUBLISH_ENABLED }}" != "true" ]]; then exit 0; From 33d31ca17b6ad96749bb49091eb0da2db80a7e9b Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 22:54:48 +0900 Subject: [PATCH 352/626] Add task dependency --- protobuf/build.gradle.kts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index 6c9522e5f..211aa4f5b 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -44,6 +44,10 @@ java { targetCompatibility = JavaVersion.VERSION_20 } +tasks.named("generateProto") { + dependsOn(tasks.named("processResources")) +} + tasks { mavenPublishing { publishToMavenCentral(SonatypeHost.DEFAULT, true) From 80fbe17d5baf328bb068f0a87138622024e2d2cd Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 22:58:21 +0900 Subject: [PATCH 353/626] Add task dependency --- protobuf/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index 211aa4f5b..b5ecd7d50 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -46,6 +46,7 @@ java { tasks.named("generateProto") { dependsOn(tasks.named("processResources")) + dependsOn(tasks.named("extractIncludeTestProto")) } tasks { From 0c887a900d8fafefd724c8db6e4613b57be9774e Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 23:02:21 +0900 Subject: [PATCH 354/626] Add task dependency --- protobuf/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index b5ecd7d50..c42ac15ee 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -47,6 +47,7 @@ java { tasks.named("generateProto") { dependsOn(tasks.named("processResources")) dependsOn(tasks.named("extractIncludeTestProto")) + dependsOn(tasks.named("extractTestProto")) } tasks { From 17b02c16ed8f2108a84c36a1d1b3e42b61ef3c4f Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 23:05:13 +0900 Subject: [PATCH 355/626] Add task dependency --- .github/workflows/ci-pull-request-jvm-protobuf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-pull-request-jvm-protobuf.yml b/.github/workflows/ci-pull-request-jvm-protobuf.yml index d28272261..38ad0d1d1 100644 --- a/.github/workflows/ci-pull-request-jvm-protobuf.yml +++ b/.github/workflows/ci-pull-request-jvm-protobuf.yml @@ -1,4 +1,4 @@ -name: Build Pull Request +name: Build Pull Request - JVM Protobuf on: pull_request jobs: From 3d53865298c864716fac3d07a958718995142fc1 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 23:07:01 +0900 Subject: [PATCH 356/626] Update GH actions --- .github/workflows/ci-manual-publish-jvm-release.yml | 3 --- .github/workflows/ci-manual-publish-jvm-snapshot.yml | 3 --- 2 files changed, 6 deletions(-) diff --git a/.github/workflows/ci-manual-publish-jvm-release.yml b/.github/workflows/ci-manual-publish-jvm-release.yml index da6710de5..ff95872c5 100644 --- a/.github/workflows/ci-manual-publish-jvm-release.yml +++ b/.github/workflows/ci-manual-publish-jvm-release.yml @@ -27,9 +27,6 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Change to protobuf directory - run: cd protobuf - - name: Setup Java uses: actions/setup-java@v2 with: diff --git a/.github/workflows/ci-manual-publish-jvm-snapshot.yml b/.github/workflows/ci-manual-publish-jvm-snapshot.yml index 9f7ad5670..aaad8b3b0 100644 --- a/.github/workflows/ci-manual-publish-jvm-snapshot.yml +++ b/.github/workflows/ci-manual-publish-jvm-snapshot.yml @@ -27,9 +27,6 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - - name: Change to protobuf directory - run: cd protobuf - - name: Setup Java uses: actions/setup-java@v2 with: From b3846eae071af9740f2dd16980645768dc739a6f Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 23:08:38 +0900 Subject: [PATCH 357/626] Update GH actions --- .github/workflows/ci-manual-publish-jvm-release.yml | 2 +- .github/workflows/ci-manual-publish-jvm-snapshot.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-manual-publish-jvm-release.yml b/.github/workflows/ci-manual-publish-jvm-release.yml index ff95872c5..3ad33415b 100644 --- a/.github/workflows/ci-manual-publish-jvm-release.yml +++ b/.github/workflows/ci-manual-publish-jvm-release.yml @@ -1,4 +1,4 @@ -name: Manually Publish Release +name: Manually Publish Release - JVM Protobuf on: workflow_dispatch: branches: diff --git a/.github/workflows/ci-manual-publish-jvm-snapshot.yml b/.github/workflows/ci-manual-publish-jvm-snapshot.yml index aaad8b3b0..698a44cef 100644 --- a/.github/workflows/ci-manual-publish-jvm-snapshot.yml +++ b/.github/workflows/ci-manual-publish-jvm-snapshot.yml @@ -1,4 +1,4 @@ -name: Manually Publish Snapshot +name: Manually Publish Snapshot - JVM Protobuf on: workflow_dispatch: branches: From bc4ee6387d748a975b89f6feebc74d5598f89eeb Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Wed, 12 Jun 2024 23:35:17 +0900 Subject: [PATCH 358/626] Update release documentation --- protobuf/README.md | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/protobuf/README.md b/protobuf/README.md index 6db032358..ab3c45222 100644 --- a/protobuf/README.md +++ b/protobuf/README.md @@ -27,12 +27,19 @@ JVM support is in the alpha stage; many steps require manual intervention. `./gradlew generateProto` compiles Protobuf files into local Java classes. -### Publishing +### Publishing with GitHub Actions -`./gradlew publishToSonatype` prepares and publishes compiled classes into JAR and uploads to OSSRH staging repository. +The "com.vanniktech.maven.publish" plugin is used to automate Maven releases for JVM protobuf generation. More information on the release process can be found here [here](https://vanniktech.github.io/gradle-maven-publish-plugin/central/). -This requires signing artifacts which is done by [Signing Gradle plugin](https://docs.gradle.org/current/userguide/signing_plugin.html) - it requires -external configuration and appropriate GPG Keys. Please refer to plugin and [OSSRH](https://central.sonatype.org/pages/working-with-pgp-signatures.html) -documentation. -Uploading to staging repo requires an approved Sonatype account. Please refer to [Gradle Nexus Publish Plugin](https://github.com/gradle-nexus/publish-plugin) -documentation how to provide credentials. +There are two GitHub Actions configured to run on the master branch: + +- SNAPSHOT: On every commit to the `master` branch a build is performed and if successful it is deployed as a snapshot version. +- RELEASE: Whenever a tag is created with the pattern of `vXXX` a version with the name XXX is built and if successful deployed as a release version. + +The following GitHub repository secrets configure these actions: + +- `FLOW_JVM_SDK_CICD_PUBLISH_ENABLED`: (optional) Must be `true` for the publishing of artifacts to happen (defaults to `false`) +- `FLOW_JVM_SDK_SIGNING_KEY`: (required if publish enabled) ascii armored version of the pgp key for signing releases +- `FLOW_JVM_SDK_SIGNING_PASSWORD`: (required if publish enabled) password to the pgp key +- `FLOW_JVM_SDK_SONATYPE_USERNAME`: (required if publish enabled) sonatype username +- `FLOW_JVM_SDK_SONATYPE_PASSWORD`: (required if publish enabled) sonatype password From 62af2e2fecaf73dc1b08ee7c91129a13407e9b16 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Fri, 14 Jun 2024 03:11:11 +0900 Subject: [PATCH 359/626] Update task dependency in build.gradle --- protobuf/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index c42ac15ee..3062830a5 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -48,6 +48,7 @@ tasks.named("generateProto") { dependsOn(tasks.named("processResources")) dependsOn(tasks.named("extractIncludeTestProto")) dependsOn(tasks.named("extractTestProto")) + dependsOn(tasks.named("generatePomFileForMavenPublication")) } tasks { From 620ad13e0b30da97a8e7ab930f6811fd33db1abf Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Fri, 14 Jun 2024 03:16:40 +0900 Subject: [PATCH 360/626] Update task dependency in build.gradle --- protobuf/build.gradle.kts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index 3062830a5..9f3d9f00f 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -48,7 +48,9 @@ tasks.named("generateProto") { dependsOn(tasks.named("processResources")) dependsOn(tasks.named("extractIncludeTestProto")) dependsOn(tasks.named("extractTestProto")) - dependsOn(tasks.named("generatePomFileForMavenPublication")) + if (tasks.findByName("generatePomFileForMavenPublication")) { + dependsOn tasks.named("generatePomFileForMavenPublication") + } } tasks { From 6e954beef6d86c1cd947eb9ee2fa8a11823abe14 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Fri, 14 Jun 2024 03:18:54 +0900 Subject: [PATCH 361/626] Update task dependency in build.gradle --- protobuf/build.gradle.kts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index 9f3d9f00f..e6bf299d7 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -48,8 +48,11 @@ tasks.named("generateProto") { dependsOn(tasks.named("processResources")) dependsOn(tasks.named("extractIncludeTestProto")) dependsOn(tasks.named("extractTestProto")) - if (tasks.findByName("generatePomFileForMavenPublication")) { - dependsOn tasks.named("generatePomFileForMavenPublication") +} + +afterEvaluate { + tasks.named("generateProto") { + dependsOn tasks.findByName("generatePomFileForMavenPublication") } } From a59210162094053ac45325d91f6318c4ca5864d5 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Fri, 14 Jun 2024 03:21:58 +0900 Subject: [PATCH 362/626] Update task dependency in build.gradle --- protobuf/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index e6bf299d7..ede177e81 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -52,7 +52,7 @@ tasks.named("generateProto") { afterEvaluate { tasks.named("generateProto") { - dependsOn tasks.findByName("generatePomFileForMavenPublication") + dependsOn(tasks.findByName("generatePomFileForMavenPublication")) } } From b1230f73e97720673cf25ed0b8b6c08d5fe62929 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Fri, 14 Jun 2024 03:31:28 +0900 Subject: [PATCH 363/626] Update task dependency in build.gradle --- protobuf/build.gradle.kts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index ede177e81..a010a56cf 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -50,9 +50,11 @@ tasks.named("generateProto") { dependsOn(tasks.named("extractTestProto")) } -afterEvaluate { - tasks.named("generateProto") { - dependsOn(tasks.findByName("generatePomFileForMavenPublication")) +tasks.whenTaskAdded { + if (name == "generatePomFileForMavenPublication") { + tasks.named("generateProto") { + dependsOn(this@whenTaskAdded) + } } } From 30cad70332cfd63b65b98433b8dbf8660b392b6e Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Fri, 14 Jun 2024 03:40:24 +0900 Subject: [PATCH 364/626] Update task dependency in build.gradle --- protobuf/build.gradle.kts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index a010a56cf..a7675e65e 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -56,6 +56,11 @@ tasks.whenTaskAdded { dependsOn(this@whenTaskAdded) } } + if (name == "generateMetadataFileForMavenPublication") { + tasks.named("generateMetadataFileForMavenPublication") { + dependsOn(tasks.findByName("kotlinSourcesJar")) + } + } } tasks { From 1647937f8f3977f2a4b10b89832c8adc98c1da03 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Fri, 14 Jun 2024 03:45:28 +0900 Subject: [PATCH 365/626] Update task dependency in build.gradle --- protobuf/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index a7675e65e..a3f29f906 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -59,6 +59,7 @@ tasks.whenTaskAdded { if (name == "generateMetadataFileForMavenPublication") { tasks.named("generateMetadataFileForMavenPublication") { dependsOn(tasks.findByName("kotlinSourcesJar")) + dependsOn(tasks.findByName("plainJavadocJar")) } } } From b21b48a662992cc3abdf6b37f67b59f2714e4ca4 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Fri, 14 Jun 2024 03:55:25 +0900 Subject: [PATCH 366/626] Update task dependency in build.gradle --- protobuf/build.gradle.kts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index a3f29f906..586f662da 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -44,6 +44,7 @@ java { targetCompatibility = JavaVersion.VERSION_20 } + tasks.named("generateProto") { dependsOn(tasks.named("processResources")) dependsOn(tasks.named("extractIncludeTestProto")) @@ -59,11 +60,16 @@ tasks.whenTaskAdded { if (name == "generateMetadataFileForMavenPublication") { tasks.named("generateMetadataFileForMavenPublication") { dependsOn(tasks.findByName("kotlinSourcesJar")) - dependsOn(tasks.findByName("plainJavadocJar")) } } } +afterEvaluate { + tasks.named("generateMetadataFileForMavenPublication") { + dependsOn(tasks.findByName("plainJavadocJar")) + } +} + tasks { mavenPublishing { publishToMavenCentral(SonatypeHost.DEFAULT, true) From 148d63cc06221221009995be53f1cc4084fe3dab Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Fri, 14 Jun 2024 04:10:44 +0900 Subject: [PATCH 367/626] Remove duplication of tasks --- protobuf/build.gradle.kts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index 586f662da..5d137472f 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -142,11 +142,6 @@ sourceSets { } } -java { - withJavadocJar() - withSourcesJar() -} - repositories { mavenCentral() } From 9190c3ebb0b4a8f40430259d2765f1d0e0b5ca7c Mon Sep 17 00:00:00 2001 From: Andrii Date: Tue, 18 Jun 2024 16:33:18 +0300 Subject: [PATCH 368/626] Added new methods to proto with all the data --- protobuf/flow/access/access.proto | 58 ++ protobuf/go/flow/access/access.pb.go | 735 ++++++++++++++++------ protobuf/go/flow/access/access_grpc.pb.go | 242 +++++++ 3 files changed, 849 insertions(+), 186 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index a450ede34..8b37be12c 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -97,6 +97,28 @@ service AccessAPI { rpc GetAccountAtBlockHeight(GetAccountAtBlockHeightRequest) returns (AccountResponse); + // GetAccountBalance gets an account balance by address. + rpc GetAccountBalance(GetAccountBalanceRequest) returns (AccountBalanceResponse); + // GetAccountBalanceAtLatestBlock gets an account balance by address from the latest sealed + // execution state. + rpc GetAccountBalanceAtLatestBlock(GetAccountBalanceAtLatestBlockRequest) + returns (AccountBalanceResponse); + // GetAccountBalanceAtBlockHeight gets an account balance by address at the given block + // height + rpc GetAccountBalanceAtBlockHeight(GetAccountAtBlockHeightRequest) + returns (AccountBalanceResponse); + + // GetAccountKeys gets an account public keys by address. + rpc GetAccountKeys(GetAccountKeysRequest) returns (AccountBalanceResponse); + // GetAccountKeysAtLatestBlock gets an account public keys by address from the latest sealed + // execution state. + rpc GetAccountKeysAtLatestBlock(GetAccountKeysAtLatestBlockRequest) + returns (AccountBalanceResponse); + // GetAccountKeysAtBlockHeight gets an account public keys by address at the given block + // height + rpc GetAccountKeysAtBlockHeight(GetAccountKeysAtBlockHeightRequest) + returns (AccountBalanceResponse); + // Scripts // ExecuteScriptAtLatestBlock executes a read-only Cadence script against the @@ -424,6 +446,42 @@ message GetAccountAtBlockHeightRequest { uint64 block_height = 2; } +message GetAccountBalanceRequest { + bytes address = 1; +} + +message GetAccountBalanceAtLatestBlockRequest { + bytes address = 1; +} + +message GetAccountBalanceAtBlockHeightRequest { + bytes address = 1; + uint64 block_height = 2; +} + +message AccountBalanceResponse { + uint64 account_balance = 1; + entities.Metadata metadata = 2; +} + +message GetAccountKeysRequest { + bytes address = 1; +} + +message GetAccountKeysAtLatestBlockRequest { + bytes address = 1; +} + +message GetAccountKeysAtBlockHeightRequest { + bytes address = 1; + uint64 block_height = 2; +} + +message AccountKeysResponse { + repeated entities.AccountKey account_keys = 1; + entities.Metadata metadata = 2; +} + // Scripts message ExecuteScriptAtLatestBlockRequest { diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index b12248d12..2f1bd6ca3 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -1502,6 +1502,350 @@ func (m *GetAccountAtBlockHeightRequest) GetBlockHeight() uint64 { return 0 } +type GetAccountBalanceRequest struct { + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAccountBalanceRequest) Reset() { *m = GetAccountBalanceRequest{} } +func (m *GetAccountBalanceRequest) String() string { return proto.CompactTextString(m) } +func (*GetAccountBalanceRequest) ProtoMessage() {} +func (*GetAccountBalanceRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{32} +} + +func (m *GetAccountBalanceRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAccountBalanceRequest.Unmarshal(m, b) +} +func (m *GetAccountBalanceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAccountBalanceRequest.Marshal(b, m, deterministic) +} +func (m *GetAccountBalanceRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAccountBalanceRequest.Merge(m, src) +} +func (m *GetAccountBalanceRequest) XXX_Size() int { + return xxx_messageInfo_GetAccountBalanceRequest.Size(m) +} +func (m *GetAccountBalanceRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetAccountBalanceRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAccountBalanceRequest proto.InternalMessageInfo + +func (m *GetAccountBalanceRequest) GetAddress() []byte { + if m != nil { + return m.Address + } + return nil +} + +type GetAccountBalanceAtLatestBlockRequest struct { + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAccountBalanceAtLatestBlockRequest) Reset() { *m = GetAccountBalanceAtLatestBlockRequest{} } +func (m *GetAccountBalanceAtLatestBlockRequest) String() string { return proto.CompactTextString(m) } +func (*GetAccountBalanceAtLatestBlockRequest) ProtoMessage() {} +func (*GetAccountBalanceAtLatestBlockRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{33} +} + +func (m *GetAccountBalanceAtLatestBlockRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAccountBalanceAtLatestBlockRequest.Unmarshal(m, b) +} +func (m *GetAccountBalanceAtLatestBlockRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAccountBalanceAtLatestBlockRequest.Marshal(b, m, deterministic) +} +func (m *GetAccountBalanceAtLatestBlockRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAccountBalanceAtLatestBlockRequest.Merge(m, src) +} +func (m *GetAccountBalanceAtLatestBlockRequest) XXX_Size() int { + return xxx_messageInfo_GetAccountBalanceAtLatestBlockRequest.Size(m) +} +func (m *GetAccountBalanceAtLatestBlockRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetAccountBalanceAtLatestBlockRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAccountBalanceAtLatestBlockRequest proto.InternalMessageInfo + +func (m *GetAccountBalanceAtLatestBlockRequest) GetAddress() []byte { + if m != nil { + return m.Address + } + return nil +} + +type GetAccountBalanceAtBlockHeightRequest struct { + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAccountBalanceAtBlockHeightRequest) Reset() { *m = GetAccountBalanceAtBlockHeightRequest{} } +func (m *GetAccountBalanceAtBlockHeightRequest) String() string { return proto.CompactTextString(m) } +func (*GetAccountBalanceAtBlockHeightRequest) ProtoMessage() {} +func (*GetAccountBalanceAtBlockHeightRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{34} +} + +func (m *GetAccountBalanceAtBlockHeightRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAccountBalanceAtBlockHeightRequest.Unmarshal(m, b) +} +func (m *GetAccountBalanceAtBlockHeightRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAccountBalanceAtBlockHeightRequest.Marshal(b, m, deterministic) +} +func (m *GetAccountBalanceAtBlockHeightRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAccountBalanceAtBlockHeightRequest.Merge(m, src) +} +func (m *GetAccountBalanceAtBlockHeightRequest) XXX_Size() int { + return xxx_messageInfo_GetAccountBalanceAtBlockHeightRequest.Size(m) +} +func (m *GetAccountBalanceAtBlockHeightRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetAccountBalanceAtBlockHeightRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAccountBalanceAtBlockHeightRequest proto.InternalMessageInfo + +func (m *GetAccountBalanceAtBlockHeightRequest) GetAddress() []byte { + if m != nil { + return m.Address + } + return nil +} + +func (m *GetAccountBalanceAtBlockHeightRequest) GetBlockHeight() uint64 { + if m != nil { + return m.BlockHeight + } + return 0 +} + +type AccountBalanceResponse struct { + AccountBalance uint64 `protobuf:"varint,1,opt,name=account_balance,json=accountBalance,proto3" json:"account_balance,omitempty"` + Metadata *entities.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AccountBalanceResponse) Reset() { *m = AccountBalanceResponse{} } +func (m *AccountBalanceResponse) String() string { return proto.CompactTextString(m) } +func (*AccountBalanceResponse) ProtoMessage() {} +func (*AccountBalanceResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{35} +} + +func (m *AccountBalanceResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AccountBalanceResponse.Unmarshal(m, b) +} +func (m *AccountBalanceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AccountBalanceResponse.Marshal(b, m, deterministic) +} +func (m *AccountBalanceResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_AccountBalanceResponse.Merge(m, src) +} +func (m *AccountBalanceResponse) XXX_Size() int { + return xxx_messageInfo_AccountBalanceResponse.Size(m) +} +func (m *AccountBalanceResponse) XXX_DiscardUnknown() { + xxx_messageInfo_AccountBalanceResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_AccountBalanceResponse proto.InternalMessageInfo + +func (m *AccountBalanceResponse) GetAccountBalance() uint64 { + if m != nil { + return m.AccountBalance + } + return 0 +} + +func (m *AccountBalanceResponse) GetMetadata() *entities.Metadata { + if m != nil { + return m.Metadata + } + return nil +} + +type GetAccountKeysRequest struct { + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAccountKeysRequest) Reset() { *m = GetAccountKeysRequest{} } +func (m *GetAccountKeysRequest) String() string { return proto.CompactTextString(m) } +func (*GetAccountKeysRequest) ProtoMessage() {} +func (*GetAccountKeysRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{36} +} + +func (m *GetAccountKeysRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAccountKeysRequest.Unmarshal(m, b) +} +func (m *GetAccountKeysRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAccountKeysRequest.Marshal(b, m, deterministic) +} +func (m *GetAccountKeysRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAccountKeysRequest.Merge(m, src) +} +func (m *GetAccountKeysRequest) XXX_Size() int { + return xxx_messageInfo_GetAccountKeysRequest.Size(m) +} +func (m *GetAccountKeysRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetAccountKeysRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAccountKeysRequest proto.InternalMessageInfo + +func (m *GetAccountKeysRequest) GetAddress() []byte { + if m != nil { + return m.Address + } + return nil +} + +type GetAccountKeysAtLatestBlockRequest struct { + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAccountKeysAtLatestBlockRequest) Reset() { *m = GetAccountKeysAtLatestBlockRequest{} } +func (m *GetAccountKeysAtLatestBlockRequest) String() string { return proto.CompactTextString(m) } +func (*GetAccountKeysAtLatestBlockRequest) ProtoMessage() {} +func (*GetAccountKeysAtLatestBlockRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{37} +} + +func (m *GetAccountKeysAtLatestBlockRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAccountKeysAtLatestBlockRequest.Unmarshal(m, b) +} +func (m *GetAccountKeysAtLatestBlockRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAccountKeysAtLatestBlockRequest.Marshal(b, m, deterministic) +} +func (m *GetAccountKeysAtLatestBlockRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAccountKeysAtLatestBlockRequest.Merge(m, src) +} +func (m *GetAccountKeysAtLatestBlockRequest) XXX_Size() int { + return xxx_messageInfo_GetAccountKeysAtLatestBlockRequest.Size(m) +} +func (m *GetAccountKeysAtLatestBlockRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetAccountKeysAtLatestBlockRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAccountKeysAtLatestBlockRequest proto.InternalMessageInfo + +func (m *GetAccountKeysAtLatestBlockRequest) GetAddress() []byte { + if m != nil { + return m.Address + } + return nil +} + +type GetAccountKeysAtBlockHeightRequest struct { + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAccountKeysAtBlockHeightRequest) Reset() { *m = GetAccountKeysAtBlockHeightRequest{} } +func (m *GetAccountKeysAtBlockHeightRequest) String() string { return proto.CompactTextString(m) } +func (*GetAccountKeysAtBlockHeightRequest) ProtoMessage() {} +func (*GetAccountKeysAtBlockHeightRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{38} +} + +func (m *GetAccountKeysAtBlockHeightRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAccountKeysAtBlockHeightRequest.Unmarshal(m, b) +} +func (m *GetAccountKeysAtBlockHeightRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAccountKeysAtBlockHeightRequest.Marshal(b, m, deterministic) +} +func (m *GetAccountKeysAtBlockHeightRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAccountKeysAtBlockHeightRequest.Merge(m, src) +} +func (m *GetAccountKeysAtBlockHeightRequest) XXX_Size() int { + return xxx_messageInfo_GetAccountKeysAtBlockHeightRequest.Size(m) +} +func (m *GetAccountKeysAtBlockHeightRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetAccountKeysAtBlockHeightRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAccountKeysAtBlockHeightRequest proto.InternalMessageInfo + +func (m *GetAccountKeysAtBlockHeightRequest) GetAddress() []byte { + if m != nil { + return m.Address + } + return nil +} + +func (m *GetAccountKeysAtBlockHeightRequest) GetBlockHeight() uint64 { + if m != nil { + return m.BlockHeight + } + return 0 +} + +type AccountKeysResponse struct { + AccountKeys []*entities.AccountKey `protobuf:"bytes,1,rep,name=account_keys,json=accountKeys,proto3" json:"account_keys,omitempty"` + Metadata *entities.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AccountKeysResponse) Reset() { *m = AccountKeysResponse{} } +func (m *AccountKeysResponse) String() string { return proto.CompactTextString(m) } +func (*AccountKeysResponse) ProtoMessage() {} +func (*AccountKeysResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{39} +} + +func (m *AccountKeysResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AccountKeysResponse.Unmarshal(m, b) +} +func (m *AccountKeysResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AccountKeysResponse.Marshal(b, m, deterministic) +} +func (m *AccountKeysResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_AccountKeysResponse.Merge(m, src) +} +func (m *AccountKeysResponse) XXX_Size() int { + return xxx_messageInfo_AccountKeysResponse.Size(m) +} +func (m *AccountKeysResponse) XXX_DiscardUnknown() { + xxx_messageInfo_AccountKeysResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_AccountKeysResponse proto.InternalMessageInfo + +func (m *AccountKeysResponse) GetAccountKeys() []*entities.AccountKey { + if m != nil { + return m.AccountKeys + } + return nil +} + +func (m *AccountKeysResponse) GetMetadata() *entities.Metadata { + if m != nil { + return m.Metadata + } + return nil +} + type ExecuteScriptAtLatestBlockRequest struct { Script []byte `protobuf:"bytes,1,opt,name=script,proto3" json:"script,omitempty"` Arguments [][]byte `protobuf:"bytes,2,rep,name=arguments,proto3" json:"arguments,omitempty"` @@ -1514,7 +1858,7 @@ func (m *ExecuteScriptAtLatestBlockRequest) Reset() { *m = ExecuteScript func (m *ExecuteScriptAtLatestBlockRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptAtLatestBlockRequest) ProtoMessage() {} func (*ExecuteScriptAtLatestBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{32} + return fileDescriptor_4382e32bb8e3e8e5, []int{40} } func (m *ExecuteScriptAtLatestBlockRequest) XXX_Unmarshal(b []byte) error { @@ -1562,7 +1906,7 @@ func (m *ExecuteScriptAtBlockIDRequest) Reset() { *m = ExecuteScriptAtBl func (m *ExecuteScriptAtBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptAtBlockIDRequest) ProtoMessage() {} func (*ExecuteScriptAtBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{33} + return fileDescriptor_4382e32bb8e3e8e5, []int{41} } func (m *ExecuteScriptAtBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -1617,7 +1961,7 @@ func (m *ExecuteScriptAtBlockHeightRequest) Reset() { *m = ExecuteScript func (m *ExecuteScriptAtBlockHeightRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptAtBlockHeightRequest) ProtoMessage() {} func (*ExecuteScriptAtBlockHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{34} + return fileDescriptor_4382e32bb8e3e8e5, []int{42} } func (m *ExecuteScriptAtBlockHeightRequest) XXX_Unmarshal(b []byte) error { @@ -1672,7 +2016,7 @@ func (m *ExecuteScriptResponse) Reset() { *m = ExecuteScriptResponse{} } func (m *ExecuteScriptResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptResponse) ProtoMessage() {} func (*ExecuteScriptResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{35} + return fileDescriptor_4382e32bb8e3e8e5, []int{43} } func (m *ExecuteScriptResponse) XXX_Unmarshal(b []byte) error { @@ -1728,7 +2072,7 @@ func (m *GetEventsForHeightRangeRequest) Reset() { *m = GetEventsForHeig func (m *GetEventsForHeightRangeRequest) String() string { return proto.CompactTextString(m) } func (*GetEventsForHeightRangeRequest) ProtoMessage() {} func (*GetEventsForHeightRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{36} + return fileDescriptor_4382e32bb8e3e8e5, []int{44} } func (m *GetEventsForHeightRangeRequest) XXX_Unmarshal(b []byte) error { @@ -1790,7 +2134,7 @@ func (m *GetEventsForBlockIDsRequest) Reset() { *m = GetEventsForBlockID func (m *GetEventsForBlockIDsRequest) String() string { return proto.CompactTextString(m) } func (*GetEventsForBlockIDsRequest) ProtoMessage() {} func (*GetEventsForBlockIDsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{37} + return fileDescriptor_4382e32bb8e3e8e5, []int{45} } func (m *GetEventsForBlockIDsRequest) XXX_Unmarshal(b []byte) error { @@ -1844,7 +2188,7 @@ func (m *EventsResponse) Reset() { *m = EventsResponse{} } func (m *EventsResponse) String() string { return proto.CompactTextString(m) } func (*EventsResponse) ProtoMessage() {} func (*EventsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{38} + return fileDescriptor_4382e32bb8e3e8e5, []int{46} } func (m *EventsResponse) XXX_Unmarshal(b []byte) error { @@ -1893,7 +2237,7 @@ func (m *EventsResponse_Result) Reset() { *m = EventsResponse_Result{} } func (m *EventsResponse_Result) String() string { return proto.CompactTextString(m) } func (*EventsResponse_Result) ProtoMessage() {} func (*EventsResponse_Result) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{38, 0} + return fileDescriptor_4382e32bb8e3e8e5, []int{46, 0} } func (m *EventsResponse_Result) XXX_Unmarshal(b []byte) error { @@ -1952,7 +2296,7 @@ func (m *GetNetworkParametersRequest) Reset() { *m = GetNetworkParameter func (m *GetNetworkParametersRequest) String() string { return proto.CompactTextString(m) } func (*GetNetworkParametersRequest) ProtoMessage() {} func (*GetNetworkParametersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{39} + return fileDescriptor_4382e32bb8e3e8e5, []int{47} } func (m *GetNetworkParametersRequest) XXX_Unmarshal(b []byte) error { @@ -1984,7 +2328,7 @@ func (m *GetNetworkParametersResponse) Reset() { *m = GetNetworkParamete func (m *GetNetworkParametersResponse) String() string { return proto.CompactTextString(m) } func (*GetNetworkParametersResponse) ProtoMessage() {} func (*GetNetworkParametersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{40} + return fileDescriptor_4382e32bb8e3e8e5, []int{48} } func (m *GetNetworkParametersResponse) XXX_Unmarshal(b []byte) error { @@ -2022,7 +2366,7 @@ func (m *GetLatestProtocolStateSnapshotRequest) Reset() { *m = GetLatest func (m *GetLatestProtocolStateSnapshotRequest) String() string { return proto.CompactTextString(m) } func (*GetLatestProtocolStateSnapshotRequest) ProtoMessage() {} func (*GetLatestProtocolStateSnapshotRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{41} + return fileDescriptor_4382e32bb8e3e8e5, []int{49} } func (m *GetLatestProtocolStateSnapshotRequest) XXX_Unmarshal(b []byte) error { @@ -2056,7 +2400,7 @@ func (m *GetProtocolStateSnapshotByBlockIDRequest) Reset() { func (m *GetProtocolStateSnapshotByBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*GetProtocolStateSnapshotByBlockIDRequest) ProtoMessage() {} func (*GetProtocolStateSnapshotByBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{42} + return fileDescriptor_4382e32bb8e3e8e5, []int{50} } func (m *GetProtocolStateSnapshotByBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2097,7 +2441,7 @@ func (m *GetProtocolStateSnapshotByHeightRequest) Reset() { func (m *GetProtocolStateSnapshotByHeightRequest) String() string { return proto.CompactTextString(m) } func (*GetProtocolStateSnapshotByHeightRequest) ProtoMessage() {} func (*GetProtocolStateSnapshotByHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{43} + return fileDescriptor_4382e32bb8e3e8e5, []int{51} } func (m *GetProtocolStateSnapshotByHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2137,7 +2481,7 @@ func (m *ProtocolStateSnapshotResponse) Reset() { *m = ProtocolStateSnap func (m *ProtocolStateSnapshotResponse) String() string { return proto.CompactTextString(m) } func (*ProtocolStateSnapshotResponse) ProtoMessage() {} func (*ProtocolStateSnapshotResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{44} + return fileDescriptor_4382e32bb8e3e8e5, []int{52} } func (m *ProtocolStateSnapshotResponse) XXX_Unmarshal(b []byte) error { @@ -2183,7 +2527,7 @@ func (m *GetExecutionResultForBlockIDRequest) Reset() { *m = GetExecutio func (m *GetExecutionResultForBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*GetExecutionResultForBlockIDRequest) ProtoMessage() {} func (*GetExecutionResultForBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{45} + return fileDescriptor_4382e32bb8e3e8e5, []int{53} } func (m *GetExecutionResultForBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2223,7 +2567,7 @@ func (m *ExecutionResultForBlockIDResponse) Reset() { *m = ExecutionResu func (m *ExecutionResultForBlockIDResponse) String() string { return proto.CompactTextString(m) } func (*ExecutionResultForBlockIDResponse) ProtoMessage() {} func (*ExecutionResultForBlockIDResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{46} + return fileDescriptor_4382e32bb8e3e8e5, []int{54} } func (m *ExecutionResultForBlockIDResponse) XXX_Unmarshal(b []byte) error { @@ -2269,7 +2613,7 @@ func (m *GetExecutionResultByIDRequest) Reset() { *m = GetExecutionResul func (m *GetExecutionResultByIDRequest) String() string { return proto.CompactTextString(m) } func (*GetExecutionResultByIDRequest) ProtoMessage() {} func (*GetExecutionResultByIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{47} + return fileDescriptor_4382e32bb8e3e8e5, []int{55} } func (m *GetExecutionResultByIDRequest) XXX_Unmarshal(b []byte) error { @@ -2309,7 +2653,7 @@ func (m *ExecutionResultByIDResponse) Reset() { *m = ExecutionResultByID func (m *ExecutionResultByIDResponse) String() string { return proto.CompactTextString(m) } func (*ExecutionResultByIDResponse) ProtoMessage() {} func (*ExecutionResultByIDResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{48} + return fileDescriptor_4382e32bb8e3e8e5, []int{56} } func (m *ExecutionResultByIDResponse) XXX_Unmarshal(b []byte) error { @@ -2366,7 +2710,7 @@ func (m *SubscribeBlocksFromStartBlockIDRequest) Reset() { func (m *SubscribeBlocksFromStartBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlocksFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{49} + return fileDescriptor_4382e32bb8e3e8e5, []int{57} } func (m *SubscribeBlocksFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2428,7 +2772,7 @@ func (m *SubscribeBlocksFromStartHeightRequest) Reset() { *m = Subscribe func (m *SubscribeBlocksFromStartHeightRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlocksFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{50} + return fileDescriptor_4382e32bb8e3e8e5, []int{58} } func (m *SubscribeBlocksFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2488,7 +2832,7 @@ func (m *SubscribeBlocksFromLatestRequest) Reset() { *m = SubscribeBlock func (m *SubscribeBlocksFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromLatestRequest) ProtoMessage() {} func (*SubscribeBlocksFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{51} + return fileDescriptor_4382e32bb8e3e8e5, []int{59} } func (m *SubscribeBlocksFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -2537,7 +2881,7 @@ func (m *SubscribeBlocksResponse) Reset() { *m = SubscribeBlocksResponse func (m *SubscribeBlocksResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksResponse) ProtoMessage() {} func (*SubscribeBlocksResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{52} + return fileDescriptor_4382e32bb8e3e8e5, []int{60} } func (m *SubscribeBlocksResponse) XXX_Unmarshal(b []byte) error { @@ -2587,7 +2931,7 @@ func (m *SubscribeBlockHeadersFromStartBlockIDRequest) String() string { } func (*SubscribeBlockHeadersFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{53} + return fileDescriptor_4382e32bb8e3e8e5, []int{61} } func (m *SubscribeBlockHeadersFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2644,7 +2988,7 @@ func (m *SubscribeBlockHeadersFromStartHeightRequest) String() string { } func (*SubscribeBlockHeadersFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{54} + return fileDescriptor_4382e32bb8e3e8e5, []int{62} } func (m *SubscribeBlockHeadersFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2697,7 +3041,7 @@ func (m *SubscribeBlockHeadersFromLatestRequest) Reset() { func (m *SubscribeBlockHeadersFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockHeadersFromLatestRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{55} + return fileDescriptor_4382e32bb8e3e8e5, []int{63} } func (m *SubscribeBlockHeadersFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -2739,7 +3083,7 @@ func (m *SubscribeBlockHeadersResponse) Reset() { *m = SubscribeBlockHea func (m *SubscribeBlockHeadersResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockHeadersResponse) ProtoMessage() {} func (*SubscribeBlockHeadersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{56} + return fileDescriptor_4382e32bb8e3e8e5, []int{64} } func (m *SubscribeBlockHeadersResponse) XXX_Unmarshal(b []byte) error { @@ -2789,7 +3133,7 @@ func (m *SubscribeBlockDigestsFromStartBlockIDRequest) String() string { } func (*SubscribeBlockDigestsFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{57} + return fileDescriptor_4382e32bb8e3e8e5, []int{65} } func (m *SubscribeBlockDigestsFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2846,7 +3190,7 @@ func (m *SubscribeBlockDigestsFromStartHeightRequest) String() string { } func (*SubscribeBlockDigestsFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{58} + return fileDescriptor_4382e32bb8e3e8e5, []int{66} } func (m *SubscribeBlockDigestsFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2899,7 +3243,7 @@ func (m *SubscribeBlockDigestsFromLatestRequest) Reset() { func (m *SubscribeBlockDigestsFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockDigestsFromLatestRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{59} + return fileDescriptor_4382e32bb8e3e8e5, []int{67} } func (m *SubscribeBlockDigestsFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -2947,7 +3291,7 @@ func (m *SubscribeBlockDigestsResponse) Reset() { *m = SubscribeBlockDig func (m *SubscribeBlockDigestsResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockDigestsResponse) ProtoMessage() {} func (*SubscribeBlockDigestsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{60} + return fileDescriptor_4382e32bb8e3e8e5, []int{68} } func (m *SubscribeBlockDigestsResponse) XXX_Unmarshal(b []byte) error { @@ -3008,7 +3352,7 @@ func (m *SendAndSubscribeTransactionStatusesRequest) String() string { } func (*SendAndSubscribeTransactionStatusesRequest) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{61} + return fileDescriptor_4382e32bb8e3e8e5, []int{69} } func (m *SendAndSubscribeTransactionStatusesRequest) XXX_Unmarshal(b []byte) error { @@ -3062,7 +3406,7 @@ func (m *SendAndSubscribeTransactionStatusesResponse) String() string { } func (*SendAndSubscribeTransactionStatusesResponse) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{62} + return fileDescriptor_4382e32bb8e3e8e5, []int{70} } func (m *SendAndSubscribeTransactionStatusesResponse) XXX_Unmarshal(b []byte) error { @@ -3130,6 +3474,14 @@ func init() { proto.RegisterType((*GetAccountAtLatestBlockRequest)(nil), "flow.access.GetAccountAtLatestBlockRequest") proto.RegisterType((*AccountResponse)(nil), "flow.access.AccountResponse") proto.RegisterType((*GetAccountAtBlockHeightRequest)(nil), "flow.access.GetAccountAtBlockHeightRequest") + proto.RegisterType((*GetAccountBalanceRequest)(nil), "flow.access.GetAccountBalanceRequest") + proto.RegisterType((*GetAccountBalanceAtLatestBlockRequest)(nil), "flow.access.GetAccountBalanceAtLatestBlockRequest") + proto.RegisterType((*GetAccountBalanceAtBlockHeightRequest)(nil), "flow.access.GetAccountBalanceAtBlockHeightRequest") + proto.RegisterType((*AccountBalanceResponse)(nil), "flow.access.AccountBalanceResponse") + proto.RegisterType((*GetAccountKeysRequest)(nil), "flow.access.GetAccountKeysRequest") + proto.RegisterType((*GetAccountKeysAtLatestBlockRequest)(nil), "flow.access.GetAccountKeysAtLatestBlockRequest") + proto.RegisterType((*GetAccountKeysAtBlockHeightRequest)(nil), "flow.access.GetAccountKeysAtBlockHeightRequest") + proto.RegisterType((*AccountKeysResponse)(nil), "flow.access.AccountKeysResponse") proto.RegisterType((*ExecuteScriptAtLatestBlockRequest)(nil), "flow.access.ExecuteScriptAtLatestBlockRequest") proto.RegisterType((*ExecuteScriptAtBlockIDRequest)(nil), "flow.access.ExecuteScriptAtBlockIDRequest") proto.RegisterType((*ExecuteScriptAtBlockHeightRequest)(nil), "flow.access.ExecuteScriptAtBlockHeightRequest") @@ -3167,158 +3519,169 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2433 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0x5f, 0x6f, 0xdb, 0xc8, - 0x11, 0xc7, 0x5a, 0x8e, 0xff, 0x8c, 0x65, 0x27, 0x59, 0xfb, 0x1c, 0x99, 0x8e, 0x6d, 0x85, 0xb6, - 0x2f, 0xbe, 0x24, 0x27, 0x07, 0x49, 0x8b, 0x4b, 0xae, 0x7f, 0x50, 0x3b, 0xe7, 0xf8, 0x0c, 0x24, - 0x07, 0x83, 0xca, 0xa5, 0xb8, 0xb6, 0x77, 0x06, 0x2d, 0xae, 0x65, 0x22, 0x12, 0xa9, 0x92, 0x54, - 0x12, 0xb7, 0x87, 0xe2, 0x1e, 0x82, 0xa2, 0x40, 0xd1, 0x7f, 0xe8, 0x43, 0xd1, 0x00, 0x7d, 0x69, - 0x9f, 0xda, 0x3e, 0xf4, 0xa9, 0x0f, 0x45, 0x51, 0x14, 0x28, 0xda, 0x0f, 0xd0, 0x6f, 0xd1, 0x8f, - 0x51, 0x70, 0xb9, 0xa4, 0xb8, 0xcb, 0xe5, 0x8a, 0x92, 0x93, 0x73, 0x5e, 0x12, 0x93, 0x3b, 0x3b, - 0xf3, 0x9b, 0x9d, 0xd9, 0xd9, 0xd5, 0x6f, 0x24, 0xa8, 0x1c, 0xb5, 0xdc, 0x67, 0x9b, 0x66, 0xa3, - 0x41, 0x7c, 0x9f, 0xfd, 0x57, 0xeb, 0x78, 0x6e, 0xe0, 0xe2, 0xa9, 0x70, 0xa4, 0x16, 0xbd, 0xd2, - 0x16, 0xa9, 0x18, 0x71, 0x02, 0x3b, 0xb0, 0x09, 0x15, 0x74, 0xbb, 0x4e, 0x10, 0x49, 0x6a, 0x55, - 0x7e, 0xf0, 0xb0, 0xe5, 0x36, 0x9e, 0x1c, 0x1c, 0x13, 0xd3, 0x22, 0x1e, 0x93, 0x58, 0x90, 0x48, - 0xb0, 0xa1, 0x65, 0x7e, 0xa8, 0xe1, 0xb6, 0x5a, 0xa4, 0x11, 0xd8, 0xae, 0x23, 0x9f, 0x4a, 0x9e, - 0x92, 0xc4, 0xee, 0x9a, 0x30, 0xf4, 0x9c, 0x34, 0xba, 0xe1, 0xcc, 0x03, 0x8f, 0xf8, 0xdd, 0x56, - 0x2c, 0x75, 0x99, 0x97, 0x6a, 0x93, 0xc0, 0xb4, 0xcc, 0xc0, 0x64, 0xa3, 0xeb, 0xfc, 0xa8, 0xe3, - 0x5a, 0xe4, 0xe0, 0x29, 0xf1, 0xfc, 0x50, 0x8d, 0xed, 0x1c, 0xb9, 0x4c, 0x6c, 0x85, 0x17, 0x0b, - 0x3c, 0xd3, 0xf1, 0xcd, 0x34, 0xcc, 0x95, 0xa6, 0xeb, 0x36, 0x5b, 0x64, 0x93, 0x3e, 0x1d, 0x76, - 0x8f, 0x36, 0x03, 0xbb, 0x4d, 0xfc, 0xc0, 0x6c, 0x77, 0x22, 0x01, 0x7d, 0x1a, 0xa6, 0xf6, 0x6d, - 0xa7, 0x69, 0x90, 0xef, 0x77, 0x89, 0x1f, 0xe8, 0x33, 0x50, 0x8e, 0x1e, 0xfd, 0x8e, 0xeb, 0xf8, - 0x44, 0x5f, 0x84, 0x85, 0x5d, 0x12, 0x7c, 0xe4, 0x5a, 0xe4, 0x71, 0x64, 0x7d, 0xcf, 0x39, 0x72, - 0x63, 0xe1, 0x7d, 0xd0, 0x64, 0x83, 0xd1, 0x54, 0x7c, 0x0b, 0x46, 0x43, 0xa4, 0x15, 0x54, 0x45, - 0x1b, 0x53, 0xb7, 0x96, 0x6b, 0x34, 0x6e, 0x31, 0xd4, 0x9a, 0x38, 0x8b, 0xca, 0xea, 0xef, 0xc3, - 0xe2, 0x2e, 0x09, 0x1e, 0x98, 0x01, 0xf1, 0x83, 0xed, 0x30, 0x1a, 0x1f, 0xd2, 0x70, 0x31, 0x83, - 0x78, 0x11, 0x26, 0x6d, 0xff, 0xc0, 0x27, 0x66, 0x8b, 0x58, 0x54, 0xef, 0x84, 0x31, 0x61, 0xfb, - 0x75, 0xfa, 0xac, 0x5f, 0xa7, 0x50, 0x53, 0xb3, 0xb6, 0x4f, 0xf6, 0x3e, 0x88, 0x67, 0xce, 0xc0, - 0x88, 0x1d, 0x4d, 0x29, 0x1b, 0x23, 0xb6, 0xa5, 0xbf, 0x07, 0x4b, 0xa2, 0xf0, 0x87, 0xc4, 0x6e, - 0x1e, 0x07, 0xf1, 0x84, 0x79, 0x18, 0x3b, 0xa6, 0x2f, 0xe8, 0xa4, 0x51, 0x83, 0x3d, 0xe9, 0x7f, - 0x47, 0x30, 0xcb, 0x21, 0x63, 0xde, 0xde, 0x84, 0x73, 0x34, 0x7d, 0x98, 0xbb, 0x9a, 0xe0, 0x6e, - 0x7a, 0x4a, 0x24, 0x88, 0xbf, 0x01, 0xe5, 0x28, 0x25, 0xfd, 0xc0, 0x0c, 0xba, 0x7e, 0x65, 0xa4, - 0x8a, 0x36, 0x66, 0xe4, 0x13, 0xeb, 0x54, 0xc2, 0x98, 0x3a, 0xec, 0x3d, 0xe0, 0xdb, 0x30, 0x11, - 0xe7, 0x4c, 0xa5, 0x44, 0x6d, 0x5e, 0x12, 0xa6, 0x3e, 0x64, 0xc3, 0x46, 0x22, 0xa8, 0x5b, 0xf0, - 0x16, 0xbf, 0xbe, 0x45, 0x56, 0x16, 0xd7, 0x60, 0xf6, 0xa8, 0xdb, 0x6a, 0x1d, 0x44, 0x70, 0x3d, - 0xe6, 0x32, 0x05, 0x3c, 0x61, 0x5c, 0x0c, 0x87, 0x98, 0x2e, 0x96, 0x34, 0x1f, 0xc3, 0x6c, 0xbc, - 0xb8, 0x8a, 0x18, 0x0c, 0xac, 0xd6, 0x84, 0x4b, 0x3d, 0xb5, 0x85, 0xa2, 0x35, 0xb0, 0x89, 0xbf, - 0x20, 0x98, 0xe6, 0xde, 0xe0, 0x6b, 0x7c, 0x5c, 0xe7, 0x64, 0xe1, 0x39, 0xcb, 0x88, 0x5e, 0x83, - 0xca, 0x2e, 0x09, 0xee, 0x25, 0xe5, 0x49, 0x95, 0xf4, 0x35, 0xb8, 0xbc, 0x4b, 0x82, 0xfb, 0xdd, - 0x56, 0xab, 0x98, 0xfc, 0x0b, 0x04, 0xb8, 0x27, 0x99, 0x2c, 0xc9, 0x5d, 0x80, 0x5e, 0x39, 0x64, - 0xeb, 0xb2, 0x20, 0x20, 0x4d, 0x4d, 0x4b, 0x09, 0x73, 0x2e, 0x8e, 0x14, 0x75, 0xf1, 0x67, 0x08, - 0xe6, 0x79, 0xd0, 0x09, 0x94, 0x6f, 0x42, 0x39, 0x55, 0xf3, 0xfc, 0x0a, 0xaa, 0x96, 0x24, 0x9b, - 0xef, 0x51, 0x4f, 0xc4, 0xe0, 0xe4, 0x87, 0xc3, 0xf3, 0x18, 0xe6, 0xeb, 0xc4, 0xb1, 0xd2, 0x5a, - 0xd9, 0x02, 0x7e, 0x1d, 0xa6, 0x52, 0xea, 0x73, 0x4a, 0x41, 0x7a, 0x5e, 0x5a, 0x5c, 0xff, 0x0c, - 0x2e, 0x65, 0xf4, 0x32, 0x3f, 0xc5, 0xad, 0x33, 0x14, 0xee, 0x7f, 0x21, 0xba, 0xfb, 0x25, 0xb8, - 0x45, 0xf5, 0x0b, 0x30, 0x11, 0x25, 0xb2, 0x6d, 0x51, 0xf5, 0x65, 0x63, 0x9c, 0x3e, 0xef, 0x59, - 0x78, 0x15, 0xa6, 0x7b, 0xf1, 0x0c, 0xc7, 0x4b, 0x74, 0xbc, 0xdc, 0x7b, 0xb9, 0x67, 0xe1, 0x4f, - 0x60, 0x9e, 0x1e, 0x88, 0x07, 0xc4, 0x69, 0xb8, 0x96, 0xed, 0x34, 0xe3, 0xb3, 0xab, 0x32, 0x4a, - 0xb7, 0xc4, 0xaa, 0x00, 0x76, 0x27, 0x14, 0xde, 0x61, 0xb2, 0xec, 0x54, 0x30, 0xe6, 0x88, 0xe4, - 0xad, 0x7e, 0x87, 0x9e, 0x10, 0xf5, 0x13, 0x3f, 0x20, 0x6d, 0x89, 0x27, 0x69, 0xe4, 0x88, 0x43, - 0xae, 0xff, 0x16, 0xc1, 0x15, 0xf9, 0xd4, 0xf0, 0x54, 0xee, 0xaf, 0x40, 0xe1, 0xd5, 0xc8, 0x69, - 0xbd, 0xfa, 0x13, 0xa2, 0x5b, 0x33, 0x85, 0x6a, 0xfb, 0x64, 0xcf, 0xb1, 0xc8, 0xf3, 0x02, 0xb0, - 0xe6, 0xe0, 0x9c, 0x1d, 0x8a, 0x52, 0x14, 0xd3, 0x46, 0xf4, 0xa0, 0x00, 0x5b, 0x3a, 0x2d, 0xd8, - 0xdf, 0x20, 0x58, 0xe1, 0xc1, 0xfa, 0xdb, 0x27, 0xb4, 0xaa, 0xf5, 0x4a, 0xc9, 0x99, 0x2d, 0xa3, - 0x96, 0x89, 0xac, 0x9f, 0xec, 0xa2, 0x6f, 0xc3, 0x6c, 0x6a, 0xbf, 0xb1, 0xeb, 0x58, 0x5c, 0x34, - 0xde, 0xae, 0xa5, 0x2e, 0x96, 0x35, 0x49, 0x7e, 0x44, 0x4a, 0x0c, 0x1c, 0x64, 0x0c, 0x0c, 0xb7, - 0x1d, 0x7f, 0x8a, 0x60, 0x2e, 0xbd, 0x86, 0x67, 0x5b, 0xd4, 0x7e, 0x82, 0x60, 0x56, 0x56, 0x79, - 0x4e, 0x55, 0xd2, 0x86, 0x83, 0xf2, 0xd7, 0x12, 0x2c, 0xe4, 0xae, 0x3f, 0xbe, 0x03, 0x63, 0xec, - 0x78, 0x45, 0x34, 0x5d, 0xaa, 0xf9, 0x58, 0xd8, 0x21, 0xcb, 0xe4, 0xf1, 0x0a, 0x4c, 0x45, 0x7f, - 0x1d, 0x34, 0x5c, 0x8b, 0xb0, 0xed, 0x02, 0xd1, 0xab, 0x7b, 0xae, 0x45, 0xc2, 0xda, 0x46, 0x3c, - 0xcf, 0xf5, 0x0e, 0xda, 0xc4, 0xf7, 0xcd, 0x26, 0xa1, 0x5b, 0x65, 0xd2, 0x28, 0xd3, 0x97, 0x0f, - 0xa3, 0x77, 0xf8, 0x06, 0x8c, 0xd1, 0xdc, 0xf3, 0x2b, 0xa3, 0x34, 0x2e, 0x73, 0xb2, 0x74, 0x35, - 0x98, 0x0c, 0xb7, 0x0f, 0xce, 0xf1, 0xfb, 0x60, 0x1d, 0x66, 0xd2, 0xd9, 0x68, 0x5b, 0x95, 0x31, - 0x2a, 0x30, 0x9d, 0x7a, 0x2b, 0x2b, 0xb8, 0xe3, 0x92, 0x82, 0x7b, 0x25, 0xbe, 0x79, 0xb0, 0x5b, - 0xd0, 0x04, 0xbd, 0x05, 0x45, 0xb7, 0x8b, 0xe8, 0xa6, 0xc4, 0x85, 0x62, 0xb2, 0x60, 0x28, 0xf0, - 0x75, 0xb8, 0xd8, 0x70, 0xdb, 0x9d, 0x6e, 0x60, 0x52, 0xeb, 0x5d, 0xba, 0x2a, 0x40, 0x95, 0x5f, - 0x48, 0x0d, 0x7c, 0x1c, 0xbe, 0xd7, 0xdf, 0x85, 0x8b, 0xbb, 0x24, 0xd8, 0x8a, 0x3e, 0x83, 0xc5, - 0x85, 0xa0, 0x02, 0xe3, 0xa6, 0x65, 0x79, 0xc4, 0xf7, 0xe3, 0x3a, 0xc0, 0x1e, 0xf5, 0x1f, 0x02, - 0x4e, 0x8b, 0x27, 0xf7, 0xe8, 0x71, 0xf6, 0x29, 0x8e, 0xe5, 0xda, 0xbc, 0x80, 0x32, 0x9e, 0x10, - 0x8b, 0x0d, 0x97, 0x63, 0xef, 0xc3, 0x72, 0xcf, 0xf8, 0x96, 0xec, 0x46, 0x9c, 0x0f, 0xfc, 0x39, - 0x9c, 0x3f, 0x23, 0xd4, 0x9f, 0xf2, 0xa8, 0xb7, 0x7b, 0xe1, 0xed, 0x8b, 0x3a, 0x93, 0x22, 0x23, - 0x99, 0x14, 0xd1, 0x3f, 0x81, 0x2b, 0x3b, 0xf4, 0xc3, 0x2a, 0xa9, 0x37, 0x3c, 0xbb, 0x23, 0x5f, - 0x97, 0x79, 0x18, 0xf3, 0xe9, 0x28, 0x33, 0xc0, 0x9e, 0xf0, 0x65, 0x98, 0x34, 0xbd, 0x66, 0xb7, - 0x4d, 0xb7, 0xc6, 0x48, 0xb5, 0xb4, 0x51, 0x36, 0x7a, 0x2f, 0xf4, 0x0e, 0x2c, 0x09, 0xaa, 0x8b, - 0x1f, 0x18, 0x3d, 0x8b, 0x23, 0xf9, 0x16, 0x4b, 0xa2, 0xc5, 0xcf, 0x33, 0xce, 0x48, 0x96, 0x4b, - 0x5c, 0x14, 0x94, 0xdd, 0x37, 0xc3, 0x59, 0xff, 0x05, 0x82, 0xb7, 0x38, 0xf3, 0x49, 0xaa, 0xcc, - 0xc1, 0xb9, 0xa7, 0x66, 0xab, 0x4b, 0x98, 0x97, 0xd1, 0xc3, 0x50, 0xe9, 0x20, 0xdf, 0x9d, 0xa5, - 0x9c, 0xdd, 0xf9, 0x5f, 0x44, 0x93, 0x87, 0x96, 0x27, 0xff, 0xbe, 0xeb, 0xb1, 0x85, 0x30, 0x9d, - 0x26, 0x89, 0x57, 0x03, 0xc3, 0x68, 0x70, 0xd2, 0x89, 0x90, 0x4d, 0x1a, 0xf4, 0xef, 0x70, 0x85, - 0xfc, 0xc0, 0xf4, 0x02, 0x21, 0x6d, 0xe8, 0x3b, 0xb6, 0x42, 0x4b, 0x00, 0xc4, 0xb1, 0x62, 0x81, - 0xc8, 0xfe, 0x24, 0x71, 0x2c, 0x36, 0xfc, 0x1a, 0x2f, 0x83, 0x7f, 0x44, 0xf4, 0x36, 0x98, 0xf8, - 0xc4, 0x72, 0xca, 0x57, 0x39, 0xb4, 0x08, 0x93, 0x71, 0xa2, 0xc5, 0x79, 0x3a, 0xc1, 0x32, 0xcd, - 0x7f, 0x9d, 0xb7, 0xa6, 0x7f, 0x8e, 0xc0, 0x4c, 0x04, 0x34, 0x75, 0xb6, 0x8e, 0xf3, 0x77, 0x10, - 0x9d, 0xbb, 0x83, 0xf0, 0xd2, 0x35, 0x76, 0x0e, 0xc6, 0x53, 0x86, 0x4a, 0x19, 0xed, 0x6f, 0x08, - 0xc6, 0x22, 0x45, 0xaa, 0x1d, 0xd7, 0xbf, 0x56, 0xa4, 0x8e, 0xc1, 0x52, 0x81, 0x63, 0xf0, 0x1e, - 0x9c, 0x8f, 0x14, 0x26, 0xf4, 0x13, 0x0d, 0x7e, 0x78, 0x93, 0x88, 0x08, 0xaa, 0x5a, 0x4c, 0x50, - 0xd5, 0x1e, 0xc5, 0x12, 0xc6, 0x0c, 0x9d, 0x92, 0x3c, 0xeb, 0x4b, 0x34, 0xd8, 0x1f, 0x91, 0xe0, - 0x99, 0xeb, 0x3d, 0xd9, 0x37, 0x3d, 0xb3, 0x4d, 0x02, 0xe2, 0xc5, 0xc1, 0xd6, 0xef, 0xd2, 0x2b, - 0xb4, 0x64, 0x98, 0xad, 0xf6, 0x02, 0x4c, 0x34, 0x8e, 0x4d, 0xdb, 0x89, 0xfd, 0x9d, 0x34, 0xc6, - 0xe9, 0xf3, 0x9e, 0xa5, 0x5f, 0x85, 0xf5, 0x84, 0x16, 0xd9, 0x0f, 0x81, 0x34, 0xdc, 0x56, 0x78, - 0x79, 0x20, 0x75, 0xc7, 0xec, 0xf8, 0xc7, 0x6e, 0x5c, 0x2f, 0xf4, 0x1d, 0xd8, 0xd8, 0x25, 0x72, - 0x91, 0x01, 0xae, 0xc0, 0xfa, 0x03, 0xb8, 0x9a, 0xaf, 0x66, 0xd0, 0x0a, 0x15, 0x7e, 0x4c, 0x5f, - 0xca, 0x41, 0xcd, 0x5c, 0xaf, 0x01, 0xf6, 0x89, 0x67, 0x9b, 0x2d, 0xfb, 0x07, 0xc4, 0x8a, 0x47, - 0x19, 0x28, 0xc9, 0xc8, 0x70, 0x87, 0xd3, 0xb7, 0x60, 0x35, 0xdc, 0x8b, 0x31, 0xdb, 0x19, 0x65, - 0x59, 0x6f, 0x53, 0x16, 0x58, 0x96, 0x3f, 0xa0, 0xb8, 0x66, 0x4b, 0xe7, 0x33, 0x67, 0xf6, 0xe0, - 0x82, 0x48, 0xa9, 0xe6, 0x70, 0x8c, 0x82, 0x2e, 0xe3, 0x3c, 0xe1, 0x5f, 0x0c, 0xe7, 0xe7, 0x26, - 0xa5, 0x0e, 0x05, 0xdd, 0x2a, 0x1a, 0xe5, 0x77, 0x08, 0x16, 0xa5, 0xe2, 0x6f, 0x88, 0x43, 0xff, - 0x40, 0xf0, 0x76, 0xbd, 0x7b, 0x18, 0x9e, 0x6b, 0x87, 0x84, 0xae, 0xb6, 0x7f, 0xdf, 0x73, 0xdb, - 0xf5, 0xb0, 0xc4, 0x0b, 0xc1, 0x5b, 0x83, 0x99, 0xe8, 0x34, 0x10, 0x42, 0x18, 0x9d, 0x11, 0xdb, - 0xac, 0x7c, 0x9c, 0x92, 0x07, 0xcb, 0x21, 0xed, 0x4a, 0x79, 0xa4, 0xdd, 0xbf, 0x11, 0xac, 0xe7, - 0xe1, 0xe7, 0x37, 0xd3, 0x0d, 0xc0, 0x69, 0xf8, 0xdc, 0x96, 0xba, 0xd0, 0x73, 0x81, 0x95, 0xb8, - 0x2f, 0xd9, 0x8d, 0x5f, 0x21, 0xa8, 0x4a, 0xdc, 0x88, 0xaa, 0x52, 0xec, 0x81, 0x88, 0x09, 0xbd, - 0x12, 0x4c, 0xb9, 0x7c, 0xe8, 0x0e, 0x5c, 0x12, 0x20, 0x0d, 0x43, 0x8c, 0xea, 0xbf, 0x46, 0x70, - 0x83, 0xd7, 0x13, 0x51, 0xe1, 0x67, 0x9a, 0x67, 0xfa, 0x4b, 0x04, 0xd7, 0xd5, 0xa8, 0xce, 0x2e, - 0x7b, 0xf4, 0xa6, 0xb8, 0x27, 0x53, 0xd8, 0x5e, 0x65, 0x4a, 0xe8, 0x75, 0x58, 0x92, 0x1a, 0x4a, - 0xf5, 0x71, 0xc6, 0xa2, 0xa6, 0x59, 0x81, 0xd6, 0x06, 0x93, 0x94, 0x04, 0xfc, 0x03, 0xbb, 0x49, - 0xfc, 0xe0, 0x4d, 0x0b, 0xb8, 0x88, 0xea, 0x4d, 0x0a, 0x78, 0x0a, 0xdb, 0x2b, 0x0d, 0xf8, 0xef, - 0x91, 0x18, 0x71, 0x66, 0x29, 0x7d, 0x53, 0x3a, 0xc5, 0xcd, 0x50, 0x72, 0xd7, 0x2b, 0x0d, 0x7c, - 0xd7, 0xfb, 0x0f, 0x82, 0x6b, 0x75, 0xe2, 0x58, 0x5b, 0x8e, 0x95, 0x60, 0xcd, 0x30, 0x3b, 0xc4, - 0x7f, 0x25, 0xc4, 0xfb, 0xeb, 0x64, 0x24, 0xff, 0x1c, 0xa6, 0x5c, 0x11, 0x3f, 0xfa, 0x51, 0x94, - 0xe8, 0x94, 0x14, 0xe5, 0x2a, 0x4c, 0x33, 0x56, 0xeb, 0xa0, 0xc7, 0x16, 0x8f, 0x1a, 0x65, 0xf6, - 0x92, 0x92, 0xcd, 0xb7, 0xfe, 0xb7, 0x06, 0x93, 0x5b, 0x54, 0xfb, 0xd6, 0xfe, 0x1e, 0xfe, 0x1a, - 0x8c, 0xee, 0xdb, 0x4e, 0x13, 0x57, 0x38, 0xb3, 0xa9, 0x6e, 0xb1, 0xb6, 0x20, 0x19, 0x61, 0x8e, - 0x10, 0xca, 0xee, 0x08, 0x5d, 0x5e, 0xcc, 0x7b, 0x90, 0xdb, 0x59, 0xd6, 0xae, 0xf6, 0x95, 0x63, - 0x66, 0x0e, 0x61, 0x4e, 0xd6, 0x30, 0xc6, 0x1b, 0xa2, 0x82, 0xbc, 0x9e, 0xb2, 0x56, 0xe5, 0x24, - 0x65, 0xad, 0xdd, 0xcf, 0xa8, 0x2b, 0x42, 0x63, 0x39, 0xeb, 0x8a, 0xbc, 0xf3, 0x5c, 0x40, 0xff, - 0x11, 0xcc, 0xcb, 0x7b, 0xd1, 0xf8, 0x9a, 0xd2, 0x06, 0x57, 0xac, 0x0a, 0xd8, 0xd9, 0x87, 0x19, - 0x7e, 0x21, 0xb0, 0xae, 0x58, 0xa5, 0x58, 0xaf, 0x96, 0xd5, 0x9b, 0x68, 0x7c, 0x00, 0xe5, 0x74, - 0xa3, 0x17, 0x57, 0xa5, 0x78, 0xd3, 0xab, 0xa1, 0xd2, 0xf6, 0x08, 0x2e, 0x88, 0xfd, 0x5d, 0xbc, - 0x96, 0xa3, 0x91, 0xf7, 0x5d, 0xa5, 0xf5, 0xbb, 0x94, 0x95, 0xe4, 0x1b, 0x9e, 0x78, 0x5d, 0x54, - 0x2b, 0x6d, 0x88, 0x6a, 0x2b, 0x9c, 0x98, 0xa4, 0xff, 0xd8, 0xa4, 0x1d, 0xb5, 0x6c, 0x47, 0x15, - 0xbf, 0x23, 0x1a, 0xc8, 0xed, 0xba, 0x6a, 0xab, 0x9c, 0x68, 0x4e, 0xa3, 0xf3, 0x7b, 0x70, 0x5e, - 0xe8, 0x0d, 0x62, 0x7e, 0x9e, 0xbc, 0x23, 0xa9, 0xad, 0xa9, 0x85, 0x98, 0xf6, 0xc7, 0x34, 0x33, - 0xd2, 0xca, 0x33, 0x99, 0x21, 0xd1, 0x5d, 0x55, 0x94, 0xa3, 0xf4, 0xee, 0xcc, 0x14, 0xaa, 0x42, - 0xda, 0x0b, 0x16, 0x3b, 0xdc, 0xa1, 0xac, 0x40, 0x66, 0x9c, 0xf5, 0xcf, 0xb2, 0x81, 0xc8, 0xed, - 0xb1, 0x15, 0xb6, 0xf8, 0x8c, 0x12, 0x69, 0xd9, 0x3e, 0x53, 0xc2, 0x00, 0xe0, 0x1b, 0x0a, 0xa3, - 0x99, 0x5e, 0x99, 0x50, 0xec, 0x14, 0xfd, 0xab, 0x27, 0xb4, 0xd7, 0x2f, 0xd5, 0x35, 0xa0, 0xc9, - 0x2b, 0x79, 0x26, 0x7d, 0x21, 0x76, 0x99, 0x6e, 0x69, 0xb6, 0xb2, 0xe6, 0xf5, 0x62, 0x0b, 0xe4, - 0x47, 0x40, 0xbf, 0x40, 0x94, 0xd3, 0x91, 0xc5, 0xb5, 0x02, 0x96, 0x52, 0xad, 0xdb, 0xc2, 0xf1, - 0x7b, 0x08, 0xd0, 0x63, 0xd1, 0xf1, 0xb2, 0x68, 0x85, 0x6f, 0x60, 0x08, 0x35, 0x40, 0xd2, 0xb1, - 0xb0, 0xe8, 0xd7, 0x52, 0x64, 0xad, 0x04, 0x7c, 0x3d, 0x67, 0xae, 0x8c, 0x58, 0xd7, 0x2e, 0x73, - 0xc2, 0x7d, 0xac, 0xa4, 0x2f, 0x9e, 0xf9, 0x56, 0xb2, 0x8c, 0x77, 0x1f, 0x2b, 0x1d, 0xd0, 0xf2, - 0x3b, 0x00, 0x42, 0x40, 0xfa, 0xb6, 0x0a, 0x34, 0x3d, 0x5f, 0x3e, 0xb1, 0x78, 0x0c, 0xf3, 0xf2, - 0xc6, 0x80, 0x70, 0xf8, 0x29, 0xbb, 0x07, 0x85, 0x2c, 0x65, 0x7d, 0x4b, 0x2f, 0x62, 0xad, 0xaf, - 0x35, 0x7e, 0x1d, 0x8b, 0x58, 0x6c, 0xd0, 0x98, 0xc9, 0x18, 0xf7, 0x6c, 0xcc, 0x14, 0xbc, 0xbc, - 0xb6, 0xa8, 0xa0, 0x85, 0xf1, 0xa7, 0x74, 0x9f, 0x66, 0x28, 0xf0, 0xec, 0x3e, 0xcd, 0x63, 0xc9, - 0xd5, 0xea, 0x9f, 0x50, 0xf5, 0x19, 0x56, 0x35, 0xab, 0x3e, 0x8f, 0x97, 0xd5, 0xde, 0x29, 0x20, - 0xc9, 0x8c, 0x7d, 0x11, 0xf5, 0x28, 0x14, 0x44, 0x2c, 0xbe, 0x25, 0xbf, 0xb2, 0xa8, 0x58, 0x5b, - 0x8d, 0xcf, 0x24, 0x35, 0x55, 0xfa, 0xe3, 0xe8, 0x5b, 0x22, 0x6a, 0x8a, 0x17, 0x7f, 0x55, 0x44, - 0x51, 0x88, 0x12, 0x1e, 0x08, 0xc8, 0x0b, 0x04, 0xd5, 0x7e, 0x24, 0x31, 0xfe, 0x4a, 0x41, 0x1c, - 0x7c, 0xee, 0x0e, 0x02, 0xe3, 0x8b, 0xe8, 0x9b, 0x29, 0xb9, 0xb4, 0x2c, 0xbe, 0x99, 0xc9, 0xb3, - 0x3e, 0x0c, 0xb0, 0x26, 0xdb, 0x6a, 0x2a, 0xc2, 0xd7, 0xa1, 0xf7, 0x63, 0x09, 0x83, 0x9a, 0xbd, - 0x1f, 0xe7, 0xb3, 0xb2, 0xda, 0x86, 0xca, 0x2a, 0xc7, 0xc7, 0xfe, 0x08, 0x56, 0xfa, 0xd0, 0xa1, - 0xf8, 0x36, 0x7f, 0xad, 0x2a, 0x44, 0x9e, 0x8a, 0x77, 0x31, 0x39, 0xaf, 0x76, 0x13, 0xe1, 0xcf, - 0x61, 0x59, 0x4d, 0x67, 0x0a, 0x9b, 0xa0, 0x10, 0xf7, 0x59, 0xd8, 0xba, 0x07, 0x0b, 0xb9, 0x2c, - 0x24, 0x7e, 0xb7, 0x9f, 0x61, 0x8e, 0xa9, 0x28, 0x6c, 0xf3, 0x97, 0x19, 0x06, 0x37, 0x87, 0x1f, - 0xc4, 0x77, 0x15, 0x1a, 0xd5, 0x9c, 0xa2, 0x90, 0xf5, 0x4a, 0xce, 0xeb, 0x26, 0xc2, 0x3f, 0x47, - 0xb0, 0x56, 0x84, 0x1c, 0xc4, 0x77, 0x06, 0x40, 0xa4, 0xda, 0x86, 0xfd, 0x00, 0xbd, 0x40, 0x62, - 0x5a, 0x66, 0x18, 0x41, 0x65, 0x5a, 0xe6, 0xf1, 0x87, 0x03, 0xc2, 0xc8, 0x86, 0x2a, 0x87, 0xd9, - 0x53, 0x86, 0x4a, 0xcd, 0x06, 0x2a, 0x21, 0x09, 0x64, 0x95, 0x34, 0x54, 0x72, 0x5a, 0x4f, 0x19, - 0x2a, 0x25, 0x13, 0x38, 0x20, 0xa0, 0x6c, 0xa8, 0x32, 0x5c, 0x9e, 0x32, 0x54, 0x79, 0xcc, 0xdf, - 0x80, 0x30, 0x5e, 0x22, 0x58, 0x2d, 0xc0, 0x3d, 0xe1, 0xf7, 0x32, 0x9f, 0x11, 0x8b, 0xb1, 0x6e, - 0xda, 0x9d, 0xc1, 0x27, 0xc6, 0xe0, 0xb6, 0x1f, 0x80, 0xe6, 0x7a, 0xcd, 0x9a, 0xeb, 0x50, 0x15, - 0x09, 0x23, 0x18, 0xe9, 0xfa, 0x4e, 0xad, 0x69, 0x07, 0xc7, 0xdd, 0xc3, 0x5a, 0xc3, 0x6d, 0x6f, - 0x46, 0x22, 0x9b, 0xf4, 0x9f, 0xe4, 0x67, 0x0c, 0x4d, 0x77, 0x33, 0xf5, 0x0b, 0x91, 0xc3, 0x31, - 0x3a, 0x70, 0xfb, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x79, 0x62, 0x3d, 0x77, 0x37, 0x32, 0x00, - 0x00, + // 2619 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdd, 0x6f, 0xdc, 0x58, + 0x15, 0x97, 0x33, 0x69, 0x3e, 0x4e, 0x26, 0x69, 0xf7, 0x36, 0x9b, 0x4e, 0x9c, 0x26, 0x99, 0x3a, + 0xc9, 0x36, 0xfd, 0xd8, 0x49, 0x69, 0x17, 0x6d, 0xbb, 0xc0, 0x8a, 0xa4, 0x9b, 0x66, 0xa3, 0x6d, + 0x57, 0x91, 0xa7, 0x5b, 0x54, 0x60, 0x77, 0xe4, 0x8c, 0x6f, 0x26, 0x56, 0x66, 0xec, 0xc1, 0xf6, + 0xb4, 0x0d, 0xac, 0xd0, 0x3e, 0x54, 0x08, 0x09, 0xf1, 0x25, 0x1e, 0x10, 0x2b, 0xf1, 0x02, 0x4f, + 0xc0, 0x03, 0x4f, 0x3c, 0x20, 0x84, 0x90, 0x10, 0xfc, 0x01, 0xfc, 0x41, 0x48, 0xc8, 0xd7, 0xd7, + 0x33, 0xbe, 0x1f, 0xbe, 0xe3, 0x99, 0xa4, 0xa4, 0x2f, 0x6d, 0xec, 0x7b, 0xee, 0x39, 0xbf, 0xf3, + 0x71, 0xcf, 0xbd, 0x3e, 0xe7, 0x0e, 0x94, 0x0e, 0x9a, 0xde, 0xf3, 0x0d, 0xab, 0x5e, 0xc7, 0x41, + 0x40, 0xff, 0xab, 0xb4, 0x7d, 0x2f, 0xf4, 0xd0, 0x54, 0x34, 0x52, 0x89, 0x5f, 0xe9, 0x0b, 0x84, + 0x0c, 0xbb, 0xa1, 0x13, 0x3a, 0x98, 0x10, 0x7a, 0x1d, 0x37, 0x8c, 0x29, 0xf5, 0x32, 0x3b, 0xb8, + 0xdf, 0xf4, 0xea, 0x47, 0xb5, 0x43, 0x6c, 0xd9, 0xd8, 0xa7, 0x14, 0xf3, 0x12, 0x0a, 0x3a, 0xb4, + 0xc4, 0x0e, 0xd5, 0xbd, 0x66, 0x13, 0xd7, 0x43, 0xc7, 0x73, 0xe5, 0x53, 0xf1, 0x33, 0xdc, 0x95, + 0xbb, 0xca, 0x0d, 0xbd, 0xc0, 0xf5, 0x4e, 0x34, 0xb3, 0xe6, 0xe3, 0xa0, 0xd3, 0x4c, 0xa8, 0x2e, + 0xb3, 0x54, 0x2d, 0x1c, 0x5a, 0xb6, 0x15, 0x5a, 0x74, 0x74, 0x8d, 0x1d, 0x75, 0x3d, 0x1b, 0xd7, + 0x9e, 0x61, 0x3f, 0x88, 0xd8, 0x38, 0xee, 0x81, 0x47, 0xc9, 0x96, 0x59, 0xb2, 0xd0, 0xb7, 0xdc, + 0xc0, 0x4a, 0xc3, 0x5c, 0x6e, 0x78, 0x5e, 0xa3, 0x89, 0x37, 0xc8, 0xd3, 0x7e, 0xe7, 0x60, 0x23, + 0x74, 0x5a, 0x38, 0x08, 0xad, 0x56, 0x3b, 0x26, 0x30, 0xa6, 0x61, 0x6a, 0xcf, 0x71, 0x1b, 0x26, + 0xfe, 0x5e, 0x07, 0x07, 0xa1, 0x31, 0x03, 0xc5, 0xf8, 0x31, 0x68, 0x7b, 0x6e, 0x80, 0x8d, 0x05, + 0x98, 0xdf, 0xc1, 0xe1, 0xc7, 0x9e, 0x8d, 0x9f, 0xc4, 0xd2, 0x77, 0xdd, 0x03, 0x2f, 0x21, 0xde, + 0x03, 0x5d, 0x36, 0x18, 0x4f, 0x45, 0xb7, 0x61, 0x34, 0x42, 0x5a, 0xd2, 0xca, 0xda, 0xfa, 0xd4, + 0xed, 0xa5, 0x0a, 0xf1, 0x5b, 0x02, 0xb5, 0xc2, 0xcf, 0x22, 0xb4, 0xc6, 0x7b, 0xb0, 0xb0, 0x83, + 0xc3, 0x87, 0x56, 0x88, 0x83, 0x70, 0x2b, 0xf2, 0xc6, 0x87, 0xc4, 0x5d, 0x54, 0x20, 0x5a, 0x80, + 0x49, 0x27, 0xa8, 0x05, 0xd8, 0x6a, 0x62, 0x9b, 0xf0, 0x9d, 0x30, 0x27, 0x9c, 0xa0, 0x4a, 0x9e, + 0x8d, 0x1b, 0x04, 0x6a, 0x6a, 0xd6, 0xd6, 0xf1, 0xee, 0x07, 0xc9, 0xcc, 0x19, 0x18, 0x71, 0xe2, + 0x29, 0x45, 0x73, 0xc4, 0xb1, 0x8d, 0x77, 0x61, 0x91, 0x27, 0xfe, 0x10, 0x3b, 0x8d, 0xc3, 0x30, + 0x99, 0x30, 0x07, 0x63, 0x87, 0xe4, 0x05, 0x99, 0x34, 0x6a, 0xd2, 0x27, 0xe3, 0x6f, 0x1a, 0x5c, + 0x64, 0x90, 0x51, 0x6d, 0x6f, 0xc1, 0x39, 0x12, 0x3e, 0x54, 0x5d, 0x9d, 0x53, 0x37, 0x3d, 0x25, + 0x26, 0x44, 0xdf, 0x80, 0x62, 0x1c, 0x92, 0x41, 0x68, 0x85, 0x9d, 0xa0, 0x34, 0x52, 0xd6, 0xd6, + 0x67, 0xe4, 0x13, 0xab, 0x84, 0xc2, 0x9c, 0xda, 0xef, 0x3d, 0xa0, 0x3b, 0x30, 0x91, 0xc4, 0x4c, + 0xa9, 0x40, 0x64, 0x5e, 0xe2, 0xa6, 0x3e, 0xa2, 0xc3, 0x66, 0x97, 0xd0, 0xb0, 0xe1, 0x4d, 0xd6, + 0xbe, 0x79, 0x2c, 0x8b, 0x2a, 0x70, 0xf1, 0xa0, 0xd3, 0x6c, 0xd6, 0x62, 0xb8, 0x3e, 0x55, 0x99, + 0x00, 0x9e, 0x30, 0xdf, 0x88, 0x86, 0x28, 0x2f, 0x1a, 0x34, 0x9f, 0xc0, 0xc5, 0xc4, 0xb8, 0x0a, + 0x1f, 0x0c, 0xcc, 0xd6, 0x82, 0x4b, 0x3d, 0xb6, 0xb9, 0xbc, 0x35, 0xb0, 0x88, 0x3f, 0x6b, 0x30, + 0xcd, 0xbc, 0x41, 0xd7, 0x59, 0xbf, 0xce, 0xca, 0xdc, 0x73, 0x96, 0x1e, 0xbd, 0x0e, 0xa5, 0x1d, + 0x1c, 0xde, 0xef, 0xa6, 0x27, 0x55, 0xd0, 0x57, 0xe0, 0xf2, 0x0e, 0x0e, 0x1f, 0x74, 0x9a, 0xcd, + 0x7c, 0xf4, 0x2f, 0x35, 0x40, 0x3d, 0xca, 0xae, 0x49, 0xee, 0x01, 0xf4, 0xd2, 0x21, 0xb5, 0xcb, + 0x3c, 0x87, 0x34, 0x35, 0x2d, 0x45, 0xcc, 0xa8, 0x38, 0x92, 0x57, 0xc5, 0x9f, 0x6a, 0x30, 0xc7, + 0x82, 0xee, 0x42, 0x79, 0x1f, 0x8a, 0xa9, 0x9c, 0x17, 0x94, 0xb4, 0x72, 0x41, 0xb2, 0xf8, 0x1e, + 0xf7, 0x48, 0x4c, 0x86, 0x7e, 0x38, 0x3c, 0x4f, 0x60, 0xae, 0x8a, 0x5d, 0x3b, 0xcd, 0x95, 0x1a, + 0xf0, 0xeb, 0x30, 0x95, 0x62, 0x9f, 0x91, 0x0a, 0xd2, 0xf3, 0xd2, 0xe4, 0xc6, 0x67, 0x70, 0x49, + 0xe0, 0x4b, 0xf5, 0xe4, 0x97, 0xce, 0x50, 0xb8, 0xff, 0xa9, 0x91, 0xd5, 0x2f, 0xc1, 0xcd, 0xb3, + 0x9f, 0x87, 0x89, 0x38, 0x90, 0x1d, 0x9b, 0xb0, 0x2f, 0x9a, 0xe3, 0xe4, 0x79, 0xd7, 0x46, 0x2b, + 0x30, 0xdd, 0xf3, 0x67, 0x34, 0x5e, 0x20, 0xe3, 0xc5, 0xde, 0xcb, 0x5d, 0x1b, 0x3d, 0x85, 0x39, + 0xb2, 0x21, 0xd6, 0xb0, 0x5b, 0xf7, 0x6c, 0xc7, 0x6d, 0x24, 0x7b, 0x57, 0x69, 0x94, 0x2c, 0x89, + 0x15, 0x0e, 0xec, 0x76, 0x44, 0xbc, 0x4d, 0x69, 0xe9, 0xae, 0x60, 0xce, 0x62, 0xc9, 0x5b, 0xe3, + 0x2e, 0xd9, 0x21, 0xaa, 0xc7, 0x41, 0x88, 0x5b, 0x12, 0x4d, 0xd2, 0xc8, 0x35, 0x06, 0xb9, 0xf1, + 0x1b, 0x0d, 0xae, 0xc8, 0xa7, 0x46, 0xbb, 0x72, 0x7f, 0x06, 0x0a, 0xad, 0x46, 0x4e, 0xaa, 0xd5, + 0x1f, 0x35, 0xb2, 0x34, 0x53, 0xa8, 0xb6, 0x8e, 0x77, 0x5d, 0x1b, 0xbf, 0xc8, 0x01, 0x6b, 0x16, + 0xce, 0x39, 0x11, 0x29, 0x41, 0x31, 0x6d, 0xc6, 0x0f, 0x0a, 0xb0, 0x85, 0x93, 0x82, 0xfd, 0xb5, + 0x06, 0xcb, 0x2c, 0xd8, 0x60, 0xeb, 0x98, 0x64, 0xb5, 0x5e, 0x2a, 0x39, 0x33, 0x33, 0xea, 0x82, + 0x67, 0x83, 0xee, 0x2a, 0xfa, 0x16, 0x5c, 0x4c, 0xad, 0x37, 0x7a, 0x1c, 0x4b, 0x92, 0xc6, 0x5b, + 0x95, 0xd4, 0xc1, 0xb2, 0x22, 0x89, 0x8f, 0x98, 0x89, 0x89, 0x42, 0x41, 0xc0, 0x70, 0xcb, 0xf1, + 0x27, 0x1a, 0xcc, 0xa6, 0x6d, 0x78, 0xb6, 0x49, 0xed, 0xc7, 0x1a, 0x5c, 0x94, 0x65, 0x9e, 0x13, + 0xa5, 0xb4, 0xe1, 0xa0, 0xfc, 0xa5, 0x00, 0xf3, 0x99, 0xf6, 0x47, 0x77, 0x61, 0x8c, 0x6e, 0xaf, + 0x1a, 0x09, 0x97, 0x72, 0x36, 0x16, 0xba, 0xc9, 0x52, 0x7a, 0xb4, 0x0c, 0x53, 0xf1, 0x5f, 0xb5, + 0xba, 0x67, 0x63, 0xba, 0x5c, 0x20, 0x7e, 0x75, 0xdf, 0xb3, 0x71, 0x94, 0xdb, 0xb0, 0xef, 0x7b, + 0x7e, 0xad, 0x85, 0x83, 0xc0, 0x6a, 0x60, 0xb2, 0x54, 0x26, 0xcd, 0x22, 0x79, 0xf9, 0x28, 0x7e, + 0x87, 0x6e, 0xc2, 0x18, 0x89, 0xbd, 0xa0, 0x34, 0x4a, 0xfc, 0x32, 0x2b, 0x0b, 0x57, 0x93, 0xd2, + 0x30, 0xeb, 0xe0, 0x1c, 0xbb, 0x0e, 0xd6, 0x60, 0x26, 0x1d, 0x8d, 0x8e, 0x5d, 0x1a, 0x23, 0x04, + 0xd3, 0xa9, 0xb7, 0xb2, 0x84, 0x3b, 0x2e, 0x49, 0xb8, 0x57, 0x92, 0x93, 0x07, 0x3d, 0x05, 0x4d, + 0x90, 0x53, 0x50, 0x7c, 0xba, 0x88, 0x4f, 0x4a, 0x8c, 0x2b, 0x26, 0x73, 0xba, 0x02, 0xdd, 0x80, + 0x37, 0xea, 0x5e, 0xab, 0xdd, 0x09, 0x2d, 0x22, 0xbd, 0x43, 0xac, 0x02, 0x84, 0xf9, 0x85, 0xd4, + 0xc0, 0x27, 0xd1, 0x7b, 0xe3, 0x6d, 0x78, 0x63, 0x07, 0x87, 0x9b, 0xf1, 0x37, 0x58, 0x92, 0x08, + 0x4a, 0x30, 0x6e, 0xd9, 0xb6, 0x8f, 0x83, 0x20, 0xc9, 0x03, 0xf4, 0xd1, 0xf8, 0x01, 0xa0, 0x34, + 0x79, 0xf7, 0x1c, 0x3d, 0x4e, 0xbf, 0xe2, 0x68, 0xac, 0xcd, 0x71, 0x28, 0x93, 0x09, 0x09, 0xd9, + 0x70, 0x31, 0xf6, 0x1e, 0x2c, 0xf5, 0x84, 0x6f, 0xca, 0x4e, 0xc4, 0xd9, 0xc0, 0x5f, 0xc0, 0xf9, + 0x33, 0x42, 0xfd, 0x29, 0x8b, 0x7a, 0xab, 0xe7, 0xde, 0xbe, 0xa8, 0x85, 0x10, 0x19, 0x11, 0x42, + 0xc4, 0x78, 0x87, 0x9c, 0x25, 0x29, 0xfb, 0x2d, 0xab, 0x69, 0xb9, 0x75, 0xdc, 0xdf, 0x1c, 0x9b, + 0xb0, 0x26, 0xcc, 0x1a, 0xd0, 0xa2, 0xb6, 0x94, 0xc5, 0x69, 0xab, 0xf7, 0x0c, 0xe6, 0x78, 0xdd, + 0xa8, 0xfb, 0xae, 0xc2, 0x79, 0xea, 0x97, 0xda, 0x7e, 0x3c, 0x44, 0xbf, 0x23, 0x66, 0x2c, 0x66, + 0xc2, 0x70, 0x5e, 0xfb, 0x0a, 0x39, 0x76, 0x51, 0xd1, 0x1f, 0xe1, 0xe3, 0xa0, 0xbf, 0x41, 0xde, + 0x07, 0x83, 0x9d, 0x32, 0xa0, 0x41, 0x2d, 0x71, 0xfe, 0x69, 0x5b, 0x33, 0xda, 0x30, 0x18, 0x9d, + 0xba, 0x1b, 0x46, 0x31, 0xb1, 0xe5, 0x11, 0x3e, 0x4e, 0x76, 0xaf, 0x79, 0xf9, 0x7a, 0xf8, 0x08, + 0x1f, 0x9b, 0x53, 0x56, 0x8f, 0xcb, 0x70, 0x06, 0x7e, 0x0a, 0x57, 0xb6, 0x49, 0x91, 0x05, 0x57, + 0xeb, 0xbe, 0xd3, 0x96, 0xaf, 0xe7, 0x39, 0x18, 0x0b, 0xc8, 0x28, 0xd5, 0x95, 0x3e, 0xa1, 0xcb, + 0x30, 0x69, 0xf9, 0x8d, 0x4e, 0x8b, 0xa4, 0xf4, 0x91, 0x72, 0x61, 0xbd, 0x68, 0xf6, 0x5e, 0x18, + 0x6d, 0x58, 0xe4, 0x58, 0xe7, 0x3f, 0xe8, 0xf4, 0x24, 0x8e, 0x64, 0x4b, 0x2c, 0xf0, 0x12, 0x3f, + 0x17, 0x94, 0x91, 0x78, 0x8e, 0xf7, 0x8f, 0x26, 0xe6, 0xfb, 0xe1, 0xa4, 0xff, 0x5c, 0x83, 0x37, + 0x19, 0xf1, 0x5d, 0xbf, 0xce, 0xc2, 0xb9, 0x67, 0x56, 0xb3, 0x83, 0xa9, 0x96, 0xf1, 0xc3, 0x50, + 0xfe, 0x92, 0xef, 0x2a, 0x85, 0x8c, 0x5d, 0xe5, 0x3f, 0x1a, 0x49, 0x7a, 0x64, 0x5b, 0x0d, 0x1e, + 0x78, 0x3e, 0x35, 0x84, 0xe5, 0x36, 0xba, 0xb9, 0x09, 0xc1, 0x68, 0x78, 0xdc, 0x8e, 0x91, 0x4d, + 0x9a, 0xe4, 0xef, 0xc8, 0x42, 0x41, 0x68, 0xf9, 0x21, 0x17, 0xc1, 0xe4, 0x1d, 0xb5, 0xd0, 0x22, + 0x00, 0x76, 0xed, 0x84, 0x20, 0x96, 0x3f, 0x89, 0x5d, 0x9b, 0x0e, 0xbf, 0xc2, 0x8f, 0x98, 0x3f, + 0x68, 0xe4, 0x2b, 0xa6, 0xab, 0x13, 0x8d, 0xa9, 0x40, 0xa5, 0xd0, 0x02, 0x4c, 0x26, 0x81, 0x96, + 0xc4, 0xe9, 0x04, 0x8d, 0xb4, 0xe0, 0x55, 0x9e, 0xf6, 0xff, 0x31, 0x02, 0x33, 0x31, 0xd0, 0xd4, + 0x12, 0x1f, 0x67, 0xcf, 0xce, 0x06, 0x73, 0x76, 0x66, 0xa9, 0x2b, 0xf4, 0xfc, 0x96, 0x4c, 0x19, + 0x2a, 0x64, 0xf4, 0xbf, 0x6a, 0x30, 0x16, 0x33, 0x52, 0xad, 0xb8, 0xfe, 0x69, 0x2b, 0x75, 0x7c, + 0x2b, 0xe4, 0x38, 0xbe, 0xdd, 0x87, 0xf3, 0x31, 0xc3, 0x6e, 0xd9, 0x94, 0x38, 0x3f, 0x3a, 0x01, + 0xc7, 0x85, 0xd5, 0x4a, 0x52, 0x58, 0xad, 0x3c, 0x4e, 0x28, 0xcc, 0x19, 0x32, 0xa5, 0xfb, 0x6c, + 0x2c, 0x12, 0x67, 0x7f, 0x8c, 0xc3, 0xe7, 0x9e, 0x7f, 0xb4, 0x67, 0xf9, 0x56, 0x0b, 0x87, 0xd8, + 0x4f, 0x9c, 0x6d, 0xdc, 0x23, 0x9f, 0x7e, 0x92, 0x61, 0x6a, 0xed, 0x79, 0x98, 0xa8, 0x1f, 0x5a, + 0x8e, 0x9b, 0xe8, 0x3b, 0x69, 0x8e, 0x93, 0xe7, 0x5d, 0xdb, 0xb8, 0x4a, 0xf6, 0xcd, 0x38, 0xd9, + 0xed, 0x45, 0x40, 0xea, 0x5e, 0x33, 0x3a, 0xf4, 0xe2, 0xaa, 0x6b, 0xb5, 0x83, 0x43, 0x2f, 0xc9, + 0x17, 0xc6, 0x36, 0xac, 0xef, 0x60, 0x39, 0xc9, 0x00, 0x9f, 0x6e, 0xc6, 0x43, 0xb8, 0x9a, 0xcd, + 0x66, 0xd0, 0x0c, 0x65, 0xbc, 0xd4, 0x60, 0x31, 0x03, 0x35, 0x55, 0xbd, 0x02, 0x28, 0xc0, 0xbe, + 0x63, 0x35, 0x9d, 0xef, 0x63, 0x3b, 0x19, 0xa5, 0xa0, 0x24, 0x23, 0xc3, 0xed, 0x1e, 0xdf, 0x84, + 0x95, 0x68, 0x2d, 0x26, 0x55, 0xfa, 0x38, 0xca, 0x7a, 0x8b, 0x32, 0x87, 0x59, 0x7e, 0xaf, 0x25, + 0x39, 0x5b, 0x3a, 0x9f, 0x2a, 0xb3, 0x0b, 0x17, 0xf8, 0x56, 0x40, 0x46, 0x6d, 0x9c, 0xe3, 0x65, + 0x9e, 0xc7, 0xec, 0x8b, 0xe1, 0xf4, 0xdc, 0x20, 0x25, 0x6f, 0x8e, 0xb7, 0xaa, 0xfc, 0xf7, 0x5b, + 0x0d, 0x16, 0xa4, 0xe4, 0xaf, 0x89, 0x42, 0x7f, 0xd7, 0xe0, 0xad, 0x6a, 0x67, 0x3f, 0xda, 0xd7, + 0xf6, 0x31, 0xb1, 0x76, 0xf0, 0xc0, 0xf7, 0x5a, 0xd5, 0x28, 0xc5, 0x73, 0xce, 0x5b, 0x85, 0x99, + 0x78, 0x37, 0xe0, 0x5c, 0x18, 0xef, 0x11, 0x5b, 0x34, 0x7d, 0x9c, 0xb0, 0x7e, 0x9b, 0x51, 0x6c, + 0x2e, 0x64, 0x15, 0x9b, 0xff, 0xa5, 0xc1, 0x5a, 0x16, 0x7e, 0x76, 0x31, 0xdd, 0x04, 0x94, 0x86, + 0xcf, 0x2c, 0xa9, 0x0b, 0x3d, 0x15, 0x68, 0x8a, 0xfb, 0x3f, 0xab, 0xf1, 0x4b, 0x0d, 0xca, 0x12, + 0x35, 0xe2, 0xac, 0x94, 0x68, 0xc0, 0x63, 0xd2, 0x4e, 0x05, 0x53, 0x66, 0x1d, 0x7f, 0x1b, 0x2e, + 0x71, 0x90, 0x86, 0x29, 0xe8, 0x1b, 0xbf, 0xd2, 0xe0, 0x26, 0xcb, 0x27, 0x6e, 0xe1, 0x9c, 0x69, + 0x9c, 0x19, 0x5f, 0x6a, 0x70, 0x43, 0x8d, 0xea, 0xec, 0xa2, 0xc7, 0x68, 0xf0, 0x6b, 0x32, 0x85, + 0xed, 0x34, 0x43, 0xc2, 0xa8, 0xc2, 0xa2, 0x54, 0x50, 0xaa, 0xff, 0x38, 0x16, 0x37, 0x7b, 0x73, + 0xb4, 0xe4, 0x28, 0xa5, 0xc4, 0xe1, 0x1f, 0x38, 0x0d, 0x1c, 0x84, 0xaf, 0x9b, 0xc3, 0x79, 0x54, + 0xaf, 0x93, 0xc3, 0x53, 0xd8, 0x4e, 0xd5, 0xe1, 0xbf, 0xd3, 0x78, 0x8f, 0x53, 0x49, 0xe9, 0x93, + 0xd2, 0x09, 0x4e, 0x86, 0x92, 0xb3, 0x5e, 0x61, 0xe0, 0xb3, 0xde, 0xbf, 0x35, 0xb8, 0x5e, 0xc5, + 0xae, 0xbd, 0xe9, 0xda, 0x5d, 0xac, 0x42, 0x45, 0x12, 0x07, 0xa7, 0xd2, 0x30, 0x7a, 0x95, 0x95, + 0xf4, 0x3f, 0x45, 0x21, 0x97, 0x47, 0x8f, 0x7e, 0xa5, 0x75, 0xed, 0x84, 0xa5, 0xf5, 0x15, 0x98, + 0xa6, 0xd5, 0xd8, 0x5a, 0xaf, 0xcb, 0x31, 0x6a, 0x16, 0xe9, 0x4b, 0xd2, 0x24, 0xb9, 0xfd, 0xdf, + 0x6b, 0x30, 0xb9, 0x49, 0xb8, 0x6f, 0xee, 0xed, 0xa2, 0xaf, 0xc1, 0xe8, 0x9e, 0xe3, 0x36, 0x50, + 0x89, 0x11, 0x9b, 0xba, 0xe5, 0xa0, 0xcf, 0x4b, 0x46, 0xa8, 0x22, 0x98, 0x54, 0x25, 0xb9, 0xdb, + 0x09, 0x88, 0xd5, 0x20, 0xf3, 0x46, 0x84, 0x7e, 0xb5, 0x2f, 0x1d, 0x15, 0xb3, 0x0f, 0xb3, 0xb2, + 0x8b, 0x0e, 0x68, 0x9d, 0x67, 0x90, 0x75, 0x17, 0x42, 0x2f, 0x33, 0x94, 0xb2, 0x2b, 0x09, 0x9f, + 0x11, 0x55, 0xb8, 0x0b, 0x11, 0xa2, 0x2a, 0xf2, 0x1b, 0x13, 0x39, 0xf8, 0x1f, 0xc0, 0x9c, 0xfc, + 0x0e, 0x05, 0xba, 0xae, 0x94, 0xc1, 0x24, 0xab, 0x1c, 0x72, 0xf6, 0x60, 0x86, 0x35, 0x04, 0x32, + 0x14, 0x56, 0x4a, 0xf8, 0xea, 0x22, 0xdf, 0x2e, 0xc7, 0x87, 0x50, 0x4c, 0x5f, 0x50, 0x40, 0x65, + 0x29, 0xde, 0xb4, 0x35, 0x54, 0xdc, 0x1e, 0xc3, 0x05, 0xfe, 0x5e, 0x02, 0x5a, 0xcd, 0xe0, 0xc8, + 0xea, 0xae, 0xe2, 0xfa, 0x1d, 0x52, 0x4d, 0x67, 0x1b, 0xf5, 0x68, 0x8d, 0x67, 0x2b, 0x6d, 0xe4, + 0xeb, 0xcb, 0x0c, 0x99, 0xa4, 0x6f, 0xde, 0x20, 0x25, 0x49, 0xf1, 0x26, 0x00, 0xba, 0xc6, 0x0b, + 0xc8, 0xbc, 0x2d, 0xa0, 0xaf, 0x30, 0xa4, 0x19, 0x0d, 0xfa, 0xef, 0xc2, 0x79, 0xae, 0xa7, 0x8d, + 0xd8, 0x79, 0xf2, 0x4e, 0xba, 0xbe, 0xaa, 0x26, 0xa2, 0xdc, 0x9f, 0x90, 0xc8, 0x48, 0x33, 0x17, + 0x22, 0x43, 0xc2, 0xbb, 0xac, 0x48, 0x47, 0xe9, 0xd5, 0x29, 0x24, 0xaa, 0x5c, 0xdc, 0x73, 0x26, + 0x3b, 0xd4, 0x26, 0x55, 0x01, 0x61, 0x9c, 0xf6, 0x7d, 0x45, 0x47, 0x64, 0xf6, 0x86, 0x73, 0x4b, + 0x7c, 0x4e, 0x0a, 0x69, 0x62, 0x7f, 0xb4, 0x5b, 0x01, 0x40, 0x37, 0x15, 0x42, 0x85, 0x1e, 0x2f, + 0x97, 0xec, 0x14, 0x7d, 0xd7, 0x23, 0xd2, 0x57, 0x90, 0xf2, 0x1a, 0x50, 0xe4, 0x95, 0x2c, 0x91, + 0x01, 0xe7, 0x3b, 0xa1, 0xcb, 0x2f, 0x66, 0xd6, 0xac, 0x3b, 0x04, 0x39, 0xe2, 0x23, 0x24, 0x17, + 0xdf, 0x32, 0x6e, 0x12, 0xa0, 0x4a, 0x0e, 0x49, 0xa9, 0x2b, 0x07, 0xb9, 0xfd, 0xf7, 0x08, 0xa0, + 0x57, 0xd4, 0x47, 0x4b, 0xbc, 0x14, 0xb6, 0xf1, 0xc6, 0xe5, 0x00, 0x49, 0xa7, 0xcd, 0x26, 0xd7, + 0xa9, 0x64, 0x2d, 0x30, 0x74, 0x23, 0x63, 0xae, 0xac, 0xb0, 0xae, 0x5f, 0x66, 0x88, 0xfb, 0x48, + 0x49, 0x1f, 0x3c, 0xb3, 0xa5, 0x88, 0x15, 0xef, 0x3e, 0x52, 0x6a, 0xe9, 0xd6, 0x63, 0xd2, 0xac, + 0x59, 0xcb, 0xe0, 0xcf, 0x76, 0xb6, 0xb8, 0x3c, 0x96, 0xd1, 0x21, 0x3a, 0x4e, 0x77, 0xde, 0x64, + 0x4d, 0x2e, 0x74, 0x5b, 0x2d, 0x4d, 0x6a, 0xba, 0x5c, 0xa2, 0x7d, 0xa9, 0xe8, 0xa1, 0x0d, 0x99, + 0x4b, 0xe6, 0x53, 0x92, 0x58, 0x53, 0xed, 0x1d, 0x31, 0xf5, 0x89, 0xfd, 0xac, 0x7c, 0xac, 0x03, + 0x92, 0xf7, 0xb2, 0x5a, 0x5b, 0x68, 0x43, 0x21, 0x67, 0x78, 0x1b, 0x4a, 0x84, 0xa6, 0x0d, 0xa8, + 0x16, 0x3a, 0xac, 0x11, 0xdb, 0xa0, 0x67, 0xb7, 0xa5, 0xb8, 0x2c, 0xd1, 0xb7, 0x7f, 0xa5, 0x1b, + 0xd9, 0xf4, 0x5d, 0x89, 0x87, 0x30, 0x27, 0xef, 0x56, 0x71, 0x27, 0x32, 0x65, 0x4b, 0x2b, 0x97, + 0x24, 0x51, 0xb7, 0xb4, 0x3d, 0x2b, 0x7d, 0xa5, 0xb1, 0xe6, 0xcc, 0x23, 0xb1, 0x4e, 0x12, 0x89, + 0xac, 0x0d, 0x24, 0xc6, 0xbf, 0xa2, 0x59, 0xa4, 0x2f, 0x28, 0x7a, 0x15, 0xe8, 0x53, 0xb2, 0x79, + 0x08, 0x7d, 0x19, 0x71, 0xf3, 0xc8, 0x6a, 0xdd, 0xa8, 0xd9, 0x1f, 0x11, 0xf6, 0x42, 0xa9, 0x5f, + 0x64, 0x9f, 0xd5, 0x2c, 0xd0, 0xaf, 0xe5, 0xa0, 0xa4, 0xc2, 0xbe, 0x88, 0x1b, 0x67, 0x8a, 0xee, + 0x80, 0x98, 0xb3, 0xfa, 0xb7, 0x12, 0x74, 0x36, 0x92, 0xd4, 0xf5, 0xfb, 0x1f, 0xc5, 0x57, 0xee, + 0xd4, 0x7d, 0x07, 0xf4, 0x55, 0x1e, 0x45, 0xae, 0x3e, 0xc5, 0x40, 0x40, 0x5e, 0x6a, 0x50, 0xee, + 0xd7, 0xb9, 0x40, 0xef, 0xe4, 0xc4, 0xc1, 0xc6, 0xee, 0x20, 0x30, 0xbe, 0x88, 0xaf, 0xf9, 0x65, + 0xf6, 0x0a, 0xd0, 0x2d, 0x21, 0xce, 0xfa, 0xb4, 0x25, 0x74, 0xd9, 0x52, 0x53, 0x75, 0x21, 0x5c, + 0xf2, 0xd1, 0x26, 0x29, 0xeb, 0x8b, 0x1f, 0x6d, 0xd9, 0xad, 0x02, 0x7d, 0x5d, 0x25, 0x95, 0x69, + 0x12, 0xfc, 0x10, 0x96, 0xfb, 0xd4, 0xe8, 0xd1, 0x1d, 0xf6, 0xac, 0x9f, 0xab, 0xa2, 0xcf, 0x7f, + 0x20, 0xc8, 0x8b, 0xbd, 0xb7, 0x34, 0xf4, 0x39, 0x2c, 0xa9, 0x6b, 0xec, 0xdc, 0x22, 0xc8, 0x55, + 0x90, 0xcf, 0x2d, 0xdd, 0x87, 0xf9, 0xcc, 0xd2, 0x38, 0x7a, 0xbb, 0x9f, 0x60, 0xa6, 0x7c, 0x96, + 0x5b, 0xe6, 0x2f, 0x84, 0xb6, 0x42, 0x46, 0xd1, 0x1a, 0xdd, 0x53, 0x70, 0x54, 0x17, 0xba, 0xb9, + 0xa8, 0x57, 0x16, 0x62, 0x6f, 0x69, 0xe8, 0x67, 0x1a, 0xac, 0xe6, 0xa9, 0x58, 0xa3, 0xbb, 0x03, + 0x20, 0x52, 0x2d, 0xc3, 0x7e, 0x80, 0x5e, 0x6a, 0x7c, 0x58, 0x0a, 0x65, 0x6a, 0x65, 0x58, 0x66, + 0x15, 0xb5, 0x07, 0x84, 0x21, 0xba, 0x2a, 0xa3, 0xdc, 0xac, 0x74, 0x95, 0xba, 0x44, 0xad, 0x84, + 0xc4, 0x55, 0x50, 0xa5, 0xae, 0x92, 0xd7, 0x9a, 0x95, 0xae, 0x52, 0x96, 0xa7, 0x07, 0x04, 0x24, + 0xba, 0x4a, 0x28, 0x30, 0x2b, 0x5d, 0x95, 0x55, 0x8e, 0x1e, 0x10, 0xc6, 0x97, 0x1a, 0xac, 0xe4, + 0x28, 0x88, 0xa2, 0x77, 0x85, 0xc2, 0x45, 0xbe, 0x52, 0xb0, 0x7e, 0x77, 0xf0, 0x89, 0x09, 0xb8, + 0xad, 0x87, 0xa0, 0x7b, 0x7e, 0xa3, 0xe2, 0xb9, 0x84, 0x45, 0xb7, 0x4c, 0x1d, 0xf3, 0xfa, 0x76, + 0xa5, 0xe1, 0x84, 0x87, 0x9d, 0xfd, 0x4a, 0xdd, 0x6b, 0x6d, 0xc4, 0x24, 0x1b, 0xe4, 0x9f, 0xee, + 0x6f, 0xc2, 0x1a, 0xde, 0x46, 0xea, 0xe7, 0x76, 0xfb, 0x63, 0x64, 0xe0, 0xce, 0xff, 0x02, 0x00, + 0x00, 0xff, 0xff, 0x82, 0x4c, 0xee, 0xe9, 0x84, 0x37, 0x00, 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index 5cd031599..17d29cb09 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -40,6 +40,12 @@ const ( AccessAPI_GetAccount_FullMethodName = "/flow.access.AccessAPI/GetAccount" AccessAPI_GetAccountAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountAtLatestBlock" AccessAPI_GetAccountAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountAtBlockHeight" + AccessAPI_GetAccountBalance_FullMethodName = "/flow.access.AccessAPI/GetAccountBalance" + AccessAPI_GetAccountBalanceAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountBalanceAtLatestBlock" + AccessAPI_GetAccountBalanceAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountBalanceAtBlockHeight" + AccessAPI_GetAccountKeys_FullMethodName = "/flow.access.AccessAPI/GetAccountKeys" + AccessAPI_GetAccountKeysAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountKeysAtLatestBlock" + AccessAPI_GetAccountKeysAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountKeysAtBlockHeight" AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock" AccessAPI_ExecuteScriptAtBlockID_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockID" AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight" @@ -119,6 +125,22 @@ type AccessAPIClient interface { // GetAccountAtBlockHeight gets an account by address at the given block // height GetAccountAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountResponse, error) + // GetAccountBalance gets an account balance by address. + GetAccountBalance(ctx context.Context, in *GetAccountBalanceRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) + // GetAccountBalanceAtLatestBlock gets an account balance by address from the latest sealed + // execution state. + GetAccountBalanceAtLatestBlock(ctx context.Context, in *GetAccountBalanceAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) + // GetAccountBalanceAtBlockHeight gets an account balance by address at the given block + // height + GetAccountBalanceAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) + // GetAccountKeys gets an account public keys by address. + GetAccountKeys(ctx context.Context, in *GetAccountKeysRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) + // GetAccountKeysAtLatestBlock gets an account public keys by address from the latest sealed + // execution state. + GetAccountKeysAtLatestBlock(ctx context.Context, in *GetAccountKeysAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) + // GetAccountKeysAtBlockHeight gets an account public keys by address at the given block + // height + GetAccountKeysAtBlockHeight(ctx context.Context, in *GetAccountKeysAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) // ExecuteScriptAtLatestBlock executes a read-only Cadence script against the // latest sealed execution state. ExecuteScriptAtLatestBlock(ctx context.Context, in *ExecuteScriptAtLatestBlockRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) @@ -422,6 +444,60 @@ func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAc return out, nil } +func (c *accessAPIClient) GetAccountBalance(ctx context.Context, in *GetAccountBalanceRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { + out := new(AccountBalanceResponse) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountBalance_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessAPIClient) GetAccountBalanceAtLatestBlock(ctx context.Context, in *GetAccountBalanceAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { + out := new(AccountBalanceResponse) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountBalanceAtLatestBlock_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessAPIClient) GetAccountBalanceAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { + out := new(AccountBalanceResponse) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountBalanceAtBlockHeight_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessAPIClient) GetAccountKeys(ctx context.Context, in *GetAccountKeysRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { + out := new(AccountBalanceResponse) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountKeys_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessAPIClient) GetAccountKeysAtLatestBlock(ctx context.Context, in *GetAccountKeysAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { + out := new(AccountBalanceResponse) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountKeysAtLatestBlock_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessAPIClient) GetAccountKeysAtBlockHeight(ctx context.Context, in *GetAccountKeysAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { + out := new(AccountBalanceResponse) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountKeysAtBlockHeight_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *ExecuteScriptAtLatestBlockRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, in, out, opts...) @@ -897,6 +973,22 @@ type AccessAPIServer interface { // GetAccountAtBlockHeight gets an account by address at the given block // height GetAccountAtBlockHeight(context.Context, *GetAccountAtBlockHeightRequest) (*AccountResponse, error) + // GetAccountBalance gets an account balance by address. + GetAccountBalance(context.Context, *GetAccountBalanceRequest) (*AccountBalanceResponse, error) + // GetAccountBalanceAtLatestBlock gets an account balance by address from the latest sealed + // execution state. + GetAccountBalanceAtLatestBlock(context.Context, *GetAccountBalanceAtLatestBlockRequest) (*AccountBalanceResponse, error) + // GetAccountBalanceAtBlockHeight gets an account balance by address at the given block + // height + GetAccountBalanceAtBlockHeight(context.Context, *GetAccountAtBlockHeightRequest) (*AccountBalanceResponse, error) + // GetAccountKeys gets an account public keys by address. + GetAccountKeys(context.Context, *GetAccountKeysRequest) (*AccountBalanceResponse, error) + // GetAccountKeysAtLatestBlock gets an account public keys by address from the latest sealed + // execution state. + GetAccountKeysAtLatestBlock(context.Context, *GetAccountKeysAtLatestBlockRequest) (*AccountBalanceResponse, error) + // GetAccountKeysAtBlockHeight gets an account public keys by address at the given block + // height + GetAccountKeysAtBlockHeight(context.Context, *GetAccountKeysAtBlockHeightRequest) (*AccountBalanceResponse, error) // ExecuteScriptAtLatestBlock executes a read-only Cadence script against the // latest sealed execution state. ExecuteScriptAtLatestBlock(context.Context, *ExecuteScriptAtLatestBlockRequest) (*ExecuteScriptResponse, error) @@ -1070,6 +1162,24 @@ func (UnimplementedAccessAPIServer) GetAccountAtLatestBlock(context.Context, *Ge func (UnimplementedAccessAPIServer) GetAccountAtBlockHeight(context.Context, *GetAccountAtBlockHeightRequest) (*AccountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountAtBlockHeight not implemented") } +func (UnimplementedAccessAPIServer) GetAccountBalance(context.Context, *GetAccountBalanceRequest) (*AccountBalanceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAccountBalance not implemented") +} +func (UnimplementedAccessAPIServer) GetAccountBalanceAtLatestBlock(context.Context, *GetAccountBalanceAtLatestBlockRequest) (*AccountBalanceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAccountBalanceAtLatestBlock not implemented") +} +func (UnimplementedAccessAPIServer) GetAccountBalanceAtBlockHeight(context.Context, *GetAccountAtBlockHeightRequest) (*AccountBalanceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAccountBalanceAtBlockHeight not implemented") +} +func (UnimplementedAccessAPIServer) GetAccountKeys(context.Context, *GetAccountKeysRequest) (*AccountBalanceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAccountKeys not implemented") +} +func (UnimplementedAccessAPIServer) GetAccountKeysAtLatestBlock(context.Context, *GetAccountKeysAtLatestBlockRequest) (*AccountBalanceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAccountKeysAtLatestBlock not implemented") +} +func (UnimplementedAccessAPIServer) GetAccountKeysAtBlockHeight(context.Context, *GetAccountKeysAtBlockHeightRequest) (*AccountBalanceResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAccountKeysAtBlockHeight not implemented") +} func (UnimplementedAccessAPIServer) ExecuteScriptAtLatestBlock(context.Context, *ExecuteScriptAtLatestBlockRequest) (*ExecuteScriptResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ExecuteScriptAtLatestBlock not implemented") } @@ -1523,6 +1633,114 @@ func _AccessAPI_GetAccountAtBlockHeight_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } +func _AccessAPI_GetAccountBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccountBalanceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessAPIServer).GetAccountBalance(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccessAPI_GetAccountBalance_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessAPIServer).GetAccountBalance(ctx, req.(*GetAccountBalanceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessAPI_GetAccountBalanceAtLatestBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccountBalanceAtLatestBlockRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessAPIServer).GetAccountBalanceAtLatestBlock(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccessAPI_GetAccountBalanceAtLatestBlock_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessAPIServer).GetAccountBalanceAtLatestBlock(ctx, req.(*GetAccountBalanceAtLatestBlockRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessAPI_GetAccountBalanceAtBlockHeight_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccountAtBlockHeightRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessAPIServer).GetAccountBalanceAtBlockHeight(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccessAPI_GetAccountBalanceAtBlockHeight_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessAPIServer).GetAccountBalanceAtBlockHeight(ctx, req.(*GetAccountAtBlockHeightRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessAPI_GetAccountKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccountKeysRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessAPIServer).GetAccountKeys(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccessAPI_GetAccountKeys_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessAPIServer).GetAccountKeys(ctx, req.(*GetAccountKeysRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessAPI_GetAccountKeysAtLatestBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccountKeysAtLatestBlockRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessAPIServer).GetAccountKeysAtLatestBlock(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccessAPI_GetAccountKeysAtLatestBlock_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessAPIServer).GetAccountKeysAtLatestBlock(ctx, req.(*GetAccountKeysAtLatestBlockRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessAPI_GetAccountKeysAtBlockHeight_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccountKeysAtBlockHeightRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessAPIServer).GetAccountKeysAtBlockHeight(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccessAPI_GetAccountKeysAtBlockHeight_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessAPIServer).GetAccountKeysAtBlockHeight(ctx, req.(*GetAccountKeysAtBlockHeightRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _AccessAPI_ExecuteScriptAtLatestBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ExecuteScriptAtLatestBlockRequest) if err := dec(in); err != nil { @@ -2022,6 +2240,30 @@ var AccessAPI_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetAccountAtBlockHeight", Handler: _AccessAPI_GetAccountAtBlockHeight_Handler, }, + { + MethodName: "GetAccountBalance", + Handler: _AccessAPI_GetAccountBalance_Handler, + }, + { + MethodName: "GetAccountBalanceAtLatestBlock", + Handler: _AccessAPI_GetAccountBalanceAtLatestBlock_Handler, + }, + { + MethodName: "GetAccountBalanceAtBlockHeight", + Handler: _AccessAPI_GetAccountBalanceAtBlockHeight_Handler, + }, + { + MethodName: "GetAccountKeys", + Handler: _AccessAPI_GetAccountKeys_Handler, + }, + { + MethodName: "GetAccountKeysAtLatestBlock", + Handler: _AccessAPI_GetAccountKeysAtLatestBlock_Handler, + }, + { + MethodName: "GetAccountKeysAtBlockHeight", + Handler: _AccessAPI_GetAccountKeysAtBlockHeight_Handler, + }, { MethodName: "ExecuteScriptAtLatestBlock", Handler: _AccessAPI_ExecuteScriptAtLatestBlock_Handler, From cca70ac0613fa62c5735e7411f5f263307f6b06a Mon Sep 17 00:00:00 2001 From: Andrii Date: Wed, 19 Jun 2024 17:34:09 +0300 Subject: [PATCH 369/626] Fixed wrong response for getAccountKeys* calls --- protobuf/flow/access/access.proto | 6 +- protobuf/go/flow/access/access.pb.go | 330 +++++++++++----------- protobuf/go/flow/access/access_grpc.pb.go | 30 +- 3 files changed, 183 insertions(+), 183 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 8b37be12c..154a71ff9 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -109,15 +109,15 @@ service AccessAPI { returns (AccountBalanceResponse); // GetAccountKeys gets an account public keys by address. - rpc GetAccountKeys(GetAccountKeysRequest) returns (AccountBalanceResponse); + rpc GetAccountKeys(GetAccountKeysRequest) returns (AccountKeysResponse); // GetAccountKeysAtLatestBlock gets an account public keys by address from the latest sealed // execution state. rpc GetAccountKeysAtLatestBlock(GetAccountKeysAtLatestBlockRequest) - returns (AccountBalanceResponse); + returns (AccountKeysResponse); // GetAccountKeysAtBlockHeight gets an account public keys by address at the given block // height rpc GetAccountKeysAtBlockHeight(GetAccountKeysAtBlockHeightRequest) - returns (AccountBalanceResponse); + returns (AccountKeysResponse); // Scripts diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 2f1bd6ca3..8efdce7c1 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -3519,169 +3519,169 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2619 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdd, 0x6f, 0xdc, 0x58, - 0x15, 0x97, 0x33, 0x69, 0x3e, 0x4e, 0x26, 0x69, 0xf7, 0x36, 0x9b, 0x4e, 0x9c, 0x26, 0x99, 0x3a, - 0xc9, 0x36, 0xfd, 0xd8, 0x49, 0x69, 0x17, 0x6d, 0xbb, 0xc0, 0x8a, 0xa4, 0x9b, 0x66, 0xa3, 0x6d, - 0x57, 0x91, 0xa7, 0x5b, 0x54, 0x60, 0x77, 0xe4, 0x8c, 0x6f, 0x26, 0x56, 0x66, 0xec, 0xc1, 0xf6, - 0xb4, 0x0d, 0xac, 0xd0, 0x3e, 0x54, 0x08, 0x09, 0xf1, 0x25, 0x1e, 0x10, 0x2b, 0xf1, 0x02, 0x4f, - 0xc0, 0x03, 0x4f, 0x3c, 0x20, 0x84, 0x90, 0x10, 0xfc, 0x01, 0xfc, 0x41, 0x48, 0xc8, 0xd7, 0xd7, - 0x33, 0xbe, 0x1f, 0xbe, 0xe3, 0x99, 0xa4, 0xa4, 0x2f, 0x6d, 0xec, 0x7b, 0xee, 0x39, 0xbf, 0xf3, - 0x71, 0xcf, 0xbd, 0x3e, 0xe7, 0x0e, 0x94, 0x0e, 0x9a, 0xde, 0xf3, 0x0d, 0xab, 0x5e, 0xc7, 0x41, - 0x40, 0xff, 0xab, 0xb4, 0x7d, 0x2f, 0xf4, 0xd0, 0x54, 0x34, 0x52, 0x89, 0x5f, 0xe9, 0x0b, 0x84, - 0x0c, 0xbb, 0xa1, 0x13, 0x3a, 0x98, 0x10, 0x7a, 0x1d, 0x37, 0x8c, 0x29, 0xf5, 0x32, 0x3b, 0xb8, - 0xdf, 0xf4, 0xea, 0x47, 0xb5, 0x43, 0x6c, 0xd9, 0xd8, 0xa7, 0x14, 0xf3, 0x12, 0x0a, 0x3a, 0xb4, - 0xc4, 0x0e, 0xd5, 0xbd, 0x66, 0x13, 0xd7, 0x43, 0xc7, 0x73, 0xe5, 0x53, 0xf1, 0x33, 0xdc, 0x95, - 0xbb, 0xca, 0x0d, 0xbd, 0xc0, 0xf5, 0x4e, 0x34, 0xb3, 0xe6, 0xe3, 0xa0, 0xd3, 0x4c, 0xa8, 0x2e, - 0xb3, 0x54, 0x2d, 0x1c, 0x5a, 0xb6, 0x15, 0x5a, 0x74, 0x74, 0x8d, 0x1d, 0x75, 0x3d, 0x1b, 0xd7, - 0x9e, 0x61, 0x3f, 0x88, 0xd8, 0x38, 0xee, 0x81, 0x47, 0xc9, 0x96, 0x59, 0xb2, 0xd0, 0xb7, 0xdc, - 0xc0, 0x4a, 0xc3, 0x5c, 0x6e, 0x78, 0x5e, 0xa3, 0x89, 0x37, 0xc8, 0xd3, 0x7e, 0xe7, 0x60, 0x23, - 0x74, 0x5a, 0x38, 0x08, 0xad, 0x56, 0x3b, 0x26, 0x30, 0xa6, 0x61, 0x6a, 0xcf, 0x71, 0x1b, 0x26, - 0xfe, 0x5e, 0x07, 0x07, 0xa1, 0x31, 0x03, 0xc5, 0xf8, 0x31, 0x68, 0x7b, 0x6e, 0x80, 0x8d, 0x05, - 0x98, 0xdf, 0xc1, 0xe1, 0xc7, 0x9e, 0x8d, 0x9f, 0xc4, 0xd2, 0x77, 0xdd, 0x03, 0x2f, 0x21, 0xde, - 0x03, 0x5d, 0x36, 0x18, 0x4f, 0x45, 0xb7, 0x61, 0x34, 0x42, 0x5a, 0xd2, 0xca, 0xda, 0xfa, 0xd4, - 0xed, 0xa5, 0x0a, 0xf1, 0x5b, 0x02, 0xb5, 0xc2, 0xcf, 0x22, 0xb4, 0xc6, 0x7b, 0xb0, 0xb0, 0x83, - 0xc3, 0x87, 0x56, 0x88, 0x83, 0x70, 0x2b, 0xf2, 0xc6, 0x87, 0xc4, 0x5d, 0x54, 0x20, 0x5a, 0x80, - 0x49, 0x27, 0xa8, 0x05, 0xd8, 0x6a, 0x62, 0x9b, 0xf0, 0x9d, 0x30, 0x27, 0x9c, 0xa0, 0x4a, 0x9e, - 0x8d, 0x1b, 0x04, 0x6a, 0x6a, 0xd6, 0xd6, 0xf1, 0xee, 0x07, 0xc9, 0xcc, 0x19, 0x18, 0x71, 0xe2, - 0x29, 0x45, 0x73, 0xc4, 0xb1, 0x8d, 0x77, 0x61, 0x91, 0x27, 0xfe, 0x10, 0x3b, 0x8d, 0xc3, 0x30, - 0x99, 0x30, 0x07, 0x63, 0x87, 0xe4, 0x05, 0x99, 0x34, 0x6a, 0xd2, 0x27, 0xe3, 0x6f, 0x1a, 0x5c, - 0x64, 0x90, 0x51, 0x6d, 0x6f, 0xc1, 0x39, 0x12, 0x3e, 0x54, 0x5d, 0x9d, 0x53, 0x37, 0x3d, 0x25, - 0x26, 0x44, 0xdf, 0x80, 0x62, 0x1c, 0x92, 0x41, 0x68, 0x85, 0x9d, 0xa0, 0x34, 0x52, 0xd6, 0xd6, - 0x67, 0xe4, 0x13, 0xab, 0x84, 0xc2, 0x9c, 0xda, 0xef, 0x3d, 0xa0, 0x3b, 0x30, 0x91, 0xc4, 0x4c, - 0xa9, 0x40, 0x64, 0x5e, 0xe2, 0xa6, 0x3e, 0xa2, 0xc3, 0x66, 0x97, 0xd0, 0xb0, 0xe1, 0x4d, 0xd6, - 0xbe, 0x79, 0x2c, 0x8b, 0x2a, 0x70, 0xf1, 0xa0, 0xd3, 0x6c, 0xd6, 0x62, 0xb8, 0x3e, 0x55, 0x99, - 0x00, 0x9e, 0x30, 0xdf, 0x88, 0x86, 0x28, 0x2f, 0x1a, 0x34, 0x9f, 0xc0, 0xc5, 0xc4, 0xb8, 0x0a, - 0x1f, 0x0c, 0xcc, 0xd6, 0x82, 0x4b, 0x3d, 0xb6, 0xb9, 0xbc, 0x35, 0xb0, 0x88, 0x3f, 0x6b, 0x30, - 0xcd, 0xbc, 0x41, 0xd7, 0x59, 0xbf, 0xce, 0xca, 0xdc, 0x73, 0x96, 0x1e, 0xbd, 0x0e, 0xa5, 0x1d, - 0x1c, 0xde, 0xef, 0xa6, 0x27, 0x55, 0xd0, 0x57, 0xe0, 0xf2, 0x0e, 0x0e, 0x1f, 0x74, 0x9a, 0xcd, - 0x7c, 0xf4, 0x2f, 0x35, 0x40, 0x3d, 0xca, 0xae, 0x49, 0xee, 0x01, 0xf4, 0xd2, 0x21, 0xb5, 0xcb, - 0x3c, 0x87, 0x34, 0x35, 0x2d, 0x45, 0xcc, 0xa8, 0x38, 0x92, 0x57, 0xc5, 0x9f, 0x6a, 0x30, 0xc7, - 0x82, 0xee, 0x42, 0x79, 0x1f, 0x8a, 0xa9, 0x9c, 0x17, 0x94, 0xb4, 0x72, 0x41, 0xb2, 0xf8, 0x1e, - 0xf7, 0x48, 0x4c, 0x86, 0x7e, 0x38, 0x3c, 0x4f, 0x60, 0xae, 0x8a, 0x5d, 0x3b, 0xcd, 0x95, 0x1a, - 0xf0, 0xeb, 0x30, 0x95, 0x62, 0x9f, 0x91, 0x0a, 0xd2, 0xf3, 0xd2, 0xe4, 0xc6, 0x67, 0x70, 0x49, - 0xe0, 0x4b, 0xf5, 0xe4, 0x97, 0xce, 0x50, 0xb8, 0xff, 0xa9, 0x91, 0xd5, 0x2f, 0xc1, 0xcd, 0xb3, - 0x9f, 0x87, 0x89, 0x38, 0x90, 0x1d, 0x9b, 0xb0, 0x2f, 0x9a, 0xe3, 0xe4, 0x79, 0xd7, 0x46, 0x2b, - 0x30, 0xdd, 0xf3, 0x67, 0x34, 0x5e, 0x20, 0xe3, 0xc5, 0xde, 0xcb, 0x5d, 0x1b, 0x3d, 0x85, 0x39, - 0xb2, 0x21, 0xd6, 0xb0, 0x5b, 0xf7, 0x6c, 0xc7, 0x6d, 0x24, 0x7b, 0x57, 0x69, 0x94, 0x2c, 0x89, - 0x15, 0x0e, 0xec, 0x76, 0x44, 0xbc, 0x4d, 0x69, 0xe9, 0xae, 0x60, 0xce, 0x62, 0xc9, 0x5b, 0xe3, - 0x2e, 0xd9, 0x21, 0xaa, 0xc7, 0x41, 0x88, 0x5b, 0x12, 0x4d, 0xd2, 0xc8, 0x35, 0x06, 0xb9, 0xf1, - 0x1b, 0x0d, 0xae, 0xc8, 0xa7, 0x46, 0xbb, 0x72, 0x7f, 0x06, 0x0a, 0xad, 0x46, 0x4e, 0xaa, 0xd5, - 0x1f, 0x35, 0xb2, 0x34, 0x53, 0xa8, 0xb6, 0x8e, 0x77, 0x5d, 0x1b, 0xbf, 0xc8, 0x01, 0x6b, 0x16, - 0xce, 0x39, 0x11, 0x29, 0x41, 0x31, 0x6d, 0xc6, 0x0f, 0x0a, 0xb0, 0x85, 0x93, 0x82, 0xfd, 0xb5, - 0x06, 0xcb, 0x2c, 0xd8, 0x60, 0xeb, 0x98, 0x64, 0xb5, 0x5e, 0x2a, 0x39, 0x33, 0x33, 0xea, 0x82, - 0x67, 0x83, 0xee, 0x2a, 0xfa, 0x16, 0x5c, 0x4c, 0xad, 0x37, 0x7a, 0x1c, 0x4b, 0x92, 0xc6, 0x5b, - 0x95, 0xd4, 0xc1, 0xb2, 0x22, 0x89, 0x8f, 0x98, 0x89, 0x89, 0x42, 0x41, 0xc0, 0x70, 0xcb, 0xf1, - 0x27, 0x1a, 0xcc, 0xa6, 0x6d, 0x78, 0xb6, 0x49, 0xed, 0xc7, 0x1a, 0x5c, 0x94, 0x65, 0x9e, 0x13, - 0xa5, 0xb4, 0xe1, 0xa0, 0xfc, 0xa5, 0x00, 0xf3, 0x99, 0xf6, 0x47, 0x77, 0x61, 0x8c, 0x6e, 0xaf, - 0x1a, 0x09, 0x97, 0x72, 0x36, 0x16, 0xba, 0xc9, 0x52, 0x7a, 0xb4, 0x0c, 0x53, 0xf1, 0x5f, 0xb5, - 0xba, 0x67, 0x63, 0xba, 0x5c, 0x20, 0x7e, 0x75, 0xdf, 0xb3, 0x71, 0x94, 0xdb, 0xb0, 0xef, 0x7b, - 0x7e, 0xad, 0x85, 0x83, 0xc0, 0x6a, 0x60, 0xb2, 0x54, 0x26, 0xcd, 0x22, 0x79, 0xf9, 0x28, 0x7e, - 0x87, 0x6e, 0xc2, 0x18, 0x89, 0xbd, 0xa0, 0x34, 0x4a, 0xfc, 0x32, 0x2b, 0x0b, 0x57, 0x93, 0xd2, - 0x30, 0xeb, 0xe0, 0x1c, 0xbb, 0x0e, 0xd6, 0x60, 0x26, 0x1d, 0x8d, 0x8e, 0x5d, 0x1a, 0x23, 0x04, - 0xd3, 0xa9, 0xb7, 0xb2, 0x84, 0x3b, 0x2e, 0x49, 0xb8, 0x57, 0x92, 0x93, 0x07, 0x3d, 0x05, 0x4d, - 0x90, 0x53, 0x50, 0x7c, 0xba, 0x88, 0x4f, 0x4a, 0x8c, 0x2b, 0x26, 0x73, 0xba, 0x02, 0xdd, 0x80, - 0x37, 0xea, 0x5e, 0xab, 0xdd, 0x09, 0x2d, 0x22, 0xbd, 0x43, 0xac, 0x02, 0x84, 0xf9, 0x85, 0xd4, - 0xc0, 0x27, 0xd1, 0x7b, 0xe3, 0x6d, 0x78, 0x63, 0x07, 0x87, 0x9b, 0xf1, 0x37, 0x58, 0x92, 0x08, - 0x4a, 0x30, 0x6e, 0xd9, 0xb6, 0x8f, 0x83, 0x20, 0xc9, 0x03, 0xf4, 0xd1, 0xf8, 0x01, 0xa0, 0x34, - 0x79, 0xf7, 0x1c, 0x3d, 0x4e, 0xbf, 0xe2, 0x68, 0xac, 0xcd, 0x71, 0x28, 0x93, 0x09, 0x09, 0xd9, - 0x70, 0x31, 0xf6, 0x1e, 0x2c, 0xf5, 0x84, 0x6f, 0xca, 0x4e, 0xc4, 0xd9, 0xc0, 0x5f, 0xc0, 0xf9, - 0x33, 0x42, 0xfd, 0x29, 0x8b, 0x7a, 0xab, 0xe7, 0xde, 0xbe, 0xa8, 0x85, 0x10, 0x19, 0x11, 0x42, - 0xc4, 0x78, 0x87, 0x9c, 0x25, 0x29, 0xfb, 0x2d, 0xab, 0x69, 0xb9, 0x75, 0xdc, 0xdf, 0x1c, 0x9b, - 0xb0, 0x26, 0xcc, 0x1a, 0xd0, 0xa2, 0xb6, 0x94, 0xc5, 0x69, 0xab, 0xf7, 0x0c, 0xe6, 0x78, 0xdd, - 0xa8, 0xfb, 0xae, 0xc2, 0x79, 0xea, 0x97, 0xda, 0x7e, 0x3c, 0x44, 0xbf, 0x23, 0x66, 0x2c, 0x66, - 0xc2, 0x70, 0x5e, 0xfb, 0x0a, 0x39, 0x76, 0x51, 0xd1, 0x1f, 0xe1, 0xe3, 0xa0, 0xbf, 0x41, 0xde, - 0x07, 0x83, 0x9d, 0x32, 0xa0, 0x41, 0x2d, 0x71, 0xfe, 0x69, 0x5b, 0x33, 0xda, 0x30, 0x18, 0x9d, - 0xba, 0x1b, 0x46, 0x31, 0xb1, 0xe5, 0x11, 0x3e, 0x4e, 0x76, 0xaf, 0x79, 0xf9, 0x7a, 0xf8, 0x08, - 0x1f, 0x9b, 0x53, 0x56, 0x8f, 0xcb, 0x70, 0x06, 0x7e, 0x0a, 0x57, 0xb6, 0x49, 0x91, 0x05, 0x57, - 0xeb, 0xbe, 0xd3, 0x96, 0xaf, 0xe7, 0x39, 0x18, 0x0b, 0xc8, 0x28, 0xd5, 0x95, 0x3e, 0xa1, 0xcb, - 0x30, 0x69, 0xf9, 0x8d, 0x4e, 0x8b, 0xa4, 0xf4, 0x91, 0x72, 0x61, 0xbd, 0x68, 0xf6, 0x5e, 0x18, - 0x6d, 0x58, 0xe4, 0x58, 0xe7, 0x3f, 0xe8, 0xf4, 0x24, 0x8e, 0x64, 0x4b, 0x2c, 0xf0, 0x12, 0x3f, - 0x17, 0x94, 0x91, 0x78, 0x8e, 0xf7, 0x8f, 0x26, 0xe6, 0xfb, 0xe1, 0xa4, 0xff, 0x5c, 0x83, 0x37, - 0x19, 0xf1, 0x5d, 0xbf, 0xce, 0xc2, 0xb9, 0x67, 0x56, 0xb3, 0x83, 0xa9, 0x96, 0xf1, 0xc3, 0x50, - 0xfe, 0x92, 0xef, 0x2a, 0x85, 0x8c, 0x5d, 0xe5, 0x3f, 0x1a, 0x49, 0x7a, 0x64, 0x5b, 0x0d, 0x1e, - 0x78, 0x3e, 0x35, 0x84, 0xe5, 0x36, 0xba, 0xb9, 0x09, 0xc1, 0x68, 0x78, 0xdc, 0x8e, 0x91, 0x4d, - 0x9a, 0xe4, 0xef, 0xc8, 0x42, 0x41, 0x68, 0xf9, 0x21, 0x17, 0xc1, 0xe4, 0x1d, 0xb5, 0xd0, 0x22, - 0x00, 0x76, 0xed, 0x84, 0x20, 0x96, 0x3f, 0x89, 0x5d, 0x9b, 0x0e, 0xbf, 0xc2, 0x8f, 0x98, 0x3f, - 0x68, 0xe4, 0x2b, 0xa6, 0xab, 0x13, 0x8d, 0xa9, 0x40, 0xa5, 0xd0, 0x02, 0x4c, 0x26, 0x81, 0x96, - 0xc4, 0xe9, 0x04, 0x8d, 0xb4, 0xe0, 0x55, 0x9e, 0xf6, 0xff, 0x31, 0x02, 0x33, 0x31, 0xd0, 0xd4, - 0x12, 0x1f, 0x67, 0xcf, 0xce, 0x06, 0x73, 0x76, 0x66, 0xa9, 0x2b, 0xf4, 0xfc, 0x96, 0x4c, 0x19, - 0x2a, 0x64, 0xf4, 0xbf, 0x6a, 0x30, 0x16, 0x33, 0x52, 0xad, 0xb8, 0xfe, 0x69, 0x2b, 0x75, 0x7c, - 0x2b, 0xe4, 0x38, 0xbe, 0xdd, 0x87, 0xf3, 0x31, 0xc3, 0x6e, 0xd9, 0x94, 0x38, 0x3f, 0x3a, 0x01, - 0xc7, 0x85, 0xd5, 0x4a, 0x52, 0x58, 0xad, 0x3c, 0x4e, 0x28, 0xcc, 0x19, 0x32, 0xa5, 0xfb, 0x6c, - 0x2c, 0x12, 0x67, 0x7f, 0x8c, 0xc3, 0xe7, 0x9e, 0x7f, 0xb4, 0x67, 0xf9, 0x56, 0x0b, 0x87, 0xd8, - 0x4f, 0x9c, 0x6d, 0xdc, 0x23, 0x9f, 0x7e, 0x92, 0x61, 0x6a, 0xed, 0x79, 0x98, 0xa8, 0x1f, 0x5a, - 0x8e, 0x9b, 0xe8, 0x3b, 0x69, 0x8e, 0x93, 0xe7, 0x5d, 0xdb, 0xb8, 0x4a, 0xf6, 0xcd, 0x38, 0xd9, - 0xed, 0x45, 0x40, 0xea, 0x5e, 0x33, 0x3a, 0xf4, 0xe2, 0xaa, 0x6b, 0xb5, 0x83, 0x43, 0x2f, 0xc9, - 0x17, 0xc6, 0x36, 0xac, 0xef, 0x60, 0x39, 0xc9, 0x00, 0x9f, 0x6e, 0xc6, 0x43, 0xb8, 0x9a, 0xcd, - 0x66, 0xd0, 0x0c, 0x65, 0xbc, 0xd4, 0x60, 0x31, 0x03, 0x35, 0x55, 0xbd, 0x02, 0x28, 0xc0, 0xbe, - 0x63, 0x35, 0x9d, 0xef, 0x63, 0x3b, 0x19, 0xa5, 0xa0, 0x24, 0x23, 0xc3, 0xed, 0x1e, 0xdf, 0x84, - 0x95, 0x68, 0x2d, 0x26, 0x55, 0xfa, 0x38, 0xca, 0x7a, 0x8b, 0x32, 0x87, 0x59, 0x7e, 0xaf, 0x25, - 0x39, 0x5b, 0x3a, 0x9f, 0x2a, 0xb3, 0x0b, 0x17, 0xf8, 0x56, 0x40, 0x46, 0x6d, 0x9c, 0xe3, 0x65, - 0x9e, 0xc7, 0xec, 0x8b, 0xe1, 0xf4, 0xdc, 0x20, 0x25, 0x6f, 0x8e, 0xb7, 0xaa, 0xfc, 0xf7, 0x5b, - 0x0d, 0x16, 0xa4, 0xe4, 0xaf, 0x89, 0x42, 0x7f, 0xd7, 0xe0, 0xad, 0x6a, 0x67, 0x3f, 0xda, 0xd7, - 0xf6, 0x31, 0xb1, 0x76, 0xf0, 0xc0, 0xf7, 0x5a, 0xd5, 0x28, 0xc5, 0x73, 0xce, 0x5b, 0x85, 0x99, - 0x78, 0x37, 0xe0, 0x5c, 0x18, 0xef, 0x11, 0x5b, 0x34, 0x7d, 0x9c, 0xb0, 0x7e, 0x9b, 0x51, 0x6c, - 0x2e, 0x64, 0x15, 0x9b, 0xff, 0xa5, 0xc1, 0x5a, 0x16, 0x7e, 0x76, 0x31, 0xdd, 0x04, 0x94, 0x86, - 0xcf, 0x2c, 0xa9, 0x0b, 0x3d, 0x15, 0x68, 0x8a, 0xfb, 0x3f, 0xab, 0xf1, 0x4b, 0x0d, 0xca, 0x12, - 0x35, 0xe2, 0xac, 0x94, 0x68, 0xc0, 0x63, 0xd2, 0x4e, 0x05, 0x53, 0x66, 0x1d, 0x7f, 0x1b, 0x2e, - 0x71, 0x90, 0x86, 0x29, 0xe8, 0x1b, 0xbf, 0xd2, 0xe0, 0x26, 0xcb, 0x27, 0x6e, 0xe1, 0x9c, 0x69, - 0x9c, 0x19, 0x5f, 0x6a, 0x70, 0x43, 0x8d, 0xea, 0xec, 0xa2, 0xc7, 0x68, 0xf0, 0x6b, 0x32, 0x85, - 0xed, 0x34, 0x43, 0xc2, 0xa8, 0xc2, 0xa2, 0x54, 0x50, 0xaa, 0xff, 0x38, 0x16, 0x37, 0x7b, 0x73, - 0xb4, 0xe4, 0x28, 0xa5, 0xc4, 0xe1, 0x1f, 0x38, 0x0d, 0x1c, 0x84, 0xaf, 0x9b, 0xc3, 0x79, 0x54, - 0xaf, 0x93, 0xc3, 0x53, 0xd8, 0x4e, 0xd5, 0xe1, 0xbf, 0xd3, 0x78, 0x8f, 0x53, 0x49, 0xe9, 0x93, - 0xd2, 0x09, 0x4e, 0x86, 0x92, 0xb3, 0x5e, 0x61, 0xe0, 0xb3, 0xde, 0xbf, 0x35, 0xb8, 0x5e, 0xc5, - 0xae, 0xbd, 0xe9, 0xda, 0x5d, 0xac, 0x42, 0x45, 0x12, 0x07, 0xa7, 0xd2, 0x30, 0x7a, 0x95, 0x95, - 0xf4, 0x3f, 0x45, 0x21, 0x97, 0x47, 0x8f, 0x7e, 0xa5, 0x75, 0xed, 0x84, 0xa5, 0xf5, 0x15, 0x98, - 0xa6, 0xd5, 0xd8, 0x5a, 0xaf, 0xcb, 0x31, 0x6a, 0x16, 0xe9, 0x4b, 0xd2, 0x24, 0xb9, 0xfd, 0xdf, - 0x6b, 0x30, 0xb9, 0x49, 0xb8, 0x6f, 0xee, 0xed, 0xa2, 0xaf, 0xc1, 0xe8, 0x9e, 0xe3, 0x36, 0x50, - 0x89, 0x11, 0x9b, 0xba, 0xe5, 0xa0, 0xcf, 0x4b, 0x46, 0xa8, 0x22, 0x98, 0x54, 0x25, 0xb9, 0xdb, - 0x09, 0x88, 0xd5, 0x20, 0xf3, 0x46, 0x84, 0x7e, 0xb5, 0x2f, 0x1d, 0x15, 0xb3, 0x0f, 0xb3, 0xb2, - 0x8b, 0x0e, 0x68, 0x9d, 0x67, 0x90, 0x75, 0x17, 0x42, 0x2f, 0x33, 0x94, 0xb2, 0x2b, 0x09, 0x9f, - 0x11, 0x55, 0xb8, 0x0b, 0x11, 0xa2, 0x2a, 0xf2, 0x1b, 0x13, 0x39, 0xf8, 0x1f, 0xc0, 0x9c, 0xfc, - 0x0e, 0x05, 0xba, 0xae, 0x94, 0xc1, 0x24, 0xab, 0x1c, 0x72, 0xf6, 0x60, 0x86, 0x35, 0x04, 0x32, - 0x14, 0x56, 0x4a, 0xf8, 0xea, 0x22, 0xdf, 0x2e, 0xc7, 0x87, 0x50, 0x4c, 0x5f, 0x50, 0x40, 0x65, - 0x29, 0xde, 0xb4, 0x35, 0x54, 0xdc, 0x1e, 0xc3, 0x05, 0xfe, 0x5e, 0x02, 0x5a, 0xcd, 0xe0, 0xc8, - 0xea, 0xae, 0xe2, 0xfa, 0x1d, 0x52, 0x4d, 0x67, 0x1b, 0xf5, 0x68, 0x8d, 0x67, 0x2b, 0x6d, 0xe4, - 0xeb, 0xcb, 0x0c, 0x99, 0xa4, 0x6f, 0xde, 0x20, 0x25, 0x49, 0xf1, 0x26, 0x00, 0xba, 0xc6, 0x0b, - 0xc8, 0xbc, 0x2d, 0xa0, 0xaf, 0x30, 0xa4, 0x19, 0x0d, 0xfa, 0xef, 0xc2, 0x79, 0xae, 0xa7, 0x8d, - 0xd8, 0x79, 0xf2, 0x4e, 0xba, 0xbe, 0xaa, 0x26, 0xa2, 0xdc, 0x9f, 0x90, 0xc8, 0x48, 0x33, 0x17, - 0x22, 0x43, 0xc2, 0xbb, 0xac, 0x48, 0x47, 0xe9, 0xd5, 0x29, 0x24, 0xaa, 0x5c, 0xdc, 0x73, 0x26, - 0x3b, 0xd4, 0x26, 0x55, 0x01, 0x61, 0x9c, 0xf6, 0x7d, 0x45, 0x47, 0x64, 0xf6, 0x86, 0x73, 0x4b, - 0x7c, 0x4e, 0x0a, 0x69, 0x62, 0x7f, 0xb4, 0x5b, 0x01, 0x40, 0x37, 0x15, 0x42, 0x85, 0x1e, 0x2f, - 0x97, 0xec, 0x14, 0x7d, 0xd7, 0x23, 0xd2, 0x57, 0x90, 0xf2, 0x1a, 0x50, 0xe4, 0x95, 0x2c, 0x91, - 0x01, 0xe7, 0x3b, 0xa1, 0xcb, 0x2f, 0x66, 0xd6, 0xac, 0x3b, 0x04, 0x39, 0xe2, 0x23, 0x24, 0x17, - 0xdf, 0x32, 0x6e, 0x12, 0xa0, 0x4a, 0x0e, 0x49, 0xa9, 0x2b, 0x07, 0xb9, 0xfd, 0xf7, 0x08, 0xa0, - 0x57, 0xd4, 0x47, 0x4b, 0xbc, 0x14, 0xb6, 0xf1, 0xc6, 0xe5, 0x00, 0x49, 0xa7, 0xcd, 0x26, 0xd7, - 0xa9, 0x64, 0x2d, 0x30, 0x74, 0x23, 0x63, 0xae, 0xac, 0xb0, 0xae, 0x5f, 0x66, 0x88, 0xfb, 0x48, - 0x49, 0x1f, 0x3c, 0xb3, 0xa5, 0x88, 0x15, 0xef, 0x3e, 0x52, 0x6a, 0xe9, 0xd6, 0x63, 0xd2, 0xac, - 0x59, 0xcb, 0xe0, 0xcf, 0x76, 0xb6, 0xb8, 0x3c, 0x96, 0xd1, 0x21, 0x3a, 0x4e, 0x77, 0xde, 0x64, - 0x4d, 0x2e, 0x74, 0x5b, 0x2d, 0x4d, 0x6a, 0xba, 0x5c, 0xa2, 0x7d, 0xa9, 0xe8, 0xa1, 0x0d, 0x99, - 0x4b, 0xe6, 0x53, 0x92, 0x58, 0x53, 0xed, 0x1d, 0x31, 0xf5, 0x89, 0xfd, 0xac, 0x7c, 0xac, 0x03, - 0x92, 0xf7, 0xb2, 0x5a, 0x5b, 0x68, 0x43, 0x21, 0x67, 0x78, 0x1b, 0x4a, 0x84, 0xa6, 0x0d, 0xa8, - 0x16, 0x3a, 0xac, 0x11, 0xdb, 0xa0, 0x67, 0xb7, 0xa5, 0xb8, 0x2c, 0xd1, 0xb7, 0x7f, 0xa5, 0x1b, - 0xd9, 0xf4, 0x5d, 0x89, 0x87, 0x30, 0x27, 0xef, 0x56, 0x71, 0x27, 0x32, 0x65, 0x4b, 0x2b, 0x97, - 0x24, 0x51, 0xb7, 0xb4, 0x3d, 0x2b, 0x7d, 0xa5, 0xb1, 0xe6, 0xcc, 0x23, 0xb1, 0x4e, 0x12, 0x89, - 0xac, 0x0d, 0x24, 0xc6, 0xbf, 0xa2, 0x59, 0xa4, 0x2f, 0x28, 0x7a, 0x15, 0xe8, 0x53, 0xb2, 0x79, - 0x08, 0x7d, 0x19, 0x71, 0xf3, 0xc8, 0x6a, 0xdd, 0xa8, 0xd9, 0x1f, 0x11, 0xf6, 0x42, 0xa9, 0x5f, - 0x64, 0x9f, 0xd5, 0x2c, 0xd0, 0xaf, 0xe5, 0xa0, 0xa4, 0xc2, 0xbe, 0x88, 0x1b, 0x67, 0x8a, 0xee, - 0x80, 0x98, 0xb3, 0xfa, 0xb7, 0x12, 0x74, 0x36, 0x92, 0xd4, 0xf5, 0xfb, 0x1f, 0xc5, 0x57, 0xee, - 0xd4, 0x7d, 0x07, 0xf4, 0x55, 0x1e, 0x45, 0xae, 0x3e, 0xc5, 0x40, 0x40, 0x5e, 0x6a, 0x50, 0xee, - 0xd7, 0xb9, 0x40, 0xef, 0xe4, 0xc4, 0xc1, 0xc6, 0xee, 0x20, 0x30, 0xbe, 0x88, 0xaf, 0xf9, 0x65, - 0xf6, 0x0a, 0xd0, 0x2d, 0x21, 0xce, 0xfa, 0xb4, 0x25, 0x74, 0xd9, 0x52, 0x53, 0x75, 0x21, 0x5c, - 0xf2, 0xd1, 0x26, 0x29, 0xeb, 0x8b, 0x1f, 0x6d, 0xd9, 0xad, 0x02, 0x7d, 0x5d, 0x25, 0x95, 0x69, - 0x12, 0xfc, 0x10, 0x96, 0xfb, 0xd4, 0xe8, 0xd1, 0x1d, 0xf6, 0xac, 0x9f, 0xab, 0xa2, 0xcf, 0x7f, - 0x20, 0xc8, 0x8b, 0xbd, 0xb7, 0x34, 0xf4, 0x39, 0x2c, 0xa9, 0x6b, 0xec, 0xdc, 0x22, 0xc8, 0x55, - 0x90, 0xcf, 0x2d, 0xdd, 0x87, 0xf9, 0xcc, 0xd2, 0x38, 0x7a, 0xbb, 0x9f, 0x60, 0xa6, 0x7c, 0x96, - 0x5b, 0xe6, 0x2f, 0x84, 0xb6, 0x42, 0x46, 0xd1, 0x1a, 0xdd, 0x53, 0x70, 0x54, 0x17, 0xba, 0xb9, - 0xa8, 0x57, 0x16, 0x62, 0x6f, 0x69, 0xe8, 0x67, 0x1a, 0xac, 0xe6, 0xa9, 0x58, 0xa3, 0xbb, 0x03, - 0x20, 0x52, 0x2d, 0xc3, 0x7e, 0x80, 0x5e, 0x6a, 0x7c, 0x58, 0x0a, 0x65, 0x6a, 0x65, 0x58, 0x66, - 0x15, 0xb5, 0x07, 0x84, 0x21, 0xba, 0x2a, 0xa3, 0xdc, 0xac, 0x74, 0x95, 0xba, 0x44, 0xad, 0x84, - 0xc4, 0x55, 0x50, 0xa5, 0xae, 0x92, 0xd7, 0x9a, 0x95, 0xae, 0x52, 0x96, 0xa7, 0x07, 0x04, 0x24, - 0xba, 0x4a, 0x28, 0x30, 0x2b, 0x5d, 0x95, 0x55, 0x8e, 0x1e, 0x10, 0xc6, 0x97, 0x1a, 0xac, 0xe4, - 0x28, 0x88, 0xa2, 0x77, 0x85, 0xc2, 0x45, 0xbe, 0x52, 0xb0, 0x7e, 0x77, 0xf0, 0x89, 0x09, 0xb8, - 0xad, 0x87, 0xa0, 0x7b, 0x7e, 0xa3, 0xe2, 0xb9, 0x84, 0x45, 0xb7, 0x4c, 0x1d, 0xf3, 0xfa, 0x76, - 0xa5, 0xe1, 0x84, 0x87, 0x9d, 0xfd, 0x4a, 0xdd, 0x6b, 0x6d, 0xc4, 0x24, 0x1b, 0xe4, 0x9f, 0xee, - 0x6f, 0xc2, 0x1a, 0xde, 0x46, 0xea, 0xe7, 0x76, 0xfb, 0x63, 0x64, 0xe0, 0xce, 0xff, 0x02, 0x00, - 0x00, 0xff, 0xff, 0x82, 0x4c, 0xee, 0xe9, 0x84, 0x37, 0x00, 0x00, + // 2620 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xed, 0x6f, 0xdc, 0x48, + 0x19, 0x97, 0xb3, 0x69, 0x5e, 0x9e, 0x6c, 0x92, 0x76, 0x92, 0x4b, 0x37, 0x4e, 0x93, 0x6c, 0x9d, + 0xe4, 0x9a, 0xbe, 0xdc, 0xa6, 0xb4, 0x87, 0xae, 0x3d, 0xe0, 0x44, 0xd2, 0x4b, 0x73, 0xd1, 0xb5, + 0xa7, 0xc8, 0xdb, 0x2b, 0x3a, 0xe0, 0x6e, 0xe5, 0xac, 0x27, 0x1b, 0x2b, 0xbb, 0x76, 0xb0, 0xbd, + 0x6d, 0x03, 0x27, 0x74, 0x1f, 0x2a, 0x84, 0x84, 0x78, 0x13, 0x1f, 0x10, 0x27, 0xf1, 0x05, 0x3e, + 0x01, 0x1f, 0xf8, 0xc4, 0x07, 0x84, 0x10, 0x12, 0x82, 0x3f, 0x80, 0xff, 0x85, 0x3f, 0x00, 0x79, + 0x66, 0xbc, 0xeb, 0x19, 0x8f, 0x67, 0xbd, 0x9b, 0x94, 0xf4, 0x4b, 0x1b, 0x7b, 0x9e, 0x79, 0xde, + 0xe7, 0x99, 0xf1, 0xf3, 0x9b, 0x85, 0xd2, 0x41, 0xd3, 0x7b, 0xbe, 0x61, 0xd5, 0xeb, 0x38, 0x08, + 0xd8, 0x7f, 0x95, 0x63, 0xdf, 0x0b, 0x3d, 0x34, 0x11, 0x8d, 0x54, 0xe8, 0x2b, 0x7d, 0x81, 0x90, + 0x61, 0x37, 0x74, 0x42, 0x07, 0x13, 0x42, 0xaf, 0xed, 0x86, 0x94, 0x52, 0x2f, 0xf3, 0x83, 0xfb, + 0x4d, 0xaf, 0x7e, 0x54, 0x3b, 0xc4, 0x96, 0x8d, 0x7d, 0x46, 0x31, 0x2f, 0xa1, 0x60, 0x43, 0x4b, + 0xfc, 0x50, 0xdd, 0x6b, 0x36, 0x71, 0x3d, 0x74, 0x3c, 0x57, 0x3e, 0x15, 0x3f, 0xc3, 0x1d, 0xb9, + 0xab, 0xc2, 0xd0, 0x0b, 0x5c, 0x6f, 0x47, 0x33, 0x6b, 0x3e, 0x0e, 0xda, 0xcd, 0x98, 0xea, 0x0a, + 0x4f, 0xd5, 0xc2, 0xa1, 0x65, 0x5b, 0xa1, 0xc5, 0x46, 0xd7, 0xf8, 0x51, 0xd7, 0xb3, 0x71, 0xed, + 0x19, 0xf6, 0x83, 0x88, 0x8d, 0xe3, 0x1e, 0x78, 0x8c, 0x6c, 0x99, 0x27, 0x0b, 0x7d, 0xcb, 0x0d, + 0xac, 0xa4, 0x9a, 0xcb, 0x0d, 0xcf, 0x6b, 0x34, 0xf1, 0x06, 0x79, 0xda, 0x6f, 0x1f, 0x6c, 0x84, + 0x4e, 0x0b, 0x07, 0xa1, 0xd5, 0x3a, 0xa6, 0x04, 0xc6, 0x24, 0x4c, 0xec, 0x39, 0x6e, 0xc3, 0xc4, + 0xdf, 0x6b, 0xe3, 0x20, 0x34, 0xa6, 0xa0, 0x48, 0x1f, 0x83, 0x63, 0xcf, 0x0d, 0xb0, 0xb1, 0x00, + 0xf3, 0x3b, 0x38, 0xfc, 0xc8, 0xb3, 0xf1, 0x53, 0x2a, 0x7d, 0xd7, 0x3d, 0xf0, 0x62, 0xe2, 0x3d, + 0xd0, 0x65, 0x83, 0x74, 0x2a, 0xba, 0x03, 0xc3, 0x91, 0xa6, 0x25, 0xad, 0xac, 0xad, 0x4f, 0xdc, + 0x59, 0xaa, 0x90, 0xb8, 0xc5, 0xaa, 0x56, 0xc4, 0x59, 0x84, 0xd6, 0x78, 0x17, 0x16, 0x76, 0x70, + 0xf8, 0xc8, 0x0a, 0x71, 0x10, 0x6e, 0x45, 0xd1, 0xf8, 0x80, 0x84, 0x8b, 0x09, 0x44, 0x0b, 0x30, + 0xee, 0x04, 0xb5, 0x00, 0x5b, 0x4d, 0x6c, 0x13, 0xbe, 0x63, 0xe6, 0x98, 0x13, 0x54, 0xc9, 0xb3, + 0x71, 0x93, 0xa8, 0x9a, 0x98, 0xb5, 0x75, 0xb2, 0xfb, 0x7e, 0x3c, 0x73, 0x0a, 0x86, 0x1c, 0x3a, + 0xa5, 0x68, 0x0e, 0x39, 0xb6, 0xf1, 0x0e, 0x2c, 0x8a, 0xc4, 0x1f, 0x60, 0xa7, 0x71, 0x18, 0xc6, + 0x13, 0xe6, 0x60, 0xe4, 0x90, 0xbc, 0x20, 0x93, 0x86, 0x4d, 0xf6, 0x64, 0xfc, 0x4d, 0x83, 0x19, + 0x4e, 0x33, 0x66, 0xed, 0x6d, 0xb8, 0x40, 0xd2, 0x87, 0x99, 0xab, 0x0b, 0xe6, 0x26, 0xa7, 0x50, + 0x42, 0xf4, 0x0d, 0x28, 0xd2, 0x94, 0x0c, 0x42, 0x2b, 0x6c, 0x07, 0xa5, 0xa1, 0xb2, 0xb6, 0x3e, + 0x25, 0x9f, 0x58, 0x25, 0x14, 0xe6, 0xc4, 0x7e, 0xf7, 0x01, 0xdd, 0x85, 0xb1, 0x38, 0x67, 0x4a, + 0x05, 0x22, 0xf3, 0xb2, 0x30, 0xf5, 0x31, 0x1b, 0x36, 0x3b, 0x84, 0x86, 0x0d, 0x6f, 0xf0, 0xfe, + 0xcd, 0xe3, 0x59, 0x54, 0x81, 0x99, 0x83, 0x76, 0xb3, 0x59, 0xa3, 0xea, 0xfa, 0xcc, 0x64, 0xa2, + 0xf0, 0x98, 0x79, 0x29, 0x1a, 0x62, 0xbc, 0x58, 0xd2, 0x7c, 0x0c, 0x33, 0xb1, 0x73, 0x15, 0x31, + 0xe8, 0x9b, 0xad, 0x05, 0x97, 0xbb, 0x6c, 0x73, 0x45, 0xab, 0x6f, 0x11, 0x7f, 0xd6, 0x60, 0x92, + 0x7b, 0x83, 0x6e, 0xf0, 0x71, 0x9d, 0x95, 0x85, 0xe7, 0x3c, 0x23, 0x7a, 0x03, 0x4a, 0x3b, 0x38, + 0x7c, 0xd0, 0x29, 0x4f, 0xaa, 0xa4, 0xaf, 0xc0, 0x95, 0x1d, 0x1c, 0x3e, 0x6c, 0x37, 0x9b, 0xf9, + 0xe8, 0x5f, 0x6a, 0x80, 0xba, 0x94, 0x1d, 0x97, 0xdc, 0x07, 0xe8, 0x96, 0x43, 0xe6, 0x97, 0x79, + 0x41, 0xd3, 0xc4, 0xb4, 0x04, 0x31, 0x67, 0xe2, 0x50, 0x5e, 0x13, 0x7f, 0xaa, 0xc1, 0x1c, 0xaf, + 0x74, 0x47, 0x95, 0xf7, 0xa0, 0x98, 0xa8, 0x79, 0x41, 0x49, 0x2b, 0x17, 0x24, 0x8b, 0xef, 0x49, + 0x97, 0xc4, 0xe4, 0xe8, 0x07, 0xd3, 0xe7, 0x29, 0xcc, 0x55, 0xb1, 0x6b, 0x27, 0xb9, 0x32, 0x07, + 0x7e, 0x1d, 0x26, 0x12, 0xec, 0x33, 0x4a, 0x41, 0x72, 0x5e, 0x92, 0xdc, 0xf8, 0x0c, 0x2e, 0xa7, + 0xf8, 0x32, 0x3b, 0xc5, 0xa5, 0x33, 0x90, 0xde, 0xff, 0xd4, 0xc8, 0xea, 0x97, 0xe8, 0x2d, 0xb2, + 0x9f, 0x87, 0x31, 0x9a, 0xc8, 0x8e, 0x4d, 0xd8, 0x17, 0xcd, 0x51, 0xf2, 0xbc, 0x6b, 0xa3, 0x15, + 0x98, 0xec, 0xc6, 0x33, 0x1a, 0x2f, 0x90, 0xf1, 0x62, 0xf7, 0xe5, 0xae, 0x8d, 0x3e, 0x81, 0x39, + 0xb2, 0x21, 0xd6, 0xb0, 0x5b, 0xf7, 0x6c, 0xc7, 0x6d, 0xc4, 0x7b, 0x57, 0x69, 0x98, 0x2c, 0x89, + 0x15, 0x41, 0xd9, 0xed, 0x88, 0x78, 0x9b, 0xd1, 0xb2, 0x5d, 0xc1, 0x9c, 0xc5, 0x92, 0xb7, 0xc6, + 0x3d, 0xb2, 0x43, 0x54, 0x4f, 0x82, 0x10, 0xb7, 0x24, 0x96, 0x24, 0x35, 0xd7, 0x38, 0xcd, 0x8d, + 0xdf, 0x68, 0x70, 0x55, 0x3e, 0x35, 0xda, 0x95, 0x7b, 0x33, 0x50, 0x58, 0x35, 0x74, 0x5a, 0xab, + 0xfe, 0xa8, 0x91, 0xa5, 0x99, 0xd0, 0x6a, 0xeb, 0x64, 0xd7, 0xb5, 0xf1, 0x8b, 0x1c, 0x6a, 0xcd, + 0xc2, 0x05, 0x27, 0x22, 0x25, 0x5a, 0x4c, 0x9a, 0xf4, 0x41, 0xa1, 0x6c, 0xe1, 0xb4, 0xca, 0xfe, + 0x5a, 0x83, 0x65, 0x5e, 0xd9, 0x60, 0xeb, 0x84, 0x54, 0xb5, 0x6e, 0x29, 0x39, 0x37, 0x37, 0xea, + 0xa9, 0xc8, 0x06, 0x9d, 0x55, 0xf4, 0x2d, 0x98, 0x49, 0xac, 0x37, 0x76, 0x1c, 0x8b, 0x8b, 0xc6, + 0x9b, 0x95, 0xc4, 0xc1, 0xb2, 0x22, 0xc9, 0x0f, 0xca, 0xc4, 0x44, 0x61, 0x4a, 0xc0, 0x60, 0xcb, + 0xf1, 0x27, 0x1a, 0xcc, 0x26, 0x7d, 0x78, 0xbe, 0x45, 0xed, 0xc7, 0x1a, 0xcc, 0xc8, 0x2a, 0xcf, + 0xa9, 0x4a, 0xda, 0x60, 0xaa, 0xfc, 0xa5, 0x00, 0xf3, 0x99, 0xfe, 0x47, 0xf7, 0x60, 0x84, 0x6d, + 0xaf, 0x1a, 0x49, 0x97, 0x72, 0xb6, 0x2e, 0x6c, 0x93, 0x65, 0xf4, 0x68, 0x19, 0x26, 0xe8, 0x5f, + 0xb5, 0xba, 0x67, 0x63, 0xb6, 0x5c, 0x80, 0xbe, 0x7a, 0xe0, 0xd9, 0x38, 0xaa, 0x6d, 0xd8, 0xf7, + 0x3d, 0xbf, 0xd6, 0xc2, 0x41, 0x60, 0x35, 0x30, 0x59, 0x2a, 0xe3, 0x66, 0x91, 0xbc, 0x7c, 0x4c, + 0xdf, 0xa1, 0x5b, 0x30, 0x42, 0x72, 0x2f, 0x28, 0x0d, 0x93, 0xb8, 0xcc, 0xca, 0xd2, 0xd5, 0x64, + 0x34, 0xdc, 0x3a, 0xb8, 0xc0, 0xaf, 0x83, 0x35, 0x98, 0x4a, 0x66, 0xa3, 0x63, 0x97, 0x46, 0x08, + 0xc1, 0x64, 0xe2, 0xad, 0xac, 0xe0, 0x8e, 0x4a, 0x0a, 0xee, 0xd5, 0xf8, 0xe4, 0xc1, 0x4e, 0x41, + 0x63, 0xe4, 0x14, 0x44, 0x4f, 0x17, 0xf4, 0xa4, 0xc4, 0x85, 0x62, 0x3c, 0x67, 0x28, 0xd0, 0x4d, + 0xb8, 0x54, 0xf7, 0x5a, 0xc7, 0xed, 0xd0, 0x22, 0xd2, 0xdb, 0xc4, 0x2b, 0x40, 0x98, 0x5f, 0x4c, + 0x0c, 0x7c, 0x1c, 0xbd, 0x37, 0xde, 0x82, 0x4b, 0x3b, 0x38, 0xdc, 0xa4, 0xdf, 0x60, 0x71, 0x21, + 0x28, 0xc1, 0xa8, 0x65, 0xdb, 0x3e, 0x0e, 0x82, 0xb8, 0x0e, 0xb0, 0x47, 0xe3, 0x07, 0x80, 0x92, + 0xe4, 0x9d, 0x73, 0xf4, 0x28, 0xfb, 0x8a, 0x63, 0xb9, 0x36, 0x27, 0x68, 0x19, 0x4f, 0x88, 0xc9, + 0x06, 0xcb, 0xb1, 0x77, 0x61, 0xa9, 0x2b, 0x7c, 0x53, 0x76, 0x22, 0xce, 0x56, 0xfc, 0x05, 0x4c, + 0x9f, 0x93, 0xd6, 0x9f, 0xf2, 0x5a, 0x6f, 0x75, 0xc3, 0xdb, 0x53, 0xeb, 0x54, 0x8a, 0x0c, 0xa5, + 0x52, 0xc4, 0x78, 0x9b, 0x9c, 0x25, 0x19, 0xfb, 0x2d, 0xab, 0x69, 0xb9, 0x75, 0xdc, 0xdb, 0x1d, + 0x9b, 0xb0, 0x96, 0x9a, 0xd5, 0xa7, 0x47, 0x6d, 0x29, 0x8b, 0xb3, 0x36, 0xef, 0x19, 0xcc, 0x89, + 0xb6, 0xb1, 0xf0, 0x5d, 0x83, 0x69, 0x16, 0x97, 0xda, 0x3e, 0x1d, 0x62, 0xdf, 0x11, 0x53, 0x16, + 0x37, 0x61, 0xb0, 0xa8, 0x7d, 0x85, 0x1c, 0xbb, 0x98, 0xe8, 0x0f, 0xf1, 0x49, 0xd0, 0xdb, 0x21, + 0xef, 0x81, 0xc1, 0x4f, 0xe9, 0xd3, 0xa1, 0x56, 0x7a, 0xfe, 0x59, 0x7b, 0x33, 0xda, 0x30, 0x38, + 0x9b, 0x3a, 0x1b, 0x46, 0x31, 0xf6, 0xe5, 0x11, 0x3e, 0x89, 0x77, 0xaf, 0x79, 0xf9, 0x7a, 0xf8, + 0x10, 0x9f, 0x98, 0x13, 0x56, 0x97, 0xcb, 0x60, 0x0e, 0xfe, 0x04, 0xae, 0x6e, 0x93, 0x26, 0x0b, + 0xae, 0xd6, 0x7d, 0xe7, 0x58, 0xbe, 0x9e, 0xe7, 0x60, 0x24, 0x20, 0xa3, 0xcc, 0x56, 0xf6, 0x84, + 0xae, 0xc0, 0xb8, 0xe5, 0x37, 0xda, 0x2d, 0x52, 0xd2, 0x87, 0xca, 0x85, 0xf5, 0xa2, 0xd9, 0x7d, + 0x61, 0x1c, 0xc3, 0xa2, 0xc0, 0x3a, 0xff, 0x41, 0xa7, 0x2b, 0x71, 0x28, 0x5b, 0x62, 0x41, 0x94, + 0xf8, 0x79, 0xca, 0x18, 0x49, 0xe4, 0xc4, 0xf8, 0x68, 0xe9, 0x7a, 0x3f, 0x98, 0xf4, 0x9f, 0x6b, + 0xf0, 0x06, 0x27, 0xbe, 0x13, 0xd7, 0x59, 0xb8, 0xf0, 0xcc, 0x6a, 0xb6, 0x31, 0xb3, 0x92, 0x3e, + 0x0c, 0x14, 0x2f, 0xf9, 0xae, 0x52, 0xc8, 0xd8, 0x55, 0xfe, 0xa3, 0x91, 0xa2, 0x47, 0xb6, 0xd5, + 0xe0, 0xa1, 0xe7, 0x33, 0x47, 0x58, 0x6e, 0xa3, 0x53, 0x9b, 0x10, 0x0c, 0x87, 0x27, 0xc7, 0x54, + 0xb3, 0x71, 0x93, 0xfc, 0x1d, 0x79, 0x28, 0x08, 0x2d, 0x3f, 0x14, 0x32, 0x98, 0xbc, 0x63, 0x1e, + 0x5a, 0x04, 0xc0, 0xae, 0x1d, 0x13, 0x50, 0xf9, 0xe3, 0xd8, 0xb5, 0xd9, 0xf0, 0x2b, 0xfc, 0x88, + 0xf9, 0x83, 0x46, 0xbe, 0x62, 0x3a, 0x36, 0xb1, 0x9c, 0x0a, 0x54, 0x06, 0x2d, 0xc0, 0x78, 0x9c, + 0x68, 0x71, 0x9e, 0x8e, 0xb1, 0x4c, 0x0b, 0x5e, 0xe5, 0x69, 0xff, 0x1f, 0x43, 0x30, 0x45, 0x15, + 0x4d, 0x2c, 0xf1, 0x51, 0xfe, 0xec, 0x6c, 0x70, 0x67, 0x67, 0x9e, 0xba, 0xc2, 0xce, 0x6f, 0xf1, + 0x94, 0x81, 0x52, 0x46, 0xff, 0xab, 0x06, 0x23, 0x94, 0x91, 0x6a, 0xc5, 0xf5, 0x2e, 0x5b, 0x89, + 0xe3, 0x5b, 0x21, 0xc7, 0xf1, 0xed, 0x01, 0x4c, 0x53, 0x86, 0x9d, 0xb6, 0x29, 0x09, 0x7e, 0x74, + 0x02, 0xa6, 0x8d, 0xd5, 0x4a, 0xdc, 0x58, 0xad, 0x3c, 0x89, 0x29, 0xcc, 0x29, 0x32, 0xa5, 0xf3, + 0x6c, 0x2c, 0x92, 0x60, 0x7f, 0x84, 0xc3, 0xe7, 0x9e, 0x7f, 0xb4, 0x67, 0xf9, 0x56, 0x0b, 0x87, + 0xd8, 0x8f, 0x83, 0x6d, 0xdc, 0x27, 0x9f, 0x7e, 0x92, 0x61, 0xe6, 0xed, 0x79, 0x18, 0xab, 0x1f, + 0x5a, 0x8e, 0x1b, 0xdb, 0x3b, 0x6e, 0x8e, 0x92, 0xe7, 0x5d, 0xdb, 0xb8, 0x46, 0xf6, 0x4d, 0x5a, + 0xec, 0xf6, 0x22, 0x45, 0xea, 0x5e, 0x33, 0x3a, 0xf4, 0xe2, 0xaa, 0x6b, 0x1d, 0x07, 0x87, 0x5e, + 0x5c, 0x2f, 0x8c, 0x6d, 0x58, 0xdf, 0xc1, 0x72, 0x92, 0x3e, 0x3e, 0xdd, 0x8c, 0x47, 0x70, 0x2d, + 0x9b, 0x4d, 0xbf, 0x15, 0xca, 0x78, 0xa9, 0xc1, 0x62, 0x86, 0xd6, 0xcc, 0xf4, 0x0a, 0xa0, 0x00, + 0xfb, 0x8e, 0xd5, 0x74, 0xbe, 0x8f, 0xed, 0x78, 0x94, 0x29, 0x25, 0x19, 0x19, 0x6c, 0xf7, 0xf8, + 0x26, 0xac, 0x44, 0x6b, 0x31, 0xee, 0xd2, 0xd3, 0x2c, 0xeb, 0x2e, 0xca, 0x1c, 0x6e, 0xf9, 0xbd, + 0x16, 0xd7, 0x6c, 0xe9, 0x7c, 0x66, 0xcc, 0x2e, 0x5c, 0x14, 0xa1, 0x80, 0x8c, 0xde, 0xb8, 0xc0, + 0xcb, 0x9c, 0xc6, 0xfc, 0x8b, 0xc1, 0xec, 0xdc, 0x20, 0x2d, 0x6f, 0x81, 0xb7, 0xaa, 0xfd, 0xf7, + 0x5b, 0x0d, 0x16, 0xa4, 0xe4, 0xaf, 0x89, 0x41, 0x7f, 0xd7, 0xe0, 0xcd, 0x6a, 0x7b, 0x3f, 0xda, + 0xd7, 0xf6, 0x31, 0xf1, 0x76, 0xf0, 0xd0, 0xf7, 0x5a, 0xd5, 0xa8, 0xc4, 0x0b, 0xc1, 0x5b, 0x85, + 0x29, 0xba, 0x1b, 0x08, 0x21, 0xa4, 0x7b, 0xc4, 0x16, 0x2b, 0x1f, 0xa7, 0xec, 0xdf, 0x66, 0x34, + 0x9b, 0x0b, 0x59, 0xcd, 0xe6, 0x7f, 0x69, 0xb0, 0x96, 0xa5, 0x3f, 0xbf, 0x98, 0x6e, 0x01, 0x4a, + 0xaa, 0xcf, 0x2d, 0xa9, 0x8b, 0x5d, 0x13, 0x58, 0x89, 0xfb, 0x3f, 0x9b, 0xf1, 0x4b, 0x0d, 0xca, + 0x12, 0x33, 0x68, 0x55, 0x8a, 0x2d, 0x10, 0x75, 0xd2, 0xce, 0x44, 0xa7, 0xcc, 0x3e, 0xfe, 0x36, + 0x5c, 0x16, 0x54, 0x1a, 0xa4, 0xa1, 0x6f, 0xfc, 0x4a, 0x83, 0x5b, 0x3c, 0x1f, 0x0a, 0xe1, 0x9c, + 0x6b, 0x9e, 0x19, 0x5f, 0x6a, 0x70, 0x53, 0xad, 0xd5, 0xf9, 0x65, 0x8f, 0xd1, 0x10, 0xd7, 0x64, + 0x42, 0xb7, 0xb3, 0x4c, 0x09, 0xa3, 0x0a, 0x8b, 0x52, 0x41, 0x09, 0xfc, 0x71, 0x84, 0x82, 0xbd, + 0x39, 0x20, 0x39, 0x46, 0x29, 0x09, 0xf8, 0xfb, 0x4e, 0x03, 0x07, 0xe1, 0xeb, 0x16, 0x70, 0x51, + 0xab, 0xd7, 0x29, 0xe0, 0x09, 0xdd, 0xce, 0x34, 0xe0, 0xbf, 0xd3, 0xc4, 0x88, 0x33, 0x49, 0xc9, + 0x93, 0xd2, 0x29, 0x4e, 0x86, 0x92, 0xb3, 0x5e, 0xa1, 0xef, 0xb3, 0xde, 0xbf, 0x35, 0xb8, 0x51, + 0xc5, 0xae, 0xbd, 0xe9, 0xda, 0x1d, 0x5d, 0x53, 0x1d, 0x49, 0x1c, 0x9c, 0x09, 0x60, 0xf4, 0x2a, + 0x3b, 0xe9, 0x7f, 0x8a, 0x52, 0x2e, 0x8f, 0x1d, 0xbd, 0x5a, 0xeb, 0xda, 0x29, 0x5b, 0xeb, 0x2b, + 0x30, 0xc9, 0xba, 0xb1, 0xb5, 0x2e, 0xca, 0x31, 0x6c, 0x16, 0xd9, 0x4b, 0x02, 0x92, 0xdc, 0xf9, + 0xef, 0x75, 0x18, 0xdf, 0x24, 0xdc, 0x37, 0xf7, 0x76, 0xd1, 0xd7, 0x60, 0x78, 0xcf, 0x71, 0x1b, + 0xa8, 0xc4, 0x89, 0x4d, 0xdc, 0x72, 0xd0, 0xe7, 0x25, 0x23, 0xcc, 0x10, 0x4c, 0xba, 0x92, 0xc2, + 0xed, 0x04, 0xc4, 0x5b, 0x90, 0x79, 0x23, 0x42, 0xbf, 0xd6, 0x93, 0x8e, 0x89, 0xd9, 0x87, 0x59, + 0xd9, 0x45, 0x07, 0xb4, 0x2e, 0x32, 0xc8, 0xba, 0x0b, 0xa1, 0x97, 0x39, 0x4a, 0xd9, 0x95, 0x84, + 0xcf, 0x88, 0x29, 0xc2, 0x85, 0x88, 0xb4, 0x29, 0xf2, 0x1b, 0x13, 0x39, 0xf8, 0x1f, 0xc0, 0x9c, + 0xfc, 0x0e, 0x05, 0xba, 0xa1, 0x94, 0xc1, 0x15, 0xab, 0x1c, 0x72, 0xf6, 0x60, 0x8a, 0x77, 0x04, + 0x32, 0x14, 0x5e, 0x8a, 0xf9, 0xea, 0x69, 0xbe, 0x1d, 0x8e, 0x8f, 0xa0, 0x98, 0xbc, 0xa0, 0x80, + 0xca, 0x52, 0x7d, 0x93, 0xde, 0x50, 0x71, 0x7b, 0x02, 0x17, 0xc5, 0x7b, 0x09, 0x68, 0x35, 0x83, + 0x23, 0x6f, 0xbb, 0x8a, 0xeb, 0x77, 0x48, 0x37, 0x9d, 0x07, 0xea, 0xd1, 0x9a, 0xc8, 0x56, 0x0a, + 0xe4, 0xeb, 0xcb, 0x1c, 0x99, 0x04, 0x37, 0x6f, 0x90, 0x96, 0x64, 0xfa, 0x26, 0x00, 0xba, 0x2e, + 0x0a, 0xc8, 0xbc, 0x2d, 0xa0, 0xaf, 0x70, 0xa4, 0x19, 0x00, 0xfd, 0x77, 0x61, 0x5a, 0xc0, 0xb4, + 0x11, 0x3f, 0x4f, 0x8e, 0xa4, 0xeb, 0xab, 0x6a, 0x22, 0xc6, 0xfd, 0x29, 0xc9, 0x8c, 0x24, 0xf3, + 0x54, 0x66, 0x48, 0x78, 0x97, 0x15, 0xe5, 0x28, 0xb9, 0x3a, 0x53, 0x85, 0x2a, 0x17, 0xf7, 0x9c, + 0xc5, 0x0e, 0x1d, 0x93, 0xae, 0x40, 0x6a, 0x9c, 0xe1, 0xbe, 0xe9, 0x40, 0x64, 0x62, 0xc3, 0xb9, + 0x25, 0x3e, 0x27, 0x8d, 0xb4, 0x34, 0x3e, 0xda, 0xe9, 0x00, 0xa0, 0x5b, 0x0a, 0xa1, 0x29, 0x8c, + 0x57, 0x28, 0x76, 0x0a, 0xdc, 0xf5, 0x88, 0xe0, 0x0a, 0x52, 0x5e, 0x7d, 0x8a, 0xbc, 0x9a, 0x25, + 0x32, 0x10, 0x62, 0x97, 0x42, 0xf9, 0xd3, 0x95, 0x35, 0xeb, 0x0e, 0x41, 0x8e, 0xfc, 0x08, 0xc9, + 0xc5, 0xb7, 0x8c, 0x9b, 0x04, 0xa8, 0x92, 0x43, 0x52, 0xe2, 0xca, 0x41, 0xee, 0xf8, 0x3d, 0x06, + 0xe8, 0x36, 0xf5, 0xd1, 0x92, 0x28, 0x85, 0x07, 0xde, 0x84, 0x1a, 0x20, 0x41, 0xda, 0x6c, 0x72, + 0x9d, 0x4a, 0x06, 0x81, 0xa1, 0x9b, 0x19, 0x73, 0x65, 0x8d, 0x75, 0xfd, 0x0a, 0x47, 0xdc, 0x43, + 0x4a, 0xf2, 0xe0, 0x99, 0x2d, 0x25, 0xdd, 0xf1, 0xee, 0x21, 0xa5, 0x96, 0x84, 0x1e, 0x63, 0xb0, + 0x66, 0x2d, 0x83, 0x3f, 0x8f, 0x6c, 0x09, 0x75, 0x2c, 0x03, 0x21, 0x3a, 0x49, 0x22, 0x6f, 0x32, + 0x90, 0x0b, 0xdd, 0x51, 0x4b, 0x93, 0xba, 0x2e, 0x97, 0x68, 0x5f, 0x2a, 0x7a, 0x60, 0x47, 0xe6, + 0x92, 0x49, 0x0b, 0x6b, 0x02, 0xde, 0x49, 0x97, 0xbe, 0x34, 0x9e, 0x25, 0x2c, 0x1c, 0x19, 0x38, + 0x44, 0x8b, 0x5e, 0x16, 0xae, 0x85, 0x36, 0x14, 0x42, 0xa4, 0x0e, 0x1c, 0x48, 0x62, 0xd2, 0x75, + 0x6a, 0x89, 0x12, 0xf7, 0xe5, 0x91, 0xa8, 0x67, 0xa3, 0x51, 0x42, 0x71, 0xe8, 0x09, 0x5b, 0xe9, + 0x46, 0x36, 0x7d, 0x47, 0xe2, 0x21, 0xcc, 0xc9, 0x41, 0x2a, 0xe1, 0x20, 0xa6, 0x44, 0xb2, 0x72, + 0x49, 0x4a, 0xdb, 0x96, 0x74, 0x66, 0xa5, 0xa7, 0x34, 0xde, 0x97, 0x79, 0x24, 0xd6, 0x49, 0xfd, + 0x90, 0xa1, 0x3f, 0xe9, 0xb4, 0x57, 0x60, 0x44, 0xfa, 0x82, 0x02, 0xa2, 0x40, 0x9f, 0x92, 0x3d, + 0x23, 0x05, 0xc7, 0xa4, 0xf7, 0x8c, 0x2c, 0xc4, 0x46, 0xcd, 0xfe, 0x88, 0xb0, 0x4f, 0x75, 0xf8, + 0xd3, 0xec, 0xb3, 0x30, 0x02, 0xfd, 0x7a, 0x0e, 0x4a, 0x26, 0xec, 0x0b, 0x8a, 0x97, 0x29, 0x40, + 0x81, 0x74, 0xa9, 0xea, 0x8d, 0x20, 0xe8, 0x7c, 0x26, 0xa9, 0xdb, 0xf6, 0x3f, 0xa2, 0x37, 0xed, + 0xd4, 0x70, 0x03, 0xfa, 0xaa, 0xa8, 0x45, 0x2e, 0x78, 0xa2, 0x2f, 0x45, 0x5e, 0x6a, 0x50, 0xee, + 0x05, 0x58, 0xa0, 0xb7, 0x73, 0xea, 0xc1, 0xe7, 0x6e, 0x3f, 0x6a, 0x7c, 0x41, 0x6f, 0xf7, 0x65, + 0x42, 0x04, 0xe8, 0x76, 0x2a, 0xcf, 0x7a, 0xa0, 0x11, 0xba, 0x6c, 0xa9, 0xa9, 0xc0, 0x07, 0x97, + 0x7c, 0xab, 0x49, 0xba, 0xf9, 0xe9, 0x6f, 0xb5, 0x6c, 0x84, 0x40, 0x5f, 0x57, 0x49, 0xe5, 0xb0, + 0x81, 0x1f, 0xc2, 0x72, 0x8f, 0xd6, 0x3c, 0xba, 0xcb, 0x1f, 0xf1, 0x73, 0x35, 0xf2, 0xc5, 0xef, + 0x02, 0x79, 0x8f, 0xf7, 0xb6, 0x86, 0x3e, 0x87, 0x25, 0x75, 0x6b, 0x5d, 0x58, 0x04, 0xb9, 0xfa, + 0xf0, 0xb9, 0xa5, 0xfb, 0x30, 0x9f, 0xd9, 0x11, 0x47, 0x6f, 0xf5, 0x12, 0xcc, 0x75, 0xcd, 0x72, + 0xcb, 0xfc, 0x45, 0x0a, 0x4d, 0xc8, 0xe8, 0x55, 0xa3, 0xfb, 0x0a, 0x8e, 0xea, 0xfe, 0xb6, 0x90, + 0xf5, 0xca, 0xfe, 0xeb, 0x6d, 0x0d, 0xfd, 0x4c, 0x83, 0xd5, 0x3c, 0x8d, 0x6a, 0x74, 0xaf, 0x0f, + 0x8d, 0x54, 0xcb, 0xb0, 0x97, 0x42, 0x2f, 0x35, 0x31, 0x2d, 0x53, 0xdd, 0x69, 0x65, 0x5a, 0x66, + 0xf5, 0xb2, 0xfb, 0x54, 0x23, 0x1d, 0xaa, 0x8c, 0x2e, 0xb3, 0x32, 0x54, 0xea, 0xce, 0xb4, 0x52, + 0x25, 0xa1, 0x71, 0x2a, 0x0d, 0x95, 0xbc, 0xc5, 0xac, 0x0c, 0x95, 0xb2, 0x2b, 0xdd, 0xa7, 0x42, + 0xe9, 0x50, 0xa5, 0xfa, 0xca, 0xca, 0x50, 0x65, 0x75, 0xa1, 0xfb, 0x54, 0xe3, 0x4b, 0x0d, 0x56, + 0x72, 0xf4, 0x41, 0xd1, 0x3b, 0xa9, 0x7e, 0x45, 0xbe, 0x0e, 0xb0, 0x7e, 0xaf, 0xff, 0x89, 0xb1, + 0x72, 0x5b, 0x8f, 0x40, 0xf7, 0xfc, 0x46, 0xc5, 0x73, 0x09, 0x8b, 0x4e, 0x77, 0x9a, 0xf2, 0xfa, + 0x76, 0xa5, 0xe1, 0x84, 0x87, 0xed, 0xfd, 0x4a, 0xdd, 0x6b, 0x6d, 0x50, 0x92, 0x0d, 0xf2, 0x4f, + 0xe7, 0xa7, 0x60, 0x0d, 0x6f, 0x23, 0xf1, 0x2b, 0xbb, 0xfd, 0x11, 0x32, 0x70, 0xf7, 0x7f, 0x01, + 0x00, 0x00, 0xff, 0xff, 0x3f, 0x48, 0xc1, 0xaa, 0x7b, 0x37, 0x00, 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index 17d29cb09..59844e346 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -134,13 +134,13 @@ type AccessAPIClient interface { // height GetAccountBalanceAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) // GetAccountKeys gets an account public keys by address. - GetAccountKeys(ctx context.Context, in *GetAccountKeysRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) + GetAccountKeys(ctx context.Context, in *GetAccountKeysRequest, opts ...grpc.CallOption) (*AccountKeysResponse, error) // GetAccountKeysAtLatestBlock gets an account public keys by address from the latest sealed // execution state. - GetAccountKeysAtLatestBlock(ctx context.Context, in *GetAccountKeysAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) + GetAccountKeysAtLatestBlock(ctx context.Context, in *GetAccountKeysAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountKeysResponse, error) // GetAccountKeysAtBlockHeight gets an account public keys by address at the given block // height - GetAccountKeysAtBlockHeight(ctx context.Context, in *GetAccountKeysAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) + GetAccountKeysAtBlockHeight(ctx context.Context, in *GetAccountKeysAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountKeysResponse, error) // ExecuteScriptAtLatestBlock executes a read-only Cadence script against the // latest sealed execution state. ExecuteScriptAtLatestBlock(ctx context.Context, in *ExecuteScriptAtLatestBlockRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) @@ -471,8 +471,8 @@ func (c *accessAPIClient) GetAccountBalanceAtBlockHeight(ctx context.Context, in return out, nil } -func (c *accessAPIClient) GetAccountKeys(ctx context.Context, in *GetAccountKeysRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { - out := new(AccountBalanceResponse) +func (c *accessAPIClient) GetAccountKeys(ctx context.Context, in *GetAccountKeysRequest, opts ...grpc.CallOption) (*AccountKeysResponse, error) { + out := new(AccountKeysResponse) err := c.cc.Invoke(ctx, AccessAPI_GetAccountKeys_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -480,8 +480,8 @@ func (c *accessAPIClient) GetAccountKeys(ctx context.Context, in *GetAccountKeys return out, nil } -func (c *accessAPIClient) GetAccountKeysAtLatestBlock(ctx context.Context, in *GetAccountKeysAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { - out := new(AccountBalanceResponse) +func (c *accessAPIClient) GetAccountKeysAtLatestBlock(ctx context.Context, in *GetAccountKeysAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountKeysResponse, error) { + out := new(AccountKeysResponse) err := c.cc.Invoke(ctx, AccessAPI_GetAccountKeysAtLatestBlock_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -489,8 +489,8 @@ func (c *accessAPIClient) GetAccountKeysAtLatestBlock(ctx context.Context, in *G return out, nil } -func (c *accessAPIClient) GetAccountKeysAtBlockHeight(ctx context.Context, in *GetAccountKeysAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { - out := new(AccountBalanceResponse) +func (c *accessAPIClient) GetAccountKeysAtBlockHeight(ctx context.Context, in *GetAccountKeysAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountKeysResponse, error) { + out := new(AccountKeysResponse) err := c.cc.Invoke(ctx, AccessAPI_GetAccountKeysAtBlockHeight_FullMethodName, in, out, opts...) if err != nil { return nil, err @@ -982,13 +982,13 @@ type AccessAPIServer interface { // height GetAccountBalanceAtBlockHeight(context.Context, *GetAccountAtBlockHeightRequest) (*AccountBalanceResponse, error) // GetAccountKeys gets an account public keys by address. - GetAccountKeys(context.Context, *GetAccountKeysRequest) (*AccountBalanceResponse, error) + GetAccountKeys(context.Context, *GetAccountKeysRequest) (*AccountKeysResponse, error) // GetAccountKeysAtLatestBlock gets an account public keys by address from the latest sealed // execution state. - GetAccountKeysAtLatestBlock(context.Context, *GetAccountKeysAtLatestBlockRequest) (*AccountBalanceResponse, error) + GetAccountKeysAtLatestBlock(context.Context, *GetAccountKeysAtLatestBlockRequest) (*AccountKeysResponse, error) // GetAccountKeysAtBlockHeight gets an account public keys by address at the given block // height - GetAccountKeysAtBlockHeight(context.Context, *GetAccountKeysAtBlockHeightRequest) (*AccountBalanceResponse, error) + GetAccountKeysAtBlockHeight(context.Context, *GetAccountKeysAtBlockHeightRequest) (*AccountKeysResponse, error) // ExecuteScriptAtLatestBlock executes a read-only Cadence script against the // latest sealed execution state. ExecuteScriptAtLatestBlock(context.Context, *ExecuteScriptAtLatestBlockRequest) (*ExecuteScriptResponse, error) @@ -1171,13 +1171,13 @@ func (UnimplementedAccessAPIServer) GetAccountBalanceAtLatestBlock(context.Conte func (UnimplementedAccessAPIServer) GetAccountBalanceAtBlockHeight(context.Context, *GetAccountAtBlockHeightRequest) (*AccountBalanceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountBalanceAtBlockHeight not implemented") } -func (UnimplementedAccessAPIServer) GetAccountKeys(context.Context, *GetAccountKeysRequest) (*AccountBalanceResponse, error) { +func (UnimplementedAccessAPIServer) GetAccountKeys(context.Context, *GetAccountKeysRequest) (*AccountKeysResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountKeys not implemented") } -func (UnimplementedAccessAPIServer) GetAccountKeysAtLatestBlock(context.Context, *GetAccountKeysAtLatestBlockRequest) (*AccountBalanceResponse, error) { +func (UnimplementedAccessAPIServer) GetAccountKeysAtLatestBlock(context.Context, *GetAccountKeysAtLatestBlockRequest) (*AccountKeysResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountKeysAtLatestBlock not implemented") } -func (UnimplementedAccessAPIServer) GetAccountKeysAtBlockHeight(context.Context, *GetAccountKeysAtBlockHeightRequest) (*AccountBalanceResponse, error) { +func (UnimplementedAccessAPIServer) GetAccountKeysAtBlockHeight(context.Context, *GetAccountKeysAtBlockHeightRequest) (*AccountKeysResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountKeysAtBlockHeight not implemented") } func (UnimplementedAccessAPIServer) ExecuteScriptAtLatestBlock(context.Context, *ExecuteScriptAtLatestBlockRequest) (*ExecuteScriptResponse, error) { From 2f2b5f586a2fb4c281bc15ec784cb1b2f08e9b7e Mon Sep 17 00:00:00 2001 From: Andrii Date: Wed, 19 Jun 2024 18:11:11 +0300 Subject: [PATCH 370/626] Fixed wrong reauest type --- protobuf/flow/access/access.proto | 2 +- protobuf/go/flow/access/access.pb.go | 330 +++++++++++----------- protobuf/go/flow/access/access_grpc.pb.go | 12 +- 3 files changed, 172 insertions(+), 172 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 154a71ff9..1226914f9 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -105,7 +105,7 @@ service AccessAPI { returns (AccountBalanceResponse); // GetAccountBalanceAtBlockHeight gets an account balance by address at the given block // height - rpc GetAccountBalanceAtBlockHeight(GetAccountAtBlockHeightRequest) + rpc GetAccountBalanceAtBlockHeight(GetAccountBalanceAtBlockHeightRequest) returns (AccountBalanceResponse); // GetAccountKeys gets an account public keys by address. diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 8efdce7c1..4eca8bddb 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -3519,169 +3519,169 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2620 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xed, 0x6f, 0xdc, 0x48, - 0x19, 0x97, 0xb3, 0x69, 0x5e, 0x9e, 0x6c, 0x92, 0x76, 0x92, 0x4b, 0x37, 0x4e, 0x93, 0x6c, 0x9d, - 0xe4, 0x9a, 0xbe, 0xdc, 0xa6, 0xb4, 0x87, 0xae, 0x3d, 0xe0, 0x44, 0xd2, 0x4b, 0x73, 0xd1, 0xb5, - 0xa7, 0xc8, 0xdb, 0x2b, 0x3a, 0xe0, 0x6e, 0xe5, 0xac, 0x27, 0x1b, 0x2b, 0xbb, 0x76, 0xb0, 0xbd, - 0x6d, 0x03, 0x27, 0x74, 0x1f, 0x2a, 0x84, 0x84, 0x78, 0x13, 0x1f, 0x10, 0x27, 0xf1, 0x05, 0x3e, - 0x01, 0x1f, 0xf8, 0xc4, 0x07, 0x84, 0x10, 0x12, 0x82, 0x3f, 0x80, 0xff, 0x85, 0x3f, 0x00, 0x79, - 0x66, 0xbc, 0xeb, 0x19, 0x8f, 0x67, 0xbd, 0x9b, 0x94, 0xf4, 0x4b, 0x1b, 0x7b, 0x9e, 0x79, 0xde, - 0xe7, 0x99, 0xf1, 0xf3, 0x9b, 0x85, 0xd2, 0x41, 0xd3, 0x7b, 0xbe, 0x61, 0xd5, 0xeb, 0x38, 0x08, - 0xd8, 0x7f, 0x95, 0x63, 0xdf, 0x0b, 0x3d, 0x34, 0x11, 0x8d, 0x54, 0xe8, 0x2b, 0x7d, 0x81, 0x90, - 0x61, 0x37, 0x74, 0x42, 0x07, 0x13, 0x42, 0xaf, 0xed, 0x86, 0x94, 0x52, 0x2f, 0xf3, 0x83, 0xfb, - 0x4d, 0xaf, 0x7e, 0x54, 0x3b, 0xc4, 0x96, 0x8d, 0x7d, 0x46, 0x31, 0x2f, 0xa1, 0x60, 0x43, 0x4b, - 0xfc, 0x50, 0xdd, 0x6b, 0x36, 0x71, 0x3d, 0x74, 0x3c, 0x57, 0x3e, 0x15, 0x3f, 0xc3, 0x1d, 0xb9, - 0xab, 0xc2, 0xd0, 0x0b, 0x5c, 0x6f, 0x47, 0x33, 0x6b, 0x3e, 0x0e, 0xda, 0xcd, 0x98, 0xea, 0x0a, - 0x4f, 0xd5, 0xc2, 0xa1, 0x65, 0x5b, 0xa1, 0xc5, 0x46, 0xd7, 0xf8, 0x51, 0xd7, 0xb3, 0x71, 0xed, - 0x19, 0xf6, 0x83, 0x88, 0x8d, 0xe3, 0x1e, 0x78, 0x8c, 0x6c, 0x99, 0x27, 0x0b, 0x7d, 0xcb, 0x0d, - 0xac, 0xa4, 0x9a, 0xcb, 0x0d, 0xcf, 0x6b, 0x34, 0xf1, 0x06, 0x79, 0xda, 0x6f, 0x1f, 0x6c, 0x84, - 0x4e, 0x0b, 0x07, 0xa1, 0xd5, 0x3a, 0xa6, 0x04, 0xc6, 0x24, 0x4c, 0xec, 0x39, 0x6e, 0xc3, 0xc4, - 0xdf, 0x6b, 0xe3, 0x20, 0x34, 0xa6, 0xa0, 0x48, 0x1f, 0x83, 0x63, 0xcf, 0x0d, 0xb0, 0xb1, 0x00, - 0xf3, 0x3b, 0x38, 0xfc, 0xc8, 0xb3, 0xf1, 0x53, 0x2a, 0x7d, 0xd7, 0x3d, 0xf0, 0x62, 0xe2, 0x3d, - 0xd0, 0x65, 0x83, 0x74, 0x2a, 0xba, 0x03, 0xc3, 0x91, 0xa6, 0x25, 0xad, 0xac, 0xad, 0x4f, 0xdc, - 0x59, 0xaa, 0x90, 0xb8, 0xc5, 0xaa, 0x56, 0xc4, 0x59, 0x84, 0xd6, 0x78, 0x17, 0x16, 0x76, 0x70, - 0xf8, 0xc8, 0x0a, 0x71, 0x10, 0x6e, 0x45, 0xd1, 0xf8, 0x80, 0x84, 0x8b, 0x09, 0x44, 0x0b, 0x30, - 0xee, 0x04, 0xb5, 0x00, 0x5b, 0x4d, 0x6c, 0x13, 0xbe, 0x63, 0xe6, 0x98, 0x13, 0x54, 0xc9, 0xb3, - 0x71, 0x93, 0xa8, 0x9a, 0x98, 0xb5, 0x75, 0xb2, 0xfb, 0x7e, 0x3c, 0x73, 0x0a, 0x86, 0x1c, 0x3a, - 0xa5, 0x68, 0x0e, 0x39, 0xb6, 0xf1, 0x0e, 0x2c, 0x8a, 0xc4, 0x1f, 0x60, 0xa7, 0x71, 0x18, 0xc6, - 0x13, 0xe6, 0x60, 0xe4, 0x90, 0xbc, 0x20, 0x93, 0x86, 0x4d, 0xf6, 0x64, 0xfc, 0x4d, 0x83, 0x19, - 0x4e, 0x33, 0x66, 0xed, 0x6d, 0xb8, 0x40, 0xd2, 0x87, 0x99, 0xab, 0x0b, 0xe6, 0x26, 0xa7, 0x50, - 0x42, 0xf4, 0x0d, 0x28, 0xd2, 0x94, 0x0c, 0x42, 0x2b, 0x6c, 0x07, 0xa5, 0xa1, 0xb2, 0xb6, 0x3e, - 0x25, 0x9f, 0x58, 0x25, 0x14, 0xe6, 0xc4, 0x7e, 0xf7, 0x01, 0xdd, 0x85, 0xb1, 0x38, 0x67, 0x4a, - 0x05, 0x22, 0xf3, 0xb2, 0x30, 0xf5, 0x31, 0x1b, 0x36, 0x3b, 0x84, 0x86, 0x0d, 0x6f, 0xf0, 0xfe, - 0xcd, 0xe3, 0x59, 0x54, 0x81, 0x99, 0x83, 0x76, 0xb3, 0x59, 0xa3, 0xea, 0xfa, 0xcc, 0x64, 0xa2, - 0xf0, 0x98, 0x79, 0x29, 0x1a, 0x62, 0xbc, 0x58, 0xd2, 0x7c, 0x0c, 0x33, 0xb1, 0x73, 0x15, 0x31, - 0xe8, 0x9b, 0xad, 0x05, 0x97, 0xbb, 0x6c, 0x73, 0x45, 0xab, 0x6f, 0x11, 0x7f, 0xd6, 0x60, 0x92, - 0x7b, 0x83, 0x6e, 0xf0, 0x71, 0x9d, 0x95, 0x85, 0xe7, 0x3c, 0x23, 0x7a, 0x03, 0x4a, 0x3b, 0x38, - 0x7c, 0xd0, 0x29, 0x4f, 0xaa, 0xa4, 0xaf, 0xc0, 0x95, 0x1d, 0x1c, 0x3e, 0x6c, 0x37, 0x9b, 0xf9, - 0xe8, 0x5f, 0x6a, 0x80, 0xba, 0x94, 0x1d, 0x97, 0xdc, 0x07, 0xe8, 0x96, 0x43, 0xe6, 0x97, 0x79, - 0x41, 0xd3, 0xc4, 0xb4, 0x04, 0x31, 0x67, 0xe2, 0x50, 0x5e, 0x13, 0x7f, 0xaa, 0xc1, 0x1c, 0xaf, - 0x74, 0x47, 0x95, 0xf7, 0xa0, 0x98, 0xa8, 0x79, 0x41, 0x49, 0x2b, 0x17, 0x24, 0x8b, 0xef, 0x49, - 0x97, 0xc4, 0xe4, 0xe8, 0x07, 0xd3, 0xe7, 0x29, 0xcc, 0x55, 0xb1, 0x6b, 0x27, 0xb9, 0x32, 0x07, - 0x7e, 0x1d, 0x26, 0x12, 0xec, 0x33, 0x4a, 0x41, 0x72, 0x5e, 0x92, 0xdc, 0xf8, 0x0c, 0x2e, 0xa7, - 0xf8, 0x32, 0x3b, 0xc5, 0xa5, 0x33, 0x90, 0xde, 0xff, 0xd4, 0xc8, 0xea, 0x97, 0xe8, 0x2d, 0xb2, - 0x9f, 0x87, 0x31, 0x9a, 0xc8, 0x8e, 0x4d, 0xd8, 0x17, 0xcd, 0x51, 0xf2, 0xbc, 0x6b, 0xa3, 0x15, - 0x98, 0xec, 0xc6, 0x33, 0x1a, 0x2f, 0x90, 0xf1, 0x62, 0xf7, 0xe5, 0xae, 0x8d, 0x3e, 0x81, 0x39, - 0xb2, 0x21, 0xd6, 0xb0, 0x5b, 0xf7, 0x6c, 0xc7, 0x6d, 0xc4, 0x7b, 0x57, 0x69, 0x98, 0x2c, 0x89, - 0x15, 0x41, 0xd9, 0xed, 0x88, 0x78, 0x9b, 0xd1, 0xb2, 0x5d, 0xc1, 0x9c, 0xc5, 0x92, 0xb7, 0xc6, - 0x3d, 0xb2, 0x43, 0x54, 0x4f, 0x82, 0x10, 0xb7, 0x24, 0x96, 0x24, 0x35, 0xd7, 0x38, 0xcd, 0x8d, - 0xdf, 0x68, 0x70, 0x55, 0x3e, 0x35, 0xda, 0x95, 0x7b, 0x33, 0x50, 0x58, 0x35, 0x74, 0x5a, 0xab, - 0xfe, 0xa8, 0x91, 0xa5, 0x99, 0xd0, 0x6a, 0xeb, 0x64, 0xd7, 0xb5, 0xf1, 0x8b, 0x1c, 0x6a, 0xcd, - 0xc2, 0x05, 0x27, 0x22, 0x25, 0x5a, 0x4c, 0x9a, 0xf4, 0x41, 0xa1, 0x6c, 0xe1, 0xb4, 0xca, 0xfe, - 0x5a, 0x83, 0x65, 0x5e, 0xd9, 0x60, 0xeb, 0x84, 0x54, 0xb5, 0x6e, 0x29, 0x39, 0x37, 0x37, 0xea, - 0xa9, 0xc8, 0x06, 0x9d, 0x55, 0xf4, 0x2d, 0x98, 0x49, 0xac, 0x37, 0x76, 0x1c, 0x8b, 0x8b, 0xc6, - 0x9b, 0x95, 0xc4, 0xc1, 0xb2, 0x22, 0xc9, 0x0f, 0xca, 0xc4, 0x44, 0x61, 0x4a, 0xc0, 0x60, 0xcb, - 0xf1, 0x27, 0x1a, 0xcc, 0x26, 0x7d, 0x78, 0xbe, 0x45, 0xed, 0xc7, 0x1a, 0xcc, 0xc8, 0x2a, 0xcf, - 0xa9, 0x4a, 0xda, 0x60, 0xaa, 0xfc, 0xa5, 0x00, 0xf3, 0x99, 0xfe, 0x47, 0xf7, 0x60, 0x84, 0x6d, - 0xaf, 0x1a, 0x49, 0x97, 0x72, 0xb6, 0x2e, 0x6c, 0x93, 0x65, 0xf4, 0x68, 0x19, 0x26, 0xe8, 0x5f, - 0xb5, 0xba, 0x67, 0x63, 0xb6, 0x5c, 0x80, 0xbe, 0x7a, 0xe0, 0xd9, 0x38, 0xaa, 0x6d, 0xd8, 0xf7, - 0x3d, 0xbf, 0xd6, 0xc2, 0x41, 0x60, 0x35, 0x30, 0x59, 0x2a, 0xe3, 0x66, 0x91, 0xbc, 0x7c, 0x4c, - 0xdf, 0xa1, 0x5b, 0x30, 0x42, 0x72, 0x2f, 0x28, 0x0d, 0x93, 0xb8, 0xcc, 0xca, 0xd2, 0xd5, 0x64, - 0x34, 0xdc, 0x3a, 0xb8, 0xc0, 0xaf, 0x83, 0x35, 0x98, 0x4a, 0x66, 0xa3, 0x63, 0x97, 0x46, 0x08, - 0xc1, 0x64, 0xe2, 0xad, 0xac, 0xe0, 0x8e, 0x4a, 0x0a, 0xee, 0xd5, 0xf8, 0xe4, 0xc1, 0x4e, 0x41, - 0x63, 0xe4, 0x14, 0x44, 0x4f, 0x17, 0xf4, 0xa4, 0xc4, 0x85, 0x62, 0x3c, 0x67, 0x28, 0xd0, 0x4d, - 0xb8, 0x54, 0xf7, 0x5a, 0xc7, 0xed, 0xd0, 0x22, 0xd2, 0xdb, 0xc4, 0x2b, 0x40, 0x98, 0x5f, 0x4c, - 0x0c, 0x7c, 0x1c, 0xbd, 0x37, 0xde, 0x82, 0x4b, 0x3b, 0x38, 0xdc, 0xa4, 0xdf, 0x60, 0x71, 0x21, - 0x28, 0xc1, 0xa8, 0x65, 0xdb, 0x3e, 0x0e, 0x82, 0xb8, 0x0e, 0xb0, 0x47, 0xe3, 0x07, 0x80, 0x92, - 0xe4, 0x9d, 0x73, 0xf4, 0x28, 0xfb, 0x8a, 0x63, 0xb9, 0x36, 0x27, 0x68, 0x19, 0x4f, 0x88, 0xc9, - 0x06, 0xcb, 0xb1, 0x77, 0x61, 0xa9, 0x2b, 0x7c, 0x53, 0x76, 0x22, 0xce, 0x56, 0xfc, 0x05, 0x4c, - 0x9f, 0x93, 0xd6, 0x9f, 0xf2, 0x5a, 0x6f, 0x75, 0xc3, 0xdb, 0x53, 0xeb, 0x54, 0x8a, 0x0c, 0xa5, - 0x52, 0xc4, 0x78, 0x9b, 0x9c, 0x25, 0x19, 0xfb, 0x2d, 0xab, 0x69, 0xb9, 0x75, 0xdc, 0xdb, 0x1d, - 0x9b, 0xb0, 0x96, 0x9a, 0xd5, 0xa7, 0x47, 0x6d, 0x29, 0x8b, 0xb3, 0x36, 0xef, 0x19, 0xcc, 0x89, - 0xb6, 0xb1, 0xf0, 0x5d, 0x83, 0x69, 0x16, 0x97, 0xda, 0x3e, 0x1d, 0x62, 0xdf, 0x11, 0x53, 0x16, - 0x37, 0x61, 0xb0, 0xa8, 0x7d, 0x85, 0x1c, 0xbb, 0x98, 0xe8, 0x0f, 0xf1, 0x49, 0xd0, 0xdb, 0x21, - 0xef, 0x81, 0xc1, 0x4f, 0xe9, 0xd3, 0xa1, 0x56, 0x7a, 0xfe, 0x59, 0x7b, 0x33, 0xda, 0x30, 0x38, - 0x9b, 0x3a, 0x1b, 0x46, 0x31, 0xf6, 0xe5, 0x11, 0x3e, 0x89, 0x77, 0xaf, 0x79, 0xf9, 0x7a, 0xf8, - 0x10, 0x9f, 0x98, 0x13, 0x56, 0x97, 0xcb, 0x60, 0x0e, 0xfe, 0x04, 0xae, 0x6e, 0x93, 0x26, 0x0b, - 0xae, 0xd6, 0x7d, 0xe7, 0x58, 0xbe, 0x9e, 0xe7, 0x60, 0x24, 0x20, 0xa3, 0xcc, 0x56, 0xf6, 0x84, - 0xae, 0xc0, 0xb8, 0xe5, 0x37, 0xda, 0x2d, 0x52, 0xd2, 0x87, 0xca, 0x85, 0xf5, 0xa2, 0xd9, 0x7d, - 0x61, 0x1c, 0xc3, 0xa2, 0xc0, 0x3a, 0xff, 0x41, 0xa7, 0x2b, 0x71, 0x28, 0x5b, 0x62, 0x41, 0x94, - 0xf8, 0x79, 0xca, 0x18, 0x49, 0xe4, 0xc4, 0xf8, 0x68, 0xe9, 0x7a, 0x3f, 0x98, 0xf4, 0x9f, 0x6b, - 0xf0, 0x06, 0x27, 0xbe, 0x13, 0xd7, 0x59, 0xb8, 0xf0, 0xcc, 0x6a, 0xb6, 0x31, 0xb3, 0x92, 0x3e, - 0x0c, 0x14, 0x2f, 0xf9, 0xae, 0x52, 0xc8, 0xd8, 0x55, 0xfe, 0xa3, 0x91, 0xa2, 0x47, 0xb6, 0xd5, - 0xe0, 0xa1, 0xe7, 0x33, 0x47, 0x58, 0x6e, 0xa3, 0x53, 0x9b, 0x10, 0x0c, 0x87, 0x27, 0xc7, 0x54, - 0xb3, 0x71, 0x93, 0xfc, 0x1d, 0x79, 0x28, 0x08, 0x2d, 0x3f, 0x14, 0x32, 0x98, 0xbc, 0x63, 0x1e, - 0x5a, 0x04, 0xc0, 0xae, 0x1d, 0x13, 0x50, 0xf9, 0xe3, 0xd8, 0xb5, 0xd9, 0xf0, 0x2b, 0xfc, 0x88, - 0xf9, 0x83, 0x46, 0xbe, 0x62, 0x3a, 0x36, 0xb1, 0x9c, 0x0a, 0x54, 0x06, 0x2d, 0xc0, 0x78, 0x9c, - 0x68, 0x71, 0x9e, 0x8e, 0xb1, 0x4c, 0x0b, 0x5e, 0xe5, 0x69, 0xff, 0x1f, 0x43, 0x30, 0x45, 0x15, - 0x4d, 0x2c, 0xf1, 0x51, 0xfe, 0xec, 0x6c, 0x70, 0x67, 0x67, 0x9e, 0xba, 0xc2, 0xce, 0x6f, 0xf1, - 0x94, 0x81, 0x52, 0x46, 0xff, 0xab, 0x06, 0x23, 0x94, 0x91, 0x6a, 0xc5, 0xf5, 0x2e, 0x5b, 0x89, - 0xe3, 0x5b, 0x21, 0xc7, 0xf1, 0xed, 0x01, 0x4c, 0x53, 0x86, 0x9d, 0xb6, 0x29, 0x09, 0x7e, 0x74, - 0x02, 0xa6, 0x8d, 0xd5, 0x4a, 0xdc, 0x58, 0xad, 0x3c, 0x89, 0x29, 0xcc, 0x29, 0x32, 0xa5, 0xf3, - 0x6c, 0x2c, 0x92, 0x60, 0x7f, 0x84, 0xc3, 0xe7, 0x9e, 0x7f, 0xb4, 0x67, 0xf9, 0x56, 0x0b, 0x87, - 0xd8, 0x8f, 0x83, 0x6d, 0xdc, 0x27, 0x9f, 0x7e, 0x92, 0x61, 0xe6, 0xed, 0x79, 0x18, 0xab, 0x1f, - 0x5a, 0x8e, 0x1b, 0xdb, 0x3b, 0x6e, 0x8e, 0x92, 0xe7, 0x5d, 0xdb, 0xb8, 0x46, 0xf6, 0x4d, 0x5a, - 0xec, 0xf6, 0x22, 0x45, 0xea, 0x5e, 0x33, 0x3a, 0xf4, 0xe2, 0xaa, 0x6b, 0x1d, 0x07, 0x87, 0x5e, - 0x5c, 0x2f, 0x8c, 0x6d, 0x58, 0xdf, 0xc1, 0x72, 0x92, 0x3e, 0x3e, 0xdd, 0x8c, 0x47, 0x70, 0x2d, - 0x9b, 0x4d, 0xbf, 0x15, 0xca, 0x78, 0xa9, 0xc1, 0x62, 0x86, 0xd6, 0xcc, 0xf4, 0x0a, 0xa0, 0x00, - 0xfb, 0x8e, 0xd5, 0x74, 0xbe, 0x8f, 0xed, 0x78, 0x94, 0x29, 0x25, 0x19, 0x19, 0x6c, 0xf7, 0xf8, - 0x26, 0xac, 0x44, 0x6b, 0x31, 0xee, 0xd2, 0xd3, 0x2c, 0xeb, 0x2e, 0xca, 0x1c, 0x6e, 0xf9, 0xbd, - 0x16, 0xd7, 0x6c, 0xe9, 0x7c, 0x66, 0xcc, 0x2e, 0x5c, 0x14, 0xa1, 0x80, 0x8c, 0xde, 0xb8, 0xc0, - 0xcb, 0x9c, 0xc6, 0xfc, 0x8b, 0xc1, 0xec, 0xdc, 0x20, 0x2d, 0x6f, 0x81, 0xb7, 0xaa, 0xfd, 0xf7, - 0x5b, 0x0d, 0x16, 0xa4, 0xe4, 0xaf, 0x89, 0x41, 0x7f, 0xd7, 0xe0, 0xcd, 0x6a, 0x7b, 0x3f, 0xda, - 0xd7, 0xf6, 0x31, 0xf1, 0x76, 0xf0, 0xd0, 0xf7, 0x5a, 0xd5, 0xa8, 0xc4, 0x0b, 0xc1, 0x5b, 0x85, - 0x29, 0xba, 0x1b, 0x08, 0x21, 0xa4, 0x7b, 0xc4, 0x16, 0x2b, 0x1f, 0xa7, 0xec, 0xdf, 0x66, 0x34, - 0x9b, 0x0b, 0x59, 0xcd, 0xe6, 0x7f, 0x69, 0xb0, 0x96, 0xa5, 0x3f, 0xbf, 0x98, 0x6e, 0x01, 0x4a, - 0xaa, 0xcf, 0x2d, 0xa9, 0x8b, 0x5d, 0x13, 0x58, 0x89, 0xfb, 0x3f, 0x9b, 0xf1, 0x4b, 0x0d, 0xca, - 0x12, 0x33, 0x68, 0x55, 0x8a, 0x2d, 0x10, 0x75, 0xd2, 0xce, 0x44, 0xa7, 0xcc, 0x3e, 0xfe, 0x36, - 0x5c, 0x16, 0x54, 0x1a, 0xa4, 0xa1, 0x6f, 0xfc, 0x4a, 0x83, 0x5b, 0x3c, 0x1f, 0x0a, 0xe1, 0x9c, - 0x6b, 0x9e, 0x19, 0x5f, 0x6a, 0x70, 0x53, 0xad, 0xd5, 0xf9, 0x65, 0x8f, 0xd1, 0x10, 0xd7, 0x64, - 0x42, 0xb7, 0xb3, 0x4c, 0x09, 0xa3, 0x0a, 0x8b, 0x52, 0x41, 0x09, 0xfc, 0x71, 0x84, 0x82, 0xbd, - 0x39, 0x20, 0x39, 0x46, 0x29, 0x09, 0xf8, 0xfb, 0x4e, 0x03, 0x07, 0xe1, 0xeb, 0x16, 0x70, 0x51, - 0xab, 0xd7, 0x29, 0xe0, 0x09, 0xdd, 0xce, 0x34, 0xe0, 0xbf, 0xd3, 0xc4, 0x88, 0x33, 0x49, 0xc9, - 0x93, 0xd2, 0x29, 0x4e, 0x86, 0x92, 0xb3, 0x5e, 0xa1, 0xef, 0xb3, 0xde, 0xbf, 0x35, 0xb8, 0x51, - 0xc5, 0xae, 0xbd, 0xe9, 0xda, 0x1d, 0x5d, 0x53, 0x1d, 0x49, 0x1c, 0x9c, 0x09, 0x60, 0xf4, 0x2a, - 0x3b, 0xe9, 0x7f, 0x8a, 0x52, 0x2e, 0x8f, 0x1d, 0xbd, 0x5a, 0xeb, 0xda, 0x29, 0x5b, 0xeb, 0x2b, - 0x30, 0xc9, 0xba, 0xb1, 0xb5, 0x2e, 0xca, 0x31, 0x6c, 0x16, 0xd9, 0x4b, 0x02, 0x92, 0xdc, 0xf9, - 0xef, 0x75, 0x18, 0xdf, 0x24, 0xdc, 0x37, 0xf7, 0x76, 0xd1, 0xd7, 0x60, 0x78, 0xcf, 0x71, 0x1b, - 0xa8, 0xc4, 0x89, 0x4d, 0xdc, 0x72, 0xd0, 0xe7, 0x25, 0x23, 0xcc, 0x10, 0x4c, 0xba, 0x92, 0xc2, - 0xed, 0x04, 0xc4, 0x5b, 0x90, 0x79, 0x23, 0x42, 0xbf, 0xd6, 0x93, 0x8e, 0x89, 0xd9, 0x87, 0x59, - 0xd9, 0x45, 0x07, 0xb4, 0x2e, 0x32, 0xc8, 0xba, 0x0b, 0xa1, 0x97, 0x39, 0x4a, 0xd9, 0x95, 0x84, - 0xcf, 0x88, 0x29, 0xc2, 0x85, 0x88, 0xb4, 0x29, 0xf2, 0x1b, 0x13, 0x39, 0xf8, 0x1f, 0xc0, 0x9c, - 0xfc, 0x0e, 0x05, 0xba, 0xa1, 0x94, 0xc1, 0x15, 0xab, 0x1c, 0x72, 0xf6, 0x60, 0x8a, 0x77, 0x04, - 0x32, 0x14, 0x5e, 0x8a, 0xf9, 0xea, 0x69, 0xbe, 0x1d, 0x8e, 0x8f, 0xa0, 0x98, 0xbc, 0xa0, 0x80, - 0xca, 0x52, 0x7d, 0x93, 0xde, 0x50, 0x71, 0x7b, 0x02, 0x17, 0xc5, 0x7b, 0x09, 0x68, 0x35, 0x83, - 0x23, 0x6f, 0xbb, 0x8a, 0xeb, 0x77, 0x48, 0x37, 0x9d, 0x07, 0xea, 0xd1, 0x9a, 0xc8, 0x56, 0x0a, - 0xe4, 0xeb, 0xcb, 0x1c, 0x99, 0x04, 0x37, 0x6f, 0x90, 0x96, 0x64, 0xfa, 0x26, 0x00, 0xba, 0x2e, - 0x0a, 0xc8, 0xbc, 0x2d, 0xa0, 0xaf, 0x70, 0xa4, 0x19, 0x00, 0xfd, 0x77, 0x61, 0x5a, 0xc0, 0xb4, - 0x11, 0x3f, 0x4f, 0x8e, 0xa4, 0xeb, 0xab, 0x6a, 0x22, 0xc6, 0xfd, 0x29, 0xc9, 0x8c, 0x24, 0xf3, - 0x54, 0x66, 0x48, 0x78, 0x97, 0x15, 0xe5, 0x28, 0xb9, 0x3a, 0x53, 0x85, 0x2a, 0x17, 0xf7, 0x9c, - 0xc5, 0x0e, 0x1d, 0x93, 0xae, 0x40, 0x6a, 0x9c, 0xe1, 0xbe, 0xe9, 0x40, 0x64, 0x62, 0xc3, 0xb9, - 0x25, 0x3e, 0x27, 0x8d, 0xb4, 0x34, 0x3e, 0xda, 0xe9, 0x00, 0xa0, 0x5b, 0x0a, 0xa1, 0x29, 0x8c, - 0x57, 0x28, 0x76, 0x0a, 0xdc, 0xf5, 0x88, 0xe0, 0x0a, 0x52, 0x5e, 0x7d, 0x8a, 0xbc, 0x9a, 0x25, - 0x32, 0x10, 0x62, 0x97, 0x42, 0xf9, 0xd3, 0x95, 0x35, 0xeb, 0x0e, 0x41, 0x8e, 0xfc, 0x08, 0xc9, - 0xc5, 0xb7, 0x8c, 0x9b, 0x04, 0xa8, 0x92, 0x43, 0x52, 0xe2, 0xca, 0x41, 0xee, 0xf8, 0x3d, 0x06, - 0xe8, 0x36, 0xf5, 0xd1, 0x92, 0x28, 0x85, 0x07, 0xde, 0x84, 0x1a, 0x20, 0x41, 0xda, 0x6c, 0x72, - 0x9d, 0x4a, 0x06, 0x81, 0xa1, 0x9b, 0x19, 0x73, 0x65, 0x8d, 0x75, 0xfd, 0x0a, 0x47, 0xdc, 0x43, - 0x4a, 0xf2, 0xe0, 0x99, 0x2d, 0x25, 0xdd, 0xf1, 0xee, 0x21, 0xa5, 0x96, 0x84, 0x1e, 0x63, 0xb0, - 0x66, 0x2d, 0x83, 0x3f, 0x8f, 0x6c, 0x09, 0x75, 0x2c, 0x03, 0x21, 0x3a, 0x49, 0x22, 0x6f, 0x32, - 0x90, 0x0b, 0xdd, 0x51, 0x4b, 0x93, 0xba, 0x2e, 0x97, 0x68, 0x5f, 0x2a, 0x7a, 0x60, 0x47, 0xe6, - 0x92, 0x49, 0x0b, 0x6b, 0x02, 0xde, 0x49, 0x97, 0xbe, 0x34, 0x9e, 0x25, 0x2c, 0x1c, 0x19, 0x38, - 0x44, 0x8b, 0x5e, 0x16, 0xae, 0x85, 0x36, 0x14, 0x42, 0xa4, 0x0e, 0x1c, 0x48, 0x62, 0xd2, 0x75, - 0x6a, 0x89, 0x12, 0xf7, 0xe5, 0x91, 0xa8, 0x67, 0xa3, 0x51, 0x42, 0x71, 0xe8, 0x09, 0x5b, 0xe9, - 0x46, 0x36, 0x7d, 0x47, 0xe2, 0x21, 0xcc, 0xc9, 0x41, 0x2a, 0xe1, 0x20, 0xa6, 0x44, 0xb2, 0x72, - 0x49, 0x4a, 0xdb, 0x96, 0x74, 0x66, 0xa5, 0xa7, 0x34, 0xde, 0x97, 0x79, 0x24, 0xd6, 0x49, 0xfd, - 0x90, 0xa1, 0x3f, 0xe9, 0xb4, 0x57, 0x60, 0x44, 0xfa, 0x82, 0x02, 0xa2, 0x40, 0x9f, 0x92, 0x3d, - 0x23, 0x05, 0xc7, 0xa4, 0xf7, 0x8c, 0x2c, 0xc4, 0x46, 0xcd, 0xfe, 0x88, 0xb0, 0x4f, 0x75, 0xf8, - 0xd3, 0xec, 0xb3, 0x30, 0x02, 0xfd, 0x7a, 0x0e, 0x4a, 0x26, 0xec, 0x0b, 0x8a, 0x97, 0x29, 0x40, - 0x81, 0x74, 0xa9, 0xea, 0x8d, 0x20, 0xe8, 0x7c, 0x26, 0xa9, 0xdb, 0xf6, 0x3f, 0xa2, 0x37, 0xed, - 0xd4, 0x70, 0x03, 0xfa, 0xaa, 0xa8, 0x45, 0x2e, 0x78, 0xa2, 0x2f, 0x45, 0x5e, 0x6a, 0x50, 0xee, - 0x05, 0x58, 0xa0, 0xb7, 0x73, 0xea, 0xc1, 0xe7, 0x6e, 0x3f, 0x6a, 0x7c, 0x41, 0x6f, 0xf7, 0x65, - 0x42, 0x04, 0xe8, 0x76, 0x2a, 0xcf, 0x7a, 0xa0, 0x11, 0xba, 0x6c, 0xa9, 0xa9, 0xc0, 0x07, 0x97, - 0x7c, 0xab, 0x49, 0xba, 0xf9, 0xe9, 0x6f, 0xb5, 0x6c, 0x84, 0x40, 0x5f, 0x57, 0x49, 0xe5, 0xb0, - 0x81, 0x1f, 0xc2, 0x72, 0x8f, 0xd6, 0x3c, 0xba, 0xcb, 0x1f, 0xf1, 0x73, 0x35, 0xf2, 0xc5, 0xef, - 0x02, 0x79, 0x8f, 0xf7, 0xb6, 0x86, 0x3e, 0x87, 0x25, 0x75, 0x6b, 0x5d, 0x58, 0x04, 0xb9, 0xfa, - 0xf0, 0xb9, 0xa5, 0xfb, 0x30, 0x9f, 0xd9, 0x11, 0x47, 0x6f, 0xf5, 0x12, 0xcc, 0x75, 0xcd, 0x72, - 0xcb, 0xfc, 0x45, 0x0a, 0x4d, 0xc8, 0xe8, 0x55, 0xa3, 0xfb, 0x0a, 0x8e, 0xea, 0xfe, 0xb6, 0x90, - 0xf5, 0xca, 0xfe, 0xeb, 0x6d, 0x0d, 0xfd, 0x4c, 0x83, 0xd5, 0x3c, 0x8d, 0x6a, 0x74, 0xaf, 0x0f, - 0x8d, 0x54, 0xcb, 0xb0, 0x97, 0x42, 0x2f, 0x35, 0x31, 0x2d, 0x53, 0xdd, 0x69, 0x65, 0x5a, 0x66, - 0xf5, 0xb2, 0xfb, 0x54, 0x23, 0x1d, 0xaa, 0x8c, 0x2e, 0xb3, 0x32, 0x54, 0xea, 0xce, 0xb4, 0x52, - 0x25, 0xa1, 0x71, 0x2a, 0x0d, 0x95, 0xbc, 0xc5, 0xac, 0x0c, 0x95, 0xb2, 0x2b, 0xdd, 0xa7, 0x42, - 0xe9, 0x50, 0xa5, 0xfa, 0xca, 0xca, 0x50, 0x65, 0x75, 0xa1, 0xfb, 0x54, 0xe3, 0x4b, 0x0d, 0x56, - 0x72, 0xf4, 0x41, 0xd1, 0x3b, 0xa9, 0x7e, 0x45, 0xbe, 0x0e, 0xb0, 0x7e, 0xaf, 0xff, 0x89, 0xb1, - 0x72, 0x5b, 0x8f, 0x40, 0xf7, 0xfc, 0x46, 0xc5, 0x73, 0x09, 0x8b, 0x4e, 0x77, 0x9a, 0xf2, 0xfa, - 0x76, 0xa5, 0xe1, 0x84, 0x87, 0xed, 0xfd, 0x4a, 0xdd, 0x6b, 0x6d, 0x50, 0x92, 0x0d, 0xf2, 0x4f, - 0xe7, 0xa7, 0x60, 0x0d, 0x6f, 0x23, 0xf1, 0x2b, 0xbb, 0xfd, 0x11, 0x32, 0x70, 0xf7, 0x7f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0x3f, 0x48, 0xc1, 0xaa, 0x7b, 0x37, 0x00, 0x00, + // 2621 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcd, 0x6f, 0x1c, 0x49, + 0x15, 0x57, 0x7b, 0x1c, 0x7f, 0x3c, 0x8f, 0x9d, 0xa4, 0xe2, 0x75, 0xc6, 0xed, 0x38, 0x9e, 0xb4, + 0xe3, 0x8d, 0xf3, 0xb1, 0xe3, 0x90, 0x2c, 0xda, 0x64, 0x81, 0x15, 0x76, 0x36, 0xf1, 0x5a, 0x9b, + 0xac, 0xac, 0x76, 0x36, 0x68, 0x81, 0xdd, 0x51, 0x7b, 0xba, 0x3c, 0x6e, 0x65, 0xa6, 0xdb, 0x74, + 0xf7, 0x24, 0x31, 0xac, 0xd0, 0x1e, 0x22, 0x84, 0x84, 0xf8, 0x12, 0x07, 0xc4, 0x4a, 0x5c, 0xe0, + 0x04, 0x1c, 0x38, 0x71, 0x40, 0x08, 0x21, 0x21, 0xf8, 0x03, 0xf8, 0x7b, 0xb8, 0xa0, 0xae, 0xaa, + 0x9e, 0xa9, 0xaa, 0xae, 0xae, 0xe9, 0x19, 0x3b, 0x38, 0x97, 0xc4, 0xdd, 0xf5, 0xea, 0x7d, 0xd7, + 0xab, 0xea, 0xf7, 0xab, 0x81, 0xca, 0x5e, 0x2b, 0x78, 0xbe, 0xe6, 0x34, 0x1a, 0x38, 0x8a, 0xd8, + 0x7f, 0xb5, 0x83, 0x30, 0x88, 0x03, 0x34, 0x95, 0x8c, 0xd4, 0xe8, 0x2b, 0x73, 0x81, 0x90, 0x61, + 0x3f, 0xf6, 0x62, 0x0f, 0x13, 0xc2, 0xa0, 0xe3, 0xc7, 0x94, 0xd2, 0xac, 0x8a, 0x83, 0xbb, 0xad, + 0xa0, 0xf1, 0xb4, 0xbe, 0x8f, 0x1d, 0x17, 0x87, 0x8c, 0x62, 0x5e, 0x41, 0xc1, 0x86, 0x2e, 0x8a, + 0x43, 0x8d, 0xa0, 0xd5, 0xc2, 0x8d, 0xd8, 0x0b, 0x7c, 0xf5, 0x54, 0xfc, 0x0c, 0x77, 0xe5, 0x5e, + 0x96, 0x86, 0x5e, 0xe0, 0x46, 0x27, 0x99, 0x59, 0x0f, 0x71, 0xd4, 0x69, 0xa5, 0x54, 0x17, 0x44, + 0xaa, 0x36, 0x8e, 0x1d, 0xd7, 0x89, 0x1d, 0x36, 0xba, 0x22, 0x8e, 0xfa, 0x81, 0x8b, 0xeb, 0xcf, + 0x70, 0x18, 0x25, 0x6c, 0x3c, 0x7f, 0x2f, 0x60, 0x64, 0x4b, 0x22, 0x59, 0x1c, 0x3a, 0x7e, 0xe4, + 0xf0, 0x6a, 0x2e, 0x35, 0x83, 0xa0, 0xd9, 0xc2, 0x6b, 0xe4, 0x69, 0xb7, 0xb3, 0xb7, 0x16, 0x7b, + 0x6d, 0x1c, 0xc5, 0x4e, 0xfb, 0x80, 0x12, 0x58, 0xd3, 0x30, 0xb5, 0xed, 0xf9, 0x4d, 0x1b, 0x7f, + 0xaf, 0x83, 0xa3, 0xd8, 0x9a, 0x81, 0x32, 0x7d, 0x8c, 0x0e, 0x02, 0x3f, 0xc2, 0xd6, 0x02, 0xcc, + 0x6f, 0xe2, 0xf8, 0xa3, 0xc0, 0xc5, 0x4f, 0xa8, 0xf4, 0x2d, 0x7f, 0x2f, 0x48, 0x89, 0xb7, 0xc1, + 0x54, 0x0d, 0xd2, 0xa9, 0xe8, 0x16, 0x8c, 0x26, 0x9a, 0x56, 0x8c, 0xaa, 0xb1, 0x3a, 0x75, 0xeb, + 0x62, 0x8d, 0xc4, 0x2d, 0x55, 0xb5, 0x26, 0xcf, 0x22, 0xb4, 0xd6, 0xbb, 0xb0, 0xb0, 0x89, 0xe3, + 0x87, 0x4e, 0x8c, 0xa3, 0x78, 0x23, 0x89, 0xc6, 0x07, 0x24, 0x5c, 0x4c, 0x20, 0x5a, 0x80, 0x49, + 0x2f, 0xaa, 0x47, 0xd8, 0x69, 0x61, 0x97, 0xf0, 0x9d, 0xb0, 0x27, 0xbc, 0x68, 0x87, 0x3c, 0x5b, + 0xd7, 0x89, 0xaa, 0xdc, 0xac, 0x8d, 0xc3, 0xad, 0xf7, 0xd3, 0x99, 0x33, 0x30, 0xe2, 0xd1, 0x29, + 0x65, 0x7b, 0xc4, 0x73, 0xad, 0x77, 0x60, 0x51, 0x26, 0xfe, 0x00, 0x7b, 0xcd, 0xfd, 0x38, 0x9d, + 0x30, 0x07, 0x63, 0xfb, 0xe4, 0x05, 0x99, 0x34, 0x6a, 0xb3, 0x27, 0xeb, 0x6f, 0x06, 0x9c, 0x13, + 0x34, 0x63, 0xd6, 0xde, 0x84, 0x53, 0x24, 0x7d, 0x98, 0xb9, 0xa6, 0x64, 0x2e, 0x3f, 0x85, 0x12, + 0xa2, 0x6f, 0x40, 0x99, 0xa6, 0x64, 0x14, 0x3b, 0x71, 0x27, 0xaa, 0x8c, 0x54, 0x8d, 0xd5, 0x19, + 0xf5, 0xc4, 0x1d, 0x42, 0x61, 0x4f, 0xed, 0xf6, 0x1e, 0xd0, 0x6d, 0x98, 0x48, 0x73, 0xa6, 0x52, + 0x22, 0x32, 0xcf, 0x4b, 0x53, 0x1f, 0xb1, 0x61, 0xbb, 0x4b, 0x68, 0xb9, 0xf0, 0x86, 0xe8, 0xdf, + 0x22, 0x9e, 0x45, 0x35, 0x38, 0xb7, 0xd7, 0x69, 0xb5, 0xea, 0x54, 0xdd, 0x90, 0x99, 0x4c, 0x14, + 0x9e, 0xb0, 0xcf, 0x26, 0x43, 0x8c, 0x17, 0x4b, 0x9a, 0x8f, 0xe1, 0x5c, 0xea, 0x5c, 0x4d, 0x0c, + 0x06, 0x66, 0xeb, 0xc0, 0xf9, 0x1e, 0xdb, 0x42, 0xd1, 0x1a, 0x58, 0xc4, 0x9f, 0x0d, 0x98, 0x16, + 0xde, 0xa0, 0x6b, 0x62, 0x5c, 0x67, 0x55, 0xe1, 0x39, 0xc9, 0x88, 0x5e, 0x83, 0xca, 0x26, 0x8e, + 0xef, 0x75, 0xcb, 0x93, 0x2e, 0xe9, 0x6b, 0x70, 0x61, 0x13, 0xc7, 0x0f, 0x3a, 0xad, 0x56, 0x31, + 0xfa, 0x97, 0x06, 0xa0, 0x1e, 0x65, 0xd7, 0x25, 0x77, 0x01, 0x7a, 0xe5, 0x90, 0xf9, 0x65, 0x5e, + 0xd2, 0x94, 0x9b, 0xc6, 0x11, 0x0b, 0x26, 0x8e, 0x14, 0x35, 0xf1, 0xa7, 0x06, 0xcc, 0x89, 0x4a, + 0x77, 0x55, 0x79, 0x0f, 0xca, 0x5c, 0xcd, 0x8b, 0x2a, 0x46, 0xb5, 0xa4, 0x58, 0x7c, 0x8f, 0x7b, + 0x24, 0xb6, 0x40, 0x3f, 0x9c, 0x3e, 0x4f, 0x60, 0x6e, 0x07, 0xfb, 0x2e, 0xcf, 0x95, 0x39, 0xf0, + 0xeb, 0x30, 0xc5, 0xb1, 0xcf, 0x29, 0x05, 0xfc, 0x3c, 0x9e, 0xdc, 0xfa, 0x0c, 0xce, 0x67, 0xf8, + 0x32, 0x3b, 0xe5, 0xa5, 0x33, 0x94, 0xde, 0xff, 0x34, 0xc8, 0xea, 0x57, 0xe8, 0x2d, 0xb3, 0x9f, + 0x87, 0x09, 0x9a, 0xc8, 0x9e, 0x4b, 0xd8, 0x97, 0xed, 0x71, 0xf2, 0xbc, 0xe5, 0xa2, 0x65, 0x98, + 0xee, 0xc5, 0x33, 0x19, 0x2f, 0x91, 0xf1, 0x72, 0xef, 0xe5, 0x96, 0x8b, 0x3e, 0x81, 0x39, 0xb2, + 0x21, 0xd6, 0xb1, 0xdf, 0x08, 0x5c, 0xcf, 0x6f, 0xa6, 0x7b, 0x57, 0x65, 0x94, 0x2c, 0x89, 0x65, + 0x49, 0xd9, 0xfb, 0x09, 0xf1, 0x7d, 0x46, 0xcb, 0x76, 0x05, 0x7b, 0x16, 0x2b, 0xde, 0x5a, 0x77, + 0xc8, 0x0e, 0xb1, 0x73, 0x18, 0xc5, 0xb8, 0xad, 0xb0, 0x84, 0xd7, 0xdc, 0x10, 0x34, 0xb7, 0x7e, + 0x63, 0xc0, 0x25, 0xf5, 0xd4, 0x64, 0x57, 0xee, 0xcf, 0x40, 0x63, 0xd5, 0xc8, 0x51, 0xad, 0xfa, + 0xa3, 0x41, 0x96, 0x26, 0xa7, 0xd5, 0xc6, 0xe1, 0x96, 0xef, 0xe2, 0x17, 0x05, 0xd4, 0x9a, 0x85, + 0x53, 0x5e, 0x42, 0x4a, 0xb4, 0x98, 0xb6, 0xe9, 0x83, 0x46, 0xd9, 0xd2, 0x51, 0x95, 0xfd, 0xb5, + 0x01, 0x4b, 0xa2, 0xb2, 0xd1, 0xc6, 0x21, 0xa9, 0x6a, 0xbd, 0x52, 0x72, 0x62, 0x6e, 0x34, 0x33, + 0x91, 0x8d, 0xba, 0xab, 0xe8, 0x5b, 0x70, 0x8e, 0x5b, 0x6f, 0xec, 0x38, 0x96, 0x16, 0x8d, 0x37, + 0x6b, 0xdc, 0xc1, 0xb2, 0xa6, 0xc8, 0x0f, 0xca, 0xc4, 0x46, 0x71, 0x46, 0xc0, 0x70, 0xcb, 0xf1, + 0x27, 0x06, 0xcc, 0xf2, 0x3e, 0x3c, 0xd9, 0xa2, 0xf6, 0x63, 0x03, 0xce, 0xa9, 0x2a, 0xcf, 0x91, + 0x4a, 0xda, 0x70, 0xaa, 0xfc, 0xa5, 0x04, 0xf3, 0xb9, 0xfe, 0x47, 0x77, 0x60, 0x8c, 0x6d, 0xaf, + 0x06, 0x49, 0x97, 0x6a, 0xbe, 0x2e, 0x6c, 0x93, 0x65, 0xf4, 0x68, 0x09, 0xa6, 0xe8, 0x5f, 0xf5, + 0x46, 0xe0, 0x62, 0xb6, 0x5c, 0x80, 0xbe, 0xba, 0x17, 0xb8, 0x38, 0xa9, 0x6d, 0x38, 0x0c, 0x83, + 0xb0, 0xde, 0xc6, 0x51, 0xe4, 0x34, 0x31, 0x59, 0x2a, 0x93, 0x76, 0x99, 0xbc, 0x7c, 0x44, 0xdf, + 0xa1, 0x1b, 0x30, 0x46, 0x72, 0x2f, 0xaa, 0x8c, 0x92, 0xb8, 0xcc, 0xaa, 0xd2, 0xd5, 0x66, 0x34, + 0xc2, 0x3a, 0x38, 0x25, 0xae, 0x83, 0x15, 0x98, 0xe1, 0xb3, 0xd1, 0x73, 0x2b, 0x63, 0x84, 0x60, + 0x9a, 0x7b, 0xab, 0x2a, 0xb8, 0xe3, 0x8a, 0x82, 0x7b, 0x29, 0x3d, 0x79, 0xb0, 0x53, 0xd0, 0x04, + 0x39, 0x05, 0xd1, 0xd3, 0x05, 0x3d, 0x29, 0x09, 0xa1, 0x98, 0x2c, 0x18, 0x0a, 0x74, 0x1d, 0xce, + 0x36, 0x82, 0xf6, 0x41, 0x27, 0x76, 0x88, 0xf4, 0x0e, 0xf1, 0x0a, 0x10, 0xe6, 0x67, 0xb8, 0x81, + 0x8f, 0x93, 0xf7, 0xd6, 0x5b, 0x70, 0x76, 0x13, 0xc7, 0xeb, 0xf4, 0x1b, 0x2c, 0x2d, 0x04, 0x15, + 0x18, 0x77, 0x5c, 0x37, 0xc4, 0x51, 0x94, 0xd6, 0x01, 0xf6, 0x68, 0xfd, 0x00, 0x10, 0x4f, 0xde, + 0x3d, 0x47, 0x8f, 0xb3, 0xaf, 0x38, 0x96, 0x6b, 0x73, 0x92, 0x96, 0xe9, 0x84, 0x94, 0x6c, 0xb8, + 0x1c, 0x7b, 0x17, 0x2e, 0xf6, 0x84, 0xaf, 0xab, 0x4e, 0xc4, 0xf9, 0x8a, 0xbf, 0x80, 0xd3, 0x27, + 0xa4, 0xf5, 0xa7, 0xa2, 0xd6, 0x1b, 0xbd, 0xf0, 0xf6, 0xd5, 0x3a, 0x93, 0x22, 0x23, 0x99, 0x14, + 0xb1, 0xde, 0x26, 0x67, 0x49, 0xc6, 0x7e, 0xc3, 0x69, 0x39, 0x7e, 0x03, 0xf7, 0x77, 0xc7, 0x3a, + 0xac, 0x64, 0x66, 0x0d, 0xe8, 0x51, 0x57, 0xc9, 0xe2, 0xb8, 0xcd, 0x7b, 0x06, 0x73, 0xb2, 0x6d, + 0x2c, 0x7c, 0x57, 0xe0, 0x34, 0x8b, 0x4b, 0x7d, 0x97, 0x0e, 0xb1, 0xef, 0x88, 0x19, 0x47, 0x98, + 0x30, 0x5c, 0xd4, 0xbe, 0x42, 0x8e, 0x5d, 0x4c, 0xf4, 0x87, 0xf8, 0x30, 0xea, 0xef, 0x90, 0xf7, + 0xc0, 0x12, 0xa7, 0x0c, 0xe8, 0x50, 0x27, 0x3b, 0xff, 0xb8, 0xbd, 0x99, 0x6c, 0x18, 0x82, 0x4d, + 0xdd, 0x0d, 0xa3, 0x9c, 0xfa, 0xf2, 0x29, 0x3e, 0x4c, 0x77, 0xaf, 0x79, 0xf5, 0x7a, 0xf8, 0x10, + 0x1f, 0xda, 0x53, 0x4e, 0x8f, 0xcb, 0x70, 0x0e, 0xfe, 0x04, 0x2e, 0xdd, 0x27, 0x4d, 0x16, 0xbc, + 0xd3, 0x08, 0xbd, 0x03, 0xf5, 0x7a, 0x9e, 0x83, 0xb1, 0x88, 0x8c, 0x32, 0x5b, 0xd9, 0x13, 0xba, + 0x00, 0x93, 0x4e, 0xd8, 0xec, 0xb4, 0x49, 0x49, 0x1f, 0xa9, 0x96, 0x56, 0xcb, 0x76, 0xef, 0x85, + 0x75, 0x00, 0x8b, 0x12, 0xeb, 0xe2, 0x07, 0x9d, 0x9e, 0xc4, 0x91, 0x7c, 0x89, 0x25, 0x59, 0xe2, + 0xe7, 0x19, 0x63, 0x14, 0x91, 0x93, 0xe3, 0x63, 0x64, 0xeb, 0xfd, 0x70, 0xd2, 0x7f, 0x6e, 0xc0, + 0x1b, 0x82, 0xf8, 0x6e, 0x5c, 0x67, 0xe1, 0xd4, 0x33, 0xa7, 0xd5, 0xc1, 0xcc, 0x4a, 0xfa, 0x30, + 0x54, 0xbc, 0xd4, 0xbb, 0x4a, 0x29, 0x67, 0x57, 0xf9, 0x8f, 0x41, 0x8a, 0x1e, 0xd9, 0x56, 0xa3, + 0x07, 0x41, 0xc8, 0x1c, 0xe1, 0xf8, 0xcd, 0x6e, 0x6d, 0x42, 0x30, 0x1a, 0x1f, 0x1e, 0x50, 0xcd, + 0x26, 0x6d, 0xf2, 0x77, 0xe2, 0xa1, 0x28, 0x76, 0xc2, 0x58, 0xca, 0x60, 0xf2, 0x8e, 0x79, 0x68, + 0x11, 0x00, 0xfb, 0x6e, 0x4a, 0x40, 0xe5, 0x4f, 0x62, 0xdf, 0x65, 0xc3, 0xaf, 0xf0, 0x23, 0xe6, + 0x0f, 0x06, 0xf9, 0x8a, 0xe9, 0xda, 0xc4, 0x72, 0x2a, 0xd2, 0x19, 0xb4, 0x00, 0x93, 0x69, 0xa2, + 0xa5, 0x79, 0x3a, 0xc1, 0x32, 0x2d, 0x7a, 0x95, 0xa7, 0xfd, 0x7f, 0x8c, 0xc0, 0x0c, 0x55, 0x94, + 0x5b, 0xe2, 0xe3, 0xe2, 0xd9, 0xd9, 0x12, 0xce, 0xce, 0x22, 0x75, 0x8d, 0x9d, 0xdf, 0xd2, 0x29, + 0x43, 0xa5, 0x8c, 0xf9, 0x57, 0x03, 0xc6, 0x28, 0x23, 0xdd, 0x8a, 0xeb, 0x5f, 0xb6, 0xb8, 0xe3, + 0x5b, 0xa9, 0xc0, 0xf1, 0xed, 0x1e, 0x9c, 0xa6, 0x0c, 0xbb, 0x6d, 0x53, 0x12, 0xfc, 0xe4, 0x04, + 0x4c, 0x1b, 0xab, 0xb5, 0xb4, 0xb1, 0x5a, 0x7b, 0x9c, 0x52, 0xd8, 0x33, 0x64, 0x4a, 0xf7, 0xd9, + 0x5a, 0x24, 0xc1, 0xfe, 0x08, 0xc7, 0xcf, 0x83, 0xf0, 0xe9, 0xb6, 0x13, 0x3a, 0x6d, 0x1c, 0xe3, + 0x30, 0x0d, 0xb6, 0x75, 0x97, 0x7c, 0xfa, 0x29, 0x86, 0x99, 0xb7, 0xe7, 0x61, 0xa2, 0xb1, 0xef, + 0x78, 0x7e, 0x6a, 0xef, 0xa4, 0x3d, 0x4e, 0x9e, 0xb7, 0x5c, 0xeb, 0x0a, 0xd9, 0x37, 0x69, 0xb1, + 0xdb, 0x4e, 0x14, 0x69, 0x04, 0xad, 0xe4, 0xd0, 0x8b, 0x77, 0x7c, 0xe7, 0x20, 0xda, 0x0f, 0xd2, + 0x7a, 0x61, 0xdd, 0x87, 0xd5, 0x4d, 0xac, 0x26, 0x19, 0xe0, 0xd3, 0xcd, 0x7a, 0x08, 0x57, 0xf2, + 0xd9, 0x0c, 0x5a, 0xa1, 0xac, 0x97, 0x06, 0x2c, 0xe6, 0x68, 0xcd, 0x4c, 0xaf, 0x01, 0x8a, 0x70, + 0xe8, 0x39, 0x2d, 0xef, 0xfb, 0xd8, 0x4d, 0x47, 0x99, 0x52, 0x8a, 0x91, 0xe1, 0x76, 0x8f, 0x6f, + 0xc2, 0x72, 0xb2, 0x16, 0xd3, 0x2e, 0x3d, 0xcd, 0xb2, 0xde, 0xa2, 0x2c, 0xe0, 0x96, 0xdf, 0x1b, + 0x69, 0xcd, 0x56, 0xce, 0x67, 0xc6, 0x6c, 0xc1, 0x19, 0x19, 0x0a, 0xc8, 0xe9, 0x8d, 0x4b, 0xbc, + 0xec, 0xd3, 0x58, 0x7c, 0x31, 0x9c, 0x9d, 0x6b, 0xa4, 0xe5, 0x2d, 0xf1, 0xd6, 0xb5, 0xff, 0x7e, + 0x6b, 0xc0, 0x82, 0x92, 0xfc, 0x35, 0x31, 0xe8, 0xef, 0x06, 0xbc, 0xb9, 0xd3, 0xd9, 0x4d, 0xf6, + 0xb5, 0x5d, 0x4c, 0xbc, 0x1d, 0x3d, 0x08, 0x83, 0xf6, 0x4e, 0x52, 0xe2, 0xa5, 0xe0, 0x5d, 0x86, + 0x19, 0xba, 0x1b, 0x48, 0x21, 0xa4, 0x7b, 0xc4, 0x06, 0x2b, 0x1f, 0x47, 0xec, 0xdf, 0xe6, 0x34, + 0x9b, 0x4b, 0x79, 0xcd, 0xe6, 0x7f, 0x19, 0xb0, 0x92, 0xa7, 0xbf, 0xb8, 0x98, 0x6e, 0x00, 0xe2, + 0xd5, 0x17, 0x96, 0xd4, 0x99, 0x9e, 0x09, 0xac, 0xc4, 0xfd, 0x9f, 0xcd, 0xf8, 0xa5, 0x01, 0x55, + 0x85, 0x19, 0xb4, 0x2a, 0xa5, 0x16, 0xc8, 0x3a, 0x19, 0xc7, 0xa2, 0x53, 0x6e, 0x1f, 0xff, 0x3e, + 0x9c, 0x97, 0x54, 0x1a, 0xa6, 0xa1, 0x6f, 0xfd, 0xca, 0x80, 0x1b, 0x22, 0x1f, 0x0a, 0xe1, 0x9c, + 0x68, 0x9e, 0x59, 0x5f, 0x1a, 0x70, 0x5d, 0xaf, 0xd5, 0xc9, 0x65, 0x8f, 0xd5, 0x94, 0xd7, 0x24, + 0xa7, 0xdb, 0x71, 0xa6, 0x84, 0xb5, 0x03, 0x8b, 0x4a, 0x41, 0x1c, 0xfe, 0x38, 0x46, 0xc1, 0xde, + 0x02, 0x90, 0x1c, 0xa3, 0x54, 0x04, 0xfc, 0x7d, 0xaf, 0x89, 0xa3, 0xf8, 0x75, 0x0b, 0xb8, 0xac, + 0xd5, 0xeb, 0x14, 0x70, 0x4e, 0xb7, 0x63, 0x0d, 0xf8, 0xef, 0x0c, 0x39, 0xe2, 0x4c, 0x12, 0x7f, + 0x52, 0x3a, 0xc2, 0xc9, 0x50, 0x71, 0xd6, 0x2b, 0x0d, 0x7c, 0xd6, 0xfb, 0xb7, 0x01, 0xd7, 0x76, + 0xb0, 0xef, 0xae, 0xfb, 0x6e, 0x57, 0xd7, 0x4c, 0x47, 0x12, 0x47, 0xc7, 0x02, 0x18, 0xbd, 0xca, + 0x4e, 0xfa, 0x9f, 0x92, 0x94, 0x2b, 0x62, 0x47, 0xbf, 0xd6, 0xba, 0x71, 0xc4, 0xd6, 0xfa, 0x32, + 0x4c, 0xb3, 0x6e, 0x6c, 0xbd, 0x87, 0x72, 0x8c, 0xda, 0x65, 0xf6, 0x92, 0x80, 0x24, 0xb7, 0xfe, + 0x7b, 0x15, 0x26, 0xd7, 0x09, 0xf7, 0xf5, 0xed, 0x2d, 0xf4, 0x35, 0x18, 0xdd, 0xf6, 0xfc, 0x26, + 0xaa, 0x08, 0x62, 0xb9, 0x5b, 0x0e, 0xe6, 0xbc, 0x62, 0x84, 0x19, 0x82, 0x49, 0x57, 0x52, 0xba, + 0x9d, 0x80, 0x44, 0x0b, 0x72, 0x6f, 0x44, 0x98, 0x57, 0xfa, 0xd2, 0x31, 0x31, 0xbb, 0x30, 0xab, + 0xba, 0xe8, 0x80, 0x56, 0x65, 0x06, 0x79, 0x77, 0x21, 0xcc, 0xaa, 0x40, 0xa9, 0xba, 0x92, 0xf0, + 0x19, 0x31, 0x45, 0xba, 0x10, 0x91, 0x35, 0x45, 0x7d, 0x63, 0xa2, 0x00, 0xff, 0x3d, 0x98, 0x53, + 0xdf, 0xa1, 0x40, 0xd7, 0xb4, 0x32, 0x84, 0x62, 0x55, 0x40, 0xce, 0x36, 0xcc, 0x88, 0x8e, 0x40, + 0x96, 0xc6, 0x4b, 0x29, 0x5f, 0x33, 0xcb, 0xb7, 0xcb, 0xf1, 0x21, 0x94, 0xf9, 0x0b, 0x0a, 0xa8, + 0xaa, 0xd4, 0x97, 0xf7, 0x86, 0x8e, 0xdb, 0x63, 0x38, 0x23, 0xdf, 0x4b, 0x40, 0x97, 0x73, 0x38, + 0x8a, 0xb6, 0xeb, 0xb8, 0x7e, 0x87, 0x74, 0xd3, 0x45, 0xa0, 0x1e, 0xad, 0xc8, 0x6c, 0x95, 0x40, + 0xbe, 0xb9, 0x24, 0x90, 0x29, 0x70, 0xf3, 0x26, 0x69, 0x49, 0x66, 0x6f, 0x02, 0xa0, 0xab, 0xb2, + 0x80, 0xdc, 0xdb, 0x02, 0xe6, 0xb2, 0x40, 0x9a, 0x03, 0xd0, 0x7f, 0x17, 0x4e, 0x4b, 0x98, 0x36, + 0x12, 0xe7, 0xa9, 0x91, 0x74, 0xf3, 0xb2, 0x9e, 0x88, 0x71, 0x7f, 0x42, 0x32, 0x83, 0x67, 0x9e, + 0xc9, 0x0c, 0x05, 0xef, 0xaa, 0xa6, 0x1c, 0xf1, 0xab, 0x33, 0x53, 0xa8, 0x0a, 0x71, 0x2f, 0x58, + 0xec, 0xd0, 0x01, 0xe9, 0x0a, 0x64, 0xc6, 0x19, 0xee, 0x9b, 0x0d, 0x44, 0x2e, 0x36, 0x5c, 0x58, + 0xe2, 0x73, 0xd2, 0x48, 0xcb, 0xe2, 0xa3, 0xdd, 0x0e, 0x00, 0xba, 0xa1, 0x11, 0x9a, 0xc1, 0x78, + 0xa5, 0x62, 0xa7, 0xc1, 0x5d, 0x9f, 0x12, 0x5c, 0x41, 0xc9, 0x6b, 0x40, 0x91, 0x97, 0xf2, 0x44, + 0x46, 0x52, 0xec, 0x32, 0x28, 0x7f, 0xb6, 0xb2, 0xe6, 0xdd, 0x21, 0x28, 0x90, 0x1f, 0x31, 0xb9, + 0xf8, 0x96, 0x73, 0x93, 0x00, 0xd5, 0x0a, 0x48, 0xe2, 0xae, 0x1c, 0x14, 0x8e, 0xdf, 0x23, 0x80, + 0x5e, 0x53, 0x1f, 0x5d, 0x94, 0xa5, 0x88, 0xc0, 0x9b, 0x54, 0x03, 0x14, 0x48, 0x9b, 0x4b, 0xae, + 0x53, 0xa9, 0x20, 0x30, 0x74, 0x3d, 0x67, 0xae, 0xaa, 0xb1, 0x6e, 0x5e, 0x10, 0x88, 0xfb, 0x48, + 0xe1, 0x0f, 0x9e, 0xf9, 0x52, 0xb2, 0x1d, 0xef, 0x3e, 0x52, 0xea, 0x3c, 0xf4, 0x98, 0x82, 0x35, + 0x2b, 0x39, 0xfc, 0x45, 0x64, 0x4b, 0xaa, 0x63, 0x39, 0x08, 0xd1, 0x21, 0x8f, 0xbc, 0xa9, 0x40, + 0x2e, 0x74, 0x4b, 0x2f, 0x4d, 0xe9, 0xba, 0x23, 0x88, 0xe6, 0x1d, 0xd9, 0x57, 0xb4, 0xc2, 0x9f, + 0x85, 0x44, 0xd3, 0xfa, 0xca, 0xa1, 0x3c, 0xd9, 0x0a, 0x98, 0x85, 0xb5, 0xa4, 0xf5, 0xa3, 0xc2, + 0x88, 0x68, 0xed, 0xcb, 0x83, 0xb7, 0xd0, 0x9a, 0x46, 0x88, 0xd2, 0x8f, 0x43, 0x49, 0xe4, 0x3d, + 0xa8, 0x97, 0xa8, 0x70, 0x5f, 0x11, 0x89, 0x66, 0x3e, 0x28, 0x25, 0xd5, 0x88, 0xbe, 0xe8, 0x95, + 0x69, 0xe5, 0xd3, 0x77, 0x25, 0xee, 0xc3, 0x9c, 0x1a, 0xab, 0x92, 0xce, 0x63, 0x5a, 0x40, 0xab, + 0x90, 0xa4, 0xac, 0x6d, 0xbc, 0x33, 0x6b, 0x7d, 0xa5, 0x89, 0xbe, 0x2c, 0x22, 0xb1, 0x41, 0xca, + 0x88, 0x0a, 0x04, 0xca, 0x96, 0x11, 0x0d, 0x54, 0x64, 0x2e, 0x68, 0x90, 0x0a, 0xf4, 0x29, 0xd9, + 0x3a, 0x32, 0xa8, 0x4c, 0x76, 0xeb, 0xc8, 0x03, 0x6e, 0xf4, 0xec, 0x9f, 0x12, 0xf6, 0x99, 0x46, + 0x7f, 0x96, 0x7d, 0x1e, 0x54, 0x60, 0x5e, 0x2d, 0x40, 0xc9, 0x84, 0x7d, 0x41, 0x61, 0x33, 0x0d, + 0x36, 0x90, 0x2d, 0x1b, 0xfd, 0x81, 0x04, 0x53, 0xcc, 0x24, 0x7d, 0xf7, 0xfe, 0x47, 0xf4, 0xc2, + 0x9d, 0x1e, 0x75, 0x40, 0x5f, 0x95, 0xb5, 0x28, 0x84, 0x52, 0x0c, 0xa4, 0xc8, 0x4b, 0x03, 0xaa, + 0xfd, 0x70, 0x0b, 0xf4, 0x76, 0x41, 0x3d, 0xc4, 0xdc, 0x1d, 0x44, 0x8d, 0x2f, 0xe8, 0x25, 0xbf, + 0x5c, 0xa4, 0x00, 0xdd, 0xcc, 0xe4, 0x59, 0x1f, 0x50, 0xc2, 0x54, 0x2d, 0x35, 0x1d, 0x06, 0xe1, + 0x93, 0x4f, 0x36, 0x45, 0x53, 0x3f, 0xfb, 0xc9, 0x96, 0x0f, 0x14, 0x98, 0xab, 0x3a, 0xa9, 0x02, + 0x44, 0xf0, 0x43, 0x58, 0xea, 0xd3, 0xa1, 0x47, 0xb7, 0xc5, 0x93, 0x7e, 0xa1, 0x7e, 0xbe, 0xfc, + 0x79, 0xa0, 0x6e, 0xf5, 0xde, 0x34, 0xd0, 0xe7, 0x70, 0x51, 0xdf, 0x61, 0x97, 0x16, 0x41, 0xa1, + 0x76, 0x7c, 0x61, 0xe9, 0x21, 0xcc, 0xe7, 0x36, 0xc6, 0xd1, 0x5b, 0xfd, 0x04, 0x0b, 0xcd, 0xb3, + 0xc2, 0x32, 0x7f, 0x91, 0x01, 0x15, 0x72, 0x5a, 0xd6, 0xe8, 0xae, 0x86, 0xa3, 0xbe, 0xcd, 0x2d, + 0x65, 0xbd, 0xb6, 0x0d, 0x7b, 0xd3, 0x40, 0x3f, 0x33, 0xe0, 0x72, 0x91, 0x7e, 0x35, 0xba, 0x33, + 0x80, 0x46, 0xba, 0x65, 0xd8, 0x4f, 0xa1, 0x97, 0x86, 0x9c, 0x96, 0x99, 0x26, 0xb5, 0x36, 0x2d, + 0xf3, 0x5a, 0xda, 0x03, 0xaa, 0x91, 0x0d, 0x55, 0x4e, 0xb3, 0x59, 0x1b, 0x2a, 0x7d, 0x83, 0x5a, + 0xab, 0x92, 0xd4, 0x3f, 0x55, 0x86, 0x4a, 0xdd, 0x69, 0xd6, 0x86, 0x4a, 0xdb, 0x9c, 0x1e, 0x50, + 0xa1, 0x6c, 0xa8, 0x32, 0xed, 0x65, 0x6d, 0xa8, 0xf2, 0x9a, 0xd1, 0x03, 0xaa, 0xf1, 0xa5, 0x01, + 0xcb, 0x05, 0xda, 0xa1, 0xe8, 0x9d, 0x4c, 0xdb, 0xa2, 0x58, 0x23, 0xd8, 0xbc, 0x33, 0xf8, 0xc4, + 0x54, 0xb9, 0x8d, 0x87, 0x60, 0x06, 0x61, 0xb3, 0x16, 0xf8, 0x84, 0x45, 0xb7, 0x49, 0x4d, 0x79, + 0x7d, 0xbb, 0xd6, 0xf4, 0xe2, 0xfd, 0xce, 0x6e, 0xad, 0x11, 0xb4, 0xd7, 0x28, 0xc9, 0x1a, 0xf9, + 0xa7, 0xfb, 0x8b, 0xb0, 0x66, 0xb0, 0xc6, 0xfd, 0xd8, 0x6e, 0x77, 0x8c, 0x0c, 0xdc, 0xfe, 0x5f, + 0x00, 0x00, 0x00, 0xff, 0xff, 0xd3, 0xfb, 0x39, 0xe3, 0x82, 0x37, 0x00, 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index 59844e346..aae6ffaed 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -132,7 +132,7 @@ type AccessAPIClient interface { GetAccountBalanceAtLatestBlock(ctx context.Context, in *GetAccountBalanceAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) // GetAccountBalanceAtBlockHeight gets an account balance by address at the given block // height - GetAccountBalanceAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) + GetAccountBalanceAtBlockHeight(ctx context.Context, in *GetAccountBalanceAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) // GetAccountKeys gets an account public keys by address. GetAccountKeys(ctx context.Context, in *GetAccountKeysRequest, opts ...grpc.CallOption) (*AccountKeysResponse, error) // GetAccountKeysAtLatestBlock gets an account public keys by address from the latest sealed @@ -462,7 +462,7 @@ func (c *accessAPIClient) GetAccountBalanceAtLatestBlock(ctx context.Context, in return out, nil } -func (c *accessAPIClient) GetAccountBalanceAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { +func (c *accessAPIClient) GetAccountBalanceAtBlockHeight(ctx context.Context, in *GetAccountBalanceAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { out := new(AccountBalanceResponse) err := c.cc.Invoke(ctx, AccessAPI_GetAccountBalanceAtBlockHeight_FullMethodName, in, out, opts...) if err != nil { @@ -980,7 +980,7 @@ type AccessAPIServer interface { GetAccountBalanceAtLatestBlock(context.Context, *GetAccountBalanceAtLatestBlockRequest) (*AccountBalanceResponse, error) // GetAccountBalanceAtBlockHeight gets an account balance by address at the given block // height - GetAccountBalanceAtBlockHeight(context.Context, *GetAccountAtBlockHeightRequest) (*AccountBalanceResponse, error) + GetAccountBalanceAtBlockHeight(context.Context, *GetAccountBalanceAtBlockHeightRequest) (*AccountBalanceResponse, error) // GetAccountKeys gets an account public keys by address. GetAccountKeys(context.Context, *GetAccountKeysRequest) (*AccountKeysResponse, error) // GetAccountKeysAtLatestBlock gets an account public keys by address from the latest sealed @@ -1168,7 +1168,7 @@ func (UnimplementedAccessAPIServer) GetAccountBalance(context.Context, *GetAccou func (UnimplementedAccessAPIServer) GetAccountBalanceAtLatestBlock(context.Context, *GetAccountBalanceAtLatestBlockRequest) (*AccountBalanceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountBalanceAtLatestBlock not implemented") } -func (UnimplementedAccessAPIServer) GetAccountBalanceAtBlockHeight(context.Context, *GetAccountAtBlockHeightRequest) (*AccountBalanceResponse, error) { +func (UnimplementedAccessAPIServer) GetAccountBalanceAtBlockHeight(context.Context, *GetAccountBalanceAtBlockHeightRequest) (*AccountBalanceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountBalanceAtBlockHeight not implemented") } func (UnimplementedAccessAPIServer) GetAccountKeys(context.Context, *GetAccountKeysRequest) (*AccountKeysResponse, error) { @@ -1670,7 +1670,7 @@ func _AccessAPI_GetAccountBalanceAtLatestBlock_Handler(srv interface{}, ctx cont } func _AccessAPI_GetAccountBalanceAtBlockHeight_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetAccountAtBlockHeightRequest) + in := new(GetAccountBalanceAtBlockHeightRequest) if err := dec(in); err != nil { return nil, err } @@ -1682,7 +1682,7 @@ func _AccessAPI_GetAccountBalanceAtBlockHeight_Handler(srv interface{}, ctx cont FullMethod: AccessAPI_GetAccountBalanceAtBlockHeight_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AccessAPIServer).GetAccountBalanceAtBlockHeight(ctx, req.(*GetAccountAtBlockHeightRequest)) + return srv.(AccessAPIServer).GetAccountBalanceAtBlockHeight(ctx, req.(*GetAccountBalanceAtBlockHeightRequest)) } return interceptor(ctx, in, info, handler) } From fa33cd7e05451b2a7b967eb8ba22544645d1a0b1 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 20 Jun 2024 21:32:26 +0200 Subject: [PATCH 371/626] adding sprint kickoff doc for Jun 21 --- .../2024-06-21-Flow-Sprint-Kickoff.md | 328 ++++++++++++++++++ 1 file changed, 328 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..fb72cc6c5 --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -0,0 +1,328 @@ +# Overview + +### Team Wins 🎉 + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (05/25/24 to 06/07/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 100% | 0% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +[YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents + +None + + +### Mainnet + +### Testnet + +(Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) + +### Key Release Dates & Breaking Changes +- Next Mainnet/Testnet network upgrade (spork): + - Testnet and mainnet HCU next week. + - Testnet: 20th June 2024 + - Mainnet: 31st July 2024 + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 7 | 9 (+1) | 0 | 7 | **23** (+1) | +| Proposed | 1 | 2 | 2 (-1) | 0 | **5** (-1) | +| Accepted | 2 | 1 | 2 (+1 | 1 | **6** (+1) | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 | 21 | 2 | 1 | **7** | +| Released | 4 | 0 | 3 | 6 | **13** | +| Total | **17** | **33** (+1) | **10** | **15** | **75** (+1) | + +**Updates** +* [Cadence] - Type Removal In Contract Updates (FLIP 275) was drafted +* [Governance] - Computation Limit hike (FLIP 267) was accepted +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + +**This sprint** + +DONE: Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +* All breaking changed released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + +IN PROGRESS: Objective 1, KR4: Testnet Upgrade to Crescendo Release +* Completed Testnet migration with both Atree inlining and Cadence 1.0. +* Completed [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) production readiness EPICs. +* Continue work on migration optimizations. +* Investigate / Fix any security report incoming from bug bounty. +* Finish implementation of remaining EVM Gateway blockers: [1](https://github.com/onflow/flow-evm-gateway/issues/250), [2](https://github.com/onflow/flow-go/issues/5983) + +IN PROGRESS: Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN +* Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +DONE: Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind +* Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +ON HOLD: Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +* Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +ON HOLD: * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + +Cadence 1.0 Contract updates +- [Continue working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) +- More reviews of bridge PRs and Cadence 1.0 changes +- Writing additional tests for recent Cadence FLIP changes +- [Audit and update docs and tutorials for Cadence 1.0](https://github.com/onflow/docs/issues/531) + +**On Hold** + +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) + + +**Active Epics** + +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR4: Testnet Upgrade to Crescendo Release +- KR6: Develop & share with community a disaster recovery plan to address potential issues after migration to Crescendo Release. +- KR7: Decision on how to deal with contracts that have not been upgraded to Cadence 1.0 by developers. +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% [GOAL MODIFIED] +* Translate crypto performance improvements to consensus block rate increase [DONE] +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + + +**This sprint** + +* EFM Recovery + - Finish https://github.com/onflow/flow-go/issues/5727 + - [Finish Epoch manager QC voting changes](https://github.com/onflow/flow-go/issues/5733) (implementing tests) + - Ongoing review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) + - [Blocktime controller EFM changes])(https://github.com/onflow/flow-go/issues/5732) + - [`epochs.FallbackStateMachine` only tolerates narrow unexpected behaviour](https://github.com/onflow/flow-go/issues/6018) + - [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) + +* Data Availability: + - [Complete RegistersDB pruning design, start on protocol db design](https://github.com/onflow/flow-go/issues/5761) + - Continue redeploy of local index and script exec on QN bare metal instances + - KROK Team + - Fix retries when using preferred-execution-nodes list ([Issue #5810](https://github.com/onflow/flow-go/issues/5810) - PR in review) + - Add support for version beacon events to control script execution ([Issue #5788](https://github.com/onflow/flow-go/issues/5788), [Issue #5789](https://github.com/onflow/flow-go/issues/5789), [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) + - Expose separate endpoints for getting account balance and keys ([Issue #5894](https://github.com/onflow/flow-go/issues/5894), [Issue #5999](https://github.com/onflow/flow-go/issues/5999)) + - Create proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823)) + - Add support for pruning execution data db on ANs ([Issue #6002](https://github.com/onflow/flow-go/issues/6002)) + - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017)) + +* Cryptography: + - SPoCK aggregation: from BLS security proof to BLS aggregation security proof (more than a sprint) + +* Rosetta: + - KROK: + - Last items Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) + - DistributedLab: + - Continue with remaining updates for Rosetta for EVM on Flow + +* Other: + - Complete high level 2-pager of public roadmap & vision for protocol decentralization & permissionless consensus on Flow + - Continue content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. + +**On Hold** +* Implement BFT mitigations to enable 20 permissionless ANs + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- Cadence 1.0 DEX Prep - IncrementFi +- EVM partner onboarding: Moralis, Covalent, Ankr +- Deliver Axelar bridge [PAUSED] + +**Done last sprint** + + +**This sprint** +* Backfill missing API methods to JVM SDK +* Review of new hash additions PR for JVM-SDK + +**On Hold** +- Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + +**This sprint** +**Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, FCL x WalletConnect Improvements, Crescendo Rewards** + +- [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) +- [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) +- [EPIC] Flow EVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) +- [EPIC] Update Flow port for Cadence v1.0 instance [#279](https://github.com/onflow/flow-port/issues/279) +- [EPIC] FCL WalletConnect Improvements https://github.com/onflow/fcl-js/issues/1872 +- [EPIC] Crescendo Rewards Portal + - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) + - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) + - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) + +#### Smart Contract WG + +- Reviews for Increment.fi +- Circle Support +- Add Solidity implementation using EVM randomness +- Discovery Design Inbox Standard + +**On Hold** + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +**This sprint** + +- Continue to better support Secure Enclave + - User migration from Extension (seed phrase) to mobile (secure enclave) wallet security + - New account creation UI explaining the benefits of SE + - Explain any UI differences between seed phrase / SE wallets + - Profile account recovery - one backup to a users multiple primary accounts + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Solidify CloudFlare Migration plan and continue preparing for migration +- Continue assisting with DevEx migration to Cloud Run + +**Done last sprint** + +**This Sprint** +- Assist with migration and spork prep efforts +- Continue removing dependencies on CloudFlare & assist with account creation +- Continue assisting with DevEx migration to Cloud Run + +--- + +### **Governance and Tokenomics** \[Kshitij] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** + + +**This sprint** +- Work with Doodles, Cryptotoys and Edgevana for new nodes; Blockdaemon for continued operations via lease formalization +- Work on node operator branding and logos with .find team +- Finalize and publish Flow EVM documentation on docsite +- Discussion and decision on txn fee hike timeline +- R&D and planning with Dete on post Crescendo surge pricing +- Plan next cycle OKRs for governance + +**On Hold** + + +**Active Epics** + +- N/A From 4cb516eb52f0c5ebed500f059162ad970fd54de8 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 20 Jun 2024 13:58:24 -0600 Subject: [PATCH 372/626] Update 2024-06-21-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index fb72cc6c5..b699f3dbc 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -1,6 +1,8 @@ # Overview ### Team Wins 🎉 +- Script execution on the access node turned on for NBA nodes successfully. +- Script execution turned on 50% of the public access node. ### General updates From 1070a9d6a145289d2c77363eb3dc6a6ea454b5dc Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 20 Jun 2024 15:48:40 -0600 Subject: [PATCH 373/626] Update 2024-06-21-Flow-Sprint-Kickoff.md --- .../2024-06-21-Flow-Sprint-Kickoff.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index b699f3dbc..b8a1394bd 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -17,9 +17,9 @@ |:------------------------|:------:|:-------------:|:-----------------:| | Collection Finalization | 99.9% | 100% | 0% | | Block Finalization | 99.9% | 100% | 0% | -| Transaction Execution | 99.9% | 100% | 0% | -| Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 99.95% | 49.6% | +| Block Sealing | 99.9% | 99.90% | 99.3% | +| Access API Liveness | 99.9% | ? | ? | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) @@ -27,20 +27,17 @@ ## Incidents -None - - ### Mainnet +- June 13th: Sev-1 - Execution fork during the mainnet HCU - [Postmortem](https://www.notion.so/flowfoundation/Retro-on-execution-fork-01504b970441477ebfc0174d14dcb269) -### Testnet (Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) ### Key Release Dates & Breaking Changes - Next Mainnet/Testnet network upgrade (spork): - Testnet and mainnet HCU next week. - - Testnet: 20th June 2024 - - Mainnet: 31st July 2024 + - Testnet: Q3 + - Mainnet: Q3 (see [announcement](https://flow.com/post/update-on-testnet-crescendo-network-upgrade)) --- From 185dd5aeaa2eb76b06138dac6070e443adbe46de Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 20 Jun 2024 15:49:02 -0600 Subject: [PATCH 374/626] Update 2024-06-21-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md | 1 - 1 file changed, 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index b8a1394bd..a51c30570 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -35,7 +35,6 @@ ### Key Release Dates & Breaking Changes - Next Mainnet/Testnet network upgrade (spork): - - Testnet and mainnet HCU next week. - Testnet: Q3 - Mainnet: Q3 (see [announcement](https://flow.com/post/update-on-testnet-crescendo-network-upgrade)) From 2e29a7f3ec2b85cd2389c9af9cd2ff092b9bbea4 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 20 Jun 2024 16:50:31 -0600 Subject: [PATCH 375/626] Update 2024-06-21-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index a51c30570..f7d4c986d 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -11,7 +11,7 @@ --- -### Mainnet Uptime - Last 14 days (05/25/24 to 06/07/24) \[Vishal] +### Mainnet Uptime - Last 14 days (06/7/24 to 06/20/24) \[JP] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -19,7 +19,7 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 99.95% | 49.6% | | Block Sealing | 99.9% | 99.90% | 99.3% | -| Access API Liveness | 99.9% | ? | ? | +| Access API Liveness | 99.9% | ? dashboard broken 😔 | ? | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) From e08952695276db21709d9095b192d3c04a9e894e Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 20 Jun 2024 16:51:34 -0600 Subject: [PATCH 376/626] Update 2024-06-21-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index f7d4c986d..11841d9f6 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -23,7 +23,7 @@ [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) -[YTD SLA: 100%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) +[YTD SLA: 99.919%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) ## Incidents From f59315436cad194c1030bfca875826e32ab5ae5d Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 20 Jun 2024 17:30:03 -0600 Subject: [PATCH 377/626] Update Infra section --- .../2024-06-21-Flow-Sprint-Kickoff.md | 34 +++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index 11841d9f6..16b597daf 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -1,6 +1,7 @@ # Overview ### Team Wins 🎉 +- Deprecated K8s clusters that will result in $6.5k per month in infra savings (JP) - Script execution on the access node turned on for NBA nodes successfully. - Script execution turned on 50% of the public access node. @@ -11,7 +12,7 @@ --- -### Mainnet Uptime - Last 14 days (06/7/24 to 06/20/24) \[JP] +### Mainnet Uptime - Last 14 days (05/25/24 to 06/07/24) \[JP] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -297,10 +298,39 @@ Cycle Objective(s): **Done last sprint** +CloudFlare Migration + +- Worked with Sales rep to get new account quote +- Deprecated K8s dependencies on CloudFlare + +DevEx Migration +- [Migrate CAST applications to Cloud Run](https://github.com/dapperlabs/flow-devex-infrastructure/pull/163) +- [Deleted old CAST K8s cluster(s)](https://github.com/dapperlabs/cast-infrastructure/pull/60) +- [Deleted old DevEx K8s cluster(s)](https://github.com/dapperlabs/flow-devex-infrastructure/pull/178) +- [Deleted K8s config](https://github.com/dapperlabs/flow-devex-infrastructure/pull/179) +- [Update Cloud Run services to limit scaling](https://github.com/dapperlabs/flow-devex-infrastructure/pull/173) +- [Update Cloud Run module to limit unnecessary deploys](https://github.com/dapperlabs/flow-devex-infrastructure/pull/180) + +Node Hosting +- Assisted with Mainnet HCUs +- [Addressed bugs in historical node setup used for EN testing](https://github.com/dapperlabs/dapper-flow-hosting/pull/1435) +- [Increased Devnet Disk sizes](https://github.com/dapperlabs/terraform/pull/4272) + +Migration Testing +- [Created mainnet migration network infra ](https://github.com/dapperlabs/terraform/pull/4256) +- [Created mainnet migration configuration](https://github.com/dapperlabs/dapper-flow-hosting/pull/1514) + +EVM Gateway +- [Created bucket & granted access for trace uploads ](https://github.com/dapperlabs/terraform/pull/4258) +- [Created KMS keys & granted access for EVM Gateway](https://github.com/dapperlabs/terraform/pull/4268) + +Support +- Prepared for movement of single Mainnet VN to India + **This Sprint** - Assist with migration and spork prep efforts - Continue removing dependencies on CloudFlare & assist with account creation -- Continue assisting with DevEx migration to Cloud Run +- Begin prep work to migration to new CloudFlare account --- From 9a895733e1ab4c6a8b3b901cb3e3bc35e60c7e41 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 21 Jun 2024 13:59:27 +0200 Subject: [PATCH 378/626] Cadence wg updates --- .../2024-06-21-Flow-Sprint-Kickoff.md | 127 +++++++++++++++++- 1 file changed, 126 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index 16b597daf..a3e74286e 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -4,6 +4,13 @@ - Deprecated K8s clusters that will result in $6.5k per month in infra savings (JP) - Script execution on the access node turned on for NBA nodes successfully. - Script execution turned on 50% of the public access node. +- 2 remaining Testnet upgrade blockers in Cadence 1.0 resolved! + - Performance of execution state diff tool was [improved 50x]((https://github.com/onflow/flow-go/pull/6107)) - this enabled us to validate and close the last remaining Cadence 1.0 migration blocker. + - Successfuly validated last remaining Cadence 1.0 migration issue ([dictionary key migration](https://github.com/onflow/cadence/issues/3407)) + - [FLIP for changing import statement semantics](https://github.com/onflow/flips/pull/277) approved - this removed last Crescendo blocker in Cadence 1.0. +- Completed 2 EVM GW Features that were Testnet upgrade blockers: [Securing Flow account keys](https://github.com/onflow/flow-evm-gateway/issues/250) and [Fee history API](https://github.com/onflow/flow-evm-gateway/issues/143). +- EN Badger DB -> Pebble DB POC - devnet ENs are running with pebble-based chunk data pack storage, disk usage growth slowed down from 1.7% to 1% / day. +- Transaction Audit / inpection logic now [supports percentage-based transaction failure mode](https://github.com/onflow/contract-updater/pull/35), using on-chain randomness. ### General updates @@ -76,6 +83,123 @@ Cycle Objective(s): **Done last sprint** +State migration for Crescendo release +- utilities for debugging migration + - [Add atree-inlined-status command to util program to check migration results](https://github.com/onflow/flow-go/pull/6063) + - [Port atree-inlined-status cmd (PR 6063) to feature/atree-inlining-cadence-v0.42](https://github.com/onflow/flow-go/pull/6075) + - [diff-states command takes too long comparing mainnet states](https://github.com/onflow/flow-go/issues/6091) + - [Optimize diff-states cmd by comparing data in parallel](https://github.com/onflow/flow-go/pull/6097) + - [Fix panic in `diff-states` command when comparing enum dict key](https://github.com/onflow/flow-go/pull/6098) + - [Optimize diff-states to diff storage elems in parallel for large accounts](https://github.com/onflow/flow-go/pull/6105) + - [Speedup diff-states by over 50x (6+ days -> under 3 hours) by removing old bottleneck](https://github.com/onflow/flow-go/pull/6107) + - [Improve diff tool: Add a flag which forces value comparison](https://github.com/onflow/flow-go/pull/6120) +- Bugfixes + - [Migrate empty storage map in atree migration](https://github.com/onflow/flow-go/pull/6064) + - [Migrations should detect and log unrecognized domains](https://github.com/onflow/flow-go/issues/6076) + - [Detect and log unrecognized domains during migration](https://github.com/onflow/flow-go/pull/6077) + - [Migrations are not migrating payloads in PathCapabilityStorageDomain](https://github.com/onflow/flow-go/issues/6069) + - [Also migrate path-capability and account-capability storage maps](https://github.com/onflow/cadence/pull/3411) + - [Fix Cadence 1.0 migration missing PathCapabilityStorageDomain](https://github.com/onflow/flow-go/pull/6070) + - [Fix migrations missing PathCapabilityStorageDomain in feature/atree-inlining-cadence-v0.42](https://github.com/onflow/flow-go/pull/6071) + - [Migrations are not migrating payloads in account capability domain](https://github.com/onflow/flow-go/issues/6072) + - [Fix atree migration not migrating payloads from AccountCapabilityStorageDomain (feature/atree-inlining-cadence-v0.42)](https://github.com/onflow/flow-go/pull/6073) + - [Fix migrations missing AccountCapabilityStorageDomain](https://github.com/onflow/flow-go/pull/6074) +- optimizations + - [Optionally cache migration results](https://github.com/onflow/flow-go/pull/6041) + - [Use Profile-Guided Optimization (PGO) to speedup programs (e.g. migrations) by up to ~14%](https://github.com/onflow/cadence/issues/3303) + - [Profile whole state extraction, not just migration](https://github.com/onflow/flow-go/pull/6121) + - [Optimize contracts checking migration](https://github.com/onflow/flow-go/pull/6122) + - Atree register inlining + - porting and modify: [PR 5897](https://github.com/onflow/flow-go/pull/6043), [PR 5914](https://github.com/onflow/flow-go/pull/6046), [PR 5920](https://github.com/onflow/flow-go/pull/6047), [PR 5929](https://github.com/onflow/flow-go/pull/6048), [PR 5948](https://github.com/onflow/flow-go/pull/6049), [PR 5942](https://github.com/onflow/flow-go/pull/6050), [PR #5901](https://github.com/onflow/flow-go/issues/6130) +- Transaction Audit / inpection logic (failing Tx when importing unstaged dependency) + - [Add random chance to panic mode for DependencyAudit](https://github.com/onflow/contract-updater/pull/35) +- Improvements + - [Report checked code](https://github.com/onflow/flow-go/pull/6140) + +Cadence Language +- Security improvements & bugfixes + - [Prevent storage reference to another reference](https://github.com/onflow/cadence/pull/3404) + - [Add access top type to model inaccessible access for identity maps](https://github.com/onflow/cadence/pull/3406) + - [Simplify nil-coalescing checking](https://github.com/onflow/cadence/pull/3423) +- Add feature flag for contested feature + - [Put feature that allows type removals in contract updates behind a feature flag, disabled by default](https://github.com/onflow/cadence/pull/3410) +- Improvements + - [Ensure contracts cannot be borrowed with an authorization](https://github.com/onflow/cadence/pull/3421) + - [Improve dump-builtin-types command: Handle parameterized types](https://github.com/onflow/cadence/pull/3425) +- Tech debt + - [Add purity annotations to newly added functions](https://github.com/onflow/cadence/issues/2466) + - [Improve InclusiveRange type](https://github.com/onflow/cadence/pull/3426) +- Bugfix + - [Fix JSON output](https://github.com/onflow/cadence/pull/3413) + - [v0.42 - Fix JSON output](https://github.com/onflow/cadence/pull/3412) +- Docs + - [Document reserved identifiers, use 'identifiers' instead of 'names'](https://github.com/onflow/cadence-lang.org/pull/118) + - [Update type hierarchy diagram](https://github.com/onflow/cadence-lang.org/pull/119) + - [Update command for CLI installation](https://github.com/onflow/cadence-lang.org/pull/122) + +Cadence tooling + - Lint feature: [Report unused results](https://github.com/onflow/cadence-tools/issues/9) + - [Add analyzer which detects unused results](https://github.com/onflow/cadence-tools/pull/383) + - updater tool + - [Improve parsing of commit from Go's pseudo-version in update tool](https://github.com/onflow/cadence/pull/3418) + - [Update config](https://github.com/onflow/cadence/pull/3435) + - [Add command to dump all hard keywords](https://github.com/onflow/cadence/pull/3431) + + +Cadence Execution +- [Execution Effort Calibration 2](https://github.com/onflow/flow-go/issues/5598) + - [Change metrics collection in computer](https://github.com/onflow/flow-go/pull/6044) +- badger DB -> pebble DB migration POC + - [Move chunk data pack from badger to pebble](https://github.com/onflow/flow-go/issues/6040) +- CBOR Improvements + - [Improve byte string format decoding options](https://github.com/fxamacker/cbor/pull/550) + - [Replace *errors.errorString with more specific error type for "inadmissible type for tag content"](https://github.com/fxamacker/cbor/issues/551) + - [Allow user to specify buffer by adding `cbor.MarshalToBuffer()`, `UserBufferEncMode` interface, etc.](https://github.com/fxamacker/cbor/pull/553) + - [Rename ByteSliceMode to ByteSliceLaterFormatMode, etc](https://github.com/fxamacker/cbor/pull/554) +- Improvements + - [Log epoch height view](https://github.com/onflow/flow-go/pull/6095) +- Tooling + - [Add util for finding trie root hash](https://github.com/onflow/flow-go/pull/6094) +- chores / dependency updates + - flixkit-go: [1](https://github.com/onflow/flixkit-go/pull/27), [2](https://github.com/onflow/flixkit-go/pull/70) + - flow-go: [1](https://github.com/onflow/flow-go/pull/6052), [2](https://github.com/onflow/flow-go/pull/6080), [3](https://github.com/onflow/flow-go/pull/6081), [4](https://github.com/onflow/flow-go/pull/6087), [5](https://github.com/onflow/flow-go/pull/6093), [6](https://github.com/onflow/flow-go/pull/6111), [7](https://github.com/onflow/flow-go/pull/6124), [8](https://github.com/onflow/flow-go/pull/6126), [9](https://github.com/onflow/flow-go/pull/6127) + - flow-evm-gateway: [1](https://github.com/onflow/flow-evm-gateway/pull/286), [2](https://github.com/onflow/flow-evm-gateway/pull/300), [3](https://github.com/onflow/flow-evm-gateway/pull/301) + - Cadence: [1](https://github.com/onflow/cadence/pull/3414), [2](https://github.com/onflow/cadence/pull/3416), [3](https://github.com/onflow/cadence/pull/3427), [4](https://github.com/onflow/cadence/pull/3430) + - flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/pull/684) + - Cadence tools: [1](https://github.com/onflow/cadence-tools/pull/386), [2](https://github.com/onflow/cadence-tools/pull/387), [3](https://github.com/onflow/cadence-tools/pull/388), [4](https://github.com/onflow/cadence-tools/pull/389) + - Emulator: [1](https://github.com/onflow/flow-emulator/pull/691), [2](https://github.com/onflow/flow-emulator/pull/692) + - flowkit: [1](https://github.com/onflow/flowkit/pull/61) + - CLI: [1](https://github.com/onflow/flow-cli/pull/1653) + +EVM Gateway +- Features + - [Securing Flow account keys](https://github.com/onflow/flow-evm-gateway/issues/250) + - [Implement a KeyRotationSigner version of crypto.Signer for usage with Cloud KMS keys](https://github.com/onflow/flow-evm-gateway/pull/282) + - [Fee history API](https://github.com/onflow/flow-evm-gateway/issues/143) + - [Add a first implementation for eth_feeHistory JSON-RPC API endpoint](https://github.com/onflow/flow-evm-gateway/pull/253) + - [Implement the missing debug_traceTransaction method](https://github.com/onflow/flow-evm-gateway/issues/251) + - [Ingest and index transaction traces](https://github.com/onflow/flow-evm-gateway/pull/281) + - [Add support for debug trace APIs](https://github.com/onflow/flow-evm-gateway/pull/291) + - [Direct Calls should be treated as a LegacyTx](https://github.com/onflow/flow-evm-gateway/issues/307) + - [Update returned type for direct calls to LegacyTx geth type](https://github.com/onflow/flow-evm-gateway/pull/308) +- Improvements + - [Remove check of non-public data](https://github.com/onflow/flow-evm-gateway/pull/285) + - trace API: [Use public bucket](https://github.com/onflow/flow-evm-gateway/pull/287) + - [Change rate limit logs level](https://github.com/onflow/flow-evm-gateway/pull/298) + - [General improvements tech-debt](https://github.com/onflow/flow-evm-gateway/pull/305) + - [Update eth_call to correctly handle execution reverts](https://github.com/onflow/flow-evm-gateway/issues/296) + - [Properly handle execution reverts in eth_call JSON-RPC endpoint](https://github.com/onflow/flow-evm-gateway/pull/297) + - [Fix flaky E2E `eth_streaming_test` JS test](https://github.com/onflow/flow-evm-gateway/pull/289) +- Bugfixes + - [eth_getTransactionByHash method doesn't return chainId](https://github.com/onflow/flow-evm-gateway/issues/306) + - [Add missing fields to the response of eth_getTransactionByHash](https://github.com/onflow/flow-evm-gateway/pull/309) + +EVM Core +- Improvements + - [Take into account gas refunds in EVM.dryRun](https://github.com/onflow/flow-go/pull/6059) + - [Update eth_estimateGas to correctly handle execution reverts](https://github.com/onflow/flow-evm-gateway/issues/302) + - [Update eth_estimateGas to correctly handle execution reverts](https://github.com/onflow/flow-evm-gateway/pull/303) + **This sprint** DONE: Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades @@ -86,7 +210,8 @@ IN PROGRESS: Objective 1, KR4: Testnet Upgrade to Crescendo Release * Completed [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) production readiness EPICs. * Continue work on migration optimizations. * Investigate / Fix any security report incoming from bug bounty. -* Finish implementation of remaining EVM Gateway blockers: [1](https://github.com/onflow/flow-evm-gateway/issues/250), [2](https://github.com/onflow/flow-go/issues/5983) +* Finish implementation of remaining EVM blockers: [1](https://github.com/onflow/flow-go/pull/6136), [2](https://github.com/onflow/flow-go/pull/6118) +* Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) IN PROGRESS: Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN * Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) From 7af123d400a4d15d78f1459974857efd6a39c18f Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 21 Jun 2024 14:03:56 +0200 Subject: [PATCH 379/626] fix formatting --- .../2024-06-21-Flow-Sprint-Kickoff.md | 30 ++++++------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index a3e74286e..bb72af6e0 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -138,12 +138,12 @@ Cadence Language - [Update command for CLI installation](https://github.com/onflow/cadence-lang.org/pull/122) Cadence tooling - - Lint feature: [Report unused results](https://github.com/onflow/cadence-tools/issues/9) - - [Add analyzer which detects unused results](https://github.com/onflow/cadence-tools/pull/383) - - updater tool - - [Improve parsing of commit from Go's pseudo-version in update tool](https://github.com/onflow/cadence/pull/3418) - - [Update config](https://github.com/onflow/cadence/pull/3435) - - [Add command to dump all hard keywords](https://github.com/onflow/cadence/pull/3431) +- Lint feature: [Report unused results](https://github.com/onflow/cadence-tools/issues/9) + - [Add analyzer which detects unused results](https://github.com/onflow/cadence-tools/pull/383) +- updater tool + - [Improve parsing of commit from Go's pseudo-version in update tool](https://github.com/onflow/cadence/pull/3418) + - [Update config](https://github.com/onflow/cadence/pull/3435) +- [Add command to dump all hard keywords](https://github.com/onflow/cadence/pull/3431) Cadence Execution @@ -219,11 +219,6 @@ IN PROGRESS: Objective 2, KR 1: Update transaction fees weights for the executio DONE: Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) -ON HOLD: Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs -* Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. - -ON HOLD: * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) - Cadence 1.0 Contract updates - [Continue working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) - More reviews of bridge PRs and Cadence 1.0 changes @@ -232,20 +227,13 @@ Cadence 1.0 Contract updates **On Hold** -Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption -- KR1: Update weights for the execution operations on TN and MN - - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) +ON HOLD: Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +* Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. +ON HOLD: * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) **Active Epics** -Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow -- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades -- KR4: Testnet Upgrade to Crescendo Release -- KR6: Develop & share with community a disaster recovery plan to address potential issues after migration to Crescendo Release. -- KR7: Decision on how to deal with contracts that have not been upgraded to Cadence 1.0 by developers. -Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs -- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency --- From ccb8055eab3c71bcd8fccf1abbbfa11c184fe534 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 21 Jun 2024 07:34:28 -0700 Subject: [PATCH 380/626] UX - Updates for 2024-06-21 --- .../2024-06-21-Flow-Sprint-Kickoff.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index bb72af6e0..5bda6ee3f 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -11,6 +11,7 @@ - Completed 2 EVM GW Features that were Testnet upgrade blockers: [Securing Flow account keys](https://github.com/onflow/flow-evm-gateway/issues/250) and [Fee history API](https://github.com/onflow/flow-evm-gateway/issues/143). - EN Badger DB -> Pebble DB POC - devnet ENs are running with pebble-based chunk data pack storage, disk usage growth slowed down from 1.7% to 1% / day. - Transaction Audit / inpection logic now [supports percentage-based transaction failure mode](https://github.com/onflow/contract-updater/pull/35), using on-chain randomness. +- Crescendo Rewards BE fully set up with CI/CD on staging and production (thanks alex!) ### General updates @@ -332,25 +333,33 @@ Cycle Objective(s): **Done last sprint** +- Create .gitignore file for imports and emulator key on init (https://github.com/onflow/flow-cli/issues/1646) +- Fix Counter path in CLI init (https://github.com/onflow/flow-cli/issues/1647) + +**Rewards** +- Rewards contract design finalized +- Add skeleton loading for metric cards (https://github.com/onflow/crescendo-rewards/issues/20) +- Add skeleton loading for leaderboard (https://github.com/onflow/crescendo-rewards/issues/21) +- Add skeleton loading for rewards earned/locked (https://github.com/onflow/crescendo-rewards/issues/23) +- Hook up leaderboard to API (https://github.com/onflow/crescendo-rewards/issues/14) +- Hook up rewards component to the API (https://github.com/onflow/crescendo-rewards/issues/18) + + **This sprint** **Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, FCL x WalletConnect Improvements, Crescendo Rewards** - [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) - [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) - [EPIC] Flow EVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) -- [EPIC] Update Flow port for Cadence v1.0 instance [#279](https://github.com/onflow/flow-port/issues/279) - [EPIC] FCL WalletConnect Improvements https://github.com/onflow/fcl-js/issues/1872 - [EPIC] Crescendo Rewards Portal - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) +- Discover and Design for bridge.flow.com #### Smart Contract WG -- Reviews for Increment.fi -- Circle Support -- Add Solidity implementation using EVM randomness -- Discovery Design Inbox Standard **On Hold** From e5a98637e8f6b9c62db377dd0204bc6c1f81cc72 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 21 Jun 2024 21:23:51 +0530 Subject: [PATCH 381/626] Update 2024-06-21-Flow-Sprint-Kickoff.md Updating FLIP tracker --- .../2024-06-21-Flow-Sprint-Kickoff.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index 5bda6ee3f..322cd28ae 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -53,17 +53,16 @@ | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 7 | 9 (+1) | 0 | 7 | **23** (+1) | -| Proposed | 1 | 2 | 2 (-1) | 0 | **5** (-1) | -| Accepted | 2 | 1 | 2 (+1 | 1 | **6** (+1) | +| Drafted | 7 | 9 | 0 | 7 | **23** | +| Proposed | 1 | 3 (+1) | 2 | 0 | **6** (+1) | +| Accepted | 2 | 1 | 2 | 1 | **6** | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 3 | 21 | 2 | 1 | **7** | +| Implemented | 3 | 21 | 2 | 1 | **27** | | Released | 4 | 0 | 3 | 6 | **13** | -| Total | **17** | **33** (+1) | **10** | **15** | **75** (+1) | +| Total | **17** | **34** (+1) | **10** | **15** | **76** (+1) | **Updates** -* [Cadence] - Type Removal In Contract Updates (FLIP 275) was drafted -* [Governance] - Computation Limit hike (FLIP 267) was accepted +* [Cadence] - FLIP for changing import statement semantics (FLIP-277) proposed --- From e043f1ade92aa83ed3c182f3f18a19860614d1d5 Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 21 Jun 2024 08:58:24 -0700 Subject: [PATCH 382/626] update data availability sprint 2024-06-21 --- .../2024-06-21-Flow-Sprint-Kickoff.md | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index 322cd28ae..d84472746 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -247,6 +247,13 @@ Cycle Objective(s): **Done last Sprint:** +* Data Availability: + - Finished RegistersDB pruning design ([Issue #6065](https://github.com/onflow/flow-go/issues/6065)) + - Started ProtocolDB pruning design + - KROK Team + - Expose FVM methods to get Account balance and keys ([PR #6028](https://github.com/onflow/flow-go/pull/6028)) + - Fix retries when using preferred-execution-nodes list ([PR #5969](https://github.com/onflow/flow-go/pull/5969)) + - Update Rosetta for v0.35 upgrade (still needs Cadence 1.0 contract updates) ([PR #59](https://github.com/onflow/rosetta/pull/59)) **This sprint** @@ -259,15 +266,15 @@ Cycle Objective(s): - [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) * Data Availability: - - [Complete RegistersDB pruning design, start on protocol db design](https://github.com/onflow/flow-go/issues/5761) - - Continue redeploy of local index and script exec on QN bare metal instances + - Complete ProtocolDB pruning design + - Continue rollout of local script execution on QuickNode - KROK Team - - Fix retries when using preferred-execution-nodes list ([Issue #5810](https://github.com/onflow/flow-go/issues/5810) - PR in review) - - Add support for version beacon events to control script execution ([Issue #5788](https://github.com/onflow/flow-go/issues/5788), [Issue #5789](https://github.com/onflow/flow-go/issues/5789), [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) - - Expose separate endpoints for getting account balance and keys ([Issue #5894](https://github.com/onflow/flow-go/issues/5894), [Issue #5999](https://github.com/onflow/flow-go/issues/5999)) - - Create proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823)) + - Add support for version beacon events to control script execution ([Issue #5788](https://github.com/onflow/flow-go/issues/5788) - In review, [Issue #5789](https://github.com/onflow/flow-go/issues/5789) - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) + - Expose separate endpoints for getting account balance and keys ([Issue #5999](https://github.com/onflow/flow-go/issues/5999)) + - Create proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823) - In review) - Add support for pruning execution data db on ANs ([Issue #6002](https://github.com/onflow/flow-go/issues/6002)) - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017)) + - Start Registers DB pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) * Cryptography: - SPoCK aggregation: from BLS security proof to BLS aggregation security proof (more than a sprint) From f318ca3b01b493deaf96ef375c1c887f37af9647 Mon Sep 17 00:00:00 2001 From: Jeff Doyle Date: Fri, 21 Jun 2024 09:11:50 -0700 Subject: [PATCH 383/626] Update 2024-06-21-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index d84472746..893969080 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -401,9 +401,14 @@ Cycle Objective(s): **Done last sprint** +- Shipped Flow Wallet with EVM support! 🎉 +- Completed "Homepage 2.0", releasing soon to testflight. + **This sprint** -- Continue to better support Secure Enclave +- Add support for MigrationNet to Flow Wallet Extension +- Refine "Homepage 2.0" UI/UX +- Continue to best support Secure Enclave - User migration from Extension (seed phrase) to mobile (secure enclave) wallet security - New account creation UI explaining the benefits of SE - Explain any UI differences between seed phrase / SE wallets From 77c64d5b22085635a12cfd8a7279d103eb6fbe15 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 21 Jun 2024 21:46:09 +0530 Subject: [PATCH 384/626] Update 2024-06-21-Flow-Sprint-Kickoff.md Adding governance updates and win --- .../2024-06-21-Flow-Sprint-Kickoff.md | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index d84472746..ec95a862b 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -12,6 +12,7 @@ - EN Badger DB -> Pebble DB POC - devnet ENs are running with pebble-based chunk data pack storage, disk usage growth slowed down from 1.7% to 1% / day. - Transaction Audit / inpection logic now [supports percentage-based transaction failure mode](https://github.com/onflow/contract-updater/pull/35), using on-chain randomness. - Crescendo Rewards BE fully set up with CI/CD on staging and production (thanks alex!) +- Flow decentralization is now fully restored. No operator runs >1/3 of 94 consensus nodes ### General updates @@ -466,14 +467,22 @@ Support Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** - +- Node Operations + - a16z consolidated their nodes - spun down 3 nodes operated by Coinbase + - Edgevana onboarded; contract signed; lease transfer in process; will start running a VN in the next epoch + - Blockdaemon agreement signed for long-term node ops and NaaS partnership + - Operator branding (some wip) + - Gathered and collated branding details of 80+ node partners + - Finalized designs with .find team (see [figma](https://www.figma.com/design/RJI1oUrd6JzNHbRBV1khRN/Flowdiver---Nodes-page-redesign?node-id=0-1&t=1dNpoWudt4O63OKW-1)) +- Tokenomics documentation + - Node economics page with illustration is live - [link](https://developers.flow.com/networks/node-ops/node-operation/node-economics) + - EVM tokenomics page with illustration is live - [link](https://developers.flow.com/evm/fees) + - Brainstormed stable state Flow economics with Dete - how a certain future TPS and computation per transaction would affect fees, inflation etc. See some initial projections [here](https://docs.google.com/spreadsheets/d/1sy6gMHgU6jRNVAR92oX10S62brkuTs6JAhMqIc37jJY/edit#gid=0) **This sprint** -- Work with Doodles, Cryptotoys and Edgevana for new nodes; Blockdaemon for continued operations via lease formalization -- Work on node operator branding and logos with .find team -- Finalize and publish Flow EVM documentation on docsite -- Discussion and decision on txn fee hike timeline -- R&D and planning with Dete on post Crescendo surge pricing +- Work on node operator branding and logos with .find team; test and ship new node operations page on flowdiver +- Work with Dete on revising the narrative around inflation, fees and (stable-state) Flow economics +- Upgrading tokenomics pages for easy comprehension - Plan next cycle OKRs for governance **On Hold** From 14a2abd9734273a7ab91c4044e0524a993043998 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 21 Jun 2024 09:43:26 -0700 Subject: [PATCH 385/626] Update 2024-06-21-Flow-Sprint-Kickoff.md --- .../2024-06-21-Flow-Sprint-Kickoff.md | 40 ++++++++++++++----- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index 26c230a44..3f745072c 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -248,23 +248,44 @@ Cycle Objective(s): **Done last Sprint:** +* EFM Recovery + - [Epoch recover service evnet processing](https://github.com/onflow/flow-go/issues/5727) + - [Epoch manager QC voting changes](https://github.com/onflow/flow-go/issues/5733) + - [Avoid reading the sealing segment in the scaffold](https://github.com/onflow/flow-go/pull/6100) + - [Revert sealing segment length changes from #5673](https://github.com/onflow/flow-go/pull/6086) + - [Add EpochExtended and EpochFallbackModeExited events ](https://github.com/onflow/flow-go/pull/6062) + - [Flaky Tests: Testing adjusting safety threshold and block time variables](https://github.com/onflow/flow-go/pull/6061/files) + - Continued [Blocktime controller EFM changes])(https://github.com/onflow/flow-go/issues/5732) + - Continued [`epochs.FallbackStateMachine` only tolerates narrow unexpected behaviour](https://github.com/onflow/flow-go/issues/6018) + - Continued [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) + - Awaiting review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) + * Data Availability: - Finished RegistersDB pruning design ([Issue #6065](https://github.com/onflow/flow-go/issues/6065)) - Started ProtocolDB pruning design - KROK Team - Expose FVM methods to get Account balance and keys ([PR #6028](https://github.com/onflow/flow-go/pull/6028)) - Fix retries when using preferred-execution-nodes list ([PR #5969](https://github.com/onflow/flow-go/pull/5969)) + +* Rosetta: + - KROK: - Update Rosetta for v0.35 upgrade (still needs Cadence 1.0 contract updates) ([PR #59](https://github.com/onflow/rosetta/pull/59)) + - DistributedLab: + - Added integration tests for EVM on Flow Rosetta integration, updarted README and added network config options **This sprint** * EFM Recovery - - Finish https://github.com/onflow/flow-go/issues/5727 - - [Finish Epoch manager QC voting changes](https://github.com/onflow/flow-go/issues/5733) (implementing tests) - - Ongoing review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) - - [Blocktime controller EFM changes])(https://github.com/onflow/flow-go/issues/5732) - - [`epochs.FallbackStateMachine` only tolerates narrow unexpected behaviour](https://github.com/onflow/flow-go/issues/6018) + - [Update Ansible automation for Mainnet25 Dynamic Protocol state changes](https://github.com/onflow/flow-go/issues/5156) + - [Add epoch fallback phase](https://github.com/onflow/flow-go/issues/6092) + - [Update consensus committee EFM processing](https://github.com/onflow/flow-go/issues/5730) + - Review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) + - Finish [Blocktime controller EFM changes])(https://github.com/onflow/flow-go/issues/5732) + - Finish [`epochs.FallbackStateMachine` only tolerates narrow unexpected behaviour](https://github.com/onflow/flow-go/issues/6018) + - Finish [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) + - [Update epoch lookup component](https://github.com/onflow/flow-go/issues/5763) - [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) + - [EFM Recovery benchnet testing](https://github.com/onflow/flow-go/issues/5945) * Data Availability: - Complete ProtocolDB pruning design @@ -282,12 +303,11 @@ Cycle Objective(s): * Rosetta: - KROK: - - Last items Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) + - Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) - DistributedLab: - Continue with remaining updates for Rosetta for EVM on Flow * Other: - - Complete high level 2-pager of public roadmap & vision for protocol decentralization & permissionless consensus on Flow - Continue content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. **On Hold** @@ -313,10 +333,12 @@ Cycle Objective(s): - Deliver Axelar bridge [PAUSED] **Done last sprint** - +* [Backfill missing API endpoints to JVM SDK}(https://github.com/onflow/flow-jvm-sdk/pull/55) currently in review +* Confirmed contract and scope of Celer C1.0 upgrades and signed contractor **This sprint** -* Backfill missing API methods to JVM SDK +* [Backfill missing Access API subscription endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/58) +* Start Celer C1.0 upgrades * Review of new hash additions PR for JVM-SDK **On Hold** From 7f2854ba84493448a3455a74b86c0a1670766f76 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 21 Jun 2024 09:44:57 -0700 Subject: [PATCH 386/626] Dropped unused section --- .../2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index 3f745072c..e1da4e7c6 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -220,12 +220,6 @@ IN PROGRESS: Objective 2, KR 1: Update transaction fees weights for the executio DONE: Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) -Cadence 1.0 Contract updates -- [Continue working through contract standards needing upgrade to C1.0](https://github.com/onflow/docs/issues/716) -- More reviews of bridge PRs and Cadence 1.0 changes -- Writing additional tests for recent Cadence FLIP changes -- [Audit and update docs and tutorials for Cadence 1.0](https://github.com/onflow/docs/issues/531) - **On Hold** ON HOLD: Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs From 5078de4de3afcbd9a2452b39c677e0ea20298147 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 21 Jun 2024 09:59:48 -0700 Subject: [PATCH 387/626] Fix minor typos --- agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index e1da4e7c6..4a6abacc2 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -243,13 +243,13 @@ Cycle Objective(s): **Done last Sprint:** * EFM Recovery - - [Epoch recover service evnet processing](https://github.com/onflow/flow-go/issues/5727) + - [Epoch recover service event processing](https://github.com/onflow/flow-go/issues/5727) - [Epoch manager QC voting changes](https://github.com/onflow/flow-go/issues/5733) - [Avoid reading the sealing segment in the scaffold](https://github.com/onflow/flow-go/pull/6100) - [Revert sealing segment length changes from #5673](https://github.com/onflow/flow-go/pull/6086) - [Add EpochExtended and EpochFallbackModeExited events ](https://github.com/onflow/flow-go/pull/6062) - [Flaky Tests: Testing adjusting safety threshold and block time variables](https://github.com/onflow/flow-go/pull/6061/files) - - Continued [Blocktime controller EFM changes])(https://github.com/onflow/flow-go/issues/5732) + - Continued [Blocktime controller EFM changes](https://github.com/onflow/flow-go/issues/5732) - Continued [`epochs.FallbackStateMachine` only tolerates narrow unexpected behaviour](https://github.com/onflow/flow-go/issues/6018) - Continued [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) - Awaiting review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) From 499ec86b9b37a879a4f50c461b40a1f093dd73fb Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 21 Jun 2024 10:00:14 -0700 Subject: [PATCH 388/626] Update 2024-06-21-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md index 4a6abacc2..a2f4c677d 100644 --- a/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-06-21-Flow-Sprint-Kickoff.md @@ -274,7 +274,7 @@ Cycle Objective(s): - [Add epoch fallback phase](https://github.com/onflow/flow-go/issues/6092) - [Update consensus committee EFM processing](https://github.com/onflow/flow-go/issues/5730) - Review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) - - Finish [Blocktime controller EFM changes])(https://github.com/onflow/flow-go/issues/5732) + - Finish [Blocktime controller EFM changes](https://github.com/onflow/flow-go/issues/5732) - Finish [`epochs.FallbackStateMachine` only tolerates narrow unexpected behaviour](https://github.com/onflow/flow-go/issues/6018) - Finish [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) - [Update epoch lookup component](https://github.com/onflow/flow-go/issues/5763) From 3f6dd964edb85d21aff724227c99930aca1eecd7 Mon Sep 17 00:00:00 2001 From: Andrii Date: Tue, 25 Jun 2024 13:40:09 +0300 Subject: [PATCH 389/626] Removed duplicated calls, added fields to request structs --- protobuf/flow/access/access.proto | 21 +- protobuf/flow/entities/account.proto | 4 + protobuf/go/flow/access/access.pb.go | 516 ++++++++++------------ protobuf/go/flow/access/access_grpc.pb.go | 78 ---- protobuf/go/flow/entities/account.pb.go | 91 ++-- 5 files changed, 304 insertions(+), 406 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index 1226914f9..ca6b82752 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -97,8 +97,6 @@ service AccessAPI { rpc GetAccountAtBlockHeight(GetAccountAtBlockHeightRequest) returns (AccountResponse); - // GetAccountBalance gets an account balance by address. - rpc GetAccountBalance(GetAccountBalanceRequest) returns (AccountBalanceResponse); // GetAccountBalanceAtLatestBlock gets an account balance by address from the latest sealed // execution state. rpc GetAccountBalanceAtLatestBlock(GetAccountBalanceAtLatestBlockRequest) @@ -108,8 +106,6 @@ service AccessAPI { rpc GetAccountBalanceAtBlockHeight(GetAccountBalanceAtBlockHeightRequest) returns (AccountBalanceResponse); - // GetAccountKeys gets an account public keys by address. - rpc GetAccountKeys(GetAccountKeysRequest) returns (AccountKeysResponse); // GetAccountKeysAtLatestBlock gets an account public keys by address from the latest sealed // execution state. rpc GetAccountKeysAtLatestBlock(GetAccountKeysAtLatestBlockRequest) @@ -446,10 +442,6 @@ message GetAccountAtBlockHeightRequest { uint64 block_height = 2; } -message GetAccountBalanceRequest { - bytes address = 1; -} - message GetAccountBalanceAtLatestBlockRequest { bytes address = 1; } @@ -460,16 +452,17 @@ message GetAccountBalanceAtBlockHeightRequest { } message AccountBalanceResponse { - uint64 account_balance = 1; - entities.Metadata metadata = 2; -} - -message GetAccountKeysRequest { - bytes address = 1; + uint64 balance = 1; + uint64 available_balance = 2; + entities.Metadata metadata = 3; } message GetAccountKeysAtLatestBlockRequest { + // address of account bytes address = 1; + // index of key to return + // omit to return all keys + entities.AccountKeyIndex index = 2; } message GetAccountKeysAtBlockHeightRequest { diff --git a/protobuf/flow/entities/account.proto b/protobuf/flow/entities/account.proto index e4dbb1ea4..a2fabdb9a 100644 --- a/protobuf/flow/entities/account.proto +++ b/protobuf/flow/entities/account.proto @@ -22,3 +22,7 @@ message AccountKey { uint32 sequence_number = 6; bool revoked = 7; } + +message AccountKeyIndex { + uint32 value = 1; +} diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 4eca8bddb..3191209bf 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -1502,45 +1502,6 @@ func (m *GetAccountAtBlockHeightRequest) GetBlockHeight() uint64 { return 0 } -type GetAccountBalanceRequest struct { - Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetAccountBalanceRequest) Reset() { *m = GetAccountBalanceRequest{} } -func (m *GetAccountBalanceRequest) String() string { return proto.CompactTextString(m) } -func (*GetAccountBalanceRequest) ProtoMessage() {} -func (*GetAccountBalanceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{32} -} - -func (m *GetAccountBalanceRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetAccountBalanceRequest.Unmarshal(m, b) -} -func (m *GetAccountBalanceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetAccountBalanceRequest.Marshal(b, m, deterministic) -} -func (m *GetAccountBalanceRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetAccountBalanceRequest.Merge(m, src) -} -func (m *GetAccountBalanceRequest) XXX_Size() int { - return xxx_messageInfo_GetAccountBalanceRequest.Size(m) -} -func (m *GetAccountBalanceRequest) XXX_DiscardUnknown() { - xxx_messageInfo_GetAccountBalanceRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_GetAccountBalanceRequest proto.InternalMessageInfo - -func (m *GetAccountBalanceRequest) GetAddress() []byte { - if m != nil { - return m.Address - } - return nil -} - type GetAccountBalanceAtLatestBlockRequest struct { Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -1552,7 +1513,7 @@ func (m *GetAccountBalanceAtLatestBlockRequest) Reset() { *m = GetAccoun func (m *GetAccountBalanceAtLatestBlockRequest) String() string { return proto.CompactTextString(m) } func (*GetAccountBalanceAtLatestBlockRequest) ProtoMessage() {} func (*GetAccountBalanceAtLatestBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{33} + return fileDescriptor_4382e32bb8e3e8e5, []int{32} } func (m *GetAccountBalanceAtLatestBlockRequest) XXX_Unmarshal(b []byte) error { @@ -1592,7 +1553,7 @@ func (m *GetAccountBalanceAtBlockHeightRequest) Reset() { *m = GetAccoun func (m *GetAccountBalanceAtBlockHeightRequest) String() string { return proto.CompactTextString(m) } func (*GetAccountBalanceAtBlockHeightRequest) ProtoMessage() {} func (*GetAccountBalanceAtBlockHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{34} + return fileDescriptor_4382e32bb8e3e8e5, []int{33} } func (m *GetAccountBalanceAtBlockHeightRequest) XXX_Unmarshal(b []byte) error { @@ -1628,8 +1589,9 @@ func (m *GetAccountBalanceAtBlockHeightRequest) GetBlockHeight() uint64 { } type AccountBalanceResponse struct { - AccountBalance uint64 `protobuf:"varint,1,opt,name=account_balance,json=accountBalance,proto3" json:"account_balance,omitempty"` - Metadata *entities.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + Balance uint64 `protobuf:"varint,1,opt,name=balance,proto3" json:"balance,omitempty"` + AvailableBalance uint64 `protobuf:"varint,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` + Metadata *entities.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1639,7 +1601,7 @@ func (m *AccountBalanceResponse) Reset() { *m = AccountBalanceResponse{} func (m *AccountBalanceResponse) String() string { return proto.CompactTextString(m) } func (*AccountBalanceResponse) ProtoMessage() {} func (*AccountBalanceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{35} + return fileDescriptor_4382e32bb8e3e8e5, []int{34} } func (m *AccountBalanceResponse) XXX_Unmarshal(b []byte) error { @@ -1660,71 +1622,43 @@ func (m *AccountBalanceResponse) XXX_DiscardUnknown() { var xxx_messageInfo_AccountBalanceResponse proto.InternalMessageInfo -func (m *AccountBalanceResponse) GetAccountBalance() uint64 { +func (m *AccountBalanceResponse) GetBalance() uint64 { if m != nil { - return m.AccountBalance + return m.Balance } return 0 } -func (m *AccountBalanceResponse) GetMetadata() *entities.Metadata { +func (m *AccountBalanceResponse) GetAvailableBalance() uint64 { if m != nil { - return m.Metadata + return m.AvailableBalance } - return nil -} - -type GetAccountKeysRequest struct { - Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetAccountKeysRequest) Reset() { *m = GetAccountKeysRequest{} } -func (m *GetAccountKeysRequest) String() string { return proto.CompactTextString(m) } -func (*GetAccountKeysRequest) ProtoMessage() {} -func (*GetAccountKeysRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{36} -} - -func (m *GetAccountKeysRequest) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetAccountKeysRequest.Unmarshal(m, b) -} -func (m *GetAccountKeysRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetAccountKeysRequest.Marshal(b, m, deterministic) -} -func (m *GetAccountKeysRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetAccountKeysRequest.Merge(m, src) -} -func (m *GetAccountKeysRequest) XXX_Size() int { - return xxx_messageInfo_GetAccountKeysRequest.Size(m) -} -func (m *GetAccountKeysRequest) XXX_DiscardUnknown() { - xxx_messageInfo_GetAccountKeysRequest.DiscardUnknown(m) + return 0 } -var xxx_messageInfo_GetAccountKeysRequest proto.InternalMessageInfo - -func (m *GetAccountKeysRequest) GetAddress() []byte { +func (m *AccountBalanceResponse) GetMetadata() *entities.Metadata { if m != nil { - return m.Address + return m.Metadata } return nil } type GetAccountKeysAtLatestBlockRequest struct { - Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + // address of account + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // index of key to return + // omit to return all keys + Index *entities.AccountKeyIndex `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *GetAccountKeysAtLatestBlockRequest) Reset() { *m = GetAccountKeysAtLatestBlockRequest{} } func (m *GetAccountKeysAtLatestBlockRequest) String() string { return proto.CompactTextString(m) } func (*GetAccountKeysAtLatestBlockRequest) ProtoMessage() {} func (*GetAccountKeysAtLatestBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{37} + return fileDescriptor_4382e32bb8e3e8e5, []int{35} } func (m *GetAccountKeysAtLatestBlockRequest) XXX_Unmarshal(b []byte) error { @@ -1752,6 +1686,13 @@ func (m *GetAccountKeysAtLatestBlockRequest) GetAddress() []byte { return nil } +func (m *GetAccountKeysAtLatestBlockRequest) GetIndex() *entities.AccountKeyIndex { + if m != nil { + return m.Index + } + return nil +} + type GetAccountKeysAtBlockHeightRequest struct { Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` @@ -1764,7 +1705,7 @@ func (m *GetAccountKeysAtBlockHeightRequest) Reset() { *m = GetAccountKe func (m *GetAccountKeysAtBlockHeightRequest) String() string { return proto.CompactTextString(m) } func (*GetAccountKeysAtBlockHeightRequest) ProtoMessage() {} func (*GetAccountKeysAtBlockHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{38} + return fileDescriptor_4382e32bb8e3e8e5, []int{36} } func (m *GetAccountKeysAtBlockHeightRequest) XXX_Unmarshal(b []byte) error { @@ -1811,7 +1752,7 @@ func (m *AccountKeysResponse) Reset() { *m = AccountKeysResponse{} } func (m *AccountKeysResponse) String() string { return proto.CompactTextString(m) } func (*AccountKeysResponse) ProtoMessage() {} func (*AccountKeysResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{39} + return fileDescriptor_4382e32bb8e3e8e5, []int{37} } func (m *AccountKeysResponse) XXX_Unmarshal(b []byte) error { @@ -1858,7 +1799,7 @@ func (m *ExecuteScriptAtLatestBlockRequest) Reset() { *m = ExecuteScript func (m *ExecuteScriptAtLatestBlockRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptAtLatestBlockRequest) ProtoMessage() {} func (*ExecuteScriptAtLatestBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{40} + return fileDescriptor_4382e32bb8e3e8e5, []int{38} } func (m *ExecuteScriptAtLatestBlockRequest) XXX_Unmarshal(b []byte) error { @@ -1906,7 +1847,7 @@ func (m *ExecuteScriptAtBlockIDRequest) Reset() { *m = ExecuteScriptAtBl func (m *ExecuteScriptAtBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptAtBlockIDRequest) ProtoMessage() {} func (*ExecuteScriptAtBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{41} + return fileDescriptor_4382e32bb8e3e8e5, []int{39} } func (m *ExecuteScriptAtBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -1961,7 +1902,7 @@ func (m *ExecuteScriptAtBlockHeightRequest) Reset() { *m = ExecuteScript func (m *ExecuteScriptAtBlockHeightRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptAtBlockHeightRequest) ProtoMessage() {} func (*ExecuteScriptAtBlockHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{42} + return fileDescriptor_4382e32bb8e3e8e5, []int{40} } func (m *ExecuteScriptAtBlockHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2016,7 +1957,7 @@ func (m *ExecuteScriptResponse) Reset() { *m = ExecuteScriptResponse{} } func (m *ExecuteScriptResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptResponse) ProtoMessage() {} func (*ExecuteScriptResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{43} + return fileDescriptor_4382e32bb8e3e8e5, []int{41} } func (m *ExecuteScriptResponse) XXX_Unmarshal(b []byte) error { @@ -2072,7 +2013,7 @@ func (m *GetEventsForHeightRangeRequest) Reset() { *m = GetEventsForHeig func (m *GetEventsForHeightRangeRequest) String() string { return proto.CompactTextString(m) } func (*GetEventsForHeightRangeRequest) ProtoMessage() {} func (*GetEventsForHeightRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{44} + return fileDescriptor_4382e32bb8e3e8e5, []int{42} } func (m *GetEventsForHeightRangeRequest) XXX_Unmarshal(b []byte) error { @@ -2134,7 +2075,7 @@ func (m *GetEventsForBlockIDsRequest) Reset() { *m = GetEventsForBlockID func (m *GetEventsForBlockIDsRequest) String() string { return proto.CompactTextString(m) } func (*GetEventsForBlockIDsRequest) ProtoMessage() {} func (*GetEventsForBlockIDsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{45} + return fileDescriptor_4382e32bb8e3e8e5, []int{43} } func (m *GetEventsForBlockIDsRequest) XXX_Unmarshal(b []byte) error { @@ -2188,7 +2129,7 @@ func (m *EventsResponse) Reset() { *m = EventsResponse{} } func (m *EventsResponse) String() string { return proto.CompactTextString(m) } func (*EventsResponse) ProtoMessage() {} func (*EventsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{46} + return fileDescriptor_4382e32bb8e3e8e5, []int{44} } func (m *EventsResponse) XXX_Unmarshal(b []byte) error { @@ -2237,7 +2178,7 @@ func (m *EventsResponse_Result) Reset() { *m = EventsResponse_Result{} } func (m *EventsResponse_Result) String() string { return proto.CompactTextString(m) } func (*EventsResponse_Result) ProtoMessage() {} func (*EventsResponse_Result) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{46, 0} + return fileDescriptor_4382e32bb8e3e8e5, []int{44, 0} } func (m *EventsResponse_Result) XXX_Unmarshal(b []byte) error { @@ -2296,7 +2237,7 @@ func (m *GetNetworkParametersRequest) Reset() { *m = GetNetworkParameter func (m *GetNetworkParametersRequest) String() string { return proto.CompactTextString(m) } func (*GetNetworkParametersRequest) ProtoMessage() {} func (*GetNetworkParametersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{47} + return fileDescriptor_4382e32bb8e3e8e5, []int{45} } func (m *GetNetworkParametersRequest) XXX_Unmarshal(b []byte) error { @@ -2328,7 +2269,7 @@ func (m *GetNetworkParametersResponse) Reset() { *m = GetNetworkParamete func (m *GetNetworkParametersResponse) String() string { return proto.CompactTextString(m) } func (*GetNetworkParametersResponse) ProtoMessage() {} func (*GetNetworkParametersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{48} + return fileDescriptor_4382e32bb8e3e8e5, []int{46} } func (m *GetNetworkParametersResponse) XXX_Unmarshal(b []byte) error { @@ -2366,7 +2307,7 @@ func (m *GetLatestProtocolStateSnapshotRequest) Reset() { *m = GetLatest func (m *GetLatestProtocolStateSnapshotRequest) String() string { return proto.CompactTextString(m) } func (*GetLatestProtocolStateSnapshotRequest) ProtoMessage() {} func (*GetLatestProtocolStateSnapshotRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{49} + return fileDescriptor_4382e32bb8e3e8e5, []int{47} } func (m *GetLatestProtocolStateSnapshotRequest) XXX_Unmarshal(b []byte) error { @@ -2400,7 +2341,7 @@ func (m *GetProtocolStateSnapshotByBlockIDRequest) Reset() { func (m *GetProtocolStateSnapshotByBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*GetProtocolStateSnapshotByBlockIDRequest) ProtoMessage() {} func (*GetProtocolStateSnapshotByBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{50} + return fileDescriptor_4382e32bb8e3e8e5, []int{48} } func (m *GetProtocolStateSnapshotByBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2441,7 +2382,7 @@ func (m *GetProtocolStateSnapshotByHeightRequest) Reset() { func (m *GetProtocolStateSnapshotByHeightRequest) String() string { return proto.CompactTextString(m) } func (*GetProtocolStateSnapshotByHeightRequest) ProtoMessage() {} func (*GetProtocolStateSnapshotByHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{51} + return fileDescriptor_4382e32bb8e3e8e5, []int{49} } func (m *GetProtocolStateSnapshotByHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2481,7 +2422,7 @@ func (m *ProtocolStateSnapshotResponse) Reset() { *m = ProtocolStateSnap func (m *ProtocolStateSnapshotResponse) String() string { return proto.CompactTextString(m) } func (*ProtocolStateSnapshotResponse) ProtoMessage() {} func (*ProtocolStateSnapshotResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{52} + return fileDescriptor_4382e32bb8e3e8e5, []int{50} } func (m *ProtocolStateSnapshotResponse) XXX_Unmarshal(b []byte) error { @@ -2527,7 +2468,7 @@ func (m *GetExecutionResultForBlockIDRequest) Reset() { *m = GetExecutio func (m *GetExecutionResultForBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*GetExecutionResultForBlockIDRequest) ProtoMessage() {} func (*GetExecutionResultForBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{53} + return fileDescriptor_4382e32bb8e3e8e5, []int{51} } func (m *GetExecutionResultForBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2567,7 +2508,7 @@ func (m *ExecutionResultForBlockIDResponse) Reset() { *m = ExecutionResu func (m *ExecutionResultForBlockIDResponse) String() string { return proto.CompactTextString(m) } func (*ExecutionResultForBlockIDResponse) ProtoMessage() {} func (*ExecutionResultForBlockIDResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{54} + return fileDescriptor_4382e32bb8e3e8e5, []int{52} } func (m *ExecutionResultForBlockIDResponse) XXX_Unmarshal(b []byte) error { @@ -2613,7 +2554,7 @@ func (m *GetExecutionResultByIDRequest) Reset() { *m = GetExecutionResul func (m *GetExecutionResultByIDRequest) String() string { return proto.CompactTextString(m) } func (*GetExecutionResultByIDRequest) ProtoMessage() {} func (*GetExecutionResultByIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{55} + return fileDescriptor_4382e32bb8e3e8e5, []int{53} } func (m *GetExecutionResultByIDRequest) XXX_Unmarshal(b []byte) error { @@ -2653,7 +2594,7 @@ func (m *ExecutionResultByIDResponse) Reset() { *m = ExecutionResultByID func (m *ExecutionResultByIDResponse) String() string { return proto.CompactTextString(m) } func (*ExecutionResultByIDResponse) ProtoMessage() {} func (*ExecutionResultByIDResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{56} + return fileDescriptor_4382e32bb8e3e8e5, []int{54} } func (m *ExecutionResultByIDResponse) XXX_Unmarshal(b []byte) error { @@ -2710,7 +2651,7 @@ func (m *SubscribeBlocksFromStartBlockIDRequest) Reset() { func (m *SubscribeBlocksFromStartBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlocksFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{57} + return fileDescriptor_4382e32bb8e3e8e5, []int{55} } func (m *SubscribeBlocksFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2772,7 +2713,7 @@ func (m *SubscribeBlocksFromStartHeightRequest) Reset() { *m = Subscribe func (m *SubscribeBlocksFromStartHeightRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlocksFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{58} + return fileDescriptor_4382e32bb8e3e8e5, []int{56} } func (m *SubscribeBlocksFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2832,7 +2773,7 @@ func (m *SubscribeBlocksFromLatestRequest) Reset() { *m = SubscribeBlock func (m *SubscribeBlocksFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromLatestRequest) ProtoMessage() {} func (*SubscribeBlocksFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{59} + return fileDescriptor_4382e32bb8e3e8e5, []int{57} } func (m *SubscribeBlocksFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -2881,7 +2822,7 @@ func (m *SubscribeBlocksResponse) Reset() { *m = SubscribeBlocksResponse func (m *SubscribeBlocksResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksResponse) ProtoMessage() {} func (*SubscribeBlocksResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{60} + return fileDescriptor_4382e32bb8e3e8e5, []int{58} } func (m *SubscribeBlocksResponse) XXX_Unmarshal(b []byte) error { @@ -2931,7 +2872,7 @@ func (m *SubscribeBlockHeadersFromStartBlockIDRequest) String() string { } func (*SubscribeBlockHeadersFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{61} + return fileDescriptor_4382e32bb8e3e8e5, []int{59} } func (m *SubscribeBlockHeadersFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2988,7 +2929,7 @@ func (m *SubscribeBlockHeadersFromStartHeightRequest) String() string { } func (*SubscribeBlockHeadersFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{62} + return fileDescriptor_4382e32bb8e3e8e5, []int{60} } func (m *SubscribeBlockHeadersFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -3041,7 +2982,7 @@ func (m *SubscribeBlockHeadersFromLatestRequest) Reset() { func (m *SubscribeBlockHeadersFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockHeadersFromLatestRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{63} + return fileDescriptor_4382e32bb8e3e8e5, []int{61} } func (m *SubscribeBlockHeadersFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -3083,7 +3024,7 @@ func (m *SubscribeBlockHeadersResponse) Reset() { *m = SubscribeBlockHea func (m *SubscribeBlockHeadersResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockHeadersResponse) ProtoMessage() {} func (*SubscribeBlockHeadersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{64} + return fileDescriptor_4382e32bb8e3e8e5, []int{62} } func (m *SubscribeBlockHeadersResponse) XXX_Unmarshal(b []byte) error { @@ -3133,7 +3074,7 @@ func (m *SubscribeBlockDigestsFromStartBlockIDRequest) String() string { } func (*SubscribeBlockDigestsFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{65} + return fileDescriptor_4382e32bb8e3e8e5, []int{63} } func (m *SubscribeBlockDigestsFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -3190,7 +3131,7 @@ func (m *SubscribeBlockDigestsFromStartHeightRequest) String() string { } func (*SubscribeBlockDigestsFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{66} + return fileDescriptor_4382e32bb8e3e8e5, []int{64} } func (m *SubscribeBlockDigestsFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -3243,7 +3184,7 @@ func (m *SubscribeBlockDigestsFromLatestRequest) Reset() { func (m *SubscribeBlockDigestsFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockDigestsFromLatestRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{67} + return fileDescriptor_4382e32bb8e3e8e5, []int{65} } func (m *SubscribeBlockDigestsFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -3291,7 +3232,7 @@ func (m *SubscribeBlockDigestsResponse) Reset() { *m = SubscribeBlockDig func (m *SubscribeBlockDigestsResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockDigestsResponse) ProtoMessage() {} func (*SubscribeBlockDigestsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{68} + return fileDescriptor_4382e32bb8e3e8e5, []int{66} } func (m *SubscribeBlockDigestsResponse) XXX_Unmarshal(b []byte) error { @@ -3352,7 +3293,7 @@ func (m *SendAndSubscribeTransactionStatusesRequest) String() string { } func (*SendAndSubscribeTransactionStatusesRequest) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{69} + return fileDescriptor_4382e32bb8e3e8e5, []int{67} } func (m *SendAndSubscribeTransactionStatusesRequest) XXX_Unmarshal(b []byte) error { @@ -3406,7 +3347,7 @@ func (m *SendAndSubscribeTransactionStatusesResponse) String() string { } func (*SendAndSubscribeTransactionStatusesResponse) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{70} + return fileDescriptor_4382e32bb8e3e8e5, []int{68} } func (m *SendAndSubscribeTransactionStatusesResponse) XXX_Unmarshal(b []byte) error { @@ -3474,11 +3415,9 @@ func init() { proto.RegisterType((*GetAccountAtLatestBlockRequest)(nil), "flow.access.GetAccountAtLatestBlockRequest") proto.RegisterType((*AccountResponse)(nil), "flow.access.AccountResponse") proto.RegisterType((*GetAccountAtBlockHeightRequest)(nil), "flow.access.GetAccountAtBlockHeightRequest") - proto.RegisterType((*GetAccountBalanceRequest)(nil), "flow.access.GetAccountBalanceRequest") proto.RegisterType((*GetAccountBalanceAtLatestBlockRequest)(nil), "flow.access.GetAccountBalanceAtLatestBlockRequest") proto.RegisterType((*GetAccountBalanceAtBlockHeightRequest)(nil), "flow.access.GetAccountBalanceAtBlockHeightRequest") proto.RegisterType((*AccountBalanceResponse)(nil), "flow.access.AccountBalanceResponse") - proto.RegisterType((*GetAccountKeysRequest)(nil), "flow.access.GetAccountKeysRequest") proto.RegisterType((*GetAccountKeysAtLatestBlockRequest)(nil), "flow.access.GetAccountKeysAtLatestBlockRequest") proto.RegisterType((*GetAccountKeysAtBlockHeightRequest)(nil), "flow.access.GetAccountKeysAtBlockHeightRequest") proto.RegisterType((*AccountKeysResponse)(nil), "flow.access.AccountKeysResponse") @@ -3519,169 +3458,168 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2621 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xcd, 0x6f, 0x1c, 0x49, - 0x15, 0x57, 0x7b, 0x1c, 0x7f, 0x3c, 0x8f, 0x9d, 0xa4, 0xe2, 0x75, 0xc6, 0xed, 0x38, 0x9e, 0xb4, - 0xe3, 0x8d, 0xf3, 0xb1, 0xe3, 0x90, 0x2c, 0xda, 0x64, 0x81, 0x15, 0x76, 0x36, 0xf1, 0x5a, 0x9b, - 0xac, 0xac, 0x76, 0x36, 0x68, 0x81, 0xdd, 0x51, 0x7b, 0xba, 0x3c, 0x6e, 0x65, 0xa6, 0xdb, 0x74, - 0xf7, 0x24, 0x31, 0xac, 0xd0, 0x1e, 0x22, 0x84, 0x84, 0xf8, 0x12, 0x07, 0xc4, 0x4a, 0x5c, 0xe0, - 0x04, 0x1c, 0x38, 0x71, 0x40, 0x08, 0x21, 0x21, 0xf8, 0x03, 0xf8, 0x7b, 0xb8, 0xa0, 0xae, 0xaa, - 0x9e, 0xa9, 0xaa, 0xae, 0xae, 0xe9, 0x19, 0x3b, 0x38, 0x97, 0xc4, 0xdd, 0xf5, 0xea, 0x7d, 0xd7, - 0xab, 0xea, 0xf7, 0xab, 0x81, 0xca, 0x5e, 0x2b, 0x78, 0xbe, 0xe6, 0x34, 0x1a, 0x38, 0x8a, 0xd8, - 0x7f, 0xb5, 0x83, 0x30, 0x88, 0x03, 0x34, 0x95, 0x8c, 0xd4, 0xe8, 0x2b, 0x73, 0x81, 0x90, 0x61, - 0x3f, 0xf6, 0x62, 0x0f, 0x13, 0xc2, 0xa0, 0xe3, 0xc7, 0x94, 0xd2, 0xac, 0x8a, 0x83, 0xbb, 0xad, - 0xa0, 0xf1, 0xb4, 0xbe, 0x8f, 0x1d, 0x17, 0x87, 0x8c, 0x62, 0x5e, 0x41, 0xc1, 0x86, 0x2e, 0x8a, - 0x43, 0x8d, 0xa0, 0xd5, 0xc2, 0x8d, 0xd8, 0x0b, 0x7c, 0xf5, 0x54, 0xfc, 0x0c, 0x77, 0xe5, 0x5e, - 0x96, 0x86, 0x5e, 0xe0, 0x46, 0x27, 0x99, 0x59, 0x0f, 0x71, 0xd4, 0x69, 0xa5, 0x54, 0x17, 0x44, - 0xaa, 0x36, 0x8e, 0x1d, 0xd7, 0x89, 0x1d, 0x36, 0xba, 0x22, 0x8e, 0xfa, 0x81, 0x8b, 0xeb, 0xcf, - 0x70, 0x18, 0x25, 0x6c, 0x3c, 0x7f, 0x2f, 0x60, 0x64, 0x4b, 0x22, 0x59, 0x1c, 0x3a, 0x7e, 0xe4, - 0xf0, 0x6a, 0x2e, 0x35, 0x83, 0xa0, 0xd9, 0xc2, 0x6b, 0xe4, 0x69, 0xb7, 0xb3, 0xb7, 0x16, 0x7b, - 0x6d, 0x1c, 0xc5, 0x4e, 0xfb, 0x80, 0x12, 0x58, 0xd3, 0x30, 0xb5, 0xed, 0xf9, 0x4d, 0x1b, 0x7f, - 0xaf, 0x83, 0xa3, 0xd8, 0x9a, 0x81, 0x32, 0x7d, 0x8c, 0x0e, 0x02, 0x3f, 0xc2, 0xd6, 0x02, 0xcc, - 0x6f, 0xe2, 0xf8, 0xa3, 0xc0, 0xc5, 0x4f, 0xa8, 0xf4, 0x2d, 0x7f, 0x2f, 0x48, 0x89, 0xb7, 0xc1, - 0x54, 0x0d, 0xd2, 0xa9, 0xe8, 0x16, 0x8c, 0x26, 0x9a, 0x56, 0x8c, 0xaa, 0xb1, 0x3a, 0x75, 0xeb, - 0x62, 0x8d, 0xc4, 0x2d, 0x55, 0xb5, 0x26, 0xcf, 0x22, 0xb4, 0xd6, 0xbb, 0xb0, 0xb0, 0x89, 0xe3, - 0x87, 0x4e, 0x8c, 0xa3, 0x78, 0x23, 0x89, 0xc6, 0x07, 0x24, 0x5c, 0x4c, 0x20, 0x5a, 0x80, 0x49, - 0x2f, 0xaa, 0x47, 0xd8, 0x69, 0x61, 0x97, 0xf0, 0x9d, 0xb0, 0x27, 0xbc, 0x68, 0x87, 0x3c, 0x5b, - 0xd7, 0x89, 0xaa, 0xdc, 0xac, 0x8d, 0xc3, 0xad, 0xf7, 0xd3, 0x99, 0x33, 0x30, 0xe2, 0xd1, 0x29, - 0x65, 0x7b, 0xc4, 0x73, 0xad, 0x77, 0x60, 0x51, 0x26, 0xfe, 0x00, 0x7b, 0xcd, 0xfd, 0x38, 0x9d, - 0x30, 0x07, 0x63, 0xfb, 0xe4, 0x05, 0x99, 0x34, 0x6a, 0xb3, 0x27, 0xeb, 0x6f, 0x06, 0x9c, 0x13, - 0x34, 0x63, 0xd6, 0xde, 0x84, 0x53, 0x24, 0x7d, 0x98, 0xb9, 0xa6, 0x64, 0x2e, 0x3f, 0x85, 0x12, - 0xa2, 0x6f, 0x40, 0x99, 0xa6, 0x64, 0x14, 0x3b, 0x71, 0x27, 0xaa, 0x8c, 0x54, 0x8d, 0xd5, 0x19, - 0xf5, 0xc4, 0x1d, 0x42, 0x61, 0x4f, 0xed, 0xf6, 0x1e, 0xd0, 0x6d, 0x98, 0x48, 0x73, 0xa6, 0x52, - 0x22, 0x32, 0xcf, 0x4b, 0x53, 0x1f, 0xb1, 0x61, 0xbb, 0x4b, 0x68, 0xb9, 0xf0, 0x86, 0xe8, 0xdf, - 0x22, 0x9e, 0x45, 0x35, 0x38, 0xb7, 0xd7, 0x69, 0xb5, 0xea, 0x54, 0xdd, 0x90, 0x99, 0x4c, 0x14, - 0x9e, 0xb0, 0xcf, 0x26, 0x43, 0x8c, 0x17, 0x4b, 0x9a, 0x8f, 0xe1, 0x5c, 0xea, 0x5c, 0x4d, 0x0c, - 0x06, 0x66, 0xeb, 0xc0, 0xf9, 0x1e, 0xdb, 0x42, 0xd1, 0x1a, 0x58, 0xc4, 0x9f, 0x0d, 0x98, 0x16, - 0xde, 0xa0, 0x6b, 0x62, 0x5c, 0x67, 0x55, 0xe1, 0x39, 0xc9, 0x88, 0x5e, 0x83, 0xca, 0x26, 0x8e, - 0xef, 0x75, 0xcb, 0x93, 0x2e, 0xe9, 0x6b, 0x70, 0x61, 0x13, 0xc7, 0x0f, 0x3a, 0xad, 0x56, 0x31, - 0xfa, 0x97, 0x06, 0xa0, 0x1e, 0x65, 0xd7, 0x25, 0x77, 0x01, 0x7a, 0xe5, 0x90, 0xf9, 0x65, 0x5e, - 0xd2, 0x94, 0x9b, 0xc6, 0x11, 0x0b, 0x26, 0x8e, 0x14, 0x35, 0xf1, 0xa7, 0x06, 0xcc, 0x89, 0x4a, - 0x77, 0x55, 0x79, 0x0f, 0xca, 0x5c, 0xcd, 0x8b, 0x2a, 0x46, 0xb5, 0xa4, 0x58, 0x7c, 0x8f, 0x7b, - 0x24, 0xb6, 0x40, 0x3f, 0x9c, 0x3e, 0x4f, 0x60, 0x6e, 0x07, 0xfb, 0x2e, 0xcf, 0x95, 0x39, 0xf0, - 0xeb, 0x30, 0xc5, 0xb1, 0xcf, 0x29, 0x05, 0xfc, 0x3c, 0x9e, 0xdc, 0xfa, 0x0c, 0xce, 0x67, 0xf8, - 0x32, 0x3b, 0xe5, 0xa5, 0x33, 0x94, 0xde, 0xff, 0x34, 0xc8, 0xea, 0x57, 0xe8, 0x2d, 0xb3, 0x9f, - 0x87, 0x09, 0x9a, 0xc8, 0x9e, 0x4b, 0xd8, 0x97, 0xed, 0x71, 0xf2, 0xbc, 0xe5, 0xa2, 0x65, 0x98, - 0xee, 0xc5, 0x33, 0x19, 0x2f, 0x91, 0xf1, 0x72, 0xef, 0xe5, 0x96, 0x8b, 0x3e, 0x81, 0x39, 0xb2, - 0x21, 0xd6, 0xb1, 0xdf, 0x08, 0x5c, 0xcf, 0x6f, 0xa6, 0x7b, 0x57, 0x65, 0x94, 0x2c, 0x89, 0x65, - 0x49, 0xd9, 0xfb, 0x09, 0xf1, 0x7d, 0x46, 0xcb, 0x76, 0x05, 0x7b, 0x16, 0x2b, 0xde, 0x5a, 0x77, - 0xc8, 0x0e, 0xb1, 0x73, 0x18, 0xc5, 0xb8, 0xad, 0xb0, 0x84, 0xd7, 0xdc, 0x10, 0x34, 0xb7, 0x7e, - 0x63, 0xc0, 0x25, 0xf5, 0xd4, 0x64, 0x57, 0xee, 0xcf, 0x40, 0x63, 0xd5, 0xc8, 0x51, 0xad, 0xfa, - 0xa3, 0x41, 0x96, 0x26, 0xa7, 0xd5, 0xc6, 0xe1, 0x96, 0xef, 0xe2, 0x17, 0x05, 0xd4, 0x9a, 0x85, - 0x53, 0x5e, 0x42, 0x4a, 0xb4, 0x98, 0xb6, 0xe9, 0x83, 0x46, 0xd9, 0xd2, 0x51, 0x95, 0xfd, 0xb5, - 0x01, 0x4b, 0xa2, 0xb2, 0xd1, 0xc6, 0x21, 0xa9, 0x6a, 0xbd, 0x52, 0x72, 0x62, 0x6e, 0x34, 0x33, - 0x91, 0x8d, 0xba, 0xab, 0xe8, 0x5b, 0x70, 0x8e, 0x5b, 0x6f, 0xec, 0x38, 0x96, 0x16, 0x8d, 0x37, - 0x6b, 0xdc, 0xc1, 0xb2, 0xa6, 0xc8, 0x0f, 0xca, 0xc4, 0x46, 0x71, 0x46, 0xc0, 0x70, 0xcb, 0xf1, - 0x27, 0x06, 0xcc, 0xf2, 0x3e, 0x3c, 0xd9, 0xa2, 0xf6, 0x63, 0x03, 0xce, 0xa9, 0x2a, 0xcf, 0x91, - 0x4a, 0xda, 0x70, 0xaa, 0xfc, 0xa5, 0x04, 0xf3, 0xb9, 0xfe, 0x47, 0x77, 0x60, 0x8c, 0x6d, 0xaf, - 0x06, 0x49, 0x97, 0x6a, 0xbe, 0x2e, 0x6c, 0x93, 0x65, 0xf4, 0x68, 0x09, 0xa6, 0xe8, 0x5f, 0xf5, - 0x46, 0xe0, 0x62, 0xb6, 0x5c, 0x80, 0xbe, 0xba, 0x17, 0xb8, 0x38, 0xa9, 0x6d, 0x38, 0x0c, 0x83, - 0xb0, 0xde, 0xc6, 0x51, 0xe4, 0x34, 0x31, 0x59, 0x2a, 0x93, 0x76, 0x99, 0xbc, 0x7c, 0x44, 0xdf, - 0xa1, 0x1b, 0x30, 0x46, 0x72, 0x2f, 0xaa, 0x8c, 0x92, 0xb8, 0xcc, 0xaa, 0xd2, 0xd5, 0x66, 0x34, - 0xc2, 0x3a, 0x38, 0x25, 0xae, 0x83, 0x15, 0x98, 0xe1, 0xb3, 0xd1, 0x73, 0x2b, 0x63, 0x84, 0x60, - 0x9a, 0x7b, 0xab, 0x2a, 0xb8, 0xe3, 0x8a, 0x82, 0x7b, 0x29, 0x3d, 0x79, 0xb0, 0x53, 0xd0, 0x04, - 0x39, 0x05, 0xd1, 0xd3, 0x05, 0x3d, 0x29, 0x09, 0xa1, 0x98, 0x2c, 0x18, 0x0a, 0x74, 0x1d, 0xce, - 0x36, 0x82, 0xf6, 0x41, 0x27, 0x76, 0x88, 0xf4, 0x0e, 0xf1, 0x0a, 0x10, 0xe6, 0x67, 0xb8, 0x81, - 0x8f, 0x93, 0xf7, 0xd6, 0x5b, 0x70, 0x76, 0x13, 0xc7, 0xeb, 0xf4, 0x1b, 0x2c, 0x2d, 0x04, 0x15, - 0x18, 0x77, 0x5c, 0x37, 0xc4, 0x51, 0x94, 0xd6, 0x01, 0xf6, 0x68, 0xfd, 0x00, 0x10, 0x4f, 0xde, - 0x3d, 0x47, 0x8f, 0xb3, 0xaf, 0x38, 0x96, 0x6b, 0x73, 0x92, 0x96, 0xe9, 0x84, 0x94, 0x6c, 0xb8, - 0x1c, 0x7b, 0x17, 0x2e, 0xf6, 0x84, 0xaf, 0xab, 0x4e, 0xc4, 0xf9, 0x8a, 0xbf, 0x80, 0xd3, 0x27, - 0xa4, 0xf5, 0xa7, 0xa2, 0xd6, 0x1b, 0xbd, 0xf0, 0xf6, 0xd5, 0x3a, 0x93, 0x22, 0x23, 0x99, 0x14, - 0xb1, 0xde, 0x26, 0x67, 0x49, 0xc6, 0x7e, 0xc3, 0x69, 0x39, 0x7e, 0x03, 0xf7, 0x77, 0xc7, 0x3a, - 0xac, 0x64, 0x66, 0x0d, 0xe8, 0x51, 0x57, 0xc9, 0xe2, 0xb8, 0xcd, 0x7b, 0x06, 0x73, 0xb2, 0x6d, - 0x2c, 0x7c, 0x57, 0xe0, 0x34, 0x8b, 0x4b, 0x7d, 0x97, 0x0e, 0xb1, 0xef, 0x88, 0x19, 0x47, 0x98, - 0x30, 0x5c, 0xd4, 0xbe, 0x42, 0x8e, 0x5d, 0x4c, 0xf4, 0x87, 0xf8, 0x30, 0xea, 0xef, 0x90, 0xf7, - 0xc0, 0x12, 0xa7, 0x0c, 0xe8, 0x50, 0x27, 0x3b, 0xff, 0xb8, 0xbd, 0x99, 0x6c, 0x18, 0x82, 0x4d, - 0xdd, 0x0d, 0xa3, 0x9c, 0xfa, 0xf2, 0x29, 0x3e, 0x4c, 0x77, 0xaf, 0x79, 0xf5, 0x7a, 0xf8, 0x10, - 0x1f, 0xda, 0x53, 0x4e, 0x8f, 0xcb, 0x70, 0x0e, 0xfe, 0x04, 0x2e, 0xdd, 0x27, 0x4d, 0x16, 0xbc, - 0xd3, 0x08, 0xbd, 0x03, 0xf5, 0x7a, 0x9e, 0x83, 0xb1, 0x88, 0x8c, 0x32, 0x5b, 0xd9, 0x13, 0xba, - 0x00, 0x93, 0x4e, 0xd8, 0xec, 0xb4, 0x49, 0x49, 0x1f, 0xa9, 0x96, 0x56, 0xcb, 0x76, 0xef, 0x85, - 0x75, 0x00, 0x8b, 0x12, 0xeb, 0xe2, 0x07, 0x9d, 0x9e, 0xc4, 0x91, 0x7c, 0x89, 0x25, 0x59, 0xe2, - 0xe7, 0x19, 0x63, 0x14, 0x91, 0x93, 0xe3, 0x63, 0x64, 0xeb, 0xfd, 0x70, 0xd2, 0x7f, 0x6e, 0xc0, - 0x1b, 0x82, 0xf8, 0x6e, 0x5c, 0x67, 0xe1, 0xd4, 0x33, 0xa7, 0xd5, 0xc1, 0xcc, 0x4a, 0xfa, 0x30, - 0x54, 0xbc, 0xd4, 0xbb, 0x4a, 0x29, 0x67, 0x57, 0xf9, 0x8f, 0x41, 0x8a, 0x1e, 0xd9, 0x56, 0xa3, - 0x07, 0x41, 0xc8, 0x1c, 0xe1, 0xf8, 0xcd, 0x6e, 0x6d, 0x42, 0x30, 0x1a, 0x1f, 0x1e, 0x50, 0xcd, - 0x26, 0x6d, 0xf2, 0x77, 0xe2, 0xa1, 0x28, 0x76, 0xc2, 0x58, 0xca, 0x60, 0xf2, 0x8e, 0x79, 0x68, - 0x11, 0x00, 0xfb, 0x6e, 0x4a, 0x40, 0xe5, 0x4f, 0x62, 0xdf, 0x65, 0xc3, 0xaf, 0xf0, 0x23, 0xe6, - 0x0f, 0x06, 0xf9, 0x8a, 0xe9, 0xda, 0xc4, 0x72, 0x2a, 0xd2, 0x19, 0xb4, 0x00, 0x93, 0x69, 0xa2, - 0xa5, 0x79, 0x3a, 0xc1, 0x32, 0x2d, 0x7a, 0x95, 0xa7, 0xfd, 0x7f, 0x8c, 0xc0, 0x0c, 0x55, 0x94, - 0x5b, 0xe2, 0xe3, 0xe2, 0xd9, 0xd9, 0x12, 0xce, 0xce, 0x22, 0x75, 0x8d, 0x9d, 0xdf, 0xd2, 0x29, - 0x43, 0xa5, 0x8c, 0xf9, 0x57, 0x03, 0xc6, 0x28, 0x23, 0xdd, 0x8a, 0xeb, 0x5f, 0xb6, 0xb8, 0xe3, - 0x5b, 0xa9, 0xc0, 0xf1, 0xed, 0x1e, 0x9c, 0xa6, 0x0c, 0xbb, 0x6d, 0x53, 0x12, 0xfc, 0xe4, 0x04, - 0x4c, 0x1b, 0xab, 0xb5, 0xb4, 0xb1, 0x5a, 0x7b, 0x9c, 0x52, 0xd8, 0x33, 0x64, 0x4a, 0xf7, 0xd9, - 0x5a, 0x24, 0xc1, 0xfe, 0x08, 0xc7, 0xcf, 0x83, 0xf0, 0xe9, 0xb6, 0x13, 0x3a, 0x6d, 0x1c, 0xe3, - 0x30, 0x0d, 0xb6, 0x75, 0x97, 0x7c, 0xfa, 0x29, 0x86, 0x99, 0xb7, 0xe7, 0x61, 0xa2, 0xb1, 0xef, - 0x78, 0x7e, 0x6a, 0xef, 0xa4, 0x3d, 0x4e, 0x9e, 0xb7, 0x5c, 0xeb, 0x0a, 0xd9, 0x37, 0x69, 0xb1, - 0xdb, 0x4e, 0x14, 0x69, 0x04, 0xad, 0xe4, 0xd0, 0x8b, 0x77, 0x7c, 0xe7, 0x20, 0xda, 0x0f, 0xd2, - 0x7a, 0x61, 0xdd, 0x87, 0xd5, 0x4d, 0xac, 0x26, 0x19, 0xe0, 0xd3, 0xcd, 0x7a, 0x08, 0x57, 0xf2, - 0xd9, 0x0c, 0x5a, 0xa1, 0xac, 0x97, 0x06, 0x2c, 0xe6, 0x68, 0xcd, 0x4c, 0xaf, 0x01, 0x8a, 0x70, - 0xe8, 0x39, 0x2d, 0xef, 0xfb, 0xd8, 0x4d, 0x47, 0x99, 0x52, 0x8a, 0x91, 0xe1, 0x76, 0x8f, 0x6f, - 0xc2, 0x72, 0xb2, 0x16, 0xd3, 0x2e, 0x3d, 0xcd, 0xb2, 0xde, 0xa2, 0x2c, 0xe0, 0x96, 0xdf, 0x1b, - 0x69, 0xcd, 0x56, 0xce, 0x67, 0xc6, 0x6c, 0xc1, 0x19, 0x19, 0x0a, 0xc8, 0xe9, 0x8d, 0x4b, 0xbc, - 0xec, 0xd3, 0x58, 0x7c, 0x31, 0x9c, 0x9d, 0x6b, 0xa4, 0xe5, 0x2d, 0xf1, 0xd6, 0xb5, 0xff, 0x7e, - 0x6b, 0xc0, 0x82, 0x92, 0xfc, 0x35, 0x31, 0xe8, 0xef, 0x06, 0xbc, 0xb9, 0xd3, 0xd9, 0x4d, 0xf6, - 0xb5, 0x5d, 0x4c, 0xbc, 0x1d, 0x3d, 0x08, 0x83, 0xf6, 0x4e, 0x52, 0xe2, 0xa5, 0xe0, 0x5d, 0x86, - 0x19, 0xba, 0x1b, 0x48, 0x21, 0xa4, 0x7b, 0xc4, 0x06, 0x2b, 0x1f, 0x47, 0xec, 0xdf, 0xe6, 0x34, - 0x9b, 0x4b, 0x79, 0xcd, 0xe6, 0x7f, 0x19, 0xb0, 0x92, 0xa7, 0xbf, 0xb8, 0x98, 0x6e, 0x00, 0xe2, - 0xd5, 0x17, 0x96, 0xd4, 0x99, 0x9e, 0x09, 0xac, 0xc4, 0xfd, 0x9f, 0xcd, 0xf8, 0xa5, 0x01, 0x55, - 0x85, 0x19, 0xb4, 0x2a, 0xa5, 0x16, 0xc8, 0x3a, 0x19, 0xc7, 0xa2, 0x53, 0x6e, 0x1f, 0xff, 0x3e, - 0x9c, 0x97, 0x54, 0x1a, 0xa6, 0xa1, 0x6f, 0xfd, 0xca, 0x80, 0x1b, 0x22, 0x1f, 0x0a, 0xe1, 0x9c, - 0x68, 0x9e, 0x59, 0x5f, 0x1a, 0x70, 0x5d, 0xaf, 0xd5, 0xc9, 0x65, 0x8f, 0xd5, 0x94, 0xd7, 0x24, - 0xa7, 0xdb, 0x71, 0xa6, 0x84, 0xb5, 0x03, 0x8b, 0x4a, 0x41, 0x1c, 0xfe, 0x38, 0x46, 0xc1, 0xde, - 0x02, 0x90, 0x1c, 0xa3, 0x54, 0x04, 0xfc, 0x7d, 0xaf, 0x89, 0xa3, 0xf8, 0x75, 0x0b, 0xb8, 0xac, - 0xd5, 0xeb, 0x14, 0x70, 0x4e, 0xb7, 0x63, 0x0d, 0xf8, 0xef, 0x0c, 0x39, 0xe2, 0x4c, 0x12, 0x7f, - 0x52, 0x3a, 0xc2, 0xc9, 0x50, 0x71, 0xd6, 0x2b, 0x0d, 0x7c, 0xd6, 0xfb, 0xb7, 0x01, 0xd7, 0x76, - 0xb0, 0xef, 0xae, 0xfb, 0x6e, 0x57, 0xd7, 0x4c, 0x47, 0x12, 0x47, 0xc7, 0x02, 0x18, 0xbd, 0xca, - 0x4e, 0xfa, 0x9f, 0x92, 0x94, 0x2b, 0x62, 0x47, 0xbf, 0xd6, 0xba, 0x71, 0xc4, 0xd6, 0xfa, 0x32, - 0x4c, 0xb3, 0x6e, 0x6c, 0xbd, 0x87, 0x72, 0x8c, 0xda, 0x65, 0xf6, 0x92, 0x80, 0x24, 0xb7, 0xfe, - 0x7b, 0x15, 0x26, 0xd7, 0x09, 0xf7, 0xf5, 0xed, 0x2d, 0xf4, 0x35, 0x18, 0xdd, 0xf6, 0xfc, 0x26, - 0xaa, 0x08, 0x62, 0xb9, 0x5b, 0x0e, 0xe6, 0xbc, 0x62, 0x84, 0x19, 0x82, 0x49, 0x57, 0x52, 0xba, - 0x9d, 0x80, 0x44, 0x0b, 0x72, 0x6f, 0x44, 0x98, 0x57, 0xfa, 0xd2, 0x31, 0x31, 0xbb, 0x30, 0xab, - 0xba, 0xe8, 0x80, 0x56, 0x65, 0x06, 0x79, 0x77, 0x21, 0xcc, 0xaa, 0x40, 0xa9, 0xba, 0x92, 0xf0, - 0x19, 0x31, 0x45, 0xba, 0x10, 0x91, 0x35, 0x45, 0x7d, 0x63, 0xa2, 0x00, 0xff, 0x3d, 0x98, 0x53, - 0xdf, 0xa1, 0x40, 0xd7, 0xb4, 0x32, 0x84, 0x62, 0x55, 0x40, 0xce, 0x36, 0xcc, 0x88, 0x8e, 0x40, - 0x96, 0xc6, 0x4b, 0x29, 0x5f, 0x33, 0xcb, 0xb7, 0xcb, 0xf1, 0x21, 0x94, 0xf9, 0x0b, 0x0a, 0xa8, - 0xaa, 0xd4, 0x97, 0xf7, 0x86, 0x8e, 0xdb, 0x63, 0x38, 0x23, 0xdf, 0x4b, 0x40, 0x97, 0x73, 0x38, - 0x8a, 0xb6, 0xeb, 0xb8, 0x7e, 0x87, 0x74, 0xd3, 0x45, 0xa0, 0x1e, 0xad, 0xc8, 0x6c, 0x95, 0x40, - 0xbe, 0xb9, 0x24, 0x90, 0x29, 0x70, 0xf3, 0x26, 0x69, 0x49, 0x66, 0x6f, 0x02, 0xa0, 0xab, 0xb2, - 0x80, 0xdc, 0xdb, 0x02, 0xe6, 0xb2, 0x40, 0x9a, 0x03, 0xd0, 0x7f, 0x17, 0x4e, 0x4b, 0x98, 0x36, - 0x12, 0xe7, 0xa9, 0x91, 0x74, 0xf3, 0xb2, 0x9e, 0x88, 0x71, 0x7f, 0x42, 0x32, 0x83, 0x67, 0x9e, - 0xc9, 0x0c, 0x05, 0xef, 0xaa, 0xa6, 0x1c, 0xf1, 0xab, 0x33, 0x53, 0xa8, 0x0a, 0x71, 0x2f, 0x58, - 0xec, 0xd0, 0x01, 0xe9, 0x0a, 0x64, 0xc6, 0x19, 0xee, 0x9b, 0x0d, 0x44, 0x2e, 0x36, 0x5c, 0x58, - 0xe2, 0x73, 0xd2, 0x48, 0xcb, 0xe2, 0xa3, 0xdd, 0x0e, 0x00, 0xba, 0xa1, 0x11, 0x9a, 0xc1, 0x78, - 0xa5, 0x62, 0xa7, 0xc1, 0x5d, 0x9f, 0x12, 0x5c, 0x41, 0xc9, 0x6b, 0x40, 0x91, 0x97, 0xf2, 0x44, - 0x46, 0x52, 0xec, 0x32, 0x28, 0x7f, 0xb6, 0xb2, 0xe6, 0xdd, 0x21, 0x28, 0x90, 0x1f, 0x31, 0xb9, - 0xf8, 0x96, 0x73, 0x93, 0x00, 0xd5, 0x0a, 0x48, 0xe2, 0xae, 0x1c, 0x14, 0x8e, 0xdf, 0x23, 0x80, - 0x5e, 0x53, 0x1f, 0x5d, 0x94, 0xa5, 0x88, 0xc0, 0x9b, 0x54, 0x03, 0x14, 0x48, 0x9b, 0x4b, 0xae, - 0x53, 0xa9, 0x20, 0x30, 0x74, 0x3d, 0x67, 0xae, 0xaa, 0xb1, 0x6e, 0x5e, 0x10, 0x88, 0xfb, 0x48, - 0xe1, 0x0f, 0x9e, 0xf9, 0x52, 0xb2, 0x1d, 0xef, 0x3e, 0x52, 0xea, 0x3c, 0xf4, 0x98, 0x82, 0x35, - 0x2b, 0x39, 0xfc, 0x45, 0x64, 0x4b, 0xaa, 0x63, 0x39, 0x08, 0xd1, 0x21, 0x8f, 0xbc, 0xa9, 0x40, - 0x2e, 0x74, 0x4b, 0x2f, 0x4d, 0xe9, 0xba, 0x23, 0x88, 0xe6, 0x1d, 0xd9, 0x57, 0xb4, 0xc2, 0x9f, - 0x85, 0x44, 0xd3, 0xfa, 0xca, 0xa1, 0x3c, 0xd9, 0x0a, 0x98, 0x85, 0xb5, 0xa4, 0xf5, 0xa3, 0xc2, - 0x88, 0x68, 0xed, 0xcb, 0x83, 0xb7, 0xd0, 0x9a, 0x46, 0x88, 0xd2, 0x8f, 0x43, 0x49, 0xe4, 0x3d, - 0xa8, 0x97, 0xa8, 0x70, 0x5f, 0x11, 0x89, 0x66, 0x3e, 0x28, 0x25, 0xd5, 0x88, 0xbe, 0xe8, 0x95, - 0x69, 0xe5, 0xd3, 0x77, 0x25, 0xee, 0xc3, 0x9c, 0x1a, 0xab, 0x92, 0xce, 0x63, 0x5a, 0x40, 0xab, - 0x90, 0xa4, 0xac, 0x6d, 0xbc, 0x33, 0x6b, 0x7d, 0xa5, 0x89, 0xbe, 0x2c, 0x22, 0xb1, 0x41, 0xca, - 0x88, 0x0a, 0x04, 0xca, 0x96, 0x11, 0x0d, 0x54, 0x64, 0x2e, 0x68, 0x90, 0x0a, 0xf4, 0x29, 0xd9, - 0x3a, 0x32, 0xa8, 0x4c, 0x76, 0xeb, 0xc8, 0x03, 0x6e, 0xf4, 0xec, 0x9f, 0x12, 0xf6, 0x99, 0x46, - 0x7f, 0x96, 0x7d, 0x1e, 0x54, 0x60, 0x5e, 0x2d, 0x40, 0xc9, 0x84, 0x7d, 0x41, 0x61, 0x33, 0x0d, - 0x36, 0x90, 0x2d, 0x1b, 0xfd, 0x81, 0x04, 0x53, 0xcc, 0x24, 0x7d, 0xf7, 0xfe, 0x47, 0xf4, 0xc2, - 0x9d, 0x1e, 0x75, 0x40, 0x5f, 0x95, 0xb5, 0x28, 0x84, 0x52, 0x0c, 0xa4, 0xc8, 0x4b, 0x03, 0xaa, - 0xfd, 0x70, 0x0b, 0xf4, 0x76, 0x41, 0x3d, 0xc4, 0xdc, 0x1d, 0x44, 0x8d, 0x2f, 0xe8, 0x25, 0xbf, - 0x5c, 0xa4, 0x00, 0xdd, 0xcc, 0xe4, 0x59, 0x1f, 0x50, 0xc2, 0x54, 0x2d, 0x35, 0x1d, 0x06, 0xe1, - 0x93, 0x4f, 0x36, 0x45, 0x53, 0x3f, 0xfb, 0xc9, 0x96, 0x0f, 0x14, 0x98, 0xab, 0x3a, 0xa9, 0x02, - 0x44, 0xf0, 0x43, 0x58, 0xea, 0xd3, 0xa1, 0x47, 0xb7, 0xc5, 0x93, 0x7e, 0xa1, 0x7e, 0xbe, 0xfc, - 0x79, 0xa0, 0x6e, 0xf5, 0xde, 0x34, 0xd0, 0xe7, 0x70, 0x51, 0xdf, 0x61, 0x97, 0x16, 0x41, 0xa1, - 0x76, 0x7c, 0x61, 0xe9, 0x21, 0xcc, 0xe7, 0x36, 0xc6, 0xd1, 0x5b, 0xfd, 0x04, 0x0b, 0xcd, 0xb3, - 0xc2, 0x32, 0x7f, 0x91, 0x01, 0x15, 0x72, 0x5a, 0xd6, 0xe8, 0xae, 0x86, 0xa3, 0xbe, 0xcd, 0x2d, - 0x65, 0xbd, 0xb6, 0x0d, 0x7b, 0xd3, 0x40, 0x3f, 0x33, 0xe0, 0x72, 0x91, 0x7e, 0x35, 0xba, 0x33, - 0x80, 0x46, 0xba, 0x65, 0xd8, 0x4f, 0xa1, 0x97, 0x86, 0x9c, 0x96, 0x99, 0x26, 0xb5, 0x36, 0x2d, - 0xf3, 0x5a, 0xda, 0x03, 0xaa, 0x91, 0x0d, 0x55, 0x4e, 0xb3, 0x59, 0x1b, 0x2a, 0x7d, 0x83, 0x5a, - 0xab, 0x92, 0xd4, 0x3f, 0x55, 0x86, 0x4a, 0xdd, 0x69, 0xd6, 0x86, 0x4a, 0xdb, 0x9c, 0x1e, 0x50, - 0xa1, 0x6c, 0xa8, 0x32, 0xed, 0x65, 0x6d, 0xa8, 0xf2, 0x9a, 0xd1, 0x03, 0xaa, 0xf1, 0xa5, 0x01, - 0xcb, 0x05, 0xda, 0xa1, 0xe8, 0x9d, 0x4c, 0xdb, 0xa2, 0x58, 0x23, 0xd8, 0xbc, 0x33, 0xf8, 0xc4, - 0x54, 0xb9, 0x8d, 0x87, 0x60, 0x06, 0x61, 0xb3, 0x16, 0xf8, 0x84, 0x45, 0xb7, 0x49, 0x4d, 0x79, - 0x7d, 0xbb, 0xd6, 0xf4, 0xe2, 0xfd, 0xce, 0x6e, 0xad, 0x11, 0xb4, 0xd7, 0x28, 0xc9, 0x1a, 0xf9, - 0xa7, 0xfb, 0x8b, 0xb0, 0x66, 0xb0, 0xc6, 0xfd, 0xd8, 0x6e, 0x77, 0x8c, 0x0c, 0xdc, 0xfe, 0x5f, - 0x00, 0x00, 0x00, 0xff, 0xff, 0xd3, 0xfb, 0x39, 0xe3, 0x82, 0x37, 0x00, 0x00, + // 2607 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0x5b, 0x6f, 0xdc, 0xc6, + 0x15, 0x06, 0xb5, 0xb2, 0x2e, 0x47, 0x2b, 0xd9, 0x1e, 0x2b, 0xf2, 0x8a, 0xb2, 0xac, 0x35, 0x65, + 0xc7, 0x8a, 0xed, 0xac, 0x0c, 0x3b, 0x45, 0xec, 0xf4, 0x82, 0x4a, 0x8e, 0xad, 0x08, 0xb5, 0x03, + 0x81, 0x72, 0x5c, 0xa4, 0x6d, 0xb2, 0xa0, 0x96, 0xa3, 0x15, 0xe1, 0x15, 0xa9, 0x92, 0x5c, 0xdb, + 0x6a, 0x83, 0x22, 0x0f, 0x46, 0x51, 0xa0, 0xe8, 0x0d, 0x2d, 0x50, 0x34, 0x40, 0x5f, 0xda, 0xa7, + 0xb6, 0x0f, 0x7d, 0xea, 0x43, 0x51, 0x14, 0x05, 0x82, 0xf6, 0x07, 0xf4, 0x1f, 0x15, 0x9c, 0x19, + 0x2e, 0x67, 0x86, 0x33, 0x5c, 0xee, 0x4a, 0xae, 0xfc, 0x62, 0x8b, 0x9c, 0x33, 0xe7, 0x32, 0xe7, + 0x32, 0xc3, 0xef, 0xcc, 0x42, 0x6d, 0xb7, 0x13, 0x3c, 0x5f, 0x75, 0x5a, 0x2d, 0x1c, 0x45, 0xec, + 0xbf, 0xc6, 0x41, 0x18, 0xc4, 0x01, 0x9a, 0x4a, 0x46, 0x1a, 0xf4, 0x95, 0xb9, 0x40, 0xc8, 0xb0, + 0x1f, 0x7b, 0xb1, 0x87, 0x09, 0x61, 0xd0, 0xf5, 0x63, 0x4a, 0x69, 0xd6, 0xc5, 0xc1, 0x9d, 0x4e, + 0xd0, 0x7a, 0xda, 0xdc, 0xc3, 0x8e, 0x8b, 0x43, 0x46, 0x31, 0xaf, 0xa0, 0x60, 0x43, 0x17, 0xc5, + 0xa1, 0x56, 0xd0, 0xe9, 0xe0, 0x56, 0xec, 0x05, 0xbe, 0x7a, 0x2a, 0x7e, 0x86, 0x7b, 0x72, 0x2f, + 0x4b, 0x43, 0x2f, 0x70, 0xab, 0x9b, 0xcc, 0x6c, 0x86, 0x38, 0xea, 0x76, 0x52, 0xaa, 0x0b, 0x22, + 0xd5, 0x3e, 0x8e, 0x1d, 0xd7, 0x89, 0x1d, 0x36, 0x7a, 0x45, 0x1c, 0xf5, 0x03, 0x17, 0x37, 0x9f, + 0xe1, 0x30, 0x4a, 0xd8, 0x78, 0xfe, 0x6e, 0xc0, 0xc8, 0x96, 0x44, 0xb2, 0x38, 0x74, 0xfc, 0xc8, + 0xe1, 0xd5, 0x5c, 0x6a, 0x07, 0x41, 0xbb, 0x83, 0x57, 0xc9, 0xd3, 0x4e, 0x77, 0x77, 0x35, 0xf6, + 0xf6, 0x71, 0x14, 0x3b, 0xfb, 0x07, 0x94, 0xc0, 0x9a, 0x86, 0xa9, 0x2d, 0xcf, 0x6f, 0xdb, 0xf8, + 0xfb, 0x5d, 0x1c, 0xc5, 0xd6, 0x0c, 0x54, 0xe9, 0x63, 0x74, 0x10, 0xf8, 0x11, 0xb6, 0x16, 0x60, + 0x7e, 0x03, 0xc7, 0x1f, 0x06, 0x2e, 0x7e, 0x42, 0xa5, 0x6f, 0xfa, 0xbb, 0x41, 0x4a, 0xbc, 0x05, + 0xa6, 0x6a, 0x90, 0x4e, 0x45, 0xb7, 0x60, 0x34, 0xd1, 0xb4, 0x66, 0xd4, 0x8d, 0x95, 0xa9, 0x5b, + 0x17, 0x1b, 0xc4, 0x6f, 0xa9, 0xaa, 0x0d, 0x79, 0x16, 0xa1, 0xb5, 0xde, 0x83, 0x85, 0x0d, 0x1c, + 0x3f, 0x74, 0x62, 0x1c, 0xc5, 0xeb, 0x89, 0x37, 0x3e, 0x20, 0xee, 0x62, 0x02, 0xd1, 0x02, 0x4c, + 0x7a, 0x51, 0x33, 0xc2, 0x4e, 0x07, 0xbb, 0x84, 0xef, 0x84, 0x3d, 0xe1, 0x45, 0xdb, 0xe4, 0xd9, + 0xba, 0x4e, 0x54, 0xe5, 0x66, 0xad, 0x1f, 0x6e, 0xbe, 0x9f, 0xce, 0x9c, 0x81, 0x11, 0x8f, 0x4e, + 0xa9, 0xda, 0x23, 0x9e, 0x6b, 0xbd, 0x0b, 0x8b, 0x32, 0xf1, 0x07, 0xd8, 0x6b, 0xef, 0xc5, 0xe9, + 0x84, 0x39, 0x18, 0xdb, 0x23, 0x2f, 0xc8, 0xa4, 0x51, 0x9b, 0x3d, 0x59, 0xff, 0x30, 0xe0, 0x9c, + 0xa0, 0x19, 0xb3, 0xf6, 0x26, 0x9c, 0x22, 0xe1, 0xc3, 0xcc, 0x35, 0x25, 0x73, 0xf9, 0x29, 0x94, + 0x10, 0x7d, 0x1d, 0xaa, 0x34, 0x24, 0xa3, 0xd8, 0x89, 0xbb, 0x51, 0x6d, 0xa4, 0x6e, 0xac, 0xcc, + 0xa8, 0x27, 0x6e, 0x13, 0x0a, 0x7b, 0x6a, 0x27, 0x7b, 0x40, 0xb7, 0x61, 0x22, 0x8d, 0x99, 0x5a, + 0x85, 0xc8, 0x3c, 0x2f, 0x4d, 0x7d, 0xc4, 0x86, 0xed, 0x1e, 0xa1, 0xe5, 0xc2, 0x1b, 0xe2, 0xfa, + 0x96, 0x59, 0x59, 0xd4, 0x80, 0x73, 0xbb, 0xdd, 0x4e, 0xa7, 0x49, 0xd5, 0x0d, 0x99, 0xc9, 0x44, + 0xe1, 0x09, 0xfb, 0x6c, 0x32, 0xc4, 0x78, 0xb1, 0xa0, 0xf9, 0x08, 0xce, 0xa5, 0x8b, 0x5b, 0xe0, + 0x83, 0x81, 0xd9, 0x3a, 0x70, 0x3e, 0x63, 0x5b, 0xca, 0x5b, 0x03, 0x8b, 0xf8, 0xab, 0x01, 0xd3, + 0xc2, 0x1b, 0x74, 0x4d, 0xf4, 0xeb, 0xac, 0xca, 0x3d, 0x27, 0xe9, 0xd1, 0x6b, 0x50, 0xdb, 0xc0, + 0xf1, 0xbd, 0x5e, 0x79, 0x2a, 0x0a, 0xfa, 0x06, 0x5c, 0xd8, 0xc0, 0xf1, 0x83, 0x6e, 0xa7, 0x53, + 0x8e, 0xfe, 0xa5, 0x01, 0x28, 0xa3, 0xec, 0x2d, 0xc9, 0x5d, 0x80, 0xac, 0x1c, 0xb2, 0x75, 0x99, + 0x97, 0x34, 0xe5, 0xa6, 0x71, 0xc4, 0x82, 0x89, 0x23, 0x65, 0x4d, 0xfc, 0x99, 0x01, 0x73, 0xa2, + 0xd2, 0x3d, 0x55, 0xbe, 0x01, 0x55, 0xae, 0xe6, 0x45, 0x35, 0xa3, 0x5e, 0x51, 0x24, 0xdf, 0xe3, + 0x8c, 0xc4, 0x16, 0xe8, 0x87, 0xd3, 0xe7, 0x09, 0xcc, 0x6d, 0x63, 0xdf, 0xe5, 0xb9, 0xb2, 0x05, + 0xfc, 0x1a, 0x4c, 0x71, 0xec, 0x35, 0xa5, 0x80, 0x9f, 0xc7, 0x93, 0x5b, 0x9f, 0xc2, 0xf9, 0x1c, + 0x5f, 0x66, 0xa7, 0x9c, 0x3a, 0x43, 0xe9, 0xfd, 0xa5, 0x41, 0xb2, 0x5f, 0xa1, 0xb7, 0xcc, 0x7e, + 0x1e, 0x26, 0x68, 0x20, 0x7b, 0x2e, 0x61, 0x5f, 0xb5, 0xc7, 0xc9, 0xf3, 0xa6, 0x8b, 0x96, 0x61, + 0x3a, 0xf3, 0x67, 0x32, 0x5e, 0x21, 0xe3, 0xd5, 0xec, 0xe5, 0xa6, 0x8b, 0x3e, 0x86, 0x39, 0xb2, + 0x21, 0x36, 0xb1, 0xdf, 0x0a, 0x5c, 0xcf, 0x6f, 0xa7, 0x7b, 0x57, 0x6d, 0x94, 0xa4, 0xc4, 0xb2, + 0xa4, 0xec, 0xfd, 0x84, 0xf8, 0x3e, 0xa3, 0x65, 0xbb, 0x82, 0x3d, 0x8b, 0x15, 0x6f, 0xad, 0x3b, + 0x64, 0x87, 0xd8, 0x3e, 0x8c, 0x62, 0xbc, 0xaf, 0xb0, 0x84, 0xd7, 0xdc, 0x10, 0x34, 0xb7, 0x7e, + 0x67, 0xc0, 0x25, 0xf5, 0xd4, 0x64, 0x57, 0xee, 0xcf, 0xa0, 0xc0, 0xaa, 0x91, 0xa3, 0x5a, 0xf5, + 0x67, 0x83, 0xa4, 0x26, 0xa7, 0xd5, 0xfa, 0xe1, 0xa6, 0xef, 0xe2, 0x17, 0x25, 0xd4, 0x9a, 0x85, + 0x53, 0x5e, 0x42, 0x4a, 0xb4, 0x98, 0xb6, 0xe9, 0x43, 0x81, 0xb2, 0x95, 0xa3, 0x2a, 0xfb, 0x5b, + 0x03, 0x96, 0x44, 0x65, 0xa3, 0xf5, 0x43, 0x52, 0xd5, 0xb2, 0x52, 0x72, 0x62, 0xcb, 0x68, 0xe6, + 0x3c, 0x1b, 0xf5, 0xb2, 0xe8, 0xdb, 0x70, 0x8e, 0xcb, 0x37, 0x76, 0x1c, 0x4b, 0x8b, 0xc6, 0x9b, + 0x0d, 0xee, 0x60, 0xd9, 0x50, 0xc4, 0x07, 0x65, 0x62, 0xa3, 0x38, 0x27, 0x60, 0xb8, 0x74, 0xfc, + 0xa9, 0x01, 0xb3, 0xfc, 0x1a, 0x9e, 0x6c, 0x51, 0xfb, 0x89, 0x01, 0xe7, 0x54, 0x95, 0xe7, 0x48, + 0x25, 0x6d, 0x38, 0x55, 0xfe, 0x56, 0x81, 0x79, 0xed, 0xfa, 0xa3, 0x3b, 0x30, 0xc6, 0xb6, 0x57, + 0x83, 0x84, 0x4b, 0x5d, 0xaf, 0x0b, 0xdb, 0x64, 0x19, 0x3d, 0x5a, 0x82, 0x29, 0xfa, 0x57, 0xb3, + 0x15, 0xb8, 0x98, 0xa5, 0x0b, 0xd0, 0x57, 0xf7, 0x02, 0x17, 0x27, 0xb5, 0x0d, 0x87, 0x61, 0x10, + 0x36, 0xf7, 0x71, 0x14, 0x39, 0x6d, 0x4c, 0x52, 0x65, 0xd2, 0xae, 0x92, 0x97, 0x8f, 0xe8, 0x3b, + 0x74, 0x03, 0xc6, 0x48, 0xec, 0x45, 0xb5, 0x51, 0xe2, 0x97, 0x59, 0x55, 0xb8, 0xda, 0x8c, 0x46, + 0xc8, 0x83, 0x53, 0x62, 0x1e, 0x5c, 0x81, 0x19, 0x3e, 0x1a, 0x3d, 0xb7, 0x36, 0x46, 0x08, 0xa6, + 0xb9, 0xb7, 0xaa, 0x82, 0x3b, 0xae, 0x28, 0xb8, 0x97, 0xd2, 0x93, 0x07, 0x3b, 0x05, 0x4d, 0x90, + 0x53, 0x10, 0x3d, 0x5d, 0xd0, 0x93, 0x92, 0xe0, 0x8a, 0xc9, 0x92, 0xae, 0x40, 0xd7, 0xe1, 0x6c, + 0x2b, 0xd8, 0x3f, 0xe8, 0xc6, 0x0e, 0x91, 0xde, 0x25, 0xab, 0x02, 0x84, 0xf9, 0x19, 0x6e, 0xe0, + 0xa3, 0xe4, 0xbd, 0xf5, 0x36, 0x9c, 0xdd, 0xc0, 0xf1, 0x1a, 0xfd, 0x06, 0x4b, 0x0b, 0x41, 0x0d, + 0xc6, 0x1d, 0xd7, 0x0d, 0x71, 0x14, 0xa5, 0x75, 0x80, 0x3d, 0x5a, 0x3f, 0x04, 0xc4, 0x93, 0xf7, + 0xce, 0xd1, 0xe3, 0xec, 0x2b, 0x8e, 0xc5, 0xda, 0x9c, 0xa4, 0x65, 0x3a, 0x21, 0x25, 0x1b, 0x2e, + 0xc6, 0xde, 0x83, 0x8b, 0x99, 0xf0, 0x35, 0xd5, 0x89, 0x58, 0xaf, 0xf8, 0x0b, 0x38, 0x7d, 0x42, + 0x5a, 0x7f, 0x22, 0x6a, 0xbd, 0x9e, 0xb9, 0xb7, 0xaf, 0xd6, 0xb9, 0x10, 0x19, 0xc9, 0x85, 0x88, + 0xb5, 0x06, 0x57, 0x32, 0xf6, 0xeb, 0x4e, 0xc7, 0xf1, 0x5b, 0x78, 0xc0, 0xb5, 0x71, 0x95, 0x2c, + 0x8e, 0x5b, 0xd1, 0xdf, 0x18, 0x30, 0x27, 0xca, 0xe8, 0x79, 0xa2, 0x06, 0xe3, 0x3b, 0xf4, 0x15, + 0xfb, 0x14, 0x48, 0x1f, 0x93, 0x58, 0x76, 0x9e, 0x39, 0x5e, 0xc7, 0xd9, 0xe9, 0xe0, 0x66, 0x4a, + 0x43, 0x99, 0x9f, 0xe9, 0x0d, 0x30, 0x76, 0xc3, 0x9d, 0xc5, 0x63, 0xb0, 0x32, 0xe3, 0xbf, 0x85, + 0x0f, 0xa3, 0xc1, 0x16, 0x0f, 0xbd, 0xc3, 0xef, 0xe4, 0xf9, 0x4f, 0xe6, 0x8c, 0x31, 0x3d, 0x1a, + 0x50, 0x62, 0xcb, 0xc9, 0x4b, 0x3d, 0xee, 0xf5, 0x4e, 0x36, 0x07, 0x4e, 0x00, 0xb7, 0x39, 0x54, + 0x59, 0x3c, 0x37, 0x9f, 0xe2, 0xc3, 0x74, 0xa7, 0x9a, 0xd7, 0xea, 0x6d, 0x4f, 0x39, 0x19, 0x97, + 0xe1, 0x52, 0xe0, 0x63, 0xb8, 0x74, 0x9f, 0x00, 0x2a, 0x78, 0xbb, 0x15, 0x7a, 0x07, 0xea, 0xdc, + 0x9d, 0x83, 0xb1, 0x88, 0x8c, 0x32, 0x5b, 0xd9, 0x13, 0xba, 0x00, 0x93, 0x4e, 0xd8, 0xee, 0xee, + 0x93, 0xf2, 0x3d, 0x52, 0xaf, 0xac, 0x54, 0xed, 0xec, 0x85, 0x75, 0x00, 0x8b, 0x12, 0xeb, 0xf2, + 0x87, 0x9a, 0x4c, 0xe2, 0x88, 0x5e, 0x62, 0x45, 0x96, 0xf8, 0x59, 0xce, 0x18, 0x85, 0xe7, 0x64, + 0xff, 0x18, 0xf9, 0xda, 0x3e, 0x9c, 0xf4, 0x5f, 0x18, 0xf0, 0x86, 0x20, 0xbe, 0xe7, 0xd7, 0x59, + 0x38, 0xf5, 0xcc, 0xe9, 0x74, 0x31, 0xb3, 0x92, 0x3e, 0x0c, 0xe5, 0x2f, 0xf5, 0x0e, 0x52, 0xd1, + 0xec, 0x20, 0xff, 0x35, 0x48, 0x81, 0x23, 0x5b, 0x68, 0xf4, 0x20, 0x08, 0xd9, 0x42, 0x38, 0x7e, + 0x1b, 0xa7, 0xab, 0x81, 0x60, 0x34, 0x3e, 0x3c, 0xa0, 0x9a, 0x4d, 0xda, 0xe4, 0xef, 0x64, 0x85, + 0xa2, 0xd8, 0x09, 0x63, 0x29, 0x82, 0xc9, 0x3b, 0xb6, 0x42, 0x8b, 0x00, 0xd8, 0x77, 0x53, 0x02, + 0x2a, 0x7f, 0x12, 0xfb, 0x2e, 0x1b, 0x7e, 0x85, 0x1f, 0x2c, 0x7f, 0x32, 0xc8, 0x17, 0x4b, 0xcf, + 0x26, 0x16, 0x53, 0x51, 0x91, 0x41, 0x0b, 0x30, 0x99, 0x06, 0x5a, 0x1a, 0xa7, 0x13, 0x2c, 0xd2, + 0xa2, 0x57, 0x79, 0xb2, 0xff, 0xd7, 0x08, 0xcc, 0x50, 0x45, 0xb9, 0x14, 0x1f, 0x17, 0xcf, 0xc9, + 0x96, 0x70, 0x4e, 0x16, 0xa9, 0x1b, 0xec, 0xac, 0x96, 0x4e, 0x19, 0x2a, 0x64, 0xcc, 0xbf, 0x1b, + 0x30, 0x46, 0x19, 0x15, 0x65, 0x5c, 0xff, 0xb2, 0xc5, 0x1d, 0xd5, 0x2a, 0x25, 0x8e, 0x6a, 0xf7, + 0xe0, 0x34, 0x65, 0xd8, 0x83, 0x48, 0x89, 0xf3, 0x93, 0xd3, 0x2e, 0x05, 0x51, 0x1b, 0x29, 0x88, + 0xda, 0x78, 0x9c, 0x52, 0xd8, 0x33, 0x64, 0x4a, 0xef, 0xd9, 0x5a, 0x24, 0xce, 0xfe, 0x10, 0xc7, + 0xcf, 0x83, 0xf0, 0xe9, 0x96, 0x13, 0x3a, 0xfb, 0x38, 0xc6, 0x61, 0xea, 0x6c, 0xeb, 0x2e, 0xf9, + 0xcc, 0x53, 0x0c, 0xb3, 0xd5, 0x9e, 0x87, 0x89, 0xd6, 0x9e, 0xe3, 0xf9, 0xa9, 0xbd, 0x93, 0xf6, + 0x38, 0x79, 0xde, 0x74, 0xad, 0xab, 0x64, 0x67, 0xa5, 0xc5, 0x6e, 0x2b, 0x51, 0xa4, 0x15, 0x74, + 0x92, 0x03, 0x2e, 0xde, 0xf6, 0x9d, 0x83, 0x68, 0x2f, 0x48, 0xeb, 0x85, 0x75, 0x1f, 0x56, 0x36, + 0xb0, 0x9a, 0x64, 0x80, 0xcf, 0x34, 0xeb, 0x21, 0x5c, 0xd5, 0xb3, 0x19, 0xb4, 0x42, 0x59, 0x2f, + 0x0d, 0x58, 0xd4, 0x68, 0xcd, 0x4c, 0x6f, 0x00, 0x8a, 0x70, 0xe8, 0x39, 0x1d, 0xef, 0x07, 0xd8, + 0x4d, 0x47, 0x99, 0x52, 0x8a, 0x91, 0xe1, 0x76, 0x8f, 0x6f, 0xc2, 0x72, 0x92, 0x8b, 0x29, 0x22, + 0x4f, 0xa3, 0x2c, 0x4b, 0xca, 0x12, 0xcb, 0xf2, 0x47, 0x23, 0xad, 0xd9, 0xca, 0xf9, 0xcc, 0x98, + 0x4d, 0x38, 0x23, 0xc3, 0xfe, 0x1a, 0x1c, 0x5c, 0xe2, 0x65, 0x9f, 0xc6, 0xe2, 0x8b, 0xe1, 0xec, + 0x5c, 0x25, 0xf0, 0xb6, 0xc4, 0xbb, 0x08, 0xea, 0xfb, 0xbd, 0x01, 0x0b, 0x4a, 0xf2, 0xd7, 0xc4, + 0xa0, 0x7f, 0x1a, 0xf0, 0xe6, 0x76, 0x77, 0x27, 0xd9, 0xd7, 0x76, 0x30, 0x59, 0xed, 0xe8, 0x41, + 0x18, 0xec, 0x6f, 0x27, 0x25, 0x5e, 0x72, 0xde, 0x65, 0x98, 0xa1, 0xbb, 0x81, 0xe4, 0x42, 0xba, + 0x47, 0xac, 0xb3, 0xf2, 0x71, 0x44, 0xac, 0x56, 0x03, 0x2c, 0x57, 0x74, 0xc0, 0xf2, 0xbf, 0x0d, + 0xb8, 0xa2, 0xd3, 0x5f, 0x4c, 0xa6, 0x1b, 0x80, 0x78, 0xf5, 0x85, 0x94, 0x3a, 0x93, 0x99, 0xc0, + 0x4a, 0xdc, 0xff, 0xd9, 0x8c, 0x5f, 0x19, 0x50, 0x57, 0x98, 0x41, 0xab, 0x52, 0x6a, 0x81, 0xac, + 0x93, 0x71, 0x2c, 0x3a, 0x69, 0x31, 0xfb, 0xfb, 0x70, 0x5e, 0x52, 0x69, 0x18, 0xf0, 0xde, 0xfa, + 0xb5, 0x01, 0x37, 0x44, 0x3e, 0xb4, 0x5d, 0x73, 0xa2, 0x71, 0x66, 0x7d, 0x61, 0xc0, 0xf5, 0x62, + 0xad, 0x4e, 0x2e, 0x7a, 0xac, 0xb6, 0x9c, 0x93, 0x9c, 0x6e, 0xc7, 0x19, 0x12, 0xd6, 0x36, 0x2c, + 0x2a, 0x05, 0x71, 0xbd, 0xc6, 0x31, 0xda, 0xd8, 0x2d, 0xd1, 0x7e, 0x63, 0x94, 0x0a, 0x87, 0xbf, + 0xef, 0xb5, 0x71, 0x14, 0xbf, 0x6e, 0x0e, 0x97, 0xb5, 0x7a, 0x9d, 0x1c, 0xce, 0xe9, 0x76, 0xac, + 0x0e, 0xff, 0x83, 0x21, 0x7b, 0x9c, 0x49, 0xe2, 0x4f, 0x4a, 0x47, 0x38, 0x19, 0x2a, 0xce, 0x7a, + 0x95, 0x81, 0xcf, 0x7a, 0xff, 0x31, 0xe0, 0xda, 0x36, 0xf6, 0xdd, 0x35, 0xdf, 0xed, 0xe9, 0x9a, + 0x43, 0x1f, 0x71, 0x74, 0x2c, 0xcd, 0xa1, 0x57, 0x89, 0x9a, 0xff, 0x25, 0x09, 0xb9, 0x32, 0x76, + 0xf4, 0x83, 0xd1, 0x8d, 0x23, 0xc2, 0xe8, 0xcb, 0x30, 0xcd, 0x90, 0xd7, 0x66, 0x86, 0x83, 0x8c, + 0xda, 0x55, 0xf6, 0x92, 0xa0, 0x1e, 0xb7, 0xbe, 0x5c, 0x81, 0xc9, 0x35, 0xc2, 0x7d, 0x6d, 0x6b, + 0x13, 0x7d, 0x15, 0x46, 0xb7, 0x3c, 0xbf, 0x8d, 0x6a, 0x82, 0x58, 0xee, 0x46, 0x83, 0x39, 0xaf, + 0x18, 0x61, 0x86, 0x60, 0x82, 0x40, 0x4a, 0x37, 0x11, 0x90, 0x68, 0x81, 0xf6, 0xf6, 0x83, 0x79, + 0xb5, 0x2f, 0x1d, 0x13, 0xb3, 0x03, 0xb3, 0xaa, 0x4b, 0x0d, 0x68, 0x45, 0x66, 0xa0, 0xbb, 0xf7, + 0x60, 0xd6, 0x05, 0x4a, 0xd5, 0xf5, 0x83, 0x4f, 0x89, 0x29, 0xd2, 0xe5, 0x87, 0xbc, 0x29, 0xea, + 0xdb, 0x11, 0x25, 0xf8, 0xef, 0xc2, 0x9c, 0xfa, 0xbe, 0x04, 0xba, 0x56, 0x28, 0x43, 0x28, 0x56, + 0x25, 0xe4, 0x6c, 0xc1, 0x8c, 0xb8, 0x10, 0xc8, 0x2a, 0x58, 0xa5, 0x94, 0xaf, 0x99, 0xe7, 0xdb, + 0xe3, 0xf8, 0x10, 0xaa, 0xfc, 0x65, 0x04, 0x54, 0x57, 0xea, 0xcb, 0xaf, 0x46, 0x11, 0xb7, 0xc7, + 0x70, 0x46, 0xbe, 0x83, 0x80, 0x2e, 0x6b, 0x38, 0x8a, 0xb6, 0x17, 0x71, 0xfd, 0x2e, 0x41, 0xce, + 0xc5, 0xa6, 0x3c, 0xba, 0x22, 0xb3, 0x55, 0x36, 0xed, 0xcd, 0x25, 0x81, 0x4c, 0xd1, 0x23, 0x6f, + 0x93, 0xae, 0x6f, 0xbe, 0xeb, 0x8f, 0xde, 0x92, 0x05, 0x68, 0x6f, 0x06, 0x98, 0xcb, 0x02, 0xa9, + 0xa6, 0x19, 0xff, 0x3d, 0x38, 0x2d, 0xf5, 0xaf, 0x91, 0x38, 0x4f, 0xdd, 0x35, 0x37, 0x2f, 0x17, + 0x13, 0x31, 0xee, 0x4f, 0x48, 0x64, 0xf0, 0xcc, 0x73, 0x91, 0xa1, 0xe0, 0x5d, 0x2f, 0x28, 0x47, + 0x7c, 0x76, 0xe6, 0x0a, 0x55, 0x29, 0xee, 0x25, 0x8b, 0x1d, 0x3a, 0x20, 0xa8, 0x40, 0x6e, 0x9c, + 0xf5, 0x78, 0xf3, 0x8e, 0xd0, 0xf6, 0x81, 0x4b, 0x4b, 0x7c, 0x4e, 0x80, 0xb4, 0x7c, 0x2f, 0xb4, + 0x87, 0x00, 0xa0, 0x1b, 0x05, 0x42, 0x73, 0xfd, 0x5c, 0xa9, 0xd8, 0x15, 0xf4, 0x58, 0x9f, 0x92, + 0xfb, 0x28, 0x4a, 0x5e, 0x03, 0x8a, 0xbc, 0xa4, 0x13, 0x19, 0x49, 0xbe, 0xcb, 0x75, 0xf4, 0xf3, + 0x95, 0x55, 0x77, 0x5f, 0xa0, 0x44, 0x7c, 0xc4, 0xe4, 0x92, 0x9b, 0xe6, 0xd6, 0x00, 0x6a, 0x94, + 0x90, 0xc4, 0x5d, 0x2f, 0x28, 0xed, 0xbf, 0x47, 0x00, 0x19, 0xa8, 0x8f, 0x2e, 0xca, 0x52, 0xc4, + 0x26, 0x9b, 0x54, 0x03, 0x14, 0x5d, 0x35, 0x97, 0x5c, 0x9d, 0x52, 0xb5, 0xbb, 0xd0, 0x75, 0xcd, + 0x5c, 0x15, 0xb0, 0x6e, 0x5e, 0x10, 0x88, 0xfb, 0x48, 0xe1, 0x0f, 0x9e, 0x7a, 0x29, 0x79, 0xc4, + 0xbb, 0x8f, 0x94, 0x43, 0xbe, 0x09, 0xa6, 0xea, 0x52, 0xa1, 0x5b, 0x1a, 0x61, 0x05, 0x2d, 0x2d, + 0xa9, 0xc2, 0x69, 0x9a, 0x4b, 0x6a, 0xd1, 0xbc, 0x9d, 0x7d, 0x45, 0x2b, 0xcc, 0x2d, 0x25, 0x9a, + 0x96, 0x10, 0x5d, 0x6f, 0x09, 0xad, 0x6a, 0xe4, 0xea, 0xba, 0x50, 0x52, 0xe0, 0xab, 0x9a, 0x3b, + 0x0a, 0x89, 0xbc, 0xa5, 0xc5, 0x12, 0x15, 0x66, 0x96, 0x91, 0x68, 0xea, 0x7b, 0x3b, 0x52, 0xaa, + 0xf5, 0x6d, 0x02, 0x99, 0x96, 0x9e, 0xbe, 0x27, 0x71, 0x0f, 0xe6, 0xd4, 0x2d, 0x1f, 0xe9, 0x58, + 0x53, 0xd8, 0x17, 0x2a, 0x25, 0x29, 0x6f, 0x1b, 0xbf, 0x98, 0x8d, 0xbe, 0xd2, 0xc4, 0xb5, 0x2c, + 0x23, 0xb1, 0x45, 0xb2, 0x51, 0xd5, 0x4b, 0xc9, 0x67, 0x63, 0x41, 0xc7, 0xc5, 0x5c, 0x28, 0x00, + 0xfc, 0xd1, 0x27, 0xa4, 0x02, 0xe7, 0x9a, 0x1b, 0xf9, 0x0a, 0xac, 0xeb, 0x7f, 0x14, 0xb3, 0x7f, + 0x4a, 0xd8, 0xe7, 0xf0, 0xf2, 0x3c, 0x7b, 0x1d, 0xe2, 0x6e, 0xbe, 0x55, 0x82, 0x92, 0x09, 0xfb, + 0x9c, 0x76, 0x9f, 0x0a, 0x20, 0xf6, 0x7c, 0x7a, 0xf7, 0xc7, 0xe3, 0x4d, 0x31, 0x92, 0x8a, 0x41, + 0xf0, 0x1f, 0xd3, 0x3b, 0x6a, 0xc5, 0xe0, 0x3d, 0xfa, 0x8a, 0xac, 0x45, 0x29, 0xb0, 0x7f, 0x20, + 0x45, 0x5e, 0x1a, 0x50, 0xef, 0x07, 0xff, 0xa3, 0x77, 0x4a, 0xea, 0x21, 0xc6, 0xee, 0x20, 0x6a, + 0x7c, 0x4e, 0xef, 0xc5, 0x69, 0x01, 0x77, 0x74, 0x33, 0x17, 0x67, 0x7d, 0xb0, 0x7d, 0x53, 0x95, + 0x6a, 0x45, 0x50, 0xbe, 0x4f, 0xbe, 0x7c, 0x14, 0xd8, 0x78, 0xfe, 0xcb, 0x47, 0x8f, 0xb7, 0x9b, + 0x2b, 0x45, 0x52, 0x05, 0xa4, 0xfd, 0x47, 0xb0, 0xd4, 0x07, 0xe8, 0x46, 0xb7, 0xc5, 0x03, 0x73, + 0x29, 0x58, 0x5c, 0x3e, 0x65, 0xab, 0x11, 0xd3, 0x9b, 0x06, 0xfa, 0x0c, 0x2e, 0x16, 0x03, 0xd5, + 0x52, 0x12, 0x94, 0x42, 0xb5, 0x4b, 0x4b, 0x0f, 0x61, 0x5e, 0x8b, 0x2f, 0xa3, 0xb7, 0xfb, 0x09, + 0x16, 0x30, 0xa8, 0xd2, 0x32, 0x7f, 0x99, 0xc3, 0xe6, 0x35, 0xc8, 0x2f, 0xba, 0x5b, 0xc0, 0xb1, + 0x18, 0x2d, 0x96, 0xa2, 0xbe, 0x10, 0xcd, 0xbc, 0x69, 0xa0, 0x9f, 0x1b, 0x70, 0xb9, 0x0c, 0xec, + 0x8b, 0xee, 0x0c, 0xa0, 0x51, 0x51, 0x1a, 0xf6, 0x53, 0xe8, 0xa5, 0x21, 0x87, 0x65, 0x0e, 0xeb, + 0x2d, 0x0c, 0x4b, 0x1d, 0x32, 0x3c, 0xa0, 0x1a, 0x79, 0x57, 0x69, 0x30, 0xdb, 0x42, 0x57, 0x15, + 0xe3, 0xbc, 0x85, 0x2a, 0x49, 0x30, 0xa4, 0xd2, 0x55, 0x6a, 0xc0, 0xb6, 0xd0, 0x55, 0x85, 0x18, + 0xef, 0x80, 0x0a, 0xe5, 0x5d, 0x95, 0x43, 0x69, 0x0b, 0x5d, 0xa5, 0xc3, 0x74, 0x07, 0x54, 0xe3, + 0x0b, 0x03, 0x96, 0x4b, 0xa0, 0x8a, 0xe8, 0xdd, 0xdc, 0xd7, 0x7f, 0x39, 0x3c, 0xd5, 0xbc, 0x33, + 0xf8, 0xc4, 0x54, 0xb9, 0xf5, 0x87, 0x60, 0x06, 0x61, 0xbb, 0x11, 0xf8, 0x84, 0x45, 0x0f, 0xeb, + 0xa5, 0xbc, 0xbe, 0xd3, 0x68, 0x7b, 0xf1, 0x5e, 0x77, 0xa7, 0xd1, 0x0a, 0xf6, 0x57, 0x29, 0xc9, + 0x2a, 0xf9, 0xa7, 0xf7, 0x23, 0xaa, 0x76, 0xb0, 0xca, 0xfd, 0x3e, 0x6d, 0x67, 0x8c, 0x0c, 0xdc, + 0xfe, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x14, 0x84, 0xe2, 0x0c, 0xb5, 0x36, 0x00, 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index aae6ffaed..ae0e6ef50 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -40,10 +40,8 @@ const ( AccessAPI_GetAccount_FullMethodName = "/flow.access.AccessAPI/GetAccount" AccessAPI_GetAccountAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountAtLatestBlock" AccessAPI_GetAccountAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountAtBlockHeight" - AccessAPI_GetAccountBalance_FullMethodName = "/flow.access.AccessAPI/GetAccountBalance" AccessAPI_GetAccountBalanceAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountBalanceAtLatestBlock" AccessAPI_GetAccountBalanceAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountBalanceAtBlockHeight" - AccessAPI_GetAccountKeys_FullMethodName = "/flow.access.AccessAPI/GetAccountKeys" AccessAPI_GetAccountKeysAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountKeysAtLatestBlock" AccessAPI_GetAccountKeysAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountKeysAtBlockHeight" AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock" @@ -125,16 +123,12 @@ type AccessAPIClient interface { // GetAccountAtBlockHeight gets an account by address at the given block // height GetAccountAtBlockHeight(ctx context.Context, in *GetAccountAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountResponse, error) - // GetAccountBalance gets an account balance by address. - GetAccountBalance(ctx context.Context, in *GetAccountBalanceRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) // GetAccountBalanceAtLatestBlock gets an account balance by address from the latest sealed // execution state. GetAccountBalanceAtLatestBlock(ctx context.Context, in *GetAccountBalanceAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) // GetAccountBalanceAtBlockHeight gets an account balance by address at the given block // height GetAccountBalanceAtBlockHeight(ctx context.Context, in *GetAccountBalanceAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) - // GetAccountKeys gets an account public keys by address. - GetAccountKeys(ctx context.Context, in *GetAccountKeysRequest, opts ...grpc.CallOption) (*AccountKeysResponse, error) // GetAccountKeysAtLatestBlock gets an account public keys by address from the latest sealed // execution state. GetAccountKeysAtLatestBlock(ctx context.Context, in *GetAccountKeysAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountKeysResponse, error) @@ -444,15 +438,6 @@ func (c *accessAPIClient) GetAccountAtBlockHeight(ctx context.Context, in *GetAc return out, nil } -func (c *accessAPIClient) GetAccountBalance(ctx context.Context, in *GetAccountBalanceRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { - out := new(AccountBalanceResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetAccountBalance_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *accessAPIClient) GetAccountBalanceAtLatestBlock(ctx context.Context, in *GetAccountBalanceAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountBalanceResponse, error) { out := new(AccountBalanceResponse) err := c.cc.Invoke(ctx, AccessAPI_GetAccountBalanceAtLatestBlock_FullMethodName, in, out, opts...) @@ -471,15 +456,6 @@ func (c *accessAPIClient) GetAccountBalanceAtBlockHeight(ctx context.Context, in return out, nil } -func (c *accessAPIClient) GetAccountKeys(ctx context.Context, in *GetAccountKeysRequest, opts ...grpc.CallOption) (*AccountKeysResponse, error) { - out := new(AccountKeysResponse) - err := c.cc.Invoke(ctx, AccessAPI_GetAccountKeys_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *accessAPIClient) GetAccountKeysAtLatestBlock(ctx context.Context, in *GetAccountKeysAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountKeysResponse, error) { out := new(AccountKeysResponse) err := c.cc.Invoke(ctx, AccessAPI_GetAccountKeysAtLatestBlock_FullMethodName, in, out, opts...) @@ -973,16 +949,12 @@ type AccessAPIServer interface { // GetAccountAtBlockHeight gets an account by address at the given block // height GetAccountAtBlockHeight(context.Context, *GetAccountAtBlockHeightRequest) (*AccountResponse, error) - // GetAccountBalance gets an account balance by address. - GetAccountBalance(context.Context, *GetAccountBalanceRequest) (*AccountBalanceResponse, error) // GetAccountBalanceAtLatestBlock gets an account balance by address from the latest sealed // execution state. GetAccountBalanceAtLatestBlock(context.Context, *GetAccountBalanceAtLatestBlockRequest) (*AccountBalanceResponse, error) // GetAccountBalanceAtBlockHeight gets an account balance by address at the given block // height GetAccountBalanceAtBlockHeight(context.Context, *GetAccountBalanceAtBlockHeightRequest) (*AccountBalanceResponse, error) - // GetAccountKeys gets an account public keys by address. - GetAccountKeys(context.Context, *GetAccountKeysRequest) (*AccountKeysResponse, error) // GetAccountKeysAtLatestBlock gets an account public keys by address from the latest sealed // execution state. GetAccountKeysAtLatestBlock(context.Context, *GetAccountKeysAtLatestBlockRequest) (*AccountKeysResponse, error) @@ -1162,18 +1134,12 @@ func (UnimplementedAccessAPIServer) GetAccountAtLatestBlock(context.Context, *Ge func (UnimplementedAccessAPIServer) GetAccountAtBlockHeight(context.Context, *GetAccountAtBlockHeightRequest) (*AccountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountAtBlockHeight not implemented") } -func (UnimplementedAccessAPIServer) GetAccountBalance(context.Context, *GetAccountBalanceRequest) (*AccountBalanceResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAccountBalance not implemented") -} func (UnimplementedAccessAPIServer) GetAccountBalanceAtLatestBlock(context.Context, *GetAccountBalanceAtLatestBlockRequest) (*AccountBalanceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountBalanceAtLatestBlock not implemented") } func (UnimplementedAccessAPIServer) GetAccountBalanceAtBlockHeight(context.Context, *GetAccountBalanceAtBlockHeightRequest) (*AccountBalanceResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountBalanceAtBlockHeight not implemented") } -func (UnimplementedAccessAPIServer) GetAccountKeys(context.Context, *GetAccountKeysRequest) (*AccountKeysResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAccountKeys not implemented") -} func (UnimplementedAccessAPIServer) GetAccountKeysAtLatestBlock(context.Context, *GetAccountKeysAtLatestBlockRequest) (*AccountKeysResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountKeysAtLatestBlock not implemented") } @@ -1633,24 +1599,6 @@ func _AccessAPI_GetAccountAtBlockHeight_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } -func _AccessAPI_GetAccountBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetAccountBalanceRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(AccessAPIServer).GetAccountBalance(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: AccessAPI_GetAccountBalance_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AccessAPIServer).GetAccountBalance(ctx, req.(*GetAccountBalanceRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _AccessAPI_GetAccountBalanceAtLatestBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetAccountBalanceAtLatestBlockRequest) if err := dec(in); err != nil { @@ -1687,24 +1635,6 @@ func _AccessAPI_GetAccountBalanceAtBlockHeight_Handler(srv interface{}, ctx cont return interceptor(ctx, in, info, handler) } -func _AccessAPI_GetAccountKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetAccountKeysRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(AccessAPIServer).GetAccountKeys(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: AccessAPI_GetAccountKeys_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AccessAPIServer).GetAccountKeys(ctx, req.(*GetAccountKeysRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _AccessAPI_GetAccountKeysAtLatestBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetAccountKeysAtLatestBlockRequest) if err := dec(in); err != nil { @@ -2240,10 +2170,6 @@ var AccessAPI_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetAccountAtBlockHeight", Handler: _AccessAPI_GetAccountAtBlockHeight_Handler, }, - { - MethodName: "GetAccountBalance", - Handler: _AccessAPI_GetAccountBalance_Handler, - }, { MethodName: "GetAccountBalanceAtLatestBlock", Handler: _AccessAPI_GetAccountBalanceAtLatestBlock_Handler, @@ -2252,10 +2178,6 @@ var AccessAPI_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetAccountBalanceAtBlockHeight", Handler: _AccessAPI_GetAccountBalanceAtBlockHeight_Handler, }, - { - MethodName: "GetAccountKeys", - Handler: _AccessAPI_GetAccountKeys_Handler, - }, { MethodName: "GetAccountKeysAtLatestBlock", Handler: _AccessAPI_GetAccountKeysAtLatestBlock_Handler, diff --git a/protobuf/go/flow/entities/account.pb.go b/protobuf/go/flow/entities/account.pb.go index 056e021f4..37884d6e9 100644 --- a/protobuf/go/flow/entities/account.pb.go +++ b/protobuf/go/flow/entities/account.pb.go @@ -178,38 +178,79 @@ func (m *AccountKey) GetRevoked() bool { return false } +type AccountKeyIndex struct { + Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AccountKeyIndex) Reset() { *m = AccountKeyIndex{} } +func (m *AccountKeyIndex) String() string { return proto.CompactTextString(m) } +func (*AccountKeyIndex) ProtoMessage() {} +func (*AccountKeyIndex) Descriptor() ([]byte, []int) { + return fileDescriptor_bf0d6f6360ab9ab0, []int{2} +} + +func (m *AccountKeyIndex) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AccountKeyIndex.Unmarshal(m, b) +} +func (m *AccountKeyIndex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AccountKeyIndex.Marshal(b, m, deterministic) +} +func (m *AccountKeyIndex) XXX_Merge(src proto.Message) { + xxx_messageInfo_AccountKeyIndex.Merge(m, src) +} +func (m *AccountKeyIndex) XXX_Size() int { + return xxx_messageInfo_AccountKeyIndex.Size(m) +} +func (m *AccountKeyIndex) XXX_DiscardUnknown() { + xxx_messageInfo_AccountKeyIndex.DiscardUnknown(m) +} + +var xxx_messageInfo_AccountKeyIndex proto.InternalMessageInfo + +func (m *AccountKeyIndex) GetValue() uint32 { + if m != nil { + return m.Value + } + return 0 +} + func init() { proto.RegisterType((*Account)(nil), "flow.entities.Account") proto.RegisterMapType((map[string][]byte)(nil), "flow.entities.Account.ContractsEntry") proto.RegisterType((*AccountKey)(nil), "flow.entities.AccountKey") + proto.RegisterType((*AccountKeyIndex)(nil), "flow.entities.AccountKeyIndex") } func init() { proto.RegisterFile("flow/entities/account.proto", fileDescriptor_bf0d6f6360ab9ab0) } var fileDescriptor_bf0d6f6360ab9ab0 = []byte{ - // 379 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0xc1, 0xcb, 0xd3, 0x30, - 0x18, 0xc6, 0xe9, 0xd6, 0x6d, 0x5f, 0x5f, 0xbf, 0x4d, 0x09, 0x22, 0xd1, 0x29, 0x94, 0x81, 0xd8, - 0x8b, 0xad, 0xe8, 0x45, 0xc4, 0xcb, 0x1c, 0x9e, 0x04, 0x91, 0x1c, 0xbd, 0x8c, 0x34, 0x7d, 0xd7, - 0x96, 0x75, 0xc9, 0x6c, 0xd2, 0xcd, 0x9e, 0xfd, 0x1f, 0xfd, 0x7b, 0x24, 0xc9, 0xea, 0x18, 0x7c, - 0x97, 0x91, 0xe7, 0xf9, 0x3d, 0x4f, 0xb2, 0xbc, 0x0d, 0x2c, 0x77, 0x8d, 0x3a, 0x67, 0x28, 0x4d, - 0x6d, 0x6a, 0xd4, 0x19, 0x17, 0x42, 0x75, 0xd2, 0xa4, 0xc7, 0x56, 0x19, 0x45, 0xe6, 0x16, 0xa6, - 0x03, 0x5c, 0xfd, 0x19, 0xc1, 0x6c, 0xed, 0x03, 0x84, 0xc2, 0x8c, 0x17, 0x45, 0x8b, 0x5a, 0xd3, - 0x20, 0x0e, 0x92, 0x7b, 0x36, 0x48, 0x4b, 0x72, 0xde, 0x70, 0x29, 0x90, 0x8e, 0xe2, 0x20, 0x09, - 0xd9, 0x20, 0x09, 0x81, 0x50, 0xa8, 0x02, 0xe9, 0xd8, 0x15, 0xdc, 0x9a, 0xbc, 0x85, 0x70, 0x8f, - 0xbd, 0xa6, 0x61, 0x3c, 0x4e, 0x1e, 0xbd, 0x7f, 0x9e, 0xde, 0x9c, 0x98, 0x5e, 0x4e, 0xfb, 0x86, - 0x3d, 0x73, 0x31, 0xb2, 0x81, 0x48, 0x28, 0x69, 0x5a, 0x2e, 0x8c, 0xa6, 0x13, 0xd7, 0x79, 0xfd, - 0x70, 0x27, 0xdd, 0x0c, 0xb9, 0xaf, 0xd2, 0xb4, 0x3d, 0xbb, 0xf6, 0x5e, 0x7c, 0x86, 0xc5, 0x2d, - 0x24, 0x4f, 0x60, 0xbc, 0xc7, 0xde, 0xdd, 0x24, 0x62, 0x76, 0x49, 0x9e, 0xc2, 0xe4, 0xc4, 0x9b, - 0xce, 0xdf, 0xe1, 0x9e, 0x79, 0xf1, 0x69, 0xf4, 0x31, 0x58, 0xfd, 0x0d, 0x00, 0xae, 0xff, 0xcb, - 0x06, 0x6b, 0x59, 0xe0, 0x6f, 0x57, 0x9e, 0x33, 0x2f, 0xc8, 0x2b, 0x80, 0x63, 0x97, 0x37, 0xb5, - 0xd8, 0xda, 0x7d, 0xfd, 0x1e, 0x91, 0x77, 0x6c, 0x69, 0x09, 0x91, 0xae, 0x4b, 0xb9, 0xe5, 0x4d, - 0xa9, 0xdc, 0x38, 0xe6, 0xec, 0xce, 0x1a, 0xeb, 0xa6, 0x54, 0x16, 0x56, 0x5c, 0x57, 0x1e, 0x86, - 0x1e, 0x5a, 0xc3, 0xc1, 0x67, 0x30, 0x3d, 0x63, 0x5d, 0x56, 0x86, 0x4e, 0x1c, 0xb9, 0x28, 0xf2, - 0x06, 0x1e, 0x6b, 0xfc, 0xd5, 0xa1, 0x14, 0xb8, 0x95, 0xdd, 0x21, 0xc7, 0x96, 0x4e, 0x5d, 0x60, - 0x31, 0xd8, 0xdf, 0x9d, 0x6b, 0x3f, 0x4f, 0x8b, 0x27, 0xb5, 0xc7, 0x82, 0xce, 0xe2, 0x20, 0xb9, - 0x63, 0x83, 0xfc, 0xf2, 0x03, 0x5e, 0xaa, 0xb6, 0x4c, 0x95, 0x74, 0xf3, 0x74, 0x2f, 0x20, 0xef, - 0x76, 0xff, 0x07, 0xfb, 0xf3, 0x5d, 0x59, 0x9b, 0xaa, 0xcb, 0x53, 0xa1, 0x0e, 0x99, 0x0f, 0x65, - 0xee, 0x67, 0x48, 0x66, 0xa5, 0xca, 0x6e, 0x5e, 0x53, 0x3e, 0x75, 0xe8, 0xc3, 0xbf, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x58, 0x79, 0x26, 0xc6, 0x65, 0x02, 0x00, 0x00, + // 396 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0xc1, 0x6f, 0xd3, 0x30, + 0x14, 0xc6, 0x95, 0x36, 0x6d, 0xd7, 0xc7, 0xba, 0x21, 0x0b, 0x21, 0xc3, 0x40, 0x8a, 0x2a, 0xa1, + 0xe5, 0x42, 0x82, 0xe0, 0x82, 0x10, 0x97, 0x31, 0x71, 0x40, 0x48, 0x08, 0xf9, 0xc8, 0xa5, 0x72, + 0x9c, 0xb7, 0x24, 0x6a, 0x66, 0x8f, 0xd8, 0xd9, 0xc8, 0x99, 0xff, 0x91, 0xbf, 0x07, 0xf9, 0xb9, + 0x69, 0x55, 0x69, 0x97, 0xc8, 0xdf, 0xfb, 0x7d, 0x9f, 0x9d, 0xf7, 0x6c, 0xb8, 0xb8, 0x69, 0xcd, + 0x43, 0x8e, 0xda, 0x35, 0xae, 0x41, 0x9b, 0x4b, 0xa5, 0x4c, 0xaf, 0x5d, 0x76, 0xd7, 0x19, 0x67, + 0xd8, 0xca, 0xc3, 0x6c, 0x84, 0xeb, 0xbf, 0x13, 0x58, 0x5c, 0x05, 0x03, 0xe3, 0xb0, 0x90, 0x65, + 0xd9, 0xa1, 0xb5, 0x3c, 0x4a, 0xa2, 0xf4, 0x54, 0x8c, 0xd2, 0x93, 0x42, 0xb6, 0x52, 0x2b, 0xe4, + 0x93, 0x24, 0x4a, 0x63, 0x31, 0x4a, 0xc6, 0x20, 0x56, 0xa6, 0x44, 0x3e, 0xa5, 0x00, 0xad, 0xd9, + 0x5b, 0x88, 0xb7, 0x38, 0x58, 0x1e, 0x27, 0xd3, 0xf4, 0xc9, 0xfb, 0x17, 0xd9, 0xd1, 0x89, 0xd9, + 0xee, 0xb4, 0xef, 0x38, 0x08, 0xb2, 0xb1, 0x6b, 0x58, 0x2a, 0xa3, 0x5d, 0x27, 0x95, 0xb3, 0x7c, + 0x46, 0x99, 0x37, 0x8f, 0x67, 0xb2, 0xeb, 0xd1, 0xf7, 0x55, 0xbb, 0x6e, 0x10, 0x87, 0xdc, 0xcb, + 0xcf, 0x70, 0x76, 0x0c, 0xd9, 0x53, 0x98, 0x6e, 0x71, 0xa0, 0x4e, 0x96, 0xc2, 0x2f, 0xd9, 0x33, + 0x98, 0xdd, 0xcb, 0xb6, 0x0f, 0x3d, 0x9c, 0x8a, 0x20, 0x3e, 0x4d, 0x3e, 0x46, 0xeb, 0x7f, 0x11, + 0xc0, 0xe1, 0xbf, 0xbc, 0xb1, 0xd1, 0x25, 0xfe, 0xa1, 0xf0, 0x4a, 0x04, 0xc1, 0x5e, 0x03, 0xdc, + 0xf5, 0x45, 0xdb, 0xa8, 0x8d, 0xdf, 0x37, 0xec, 0xb1, 0x0c, 0x15, 0x1f, 0xba, 0x80, 0xa5, 0x6d, + 0x2a, 0xbd, 0x91, 0x6d, 0x65, 0x68, 0x1c, 0x2b, 0x71, 0xe2, 0x0b, 0x57, 0x6d, 0x65, 0x3c, 0xac, + 0xa5, 0xad, 0x03, 0x8c, 0x03, 0xf4, 0x05, 0x82, 0xcf, 0x61, 0xfe, 0x80, 0x4d, 0x55, 0x3b, 0x3e, + 0x23, 0xb2, 0x53, 0xec, 0x12, 0xce, 0x2d, 0xfe, 0xee, 0x51, 0x2b, 0xdc, 0xe8, 0xfe, 0xb6, 0xc0, + 0x8e, 0xcf, 0xc9, 0x70, 0x36, 0x96, 0x7f, 0x50, 0xd5, 0x5f, 0x4f, 0x87, 0xf7, 0x66, 0x8b, 0x25, + 0x5f, 0x24, 0x51, 0x7a, 0x22, 0x46, 0xb9, 0xbe, 0x84, 0xf3, 0x43, 0x5f, 0xdf, 0xa8, 0x8d, 0xfd, + 0x14, 0x76, 0xcd, 0x91, 0xf8, 0xf2, 0x13, 0x5e, 0x99, 0xae, 0xca, 0x8c, 0xa6, 0xc1, 0xd3, 0x53, + 0x29, 0xfa, 0x9b, 0xfd, 0x0d, 0xfc, 0x7a, 0x57, 0x35, 0xae, 0xee, 0x8b, 0x4c, 0x99, 0xdb, 0x3c, + 0x98, 0x72, 0xfa, 0x8c, 0xce, 0xbc, 0x32, 0xf9, 0xd1, 0xb3, 0x2b, 0xe6, 0x84, 0x3e, 0xfc, 0x0f, + 0x00, 0x00, 0xff, 0xff, 0x3d, 0x98, 0x88, 0xcd, 0x8e, 0x02, 0x00, 0x00, } From 926c3c7c1dac043c255a1fae5843a9c8dc349cc7 Mon Sep 17 00:00:00 2001 From: Andrii Date: Wed, 26 Jun 2024 17:10:21 +0300 Subject: [PATCH 390/626] Added missing param to request --- protobuf/flow/access/access.proto | 3 + protobuf/go/flow/access/access.pb.go | 205 ++++++++++++++------------- 2 files changed, 111 insertions(+), 97 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index ca6b82752..c8f1c4789 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -468,6 +468,9 @@ message GetAccountKeysAtLatestBlockRequest { message GetAccountKeysAtBlockHeightRequest { bytes address = 1; uint64 block_height = 2; + // index of key to return + // omit to return all keys + entities.AccountKeyIndex index = 3; } message AccountKeysResponse { diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 3191209bf..63f3c7305 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -1694,11 +1694,14 @@ func (m *GetAccountKeysAtLatestBlockRequest) GetIndex() *entities.AccountKeyInde } type GetAccountKeysAtBlockHeightRequest struct { - Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + // index of key to return + // omit to return all keys + Index *entities.AccountKeyIndex `protobuf:"bytes,3,opt,name=index,proto3" json:"index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *GetAccountKeysAtBlockHeightRequest) Reset() { *m = GetAccountKeysAtBlockHeightRequest{} } @@ -1740,6 +1743,13 @@ func (m *GetAccountKeysAtBlockHeightRequest) GetBlockHeight() uint64 { return 0 } +func (m *GetAccountKeysAtBlockHeightRequest) GetIndex() *entities.AccountKeyIndex { + if m != nil { + return m.Index + } + return nil +} + type AccountKeysResponse struct { AccountKeys []*entities.AccountKey `protobuf:"bytes,1,rep,name=account_keys,json=accountKeys,proto3" json:"account_keys,omitempty"` Metadata *entities.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` @@ -3458,7 +3468,7 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2607 bytes of a gzipped FileDescriptorProto + // 2614 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0x5b, 0x6f, 0xdc, 0xc6, 0x15, 0x06, 0xb5, 0xb2, 0x2e, 0x47, 0x2b, 0xd9, 0x1e, 0x2b, 0xf2, 0x8a, 0xb2, 0xac, 0x35, 0x65, 0xc7, 0x8a, 0xed, 0xac, 0x0c, 0x3b, 0x45, 0xec, 0xf4, 0x82, 0x4a, 0x8e, 0xad, 0x08, 0xb5, 0x03, @@ -3531,95 +3541,96 @@ var fileDescriptor_4382e32bb8e3e8e5 = []byte{ 0xfb, 0x14, 0x48, 0x1f, 0x93, 0x58, 0x76, 0x9e, 0x39, 0x5e, 0xc7, 0xd9, 0xe9, 0xe0, 0x66, 0x4a, 0x43, 0x99, 0x9f, 0xe9, 0x0d, 0x30, 0x76, 0xc3, 0x9d, 0xc5, 0x63, 0xb0, 0x32, 0xe3, 0xbf, 0x85, 0x0f, 0xa3, 0xc1, 0x16, 0x0f, 0xbd, 0xc3, 0xef, 0xe4, 0xf9, 0x4f, 0xe6, 0x8c, 0x31, 0x3d, 0x1a, - 0x50, 0x62, 0xcb, 0xc9, 0x4b, 0x3d, 0xee, 0xf5, 0x4e, 0x36, 0x07, 0x4e, 0x00, 0xb7, 0x39, 0x54, - 0x59, 0x3c, 0x37, 0x9f, 0xe2, 0xc3, 0x74, 0xa7, 0x9a, 0xd7, 0xea, 0x6d, 0x4f, 0x39, 0x19, 0x97, - 0xe1, 0x52, 0xe0, 0x63, 0xb8, 0x74, 0x9f, 0x00, 0x2a, 0x78, 0xbb, 0x15, 0x7a, 0x07, 0xea, 0xdc, - 0x9d, 0x83, 0xb1, 0x88, 0x8c, 0x32, 0x5b, 0xd9, 0x13, 0xba, 0x00, 0x93, 0x4e, 0xd8, 0xee, 0xee, - 0x93, 0xf2, 0x3d, 0x52, 0xaf, 0xac, 0x54, 0xed, 0xec, 0x85, 0x75, 0x00, 0x8b, 0x12, 0xeb, 0xf2, - 0x87, 0x9a, 0x4c, 0xe2, 0x88, 0x5e, 0x62, 0x45, 0x96, 0xf8, 0x59, 0xce, 0x18, 0x85, 0xe7, 0x64, - 0xff, 0x18, 0xf9, 0xda, 0x3e, 0x9c, 0xf4, 0x5f, 0x18, 0xf0, 0x86, 0x20, 0xbe, 0xe7, 0xd7, 0x59, - 0x38, 0xf5, 0xcc, 0xe9, 0x74, 0x31, 0xb3, 0x92, 0x3e, 0x0c, 0xe5, 0x2f, 0xf5, 0x0e, 0x52, 0xd1, - 0xec, 0x20, 0xff, 0x35, 0x48, 0x81, 0x23, 0x5b, 0x68, 0xf4, 0x20, 0x08, 0xd9, 0x42, 0x38, 0x7e, - 0x1b, 0xa7, 0xab, 0x81, 0x60, 0x34, 0x3e, 0x3c, 0xa0, 0x9a, 0x4d, 0xda, 0xe4, 0xef, 0x64, 0x85, - 0xa2, 0xd8, 0x09, 0x63, 0x29, 0x82, 0xc9, 0x3b, 0xb6, 0x42, 0x8b, 0x00, 0xd8, 0x77, 0x53, 0x02, - 0x2a, 0x7f, 0x12, 0xfb, 0x2e, 0x1b, 0x7e, 0x85, 0x1f, 0x2c, 0x7f, 0x32, 0xc8, 0x17, 0x4b, 0xcf, - 0x26, 0x16, 0x53, 0x51, 0x91, 0x41, 0x0b, 0x30, 0x99, 0x06, 0x5a, 0x1a, 0xa7, 0x13, 0x2c, 0xd2, - 0xa2, 0x57, 0x79, 0xb2, 0xff, 0xd7, 0x08, 0xcc, 0x50, 0x45, 0xb9, 0x14, 0x1f, 0x17, 0xcf, 0xc9, - 0x96, 0x70, 0x4e, 0x16, 0xa9, 0x1b, 0xec, 0xac, 0x96, 0x4e, 0x19, 0x2a, 0x64, 0xcc, 0xbf, 0x1b, - 0x30, 0x46, 0x19, 0x15, 0x65, 0x5c, 0xff, 0xb2, 0xc5, 0x1d, 0xd5, 0x2a, 0x25, 0x8e, 0x6a, 0xf7, - 0xe0, 0x34, 0x65, 0xd8, 0x83, 0x48, 0x89, 0xf3, 0x93, 0xd3, 0x2e, 0x05, 0x51, 0x1b, 0x29, 0x88, - 0xda, 0x78, 0x9c, 0x52, 0xd8, 0x33, 0x64, 0x4a, 0xef, 0xd9, 0x5a, 0x24, 0xce, 0xfe, 0x10, 0xc7, - 0xcf, 0x83, 0xf0, 0xe9, 0x96, 0x13, 0x3a, 0xfb, 0x38, 0xc6, 0x61, 0xea, 0x6c, 0xeb, 0x2e, 0xf9, - 0xcc, 0x53, 0x0c, 0xb3, 0xd5, 0x9e, 0x87, 0x89, 0xd6, 0x9e, 0xe3, 0xf9, 0xa9, 0xbd, 0x93, 0xf6, - 0x38, 0x79, 0xde, 0x74, 0xad, 0xab, 0x64, 0x67, 0xa5, 0xc5, 0x6e, 0x2b, 0x51, 0xa4, 0x15, 0x74, - 0x92, 0x03, 0x2e, 0xde, 0xf6, 0x9d, 0x83, 0x68, 0x2f, 0x48, 0xeb, 0x85, 0x75, 0x1f, 0x56, 0x36, - 0xb0, 0x9a, 0x64, 0x80, 0xcf, 0x34, 0xeb, 0x21, 0x5c, 0xd5, 0xb3, 0x19, 0xb4, 0x42, 0x59, 0x2f, - 0x0d, 0x58, 0xd4, 0x68, 0xcd, 0x4c, 0x6f, 0x00, 0x8a, 0x70, 0xe8, 0x39, 0x1d, 0xef, 0x07, 0xd8, - 0x4d, 0x47, 0x99, 0x52, 0x8a, 0x91, 0xe1, 0x76, 0x8f, 0x6f, 0xc2, 0x72, 0x92, 0x8b, 0x29, 0x22, - 0x4f, 0xa3, 0x2c, 0x4b, 0xca, 0x12, 0xcb, 0xf2, 0x47, 0x23, 0xad, 0xd9, 0xca, 0xf9, 0xcc, 0x98, - 0x4d, 0x38, 0x23, 0xc3, 0xfe, 0x1a, 0x1c, 0x5c, 0xe2, 0x65, 0x9f, 0xc6, 0xe2, 0x8b, 0xe1, 0xec, - 0x5c, 0x25, 0xf0, 0xb6, 0xc4, 0xbb, 0x08, 0xea, 0xfb, 0xbd, 0x01, 0x0b, 0x4a, 0xf2, 0xd7, 0xc4, - 0xa0, 0x7f, 0x1a, 0xf0, 0xe6, 0x76, 0x77, 0x27, 0xd9, 0xd7, 0x76, 0x30, 0x59, 0xed, 0xe8, 0x41, - 0x18, 0xec, 0x6f, 0x27, 0x25, 0x5e, 0x72, 0xde, 0x65, 0x98, 0xa1, 0xbb, 0x81, 0xe4, 0x42, 0xba, - 0x47, 0xac, 0xb3, 0xf2, 0x71, 0x44, 0xac, 0x56, 0x03, 0x2c, 0x57, 0x74, 0xc0, 0xf2, 0xbf, 0x0d, - 0xb8, 0xa2, 0xd3, 0x5f, 0x4c, 0xa6, 0x1b, 0x80, 0x78, 0xf5, 0x85, 0x94, 0x3a, 0x93, 0x99, 0xc0, - 0x4a, 0xdc, 0xff, 0xd9, 0x8c, 0x5f, 0x19, 0x50, 0x57, 0x98, 0x41, 0xab, 0x52, 0x6a, 0x81, 0xac, - 0x93, 0x71, 0x2c, 0x3a, 0x69, 0x31, 0xfb, 0xfb, 0x70, 0x5e, 0x52, 0x69, 0x18, 0xf0, 0xde, 0xfa, - 0xb5, 0x01, 0x37, 0x44, 0x3e, 0xb4, 0x5d, 0x73, 0xa2, 0x71, 0x66, 0x7d, 0x61, 0xc0, 0xf5, 0x62, - 0xad, 0x4e, 0x2e, 0x7a, 0xac, 0xb6, 0x9c, 0x93, 0x9c, 0x6e, 0xc7, 0x19, 0x12, 0xd6, 0x36, 0x2c, - 0x2a, 0x05, 0x71, 0xbd, 0xc6, 0x31, 0xda, 0xd8, 0x2d, 0xd1, 0x7e, 0x63, 0x94, 0x0a, 0x87, 0xbf, - 0xef, 0xb5, 0x71, 0x14, 0xbf, 0x6e, 0x0e, 0x97, 0xb5, 0x7a, 0x9d, 0x1c, 0xce, 0xe9, 0x76, 0xac, - 0x0e, 0xff, 0x83, 0x21, 0x7b, 0x9c, 0x49, 0xe2, 0x4f, 0x4a, 0x47, 0x38, 0x19, 0x2a, 0xce, 0x7a, - 0x95, 0x81, 0xcf, 0x7a, 0xff, 0x31, 0xe0, 0xda, 0x36, 0xf6, 0xdd, 0x35, 0xdf, 0xed, 0xe9, 0x9a, - 0x43, 0x1f, 0x71, 0x74, 0x2c, 0xcd, 0xa1, 0x57, 0x89, 0x9a, 0xff, 0x25, 0x09, 0xb9, 0x32, 0x76, - 0xf4, 0x83, 0xd1, 0x8d, 0x23, 0xc2, 0xe8, 0xcb, 0x30, 0xcd, 0x90, 0xd7, 0x66, 0x86, 0x83, 0x8c, - 0xda, 0x55, 0xf6, 0x92, 0xa0, 0x1e, 0xb7, 0xbe, 0x5c, 0x81, 0xc9, 0x35, 0xc2, 0x7d, 0x6d, 0x6b, - 0x13, 0x7d, 0x15, 0x46, 0xb7, 0x3c, 0xbf, 0x8d, 0x6a, 0x82, 0x58, 0xee, 0x46, 0x83, 0x39, 0xaf, - 0x18, 0x61, 0x86, 0x60, 0x82, 0x40, 0x4a, 0x37, 0x11, 0x90, 0x68, 0x81, 0xf6, 0xf6, 0x83, 0x79, - 0xb5, 0x2f, 0x1d, 0x13, 0xb3, 0x03, 0xb3, 0xaa, 0x4b, 0x0d, 0x68, 0x45, 0x66, 0xa0, 0xbb, 0xf7, - 0x60, 0xd6, 0x05, 0x4a, 0xd5, 0xf5, 0x83, 0x4f, 0x89, 0x29, 0xd2, 0xe5, 0x87, 0xbc, 0x29, 0xea, - 0xdb, 0x11, 0x25, 0xf8, 0xef, 0xc2, 0x9c, 0xfa, 0xbe, 0x04, 0xba, 0x56, 0x28, 0x43, 0x28, 0x56, - 0x25, 0xe4, 0x6c, 0xc1, 0x8c, 0xb8, 0x10, 0xc8, 0x2a, 0x58, 0xa5, 0x94, 0xaf, 0x99, 0xe7, 0xdb, - 0xe3, 0xf8, 0x10, 0xaa, 0xfc, 0x65, 0x04, 0x54, 0x57, 0xea, 0xcb, 0xaf, 0x46, 0x11, 0xb7, 0xc7, - 0x70, 0x46, 0xbe, 0x83, 0x80, 0x2e, 0x6b, 0x38, 0x8a, 0xb6, 0x17, 0x71, 0xfd, 0x2e, 0x41, 0xce, - 0xc5, 0xa6, 0x3c, 0xba, 0x22, 0xb3, 0x55, 0x36, 0xed, 0xcd, 0x25, 0x81, 0x4c, 0xd1, 0x23, 0x6f, - 0x93, 0xae, 0x6f, 0xbe, 0xeb, 0x8f, 0xde, 0x92, 0x05, 0x68, 0x6f, 0x06, 0x98, 0xcb, 0x02, 0xa9, - 0xa6, 0x19, 0xff, 0x3d, 0x38, 0x2d, 0xf5, 0xaf, 0x91, 0x38, 0x4f, 0xdd, 0x35, 0x37, 0x2f, 0x17, - 0x13, 0x31, 0xee, 0x4f, 0x48, 0x64, 0xf0, 0xcc, 0x73, 0x91, 0xa1, 0xe0, 0x5d, 0x2f, 0x28, 0x47, - 0x7c, 0x76, 0xe6, 0x0a, 0x55, 0x29, 0xee, 0x25, 0x8b, 0x1d, 0x3a, 0x20, 0xa8, 0x40, 0x6e, 0x9c, - 0xf5, 0x78, 0xf3, 0x8e, 0xd0, 0xf6, 0x81, 0x4b, 0x4b, 0x7c, 0x4e, 0x80, 0xb4, 0x7c, 0x2f, 0xb4, - 0x87, 0x00, 0xa0, 0x1b, 0x05, 0x42, 0x73, 0xfd, 0x5c, 0xa9, 0xd8, 0x15, 0xf4, 0x58, 0x9f, 0x92, - 0xfb, 0x28, 0x4a, 0x5e, 0x03, 0x8a, 0xbc, 0xa4, 0x13, 0x19, 0x49, 0xbe, 0xcb, 0x75, 0xf4, 0xf3, - 0x95, 0x55, 0x77, 0x5f, 0xa0, 0x44, 0x7c, 0xc4, 0xe4, 0x92, 0x9b, 0xe6, 0xd6, 0x00, 0x6a, 0x94, - 0x90, 0xc4, 0x5d, 0x2f, 0x28, 0xed, 0xbf, 0x47, 0x00, 0x19, 0xa8, 0x8f, 0x2e, 0xca, 0x52, 0xc4, - 0x26, 0x9b, 0x54, 0x03, 0x14, 0x5d, 0x35, 0x97, 0x5c, 0x9d, 0x52, 0xb5, 0xbb, 0xd0, 0x75, 0xcd, - 0x5c, 0x15, 0xb0, 0x6e, 0x5e, 0x10, 0x88, 0xfb, 0x48, 0xe1, 0x0f, 0x9e, 0x7a, 0x29, 0x79, 0xc4, - 0xbb, 0x8f, 0x94, 0x43, 0xbe, 0x09, 0xa6, 0xea, 0x52, 0xa1, 0x5b, 0x1a, 0x61, 0x05, 0x2d, 0x2d, - 0xa9, 0xc2, 0x69, 0x9a, 0x4b, 0x6a, 0xd1, 0xbc, 0x9d, 0x7d, 0x45, 0x2b, 0xcc, 0x2d, 0x25, 0x9a, - 0x96, 0x10, 0x5d, 0x6f, 0x09, 0xad, 0x6a, 0xe4, 0xea, 0xba, 0x50, 0x52, 0xe0, 0xab, 0x9a, 0x3b, - 0x0a, 0x89, 0xbc, 0xa5, 0xc5, 0x12, 0x15, 0x66, 0x96, 0x91, 0x68, 0xea, 0x7b, 0x3b, 0x52, 0xaa, - 0xf5, 0x6d, 0x02, 0x99, 0x96, 0x9e, 0xbe, 0x27, 0x71, 0x0f, 0xe6, 0xd4, 0x2d, 0x1f, 0xe9, 0x58, - 0x53, 0xd8, 0x17, 0x2a, 0x25, 0x29, 0x6f, 0x1b, 0xbf, 0x98, 0x8d, 0xbe, 0xd2, 0xc4, 0xb5, 0x2c, - 0x23, 0xb1, 0x45, 0xb2, 0x51, 0xd5, 0x4b, 0xc9, 0x67, 0x63, 0x41, 0xc7, 0xc5, 0x5c, 0x28, 0x00, - 0xfc, 0xd1, 0x27, 0xa4, 0x02, 0xe7, 0x9a, 0x1b, 0xf9, 0x0a, 0xac, 0xeb, 0x7f, 0x14, 0xb3, 0x7f, - 0x4a, 0xd8, 0xe7, 0xf0, 0xf2, 0x3c, 0x7b, 0x1d, 0xe2, 0x6e, 0xbe, 0x55, 0x82, 0x92, 0x09, 0xfb, - 0x9c, 0x76, 0x9f, 0x0a, 0x20, 0xf6, 0x7c, 0x7a, 0xf7, 0xc7, 0xe3, 0x4d, 0x31, 0x92, 0x8a, 0x41, - 0xf0, 0x1f, 0xd3, 0x3b, 0x6a, 0xc5, 0xe0, 0x3d, 0xfa, 0x8a, 0xac, 0x45, 0x29, 0xb0, 0x7f, 0x20, - 0x45, 0x5e, 0x1a, 0x50, 0xef, 0x07, 0xff, 0xa3, 0x77, 0x4a, 0xea, 0x21, 0xc6, 0xee, 0x20, 0x6a, - 0x7c, 0x4e, 0xef, 0xc5, 0x69, 0x01, 0x77, 0x74, 0x33, 0x17, 0x67, 0x7d, 0xb0, 0x7d, 0x53, 0x95, - 0x6a, 0x45, 0x50, 0xbe, 0x4f, 0xbe, 0x7c, 0x14, 0xd8, 0x78, 0xfe, 0xcb, 0x47, 0x8f, 0xb7, 0x9b, - 0x2b, 0x45, 0x52, 0x05, 0xa4, 0xfd, 0x47, 0xb0, 0xd4, 0x07, 0xe8, 0x46, 0xb7, 0xc5, 0x03, 0x73, - 0x29, 0x58, 0x5c, 0x3e, 0x65, 0xab, 0x11, 0xd3, 0x9b, 0x06, 0xfa, 0x0c, 0x2e, 0x16, 0x03, 0xd5, - 0x52, 0x12, 0x94, 0x42, 0xb5, 0x4b, 0x4b, 0x0f, 0x61, 0x5e, 0x8b, 0x2f, 0xa3, 0xb7, 0xfb, 0x09, - 0x16, 0x30, 0xa8, 0xd2, 0x32, 0x7f, 0x99, 0xc3, 0xe6, 0x35, 0xc8, 0x2f, 0xba, 0x5b, 0xc0, 0xb1, - 0x18, 0x2d, 0x96, 0xa2, 0xbe, 0x10, 0xcd, 0xbc, 0x69, 0xa0, 0x9f, 0x1b, 0x70, 0xb9, 0x0c, 0xec, - 0x8b, 0xee, 0x0c, 0xa0, 0x51, 0x51, 0x1a, 0xf6, 0x53, 0xe8, 0xa5, 0x21, 0x87, 0x65, 0x0e, 0xeb, - 0x2d, 0x0c, 0x4b, 0x1d, 0x32, 0x3c, 0xa0, 0x1a, 0x79, 0x57, 0x69, 0x30, 0xdb, 0x42, 0x57, 0x15, - 0xe3, 0xbc, 0x85, 0x2a, 0x49, 0x30, 0xa4, 0xd2, 0x55, 0x6a, 0xc0, 0xb6, 0xd0, 0x55, 0x85, 0x18, - 0xef, 0x80, 0x0a, 0xe5, 0x5d, 0x95, 0x43, 0x69, 0x0b, 0x5d, 0xa5, 0xc3, 0x74, 0x07, 0x54, 0xe3, - 0x0b, 0x03, 0x96, 0x4b, 0xa0, 0x8a, 0xe8, 0xdd, 0xdc, 0xd7, 0x7f, 0x39, 0x3c, 0xd5, 0xbc, 0x33, - 0xf8, 0xc4, 0x54, 0xb9, 0xf5, 0x87, 0x60, 0x06, 0x61, 0xbb, 0x11, 0xf8, 0x84, 0x45, 0x0f, 0xeb, - 0xa5, 0xbc, 0xbe, 0xd3, 0x68, 0x7b, 0xf1, 0x5e, 0x77, 0xa7, 0xd1, 0x0a, 0xf6, 0x57, 0x29, 0xc9, - 0x2a, 0xf9, 0xa7, 0xf7, 0x23, 0xaa, 0x76, 0xb0, 0xca, 0xfd, 0x3e, 0x6d, 0x67, 0x8c, 0x0c, 0xdc, - 0xfe, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x14, 0x84, 0xe2, 0x0c, 0xb5, 0x36, 0x00, 0x00, + 0x50, 0xe2, 0x64, 0x3b, 0xce, 0x89, 0x3d, 0xe6, 0x05, 0xcf, 0x34, 0xab, 0x0c, 0xa2, 0x59, 0xb2, + 0xa7, 0x70, 0x6a, 0x71, 0x7b, 0x4a, 0x95, 0xa5, 0x41, 0xf3, 0x29, 0x3e, 0x4c, 0x37, 0xb8, 0x79, + 0x2d, 0x53, 0x7b, 0xca, 0xc9, 0xb8, 0x0c, 0x97, 0x39, 0x1f, 0xc3, 0xa5, 0xfb, 0x04, 0x87, 0xc1, + 0xdb, 0xad, 0xd0, 0x3b, 0x50, 0xa7, 0xfc, 0x1c, 0x8c, 0x45, 0x64, 0x94, 0xad, 0x10, 0x7b, 0x42, + 0x17, 0x60, 0xd2, 0x09, 0xdb, 0xdd, 0x7d, 0x52, 0xf5, 0x47, 0xea, 0x95, 0x95, 0xaa, 0x9d, 0xbd, + 0xb0, 0x0e, 0x60, 0x51, 0x62, 0x5d, 0xfe, 0x2c, 0x94, 0x49, 0x1c, 0xd1, 0x4b, 0xac, 0xc8, 0x12, + 0x3f, 0xcb, 0x19, 0xa3, 0xf0, 0xb7, 0xec, 0x55, 0x23, 0xef, 0xd5, 0xe1, 0xa4, 0xff, 0xc2, 0x80, + 0x37, 0x04, 0xf1, 0x3d, 0xbf, 0xce, 0xc2, 0xa9, 0x67, 0x4e, 0xa7, 0x8b, 0x99, 0x95, 0xf4, 0x61, + 0x28, 0x7f, 0xa9, 0x37, 0x9e, 0x8a, 0x66, 0xe3, 0xf9, 0xaf, 0x41, 0xea, 0x22, 0xd9, 0x79, 0xa3, + 0x07, 0x41, 0xc8, 0x16, 0xc2, 0xf1, 0xdb, 0x38, 0x5d, 0x0d, 0x04, 0xa3, 0xf1, 0xe1, 0x01, 0xd5, + 0x6c, 0xd2, 0x26, 0x7f, 0x27, 0x2b, 0x14, 0xc5, 0x4e, 0x18, 0x4b, 0x71, 0x4f, 0xde, 0xb1, 0x15, + 0x5a, 0x04, 0xc0, 0xbe, 0x9b, 0x12, 0x50, 0xf9, 0x93, 0xd8, 0x77, 0xd9, 0xf0, 0x2b, 0xfc, 0xce, + 0xf9, 0x93, 0x41, 0x3e, 0x74, 0x7a, 0x36, 0xb1, 0x98, 0x8a, 0x8a, 0x0c, 0x5a, 0x80, 0xc9, 0x34, + 0xd0, 0xd2, 0x38, 0x9d, 0x60, 0x91, 0x16, 0xbd, 0xca, 0x0f, 0x82, 0x7f, 0x8d, 0xc0, 0x0c, 0x55, + 0x94, 0x4b, 0xf1, 0x71, 0xf1, 0x78, 0x6d, 0x09, 0xc7, 0x6b, 0x91, 0xba, 0xc1, 0x8e, 0x78, 0xe9, + 0x94, 0xa1, 0x42, 0xc6, 0xfc, 0xbb, 0x01, 0x63, 0x94, 0x51, 0x51, 0xc6, 0x95, 0x28, 0x76, 0xd9, + 0x09, 0xaf, 0x52, 0xe2, 0x84, 0x77, 0x0f, 0x4e, 0x53, 0x86, 0x3d, 0x64, 0x95, 0x38, 0x3f, 0x39, + 0x24, 0x53, 0xec, 0xb5, 0x91, 0x62, 0xaf, 0x8d, 0xc7, 0x29, 0x85, 0x3d, 0x43, 0xa6, 0xf4, 0x9e, + 0xad, 0x45, 0xe2, 0xec, 0x0f, 0x71, 0xfc, 0x3c, 0x08, 0x9f, 0x6e, 0x39, 0xa1, 0xb3, 0x8f, 0x63, + 0x1c, 0xa6, 0xce, 0xb6, 0xee, 0x92, 0xaf, 0x43, 0xc5, 0x30, 0x5b, 0xed, 0x79, 0x98, 0x68, 0xed, + 0x39, 0x9e, 0x9f, 0xda, 0x3b, 0x69, 0x8f, 0x93, 0xe7, 0x4d, 0xd7, 0xba, 0x4a, 0x36, 0x64, 0x5a, + 0xec, 0xb6, 0x12, 0x45, 0x5a, 0x41, 0x27, 0x39, 0x17, 0xe3, 0x6d, 0xdf, 0x39, 0x88, 0xf6, 0x82, + 0xb4, 0x5e, 0x58, 0xf7, 0x61, 0x65, 0x03, 0xab, 0x49, 0x06, 0xf8, 0xba, 0xb3, 0x1e, 0xc2, 0x55, + 0x3d, 0x9b, 0x41, 0x2b, 0x94, 0xf5, 0xd2, 0x80, 0x45, 0x8d, 0xd6, 0xcc, 0xf4, 0x06, 0xa0, 0x08, + 0x87, 0x9e, 0xd3, 0xf1, 0x7e, 0x80, 0xdd, 0x74, 0x94, 0x29, 0xa5, 0x18, 0x19, 0x6e, 0xf7, 0xf8, + 0x26, 0x2c, 0x27, 0xb9, 0x98, 0x02, 0xf9, 0x34, 0xca, 0xb2, 0xa4, 0x2c, 0xb1, 0x2c, 0x7f, 0x34, + 0xd2, 0x9a, 0xad, 0x9c, 0xcf, 0x8c, 0xd9, 0x84, 0x33, 0x72, 0xb7, 0x40, 0x03, 0x9f, 0x4b, 0xbc, + 0xec, 0xd3, 0x58, 0x7c, 0x31, 0x9c, 0x9d, 0xab, 0x04, 0x15, 0x97, 0x78, 0x17, 0x21, 0x84, 0xbf, + 0x37, 0x60, 0x41, 0x49, 0xfe, 0x9a, 0x18, 0xf4, 0x4f, 0x03, 0xde, 0xdc, 0xee, 0xee, 0x24, 0xfb, + 0xda, 0x0e, 0x26, 0xab, 0x1d, 0x3d, 0x08, 0x83, 0xfd, 0xed, 0xa4, 0xc4, 0x4b, 0xce, 0xbb, 0x0c, + 0x33, 0x74, 0x37, 0x90, 0x5c, 0x48, 0xf7, 0x88, 0x75, 0x56, 0x3e, 0x8e, 0x08, 0xf1, 0x6a, 0xf0, + 0xe8, 0x8a, 0x0e, 0x8f, 0xfe, 0xb7, 0x01, 0x57, 0x74, 0xfa, 0x8b, 0xc9, 0x74, 0x03, 0x10, 0xaf, + 0xbe, 0x90, 0x52, 0x67, 0x32, 0x13, 0x58, 0x89, 0xfb, 0x3f, 0x9b, 0xf1, 0x2b, 0x03, 0xea, 0x0a, + 0x33, 0x68, 0x55, 0x4a, 0x2d, 0x90, 0x75, 0x32, 0x8e, 0x45, 0x27, 0x2d, 0xd4, 0x7f, 0x1f, 0xce, + 0x4b, 0x2a, 0x0d, 0x83, 0xf9, 0x5b, 0xbf, 0x36, 0xe0, 0x86, 0xc8, 0x87, 0x76, 0x79, 0x4e, 0x34, + 0xce, 0xac, 0x2f, 0x0c, 0xb8, 0x5e, 0xac, 0xd5, 0xc9, 0x45, 0x8f, 0xd5, 0x96, 0x73, 0x92, 0xd3, + 0xed, 0x38, 0x43, 0xc2, 0xda, 0x86, 0x45, 0xa5, 0x20, 0xae, 0x45, 0x39, 0x46, 0xfb, 0xc1, 0x25, + 0xba, 0x76, 0x8c, 0x52, 0xe1, 0xf0, 0xf7, 0xbd, 0x36, 0x8e, 0xe2, 0xd7, 0xcd, 0xe1, 0xb2, 0x56, + 0xaf, 0x93, 0xc3, 0x39, 0xdd, 0x8e, 0xd5, 0xe1, 0x7f, 0x30, 0x64, 0x8f, 0x33, 0x49, 0xfc, 0x49, + 0xe9, 0x08, 0x27, 0x43, 0xc5, 0x59, 0xaf, 0x32, 0xf0, 0x59, 0xef, 0x3f, 0x06, 0x5c, 0xdb, 0xc6, + 0xbe, 0xbb, 0xe6, 0xbb, 0x3d, 0x5d, 0x73, 0xa0, 0x25, 0x8e, 0x8e, 0xa5, 0xa7, 0xf4, 0x2a, 0xc1, + 0xf6, 0xbf, 0x24, 0x21, 0x57, 0xc6, 0x8e, 0x7e, 0xe8, 0xbb, 0x71, 0x44, 0xf4, 0x7d, 0x19, 0xa6, + 0x19, 0x60, 0xdb, 0xcc, 0xe0, 0x93, 0x51, 0xbb, 0xca, 0x5e, 0x12, 0x48, 0xe2, 0xd6, 0x97, 0x2b, + 0x30, 0xb9, 0x46, 0xb8, 0xaf, 0x6d, 0x6d, 0xa2, 0xaf, 0xc2, 0xe8, 0x96, 0xe7, 0xb7, 0x51, 0x4d, + 0x10, 0xcb, 0x5d, 0x84, 0x30, 0xe7, 0x15, 0x23, 0xcc, 0x10, 0x4c, 0x80, 0x4b, 0xe9, 0x02, 0x03, + 0x12, 0x2d, 0xd0, 0x5e, 0x9a, 0x30, 0xaf, 0xf6, 0xa5, 0x63, 0x62, 0x76, 0x60, 0x56, 0x75, 0x17, + 0x02, 0xad, 0xc8, 0x0c, 0x74, 0xd7, 0x25, 0xcc, 0xba, 0x40, 0xa9, 0xba, 0xb5, 0xf0, 0x29, 0x31, + 0x45, 0xba, 0x33, 0x91, 0x37, 0x45, 0x7d, 0xa9, 0xa2, 0x04, 0xff, 0x5d, 0x98, 0x53, 0x5f, 0xb3, + 0x40, 0xd7, 0x0a, 0x65, 0x08, 0xc5, 0xaa, 0x84, 0x9c, 0x2d, 0x98, 0x11, 0x17, 0x02, 0x59, 0x05, + 0xab, 0x94, 0xf2, 0x35, 0xf3, 0x7c, 0x7b, 0x1c, 0x1f, 0x42, 0x95, 0xbf, 0xc3, 0x80, 0xea, 0x4a, + 0x7d, 0xf9, 0xd5, 0x28, 0xe2, 0xf6, 0x18, 0xce, 0xc8, 0x57, 0x17, 0xd0, 0x65, 0x0d, 0x47, 0xd1, + 0xf6, 0x22, 0xae, 0xdf, 0x25, 0x80, 0xbb, 0xd8, 0xcb, 0x47, 0x57, 0x64, 0xb6, 0xca, 0x5e, 0xbf, + 0xb9, 0x24, 0x90, 0x29, 0x5a, 0xeb, 0x6d, 0xd2, 0x2c, 0xce, 0x5f, 0x16, 0x40, 0x6f, 0xc9, 0x02, + 0xb4, 0x17, 0x0a, 0xcc, 0x65, 0x81, 0x54, 0xd3, 0xc3, 0xff, 0x1e, 0x9c, 0x96, 0xda, 0xde, 0x48, + 0x9c, 0xa7, 0x6e, 0xb6, 0x9b, 0x97, 0x8b, 0x89, 0x18, 0xf7, 0x27, 0x24, 0x32, 0x78, 0xe6, 0xb9, + 0xc8, 0x50, 0xf0, 0xae, 0x17, 0x94, 0x23, 0x3e, 0x3b, 0x73, 0x85, 0xaa, 0x14, 0xf7, 0x92, 0xc5, + 0x0e, 0x1d, 0x10, 0x54, 0x20, 0x37, 0xce, 0x5a, 0xc3, 0x79, 0x47, 0x68, 0xdb, 0xc7, 0xa5, 0x25, + 0x3e, 0x27, 0x40, 0x5a, 0xbe, 0x85, 0xda, 0x43, 0x00, 0xd0, 0x8d, 0x02, 0xa1, 0xb9, 0x36, 0xb0, + 0x54, 0xec, 0x0a, 0x5a, 0xb3, 0x4f, 0xc9, 0x35, 0x16, 0x25, 0xaf, 0x01, 0x45, 0x5e, 0xd2, 0x89, + 0x8c, 0x24, 0xdf, 0xe5, 0x2e, 0x02, 0xe4, 0x2b, 0xab, 0xee, 0x9a, 0x41, 0x89, 0xf8, 0x88, 0xc9, + 0xdd, 0x38, 0xcd, 0x65, 0x03, 0xd4, 0x28, 0x21, 0x89, 0xbb, 0x95, 0x50, 0xda, 0x7f, 0x8f, 0x00, + 0xb2, 0x56, 0x00, 0xba, 0x28, 0x4b, 0x11, 0x7b, 0x73, 0x52, 0x0d, 0x50, 0x34, 0xe3, 0x5c, 0x72, + 0xe3, 0x4a, 0xd5, 0x25, 0x43, 0xd7, 0x35, 0x73, 0x55, 0xc0, 0xba, 0x79, 0x41, 0x20, 0xee, 0x23, + 0x85, 0x3f, 0x78, 0xea, 0xa5, 0xe4, 0x11, 0xef, 0x3e, 0x52, 0x0e, 0xf9, 0xde, 0x99, 0xaa, 0xb9, + 0x85, 0x6e, 0x69, 0x84, 0x15, 0x74, 0xc2, 0xa4, 0x0a, 0xa7, 0xe9, 0x49, 0xa9, 0x45, 0xf3, 0x76, + 0xf6, 0x15, 0xad, 0x30, 0xb7, 0x94, 0x68, 0x5a, 0x42, 0x74, 0x2d, 0x29, 0xb4, 0xaa, 0x91, 0xab, + 0x6b, 0x5e, 0x49, 0x81, 0xaf, 0x6a, 0xee, 0x28, 0x24, 0xf2, 0x96, 0x16, 0x4b, 0x54, 0x98, 0x59, + 0x46, 0xa2, 0xa9, 0xef, 0xed, 0x48, 0xa9, 0xd6, 0xb7, 0x09, 0x64, 0x5a, 0x7a, 0xfa, 0x9e, 0xc4, + 0x3d, 0x98, 0x53, 0xb7, 0x7c, 0xa4, 0x63, 0x4d, 0x61, 0x5f, 0xa8, 0x94, 0xa4, 0xbc, 0x6d, 0xfc, + 0x62, 0x36, 0xfa, 0x4a, 0x13, 0xd7, 0xb2, 0x8c, 0xc4, 0x16, 0xc9, 0x46, 0x55, 0x2f, 0x25, 0x9f, + 0x8d, 0x05, 0x1d, 0x17, 0x73, 0xa1, 0x00, 0xf0, 0x47, 0x9f, 0x90, 0x0a, 0x9c, 0x6b, 0x6e, 0xe4, + 0x2b, 0xb0, 0xae, 0xff, 0x51, 0xcc, 0xfe, 0x29, 0x61, 0x9f, 0xc3, 0xcb, 0xf3, 0xec, 0x75, 0x88, + 0xbb, 0xf9, 0x56, 0x09, 0x4a, 0x26, 0xec, 0x73, 0xda, 0x7d, 0x2a, 0x80, 0xd8, 0xf3, 0xe9, 0xdd, + 0x1f, 0x8f, 0x37, 0xc5, 0x48, 0x2a, 0x06, 0xc1, 0x7f, 0x4c, 0xaf, 0xb6, 0x15, 0x83, 0xf7, 0xe8, + 0x2b, 0xb2, 0x16, 0xa5, 0xc0, 0xfe, 0x81, 0x14, 0x79, 0x69, 0x40, 0xbd, 0x1f, 0xfc, 0x8f, 0xde, + 0x29, 0xa9, 0x87, 0x18, 0xbb, 0x83, 0xa8, 0xf1, 0x39, 0xbd, 0x4e, 0xa7, 0x05, 0xdc, 0xd1, 0xcd, + 0x5c, 0x9c, 0xf5, 0xc1, 0xf6, 0x4d, 0x55, 0xaa, 0x15, 0x41, 0xf9, 0x3e, 0xf9, 0xf2, 0x51, 0x60, + 0xe3, 0xf9, 0x2f, 0x1f, 0x3d, 0xde, 0x6e, 0xae, 0x14, 0x49, 0x15, 0x90, 0xf6, 0x1f, 0xc1, 0x52, + 0x1f, 0xa0, 0x1b, 0xdd, 0x16, 0x0f, 0xcc, 0xa5, 0x60, 0x71, 0xf9, 0x94, 0xad, 0x46, 0x4c, 0x6f, + 0x1a, 0xe8, 0x33, 0xb8, 0x58, 0x0c, 0x54, 0x4b, 0x49, 0x50, 0x0a, 0xd5, 0x2e, 0x2d, 0x3d, 0x84, + 0x79, 0x2d, 0xbe, 0x8c, 0xde, 0xee, 0x27, 0x58, 0xc0, 0xa0, 0x4a, 0xcb, 0xfc, 0x65, 0x0e, 0x9b, + 0xd7, 0x20, 0xbf, 0xe8, 0x6e, 0x01, 0xc7, 0x62, 0xb4, 0x58, 0x8a, 0xfa, 0x42, 0x34, 0xf3, 0xa6, + 0x81, 0x7e, 0x6e, 0xc0, 0xe5, 0x32, 0xb0, 0x2f, 0xba, 0x33, 0x80, 0x46, 0x45, 0x69, 0xd8, 0x4f, + 0xa1, 0x97, 0x86, 0x1c, 0x96, 0x39, 0xac, 0xb7, 0x30, 0x2c, 0x75, 0xc8, 0xf0, 0x80, 0x6a, 0xe4, + 0x5d, 0xa5, 0xc1, 0x6c, 0x0b, 0x5d, 0x55, 0x8c, 0xf3, 0x16, 0xaa, 0x24, 0xc1, 0x90, 0x4a, 0x57, + 0xa9, 0x01, 0xdb, 0x42, 0x57, 0x15, 0x62, 0xbc, 0x03, 0x2a, 0x94, 0x77, 0x55, 0x0e, 0xa5, 0x2d, + 0x74, 0x95, 0x0e, 0xd3, 0x1d, 0x50, 0x8d, 0x2f, 0x0c, 0x58, 0x2e, 0x81, 0x2a, 0xa2, 0x77, 0x73, + 0x5f, 0xff, 0xe5, 0xf0, 0x54, 0xf3, 0xce, 0xe0, 0x13, 0x53, 0xe5, 0xd6, 0x1f, 0x82, 0x19, 0x84, + 0xed, 0x46, 0xe0, 0x13, 0x16, 0x3d, 0xac, 0x97, 0xf2, 0xfa, 0x4e, 0xa3, 0xed, 0xc5, 0x7b, 0xdd, + 0x9d, 0x46, 0x2b, 0xd8, 0x5f, 0xa5, 0x24, 0xab, 0xe4, 0x9f, 0xde, 0x6f, 0xaf, 0xda, 0xc1, 0x2a, + 0xf7, 0xb3, 0xb6, 0x9d, 0x31, 0x32, 0x70, 0xfb, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb4, 0x0d, + 0x8a, 0xcb, 0xec, 0x36, 0x00, 0x00, } From 04931bdc6ed58d5d1c73562ca373056f6b552a54 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 4 Jul 2024 07:08:36 -0700 Subject: [PATCH 391/626] Create 2024-07-05-Flow-Sprint-Kickoff.md --- .../2024-07-05-Flow-Sprint-Kickoff.md | 314 ++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..03e9a4de0 --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -0,0 +1,314 @@ +# Overview + +### Team Wins 🎉 +- + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (mm/dd/24 to mm/dd/24) \[JP] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 99.95% | 49.6% | +| Block Sealing | 99.9% | 99.90% | 99.3% | +| Access API Liveness | 99.9% | ? dashboard broken 😔 | ? | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +[YTD SLA: 99.919%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents + +### Mainnet + + +(Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) + +### Key Release Dates & Breaking Changes +- Next Mainnet/Testnet network upgrade (spork): + - Testnet: Q3 + - Mainnet: Q3 (see [announcement](https://flow.com/post/update-on-testnet-crescendo-network-upgrade)) + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 7 | 9 | 0 | 7 | **23** | +| Proposed | 1 | 3 (+1) | 2 | 0 | **6** (+1) | +| Accepted | 2 | 1 | 2 | 1 | **6** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 | 21 | 2 | 1 | **27** | +| Released | 4 | 0 | 3 | 6 | **13** | +| Total | **17** | **34** (+1) | **10** | **15** | **76** (+1) | + +**Updates** +* [Cadence] - FLIP for changing import statement semantics (FLIP-277) proposed +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + +**This sprint** + +DONE: Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +* All breaking changed released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + +IN PROGRESS: Objective 1, KR4: Testnet Upgrade to Crescendo Release +* Completed Testnet migration with both Atree inlining and Cadence 1.0. +* Completed [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) production readiness EPICs. +* Continue work on migration optimizations. +* Investigate / Fix any security report incoming from bug bounty. +* Finish implementation of remaining EVM blockers: [1](https://github.com/onflow/flow-go/pull/6136), [2](https://github.com/onflow/flow-go/pull/6118) +* Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) + +IN PROGRESS: Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN +* Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +DONE: Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind +* Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +**On Hold** + +ON HOLD: Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +* Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +ON HOLD: * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + +**Active Epics** + + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% [GOAL MODIFIED] +* Translate crypto performance improvements to consensus block rate increase [DONE] +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + + +**This sprint** + +* EFM Recovery + - [Update Ansible automation for Mainnet25 Dynamic Protocol state changes](https://github.com/onflow/flow-go/issues/5156) + - [Add epoch fallback phase](https://github.com/onflow/flow-go/issues/6092) + - [Update consensus committee EFM processing](https://github.com/onflow/flow-go/issues/5730) + - Review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) + - Finish [Blocktime controller EFM changes](https://github.com/onflow/flow-go/issues/5732) + - Finish [`epochs.FallbackStateMachine` only tolerates narrow unexpected behaviour](https://github.com/onflow/flow-go/issues/6018) + - Finish [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) + - [Update epoch lookup component](https://github.com/onflow/flow-go/issues/5763) + - [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) + - [EFM Recovery benchnet testing](https://github.com/onflow/flow-go/issues/5945) + +* Data Availability: + - Complete ProtocolDB pruning design + - Continue rollout of local script execution on QuickNode + - KROK Team + - Add support for version beacon events to control script execution ([Issue #5788](https://github.com/onflow/flow-go/issues/5788) - In review, [Issue #5789](https://github.com/onflow/flow-go/issues/5789) - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) + - Expose separate endpoints for getting account balance and keys ([Issue #5999](https://github.com/onflow/flow-go/issues/5999)) + - Create proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823) - In review) + - Add support for pruning execution data db on ANs ([Issue #6002](https://github.com/onflow/flow-go/issues/6002)) + - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017)) + - Start Registers DB pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + +* Cryptography: + - SPoCK aggregation: from BLS security proof to BLS aggregation security proof (more than a sprint) + +* Rosetta: + - KROK: + - Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) + - DistributedLab: + - Continue with remaining updates for Rosetta for EVM on Flow + +* Other: + - Continue content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. + +**On Hold** +* Implement BFT mitigations to enable 20 permissionless ANs + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- Cadence 1.0 DEX Prep - IncrementFi +- EVM partner onboarding: Moralis, Covalent, Ankr +- Deliver Axelar bridge [PAUSED] + +**Done last sprint** + +**This sprint** +* [Backfill missing Access API subscription endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/58) +* Start Celer C1.0 upgrades +* Review of new hash additions PR for JVM-SDK + +**On Hold** +- Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + +**Rewards** +- Rewards contract design finalized +- Add skeleton loading for metric cards (https://github.com/onflow/crescendo-rewards/issues/20) +- Add skeleton loading for leaderboard (https://github.com/onflow/crescendo-rewards/issues/21) +- Add skeleton loading for rewards earned/locked (https://github.com/onflow/crescendo-rewards/issues/23) +- Hook up leaderboard to API (https://github.com/onflow/crescendo-rewards/issues/14) +- Hook up rewards component to the API (https://github.com/onflow/crescendo-rewards/issues/18) + + +**This sprint** +**Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, FCL x WalletConnect Improvements, Crescendo Rewards** + +- [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) +- [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) +- [EPIC] Flow EVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) +- [EPIC] FCL WalletConnect Improvements https://github.com/onflow/fcl-js/issues/1872 +- [EPIC] Crescendo Rewards Portal + - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) + - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) + - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) +- Discover and Design for bridge.flow.com + +#### Smart Contract WG + + +**On Hold** + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +**This sprint** + +- Add support for MigrationNet to Flow Wallet Extension +- Refine "Homepage 2.0" UI/UX +- Continue to best support Secure Enclave + - User migration from Extension (seed phrase) to mobile (secure enclave) wallet security + - New account creation UI explaining the benefits of SE + - Explain any UI differences between seed phrase / SE wallets + - Profile account recovery - one backup to a users multiple primary accounts + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Solidify CloudFlare Migration plan and continue preparing for migration +- Continue assisting with DevEx migration to Cloud Run + +**Done last sprint** + + +**This Sprint** +- Assist with migration and spork prep efforts +- Continue removing dependencies on CloudFlare & assist with account creation +- Begin prep work to migration to new CloudFlare account + +--- + +### **Governance and Tokenomics** \[Kshitij] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** + +**This sprint** +- Work on node operator branding and logos with .find team; test and ship new node operations page on flowdiver +- Work with Dete on revising the narrative around inflation, fees and (stable-state) Flow economics +- Upgrading tokenomics pages for easy comprehension +- Plan next cycle OKRs for governance + +**On Hold** + + +**Active Epics** + +- N/A From cb5ce5bc3e586ec1faad11ecb87cb4c22a925d5f Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 4 Jul 2024 11:47:29 -0700 Subject: [PATCH 392/626] Added Cadence and Execution updates --- .../2024-07-05-Flow-Sprint-Kickoff.md | 65 ++++++++++++++----- 1 file changed, 48 insertions(+), 17 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 03e9a4de0..1f477d997 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -1,7 +1,7 @@ # Overview ### Team Wins 🎉 -- +- First milesone for migrating badger to pebble proof of concept is completed. Now the mainnet test execution node is running pebble based protocol database and executing and storing latest blocks. ### General updates @@ -71,32 +71,63 @@ Cycle Objective(s): 7) Improve execution performance to mitigate the impact of adding metadata to token standards **Done last sprint** + - Cadence language + - [Remove access to field slices from composite and interface types](https://github.com/onflow/cadence/pull/3432) + - [Fix invalidCadenceTypeError creation](https://github.com/onflow/flow-go/pull/6151) + - [Import contracts as references](https://github.com/onflow/cadence/pull/3417) + - Reviews wrapping up: + - [Allow borrowing of capability with subtype](https://github.com/onflow/cadence/pull/3449) + - [Fix toConstantSized](https://github.com/onflow/cadence/pull/3446) + + - State migration for Crescendo release + - [Improve Cadence 1.0 migration - clean up contract names and code](https://github.com/onflow/flow-go/pull/6148) + - [Fix Cadence 1.0 migration - ignore empty contracts when checking all contracts](https://github.com/onflow/flow-go/pull/6145) + - Updated all downstream dependencies to latest Cadence 1.0 preview release + + - Cadence Execution + - [Badger DB -> Pebble DB protocol state migration POC](https://github.com/onflow/flow-go/issues/6137) + - Tooling + - [Added a script to move checkpoint files](https://github.com/onflow/flow-go/pull/6143) + + - EVM Gateway + - [Add a buffer gas of "all but one 64th" for gas used on EVM.dryRun](https://github.com/onflow/flow-go/pull/6136) + - [Fix hash calculation of direct calls causing duplicate hashes](https://github.com/onflow/flow-go/pull/6118) + - [Remove unneeded dependency](https://github.com/onflow/flow-evm-gateway/pull/331) + - [Add missing uncle endpoints and max fee per gas](https://github.com/onflow/flow-evm-gateway/pull/316) + - [Bugfix invalid block number or hash](https://github.com/onflow/flow-evm-gateway/pull/313) + +Done and merged: **This sprint** -DONE: Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades -* All breaking changed released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + - Objective 1, KR4: Testnet Upgrade to Crescendo Release + - Continue work on migration optimizations. + - Investigate / Fix any security report incoming from bug bounty. -IN PROGRESS: Objective 1, KR4: Testnet Upgrade to Crescendo Release -* Completed Testnet migration with both Atree inlining and Cadence 1.0. -* Completed [EVM Gateway development](https://github.com/onflow/flow-evm-gateway/issues/126) and [EVM Core development](https://github.com/onflow/flow-go/issues/5536) production readiness EPICs. -* Continue work on migration optimizations. -* Investigate / Fix any security report incoming from bug bounty. -* Finish implementation of remaining EVM blockers: [1](https://github.com/onflow/flow-go/pull/6136), [2](https://github.com/onflow/flow-go/pull/6118) -* Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) + - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN + - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) -IN PROGRESS: Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN -* Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + - State migration for Crescendo release + - [Test Crescendo state migration with Mainnet state, and deploy to a new mainnet migration net](https://github.com/onflow/flow-go/issues/5851) + - [Comparison of execution states before and after the atree inlining](https://github.com/onflow/atree/issues/292) + + - Other + - [Reducing spork time by improving checkpointing copying during bootstrapping](https://github.com/onflow/flow-go/issues/6167) -DONE: Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind -* Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) +**Completed OKRs** + * Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades + * All breaking changes released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + * Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind + * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) **On Hold** -ON HOLD: Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs -* Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + - Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs + * Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. -ON HOLD: * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) +- Other + * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + * Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) **Active Epics** From b34ab25ad1ce11bff6bf11d043ef26ff7a5c9a7b Mon Sep 17 00:00:00 2001 From: Alexander Hentschel Date: Thu, 4 Jul 2024 12:06:23 -0700 Subject: [PATCH 393/626] Update 2024-07-05-Flow-Sprint-Kickoff.md added flow-go branching convention as Team Win --- .../2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 1f477d997..729293a03 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -1,7 +1,10 @@ # Overview ### Team Wins 🎉 -- First milesone for migrating badger to pebble proof of concept is completed. Now the mainnet test execution node is running pebble based protocol database and executing and storing latest blocks. +- First milesone for migrating badger to pebble proof of concept is completed. Now the mainnet test execution node is running pebble based protocol database and executing and storing latest blocks. +- Refined [branching convention](https://github.com/onflow/flow-go/blob/alex/branching-conventions/DEVELOPMENT.md) for `flow-go` + (see Core-Protocol Working Group [meeting June 27](https://github.com/onflow/Flow-Working-Groups/blob/main/core_protocol_working_group/meetings/2024-06-27.md) + and respective PRs [#6162](https://github.com/onflow/flow-go/pull/6162), [#6177](https://github.com/onflow/flow-go/pull/6177)) ### General updates From dc2a0882973fa80c0c9643f06eb944da402ae872 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 4 Jul 2024 12:17:38 -0700 Subject: [PATCH 394/626] Update 2024-07-05-Flow-Sprint-Kickoff.md --- .../2024-07-05-Flow-Sprint-Kickoff.md | 65 ++++++++----------- 1 file changed, 28 insertions(+), 37 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 1f477d997..24e8318d4 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -1,7 +1,8 @@ # Overview ### Team Wins 🎉 -- First milesone for migrating badger to pebble proof of concept is completed. Now the mainnet test execution node is running pebble based protocol database and executing and storing latest blocks. +- First milesone for migrating badger to pebble proof of concept is completed. Now the mainnet test execution node is running pebble based protocol database and executing and storing latest blocks. +- Finished content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. Now with marketing for review and planning ### General updates @@ -10,7 +11,7 @@ --- -### Mainnet Uptime - Last 14 days (mm/dd/24 to mm/dd/24) \[JP] +### Mainnet Uptime - Last 14 days (mm/dd/24 to mm/dd/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -96,8 +97,6 @@ Cycle Objective(s): - [Add missing uncle endpoints and max fee per gas](https://github.com/onflow/flow-evm-gateway/pull/316) - [Bugfix invalid block number or hash](https://github.com/onflow/flow-evm-gateway/pull/313) -Done and merged: - **This sprint** - Objective 1, KR4: Testnet Upgrade to Crescendo Release @@ -115,7 +114,7 @@ Done and merged: - [Reducing spork time by improving checkpointing copying during bootstrapping](https://github.com/onflow/flow-go/issues/6167) **Completed OKRs** - * Objective 1, KR 1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades + * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades * All breaking changes released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 * Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) @@ -129,35 +128,25 @@ Done and merged: * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) * Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) -**Active Epics** - - --- ### **Core Protocol** \[Jerome] Cycle Objective(s): -* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node -* Reduce CPU usage on Execution node by 30% [GOAL MODIFIED] +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [IN PROGRESS] +* Reduce CPU usage on Execution node by 30% [IN PROGRESS] * Translate crypto performance improvements to consensus block rate increase [DONE] * Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] **Done last Sprint:** - -**This sprint** - * EFM Recovery - - [Update Ansible automation for Mainnet25 Dynamic Protocol state changes](https://github.com/onflow/flow-go/issues/5156) + - [Adding Epoch Fallback phase to data model](https://github.com/onflow/flow-go/pull/6116) - [Add epoch fallback phase](https://github.com/onflow/flow-go/issues/6092) - - [Update consensus committee EFM processing](https://github.com/onflow/flow-go/issues/5730) - - Review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) - - Finish [Blocktime controller EFM changes](https://github.com/onflow/flow-go/issues/5732) - - Finish [`epochs.FallbackStateMachine` only tolerates narrow unexpected behaviour](https://github.com/onflow/flow-go/issues/6018) - - Finish [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) - - [Update epoch lookup component](https://github.com/onflow/flow-go/issues/5763) - - [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) - - [EFM Recovery benchnet testing](https://github.com/onflow/flow-go/issues/5945) + - [`epochs.FallbackStateMachine` only tolerates narrow unexpected behaviour](https://github.com/onflow/flow-go/issues/6018) + - Addressed comments and merged PR for https://github.com/onflow/flow-go/issues/6018, effectively completing it. + - [In review: Supporting epoch extensions in consensus committee](https://github.com/onflow/flow-go/pull/6154) + - [In review: Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) * Data Availability: - Complete ProtocolDB pruning design @@ -170,30 +159,32 @@ Cycle Objective(s): - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017)) - Start Registers DB pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) +* Other + - Finished content piece for [public roadmap & vision for protocol decentralization](https://docs.google.com/document/d/1dfKevN2zbsMP6fVOuAM2FTcCDGBW2sPa5CcrO8Uccy8/edit). Now with marketing for review and planning + +**This sprint** + +* EFM Recovery + - [Update Ansible automation for Mainnet25 Dynamic Protocol state changes](https://github.com/onflow/flow-go/issues/5156) + - [Update consensus committee EFM processing](https://github.com/onflow/flow-go/issues/5730) + - Review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) + - [Blocktime controller EFM changes](https://github.com/onflow/flow-go/issues/5732) + - [Update epoch lookup component](https://github.com/onflow/flow-go/issues/5763) + - [EFM Recovery benchnet testing](https://github.com/onflow/flow-go/issues/5945) + - [Support Epoch Extensions in HotStuff Committee](https://github.com/onflow/flow-go/pull/6154) + - [Address comments and merge PR for: Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) + - [Implement last issue for epoch state machines for handling transitions into EFM in edge case](https://github.com/onflow/flow-go/issues/5631) + * Cryptography: - - SPoCK aggregation: from BLS security proof to BLS aggregation security proof (more than a sprint) + - SPoCK aggregation: from BLS security proof to BLS aggregation security proof (multiple sprints) * Rosetta: - KROK: - Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) - - DistributedLab: - - Continue with remaining updates for Rosetta for EVM on Flow - -* Other: - - Continue content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. **On Hold** * Implement BFT mitigations to enable 20 permissionless ANs -**Active Epics** - -- Reinforcing Flow’s commitment to full protocol autonomy and scalability -- Improve network performance -- Improve network availability -- Simplify community contributions to core protocol and maintainability -- Improve network reliability and data availability for dApp developers -- Data-driven Prioritization and Scaling Engineering - --- ### **DeFi** \[Jerome] From 6556730d6212109260eb1a46d2b4ae1cd20011d1 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 4 Jul 2024 12:19:19 -0700 Subject: [PATCH 395/626] Minor edits --- agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 8305eb6f4..fc1bce161 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -4,8 +4,7 @@ - First milesone for migrating badger to pebble proof of concept is completed. Now the mainnet test execution node is running pebble based protocol database and executing and storing latest blocks. - Finished content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. Now with marketing for review and planning - Refined [branching convention](https://github.com/onflow/flow-go/blob/alex/branching-conventions/DEVELOPMENT.md) for `flow-go` - (see Core-Protocol Working Group [meeting June 27](https://github.com/onflow/Flow-Working-Groups/blob/main/core_protocol_working_group/meetings/2024-06-27.md) - and respective PRs [#6162](https://github.com/onflow/flow-go/pull/6162), [#6177](https://github.com/onflow/flow-go/pull/6177))======= + - See Core-Protocol Working Group [meeting June 27](https://github.com/onflow/Flow-Working-Groups/blob/main/core_protocol_working_group/meetings/2024-06-27.md) and respective PRs [#6162](https://github.com/onflow/flow-go/pull/6162), [#6177](https://github.com/onflow/flow-go/pull/6177)) ### General updates From 534efb19d15106e48ffd08403bf84d2b90c6043b Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 4 Jul 2024 12:19:45 -0700 Subject: [PATCH 396/626] Update 2024-07-05-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index fc1bce161..6308c6792 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -4,7 +4,7 @@ - First milesone for migrating badger to pebble proof of concept is completed. Now the mainnet test execution node is running pebble based protocol database and executing and storing latest blocks. - Finished content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. Now with marketing for review and planning - Refined [branching convention](https://github.com/onflow/flow-go/blob/alex/branching-conventions/DEVELOPMENT.md) for `flow-go` - - See Core-Protocol Working Group [meeting June 27](https://github.com/onflow/Flow-Working-Groups/blob/main/core_protocol_working_group/meetings/2024-06-27.md) and respective PRs [#6162](https://github.com/onflow/flow-go/pull/6162), [#6177](https://github.com/onflow/flow-go/pull/6177)) + - See Core-Protocol Working Group [meeting June 27](https://github.com/onflow/Flow-Working-Groups/blob/main/core_protocol_working_group/meetings/2024-06-27.md) and respective PRs [#6162](https://github.com/onflow/flow-go/pull/6162), [#6177](https://github.com/onflow/flow-go/pull/6177)) ### General updates From ade73c9e07be529ced09ba86610d1162437ca0fc Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 4 Jul 2024 12:20:05 -0700 Subject: [PATCH 397/626] Minor --- agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 6308c6792..ff64037d1 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -4,7 +4,7 @@ - First milesone for migrating badger to pebble proof of concept is completed. Now the mainnet test execution node is running pebble based protocol database and executing and storing latest blocks. - Finished content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. Now with marketing for review and planning - Refined [branching convention](https://github.com/onflow/flow-go/blob/alex/branching-conventions/DEVELOPMENT.md) for `flow-go` - - See Core-Protocol Working Group [meeting June 27](https://github.com/onflow/Flow-Working-Groups/blob/main/core_protocol_working_group/meetings/2024-06-27.md) and respective PRs [#6162](https://github.com/onflow/flow-go/pull/6162), [#6177](https://github.com/onflow/flow-go/pull/6177)) + - See Core-Protocol Working Group [meeting June 27](https://github.com/onflow/Flow-Working-Groups/blob/main/core_protocol_working_group/meetings/2024-06-27.md) and respective PRs [#6162](https://github.com/onflow/flow-go/pull/6162), [#6177](https://github.com/onflow/flow-go/pull/6177) ### General updates From 9e317604918036eaa4afe075beff223891c48d47 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 4 Jul 2024 12:25:36 -0700 Subject: [PATCH 398/626] Quick pass over DA items --- .../2024-07-05-Flow-Sprint-Kickoff.md | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index ff64037d1..5fc9942e7 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -151,15 +151,15 @@ Cycle Objective(s): - [In review: Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) * Data Availability: - - Complete ProtocolDB pruning design - Continue rollout of local script execution on QuickNode - KROK Team - - Add support for version beacon events to control script execution ([Issue #5788](https://github.com/onflow/flow-go/issues/5788) - In review, [Issue #5789](https://github.com/onflow/flow-go/issues/5789) - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) - - Expose separate endpoints for getting account balance and keys ([Issue #5999](https://github.com/onflow/flow-go/issues/5999)) - - Create proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823) - In review) - - Add support for pruning execution data db on ANs ([Issue #6002](https://github.com/onflow/flow-go/issues/6002)) - - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017)) - - Start Registers DB pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + - In review + - Add support for version beacon events to control script execution + - [Issue #5788](https://github.com/onflow/flow-go/issues/5788) + - In review, [Issue #5789](https://github.com/onflow/flow-go/issues/5789) + - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790) + - Expose separate endpoints for getting account balance and keys ([Issue #5999](https://github.com/onflow/flow-go/issues/5999)) + - Create proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823)) * Other - Finished content piece for [public roadmap & vision for protocol decentralization](https://docs.google.com/document/d/1dfKevN2zbsMP6fVOuAM2FTcCDGBW2sPa5CcrO8Uccy8/edit). Now with marketing for review and planning @@ -177,6 +177,16 @@ Cycle Objective(s): - [Address comments and merge PR for: Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) - [Implement last issue for epoch state machines for handling transitions into EFM in edge case](https://github.com/onflow/flow-go/issues/5631) +* Data Availability: + - Complete ProtocolDB pruning design + - Continue rollout of local script execution on QuickNode + + - KROK Team + - Create proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823) - In review) + - Add support for pruning execution data db on ANs ([Issue #6002](https://github.com/onflow/flow-go/issues/6002)) + - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017)) + - Start Registers DB pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + * Cryptography: - SPoCK aggregation: from BLS security proof to BLS aggregation security proof (multiple sprints) From 4313e4bf675f7f2bd3013e32e56d8126089f870d Mon Sep 17 00:00:00 2001 From: Alexander Hentschel Date: Thu, 4 Jul 2024 12:29:28 -0700 Subject: [PATCH 399/626] Update 2024-07-05-Flow-Sprint-Kickoff.md linked content pieces about permissionless participation --- .../2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 5fc9942e7..9427048a6 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -2,7 +2,7 @@ ### Team Wins 🎉 - First milesone for migrating badger to pebble proof of concept is completed. Now the mainnet test execution node is running pebble based protocol database and executing and storing latest blocks. -- Finished content piece for public roadmap & vision for protocol decentralization; current challenges and upcoming updates for permissionless consensus on Flow. Now with marketing for review and planning +- Content pieces [Path to Permissionless Participation in Flow](https://docs.google.com/document/d/1dfKevN2zbsMP6fVOuAM2FTcCDGBW2sPa5CcrO8Uccy8/edit) and [2-page executive summary](https://docs.google.com/document/d/1E2iiEFlPdhBW7EIUYFV3LICq575JyX8OHZNqiFb04Qk/edit#heading=h.2n9y1yguzk4q) (mature complete drafts), which describe challenges and roadmap for permissionless consensus on Flow. - Refined [branching convention](https://github.com/onflow/flow-go/blob/alex/branching-conventions/DEVELOPMENT.md) for `flow-go` - See Core-Protocol Working Group [meeting June 27](https://github.com/onflow/Flow-Working-Groups/blob/main/core_protocol_working_group/meetings/2024-06-27.md) and respective PRs [#6162](https://github.com/onflow/flow-go/pull/6162), [#6177](https://github.com/onflow/flow-go/pull/6177) @@ -162,8 +162,8 @@ Cycle Objective(s): - Create proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823)) * Other - - Finished content piece for [public roadmap & vision for protocol decentralization](https://docs.google.com/document/d/1dfKevN2zbsMP6fVOuAM2FTcCDGBW2sPa5CcrO8Uccy8/edit). Now with marketing for review and planning - + - Finalizing content pieces [Path to Permissionless Participation in Flow](https://docs.google.com/document/d/1dfKevN2zbsMP6fVOuAM2FTcCDGBW2sPa5CcrO8Uccy8/edit) and [2-page executive summary](https://docs.google.com/document/d/1E2iiEFlPdhBW7EIUYFV3LICq575JyX8OHZNqiFb04Qk/edit#heading=h.2n9y1yguzk4q) + **This sprint** * EFM Recovery From fbd4f7c77d2bbf190d9583ae2e7623ad9d70c97f Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 4 Jul 2024 12:34:53 -0700 Subject: [PATCH 400/626] Added DeFi updates --- .../2024-07-05-Flow-Sprint-Kickoff.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 5fc9942e7..a11360132 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -204,18 +204,21 @@ Cycle Objective(s): Cycle Objective(s): - Resolving Circle's existing engineering improvements for USDC on Flow - Cadence 1.0 DEX Prep - IncrementFi -- EVM partner onboarding: Moralis, Covalent, Ankr +- EVM partner onboarding: Moralis, Covalent, Ankr, Credora - Deliver Axelar bridge [PAUSED] **Done last sprint** + * [JVM-SDK Access API refactoring + exception handling](https://github.com/onflow/flow-jvm-sdk/pull/55) + * [JVM-SDK Exception handling improvements](https://github.com/onflow/flow-jvm-sdk/pull/57) **This sprint** -* [Backfill missing Access API subscription endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/58) -* Start Celer C1.0 upgrades -* Review of new hash additions PR for JVM-SDK + * [Continue adding missing Access API endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/61) + * [Continue adding missing Access API subscription endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/58) + * Continue Celer C1.0 upgrades + * Review signature and hash updates PRs for JVM-SDK, [1](https://github.com/onflow/flow-jvm-sdk/pull/53) & [2](https://github.com/onflow/flow-jvm-sdk/pull/52) **On Hold** -- Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing + - Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing **Active Epics** From 2317f95beb1c24e83b95d14e4ebc81cd6fd47fd5 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 4 Jul 2024 12:40:49 -0700 Subject: [PATCH 401/626] Minor addition --- agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 1b644c78b..7b36f454e 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -147,6 +147,7 @@ Cycle Objective(s): - [Add epoch fallback phase](https://github.com/onflow/flow-go/issues/6092) - [`epochs.FallbackStateMachine` only tolerates narrow unexpected behaviour](https://github.com/onflow/flow-go/issues/6018) - Addressed comments and merged PR for https://github.com/onflow/flow-go/issues/6018, effectively completing it. + - [Modify EFM logic do not enter EFM while in EpochCommitted phase](https://github.com/onflow/flow-go/issues/5731) - [In review: Supporting epoch extensions in consensus committee](https://github.com/onflow/flow-go/pull/6154) - [In review: Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) From dca89904e16d5cf788b8e06a561b1bd5803b4b8e Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 4 Jul 2024 12:44:05 -0700 Subject: [PATCH 402/626] Added EVM GW updates that were missed before --- .../sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 7b36f454e..f88386015 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -111,13 +111,18 @@ Cycle Objective(s): - State migration for Crescendo release - [Test Crescendo state migration with Mainnet state, and deploy to a new mainnet migration net](https://github.com/onflow/flow-go/issues/5851) - [Comparison of execution states before and after the atree inlining](https://github.com/onflow/atree/issues/292) - + +- EVM Gateway + - [Add a method to return the value from a storage slot on a given addres](https://github.com/onflow/flow-go/issues/6178) + - KROK + - EVM Gateway benchmarking + - Other - [Reducing spork time by improving checkpointing copying during bootstrapping](https://github.com/onflow/flow-go/issues/6167) **Completed OKRs** * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades - * All breaking changes released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + * All breaking released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 * Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) From 2fa1f7e86bd174d42faa0d58abc232ef59ed5c41 Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 5 Jul 2024 05:51:40 -0700 Subject: [PATCH 403/626] update data availability sprint 2024-07-05 --- .../sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index f88386015..75b59d7ee 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -157,7 +157,7 @@ Cycle Objective(s): - [In review: Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) * Data Availability: - - Continue rollout of local script execution on QuickNode + - Adjusted max script execution effort on public ANs to 10K (fails over to ENs) - KROK Team - In review - Add support for version beacon events to control script execution @@ -188,10 +188,11 @@ Cycle Objective(s): - Continue rollout of local script execution on QuickNode - KROK Team - - Create proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823) - In review) - - Add support for pruning execution data db on ANs ([Issue #6002](https://github.com/onflow/flow-go/issues/6002)) - - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017)) - - Start Registers DB pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + - Add support for version beacon events to control script execution ([Issue #5788](https://github.com/onflow/flow-go/issues/5788) - In review, [Issue #5789](https://github.com/onflow/flow-go/issues/5789) - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) + - Complete proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823) - In review) + - Add support for pruning execution data db on ANs ([Issue #6002](https://github.com/onflow/flow-go/issues/6002) - in review) + - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017) - in review) + - Start Registers DB pruning (delayed from last sprint) ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) * Cryptography: - SPoCK aggregation: from BLS security proof to BLS aggregation security proof (multiple sprints) From db1159cdfd8f51115fea70a7b9f25ccce3531701 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 5 Jul 2024 09:17:48 -0600 Subject: [PATCH 404/626] Add infra section --- .../2024-07-05-Flow-Sprint-Kickoff.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 75b59d7ee..30e2b022e 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -331,6 +331,27 @@ Cycle Objective(s): **Done last sprint** +**Node Hosting** + +- [Move MN VN25 Infra to India](https://github.com/dapperlabs/terraform/pull/4270) +- [Update Ansible config to support India region](https://github.com/dapperlabs/dapper-flow-hosting/pull/1529) +- [Upgrade all network VMs to address SSH vuln](https://github.com/dapperlabs/terraform/pull/4287) +- [Increase Disk Size for MN LNs](https://github.com/dapperlabs/terraform/pull/4279) + +**DevEx Service Observability** + +- [Enable ingestion of Cloud Run logs to Loki](https://github.com/dapperlabs/flow-devex-infrastructure/pull/182) +- [Enable GCP Metrics data source to query metrics from GCP](https://flowfoundation.grafana.net/explore?schemaVersion=1&panes=%7B%22dmn%22:%7B%22datasource%22:%22edqgkbo5bzapsa%22,%22queries%22:%5B%7B%22datasource%22:%7B%22type%22:%22stackdriver%22,%22uid%22:%22edqgkbo5bzapsa%22%7D,%22refId%22:%22A%22,%22queryType%22:%22timeSeriesList%22,%22timeSeriesList%22:%7B%22projectName%22:%22flow-devops%22,%22filters%22:%5B%5D,%22view%22:%22FULL%22%7D%7D%5D,%22range%22:%7B%22from%22:%22now-1h%22,%22to%22:%22now%22%7D%7D%7D&orgId=1) + +**CloudFlare Migration** + +- Proceeded with new account contract + +**Automation** + +- [Create New BigQuery Tables for Flaky Test & TPS Automation](https://github.com/dapperlabs/terraform/pull/4275) +- [Update TPS automation to leverage new BQ table](https://github.com/onflow/flow-go/pull/6149) +- [Update Flaky Test Automation to leverage new BQ table](https://github.com/onflow/flow-go/pull/6147) **This Sprint** - Assist with migration and spork prep efforts From dbd53e5216ff6226dae124472654d34c4edf0775 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 5 Jul 2024 21:06:42 +0530 Subject: [PATCH 405/626] Update 2024-07-05-Flow-Sprint-Kickoff.md FLIP tracker update --- .../sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 30e2b022e..4d5f1ab72 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -46,15 +46,16 @@ | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| | Drafted | 7 | 9 | 0 | 7 | **23** | -| Proposed | 1 | 3 (+1) | 2 | 0 | **6** (+1) | +| Proposed | 1 | 2 (-1) | 2 | 0 | **5** (-1) | | Accepted | 2 | 1 | 2 | 1 | **6** | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 3 | 21 | 2 | 1 | **27** | +| Implemented | 3 | 22 (+1) | 2 | 1 | **28** (+1) | | Released | 4 | 0 | 3 | 6 | **13** | -| Total | **17** | **34** (+1) | **10** | **15** | **76** (+1) | +| Total | **17** | **34** | **10** | **15** | **76** | **Updates** -* [Cadence] - FLIP for changing import statement semantics (FLIP-277) proposed +* [Cadence] - FLIP for changing import statement semantics (FLIP-277) moved to implementation +* FLIPs started by folks who have now left FF, need to reassign --- From 19a098aa1506dba51a8e2ca253921287584d1d0e Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 5 Jul 2024 08:38:28 -0700 Subject: [PATCH 406/626] Update 2024-07-05-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 4d5f1ab72..78ecd6f0b 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -13,19 +13,19 @@ --- -### Mainnet Uptime - Last 14 days (mm/dd/24 to mm/dd/24) \[Vishal] +### Mainnet Uptime - Last 14 days (06/22/24 to 07/05/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| | Collection Finalization | 99.9% | 100% | 0% | | Block Finalization | 99.9% | 100% | 0% | -| Transaction Execution | 99.9% | 99.95% | 49.6% | -| Block Sealing | 99.9% | 99.90% | 99.3% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | | Access API Liveness | 99.9% | ? dashboard broken 😔 | ? | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) -[YTD SLA: 99.919%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) +[YTD SLA: 99.922%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) ## Incidents From 0225120264ddaea407be874b9a00c75e95c77ed3 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 5 Jul 2024 08:43:03 -0700 Subject: [PATCH 407/626] Update 2024-07-05-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 78ecd6f0b..3737e1926 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -5,6 +5,7 @@ - Content pieces [Path to Permissionless Participation in Flow](https://docs.google.com/document/d/1dfKevN2zbsMP6fVOuAM2FTcCDGBW2sPa5CcrO8Uccy8/edit) and [2-page executive summary](https://docs.google.com/document/d/1E2iiEFlPdhBW7EIUYFV3LICq575JyX8OHZNqiFb04Qk/edit#heading=h.2n9y1yguzk4q) (mature complete drafts), which describe challenges and roadmap for permissionless consensus on Flow. - Refined [branching convention](https://github.com/onflow/flow-go/blob/alex/branching-conventions/DEVELOPMENT.md) for `flow-go` - See Core-Protocol Working Group [meeting June 27](https://github.com/onflow/Flow-Working-Groups/blob/main/core_protocol_working_group/meetings/2024-06-27.md) and respective PRs [#6162](https://github.com/onflow/flow-go/pull/6162), [#6177](https://github.com/onflow/flow-go/pull/6177) +- First version of operator branding is now live on FlowDiver (see: https://www.flowdiver.io/node) ### General updates From 932954294a4d5c5f9723c9285046a2cbd3878c3b Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 5 Jul 2024 08:51:51 -0700 Subject: [PATCH 408/626] Added Cadence and ATree updates --- .../2024-07-05-Flow-Sprint-Kickoff.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 78ecd6f0b..03e98b055 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -79,9 +79,11 @@ Cycle Objective(s): - [Remove access to field slices from composite and interface types](https://github.com/onflow/cadence/pull/3432) - [Fix invalidCadenceTypeError creation](https://github.com/onflow/flow-go/pull/6151) - [Import contracts as references](https://github.com/onflow/cadence/pull/3417) - - Reviews wrapping up: + - [Evaluate using JSONL instead of JSON array (reporters.ReportWriter) for diff-states command](https://github.com/onflow/flow-go/issues/6108) + - In review: - [Allow borrowing of capability with subtype](https://github.com/onflow/cadence/pull/3449) - [Fix toConstantSized](https://github.com/onflow/cadence/pull/3446) + - [Add support for JSONL report format as alternative to JSON array report](https://github.com/onflow/flow-go/pull/6176) - State migration for Crescendo release - [Improve Cadence 1.0 migration - clean up contract names and code](https://github.com/onflow/flow-go/pull/6148) @@ -109,6 +111,18 @@ Cycle Objective(s): - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + - Atree + - Analyze `diff-states` (21GB report) for atree inlined vs non-inlined execution states that executed same mainnet blocks + + -Cadence optimization + - Continue: [Cadence composites with attachment having different field types vs field values are rejected by CCF encoder](https://github.com/dapperlabs/cadence-internal/issues/241) + - [Provide ccf.EventsEncModeV0 and ccf.EventsEncModeV1 for encoding events in CCF format](https://github.com/onflow/cadence/issues/3448) + - For inlined and non-inlined states, re-execute again using: + - same blocks + - same starting point + - same vm configuration (prior run used Ice Lake vs Sky Lake) + - and save execution results (prior run's execution results were overwritten by storehouse tests). + - State migration for Crescendo release - [Test Crescendo state migration with Mainnet state, and deploy to a new mainnet migration net](https://github.com/onflow/flow-go/issues/5851) - [Comparison of execution states before and after the atree inlining](https://github.com/onflow/atree/issues/292) From 64fc9314cbb40a22346172cdfbcb0d76126529e5 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 5 Jul 2024 08:52:50 -0700 Subject: [PATCH 409/626] Minor fix --- agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index bafb57d1b..89ffdc133 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -115,7 +115,7 @@ Cycle Objective(s): - Atree - Analyze `diff-states` (21GB report) for atree inlined vs non-inlined execution states that executed same mainnet blocks - -Cadence optimization + - Cadence optimization - Continue: [Cadence composites with attachment having different field types vs field values are rejected by CCF encoder](https://github.com/dapperlabs/cadence-internal/issues/241) - [Provide ccf.EventsEncModeV0 and ccf.EventsEncModeV1 for encoding events in CCF format](https://github.com/onflow/cadence/issues/3448) - For inlined and non-inlined states, re-execute again using: From 51d101d3cc255af614216ecbabb0b9b2725873ee Mon Sep 17 00:00:00 2001 From: Tom Haile Date: Fri, 5 Jul 2024 10:59:20 -0500 Subject: [PATCH 410/626] Update 2024-07-05-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 89ffdc133..7e7c273ae 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -6,6 +6,7 @@ - Refined [branching convention](https://github.com/onflow/flow-go/blob/alex/branching-conventions/DEVELOPMENT.md) for `flow-go` - See Core-Protocol Working Group [meeting June 27](https://github.com/onflow/Flow-Working-Groups/blob/main/core_protocol_working_group/meetings/2024-06-27.md) and respective PRs [#6162](https://github.com/onflow/flow-go/pull/6162), [#6177](https://github.com/onflow/flow-go/pull/6177) - First version of operator branding is now live on FlowDiver (see: https://www.flowdiver.io/node) +- MVP of Flow Port asset Bridge as demo'd at all-hands ### General updates @@ -282,6 +283,7 @@ Cycle Objective(s): - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) - Discover and Design for bridge.flow.com +- [EPIC] EVM Bridge - [#1](https://github.com/onflow/flow-bridge-app/issues/1) #### Smart Contract WG From 99c9b79fce02fea7a42a8447d7bf46ac655ec59a Mon Sep 17 00:00:00 2001 From: Jeff Doyle Date: Fri, 5 Jul 2024 09:02:14 -0700 Subject: [PATCH 411/626] Update 2024-07-05-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 7e7c273ae..98a667848 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -324,12 +324,12 @@ Cycle Objective(s): **This sprint** -- Add support for MigrationNet to Flow Wallet Extension -- Refine "Homepage 2.0" UI/UX +- Ship MigrationNet support for Flow Wallet Extension +- Ship "Homepage 2.0" UI/UX +- Polishing Account Linking UI/UX and functionality - Continue to best support Secure Enclave - User migration from Extension (seed phrase) to mobile (secure enclave) wallet security - - New account creation UI explaining the benefits of SE - - Explain any UI differences between seed phrase / SE wallets + - Explaining differences between seed phrase / SE wallets - Profile account recovery - one backup to a users multiple primary accounts **On Hold** From d094d4cf6e0b56833aea7caf4f491d5c7d003048 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 5 Jul 2024 09:12:54 -0700 Subject: [PATCH 412/626] Minor tidyup --- .../2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 98a667848..bd976e3db 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -115,15 +115,15 @@ Cycle Objective(s): - Atree - Analyze `diff-states` (21GB report) for atree inlined vs non-inlined execution states that executed same mainnet blocks - - - Cadence optimization - - Continue: [Cadence composites with attachment having different field types vs field values are rejected by CCF encoder](https://github.com/dapperlabs/cadence-internal/issues/241) - - [Provide ccf.EventsEncModeV0 and ccf.EventsEncModeV1 for encoding events in CCF format](https://github.com/onflow/cadence/issues/3448) - For inlined and non-inlined states, re-execute again using: - same blocks - same starting point - same vm configuration (prior run used Ice Lake vs Sky Lake) - and save execution results (prior run's execution results were overwritten by storehouse tests). + + - Cadence optimization + - Continue: [Cadence composites with attachment having different field types vs field values are rejected by CCF encoder](https://github.com/dapperlabs/cadence-internal/issues/241) + - [Provide ccf.EventsEncModeV0 and ccf.EventsEncModeV1 for encoding events in CCF format](https://github.com/onflow/cadence/issues/3448) - State migration for Crescendo release - [Test Crescendo state migration with Mainnet state, and deploy to a new mainnet migration net](https://github.com/onflow/flow-go/issues/5851) From 8843d384239cb519f2935eb7e638c0157de3d154 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 5 Jul 2024 21:58:19 +0530 Subject: [PATCH 413/626] Update 2024-07-05-Flow-Sprint-Kickoff.md Governance updates --- .../2024-07-05-Flow-Sprint-Kickoff.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 98a667848..957e42bb6 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -382,13 +382,17 @@ Cycle Objective(s): Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** +- Edgevana: Lease agreement finalized; Edgevana now operating a verification node in Sydney, Australia—our first node on the continent +- Node Operator Branding & geographical spread: Implementation underway on Flowdiver; see link [here](https://www.flowdiver.io/node) +- Transaction fee strategy discussion with leaders; we will proceed with dynamic fee structure implementation, timed with crescedo launch +- Governance Working Group: Presentation on FLIP tooling during the latest meeting +- Planned Flow tokenomics re-visualization with graphics and better assortment of data on flow.com's tokenomics page **This sprint** -- Work on node operator branding and logos with .find team; test and ship new node operations page on flowdiver -- Work with Dete on revising the narrative around inflation, fees and (stable-state) Flow economics -- Upgrading tokenomics pages for easy comprehension -- Plan next cycle OKRs for governance - +- Take all Node branding changes live +- R&D on dynamic fee structure and agreement on v0 algorithm for crescendo launch +- Continue to upgrade Tokenomics pages + **On Hold** From 65b1262f78a3eba55c5d6073ec70d31da0969ec5 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 5 Jul 2024 09:37:16 -0700 Subject: [PATCH 414/626] Added final protocol updates --- .../2024-07-05-Flow-Sprint-Kickoff.md | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 2c54ec5e6..392bae8a8 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -170,8 +170,10 @@ Cycle Objective(s): - [`epochs.FallbackStateMachine` only tolerates narrow unexpected behaviour](https://github.com/onflow/flow-go/issues/6018) - Addressed comments and merged PR for https://github.com/onflow/flow-go/issues/6018, effectively completing it. - [Modify EFM logic do not enter EFM while in EpochCommitted phase](https://github.com/onflow/flow-go/issues/5731) - - [In review: Supporting epoch extensions in consensus committee](https://github.com/onflow/flow-go/pull/6154) - - [In review: Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) + - In review: [Supporting epoch extensions in consensus committee](https://github.com/onflow/flow-go/pull/6154) + - In review: [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) + - Ready to merge: [EFM integration tests, part 1](https://github.com/onflow/flow-go/pull/6156) + - Ready to merge: [EFM blocktime controller updates](https://github.com/onflow/flow-go/pull/6156) * Data Availability: - Adjusted max script execution effort on public ANs to 10K (fails over to ENs) @@ -199,7 +201,10 @@ Cycle Objective(s): - [Support Epoch Extensions in HotStuff Committee](https://github.com/onflow/flow-go/pull/6154) - [Address comments and merge PR for: Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) - [Implement last issue for epoch state machines for handling transitions into EFM in edge case](https://github.com/onflow/flow-go/issues/5631) - + - Merge open PRs + - Finish [EFM transaction Cadence PR](https://github.com/onflow/flow-core-contracts/pull/420) + - [Update Epoch Lookup Component](https://github.com/onflow/flow-go/issues/5763) + * Data Availability: - Complete ProtocolDB pruning design - Continue rollout of local script execution on QuickNode @@ -218,6 +223,10 @@ Cycle Objective(s): - KROK: - Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) +* Other: + - Prepare for libp2p shipyard deep dive + + **On Hold** * Implement BFT mitigations to enable 20 permissionless ANs From 910894bd774b31f3f73ed468faf83fd301102e5c Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 5 Jul 2024 09:40:13 -0700 Subject: [PATCH 415/626] Protocol fixes --- .../sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 392bae8a8..45a973a70 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -173,7 +173,7 @@ Cycle Objective(s): - In review: [Supporting epoch extensions in consensus committee](https://github.com/onflow/flow-go/pull/6154) - In review: [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) - Ready to merge: [EFM integration tests, part 1](https://github.com/onflow/flow-go/pull/6156) - - Ready to merge: [EFM blocktime controller updates](https://github.com/onflow/flow-go/pull/6156) + - Ready to merge: [EFM blocktime controller updates](https://github.com/onflow/flow-go/issues/5732) * Data Availability: - Adjusted max script execution effort on public ANs to 10K (fails over to ENs) @@ -194,16 +194,13 @@ Cycle Objective(s): * EFM Recovery - [Update Ansible automation for Mainnet25 Dynamic Protocol state changes](https://github.com/onflow/flow-go/issues/5156) - [Update consensus committee EFM processing](https://github.com/onflow/flow-go/issues/5730) - - Review by SC team: [EpochRecover cadence transaction](https://github.com/onflow/flow-core-contracts/pull/420) - - [Blocktime controller EFM changes](https://github.com/onflow/flow-go/issues/5732) - [Update epoch lookup component](https://github.com/onflow/flow-go/issues/5763) - [EFM Recovery benchnet testing](https://github.com/onflow/flow-go/issues/5945) - [Support Epoch Extensions in HotStuff Committee](https://github.com/onflow/flow-go/pull/6154) - - [Address comments and merge PR for: Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) - - [Implement last issue for epoch state machines for handling transitions into EFM in edge case](https://github.com/onflow/flow-go/issues/5631) - - Merge open PRs + - [Invalid Service Events shortly after Epoch Commit](https://github.com/onflow/flow-go/issues/5631) + - Address comments and merge PR: [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) + - Merge EFM integration test and blocktime controller PRs - Finish [EFM transaction Cadence PR](https://github.com/onflow/flow-core-contracts/pull/420) - - [Update Epoch Lookup Component](https://github.com/onflow/flow-go/issues/5763) * Data Availability: - Complete ProtocolDB pruning design From 8a0d5fb3e50e48a6ee377aafa625d8e9a240cbdb Mon Sep 17 00:00:00 2001 From: Tom Haile Date: Fri, 5 Jul 2024 11:41:39 -0500 Subject: [PATCH 416/626] Update 2024-07-05-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index 45a973a70..b382d8e01 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -7,7 +7,10 @@ - See Core-Protocol Working Group [meeting June 27](https://github.com/onflow/Flow-Working-Groups/blob/main/core_protocol_working_group/meetings/2024-06-27.md) and respective PRs [#6162](https://github.com/onflow/flow-go/pull/6162), [#6177](https://github.com/onflow/flow-go/pull/6177) - First version of operator branding is now live on FlowDiver (see: https://www.flowdiver.io/node) - MVP of Flow Port asset Bridge as demo'd at all-hands - +- Bridge Smart Contract audit finalized, only low or informational findings +- Flipside migration dashboard ready for feedback, [Dashboard](https://flipsidecrypto.xyz/adriaparcerisas/cadence-1.0-migration-tYSddf) +- Contract Browser upgraded to facilitate deverloper in migration + ### General updates ### OOO From 3d7cfcfd52ac2532ebe244f9f66ecc8d76bd9fed Mon Sep 17 00:00:00 2001 From: Tom Haile Date: Fri, 5 Jul 2024 12:02:18 -0500 Subject: [PATCH 417/626] Update 2024-07-05-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md index b382d8e01..36f31c520 100644 --- a/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-05-Flow-Sprint-Kickoff.md @@ -9,7 +9,7 @@ - MVP of Flow Port asset Bridge as demo'd at all-hands - Bridge Smart Contract audit finalized, only low or informational findings - Flipside migration dashboard ready for feedback, [Dashboard](https://flipsidecrypto.xyz/adriaparcerisas/cadence-1.0-migration-tYSddf) -- Contract Browser upgraded to facilitate deverloper in migration +- Contract Browser upgraded to facilitate developer in migration ### General updates From 3caa83b082204dfee85b3a113da9a72e3b1c9f92 Mon Sep 17 00:00:00 2001 From: Andrii Date: Mon, 8 Jul 2024 14:29:25 +0300 Subject: [PATCH 418/626] Created separate methods for getting account key by index --- protobuf/flow/access/access.proto | 26 +- protobuf/go/flow/access/access.pb.go | 571 ++++++++++++++-------- protobuf/go/flow/access/access_grpc.pb.go | 82 ++++ 3 files changed, 461 insertions(+), 218 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index c8f1c4789..c580cb6c9 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -115,6 +115,15 @@ service AccessAPI { rpc GetAccountKeysAtBlockHeight(GetAccountKeysAtBlockHeightRequest) returns (AccountKeysResponse); + // GetAccountKeysAtLatestBlock gets an account public key by address and key index from the latest sealed + // execution state. + rpc GetAccountKeyAtLatestBlock(GetAccountKeyAtLatestBlockRequest) + returns (AccountKeyResponse); + // GetAccountKeysAtBlockHeight gets an account public key by address and key index at the given block + // height + rpc GetAccountKeyAtBlockHeight(GetAccountKeyAtBlockHeightRequest) + returns (AccountKeyResponse); + // Scripts // ExecuteScriptAtLatestBlock executes a read-only Cadence script against the @@ -460,16 +469,24 @@ message AccountBalanceResponse { message GetAccountKeysAtLatestBlockRequest { // address of account bytes address = 1; +} + +message GetAccountKeyAtLatestBlockRequest { + // address of account + bytes address = 1; // index of key to return - // omit to return all keys entities.AccountKeyIndex index = 2; } message GetAccountKeysAtBlockHeightRequest { bytes address = 1; uint64 block_height = 2; +} + +message GetAccountKeyAtBlockHeightRequest { + bytes address = 1; + uint64 block_height = 2; // index of key to return - // omit to return all keys entities.AccountKeyIndex index = 3; } @@ -478,6 +495,11 @@ message AccountKeysResponse { entities.Metadata metadata = 2; } +message AccountKeyResponse { + entities.AccountKey account_key = 1; + entities.Metadata metadata = 2; +} + // Scripts message ExecuteScriptAtLatestBlockRequest { diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 63f3c7305..4fa353f18 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -1645,13 +1645,10 @@ func (m *AccountBalanceResponse) GetMetadata() *entities.Metadata { type GetAccountKeysAtLatestBlockRequest struct { // address of account - Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - // index of key to return - // omit to return all keys - Index *entities.AccountKeyIndex `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *GetAccountKeysAtLatestBlockRequest) Reset() { *m = GetAccountKeysAtLatestBlockRequest{} } @@ -1686,7 +1683,49 @@ func (m *GetAccountKeysAtLatestBlockRequest) GetAddress() []byte { return nil } -func (m *GetAccountKeysAtLatestBlockRequest) GetIndex() *entities.AccountKeyIndex { +type GetAccountKeyAtLatestBlockRequest struct { + // address of account + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // index of key to return + Index *entities.AccountKeyIndex `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAccountKeyAtLatestBlockRequest) Reset() { *m = GetAccountKeyAtLatestBlockRequest{} } +func (m *GetAccountKeyAtLatestBlockRequest) String() string { return proto.CompactTextString(m) } +func (*GetAccountKeyAtLatestBlockRequest) ProtoMessage() {} +func (*GetAccountKeyAtLatestBlockRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{36} +} + +func (m *GetAccountKeyAtLatestBlockRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAccountKeyAtLatestBlockRequest.Unmarshal(m, b) +} +func (m *GetAccountKeyAtLatestBlockRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAccountKeyAtLatestBlockRequest.Marshal(b, m, deterministic) +} +func (m *GetAccountKeyAtLatestBlockRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAccountKeyAtLatestBlockRequest.Merge(m, src) +} +func (m *GetAccountKeyAtLatestBlockRequest) XXX_Size() int { + return xxx_messageInfo_GetAccountKeyAtLatestBlockRequest.Size(m) +} +func (m *GetAccountKeyAtLatestBlockRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetAccountKeyAtLatestBlockRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAccountKeyAtLatestBlockRequest proto.InternalMessageInfo + +func (m *GetAccountKeyAtLatestBlockRequest) GetAddress() []byte { + if m != nil { + return m.Address + } + return nil +} + +func (m *GetAccountKeyAtLatestBlockRequest) GetIndex() *entities.AccountKeyIndex { if m != nil { return m.Index } @@ -1694,21 +1733,18 @@ func (m *GetAccountKeysAtLatestBlockRequest) GetIndex() *entities.AccountKeyInde } type GetAccountKeysAtBlockHeightRequest struct { - Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - // index of key to return - // omit to return all keys - Index *entities.AccountKeyIndex `protobuf:"bytes,3,opt,name=index,proto3" json:"index,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *GetAccountKeysAtBlockHeightRequest) Reset() { *m = GetAccountKeysAtBlockHeightRequest{} } func (m *GetAccountKeysAtBlockHeightRequest) String() string { return proto.CompactTextString(m) } func (*GetAccountKeysAtBlockHeightRequest) ProtoMessage() {} func (*GetAccountKeysAtBlockHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{36} + return fileDescriptor_4382e32bb8e3e8e5, []int{37} } func (m *GetAccountKeysAtBlockHeightRequest) XXX_Unmarshal(b []byte) error { @@ -1743,7 +1779,56 @@ func (m *GetAccountKeysAtBlockHeightRequest) GetBlockHeight() uint64 { return 0 } -func (m *GetAccountKeysAtBlockHeightRequest) GetIndex() *entities.AccountKeyIndex { +type GetAccountKeyAtBlockHeightRequest struct { + Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + // index of key to return + Index *entities.AccountKeyIndex `protobuf:"bytes,3,opt,name=index,proto3" json:"index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAccountKeyAtBlockHeightRequest) Reset() { *m = GetAccountKeyAtBlockHeightRequest{} } +func (m *GetAccountKeyAtBlockHeightRequest) String() string { return proto.CompactTextString(m) } +func (*GetAccountKeyAtBlockHeightRequest) ProtoMessage() {} +func (*GetAccountKeyAtBlockHeightRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{38} +} + +func (m *GetAccountKeyAtBlockHeightRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAccountKeyAtBlockHeightRequest.Unmarshal(m, b) +} +func (m *GetAccountKeyAtBlockHeightRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAccountKeyAtBlockHeightRequest.Marshal(b, m, deterministic) +} +func (m *GetAccountKeyAtBlockHeightRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAccountKeyAtBlockHeightRequest.Merge(m, src) +} +func (m *GetAccountKeyAtBlockHeightRequest) XXX_Size() int { + return xxx_messageInfo_GetAccountKeyAtBlockHeightRequest.Size(m) +} +func (m *GetAccountKeyAtBlockHeightRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetAccountKeyAtBlockHeightRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAccountKeyAtBlockHeightRequest proto.InternalMessageInfo + +func (m *GetAccountKeyAtBlockHeightRequest) GetAddress() []byte { + if m != nil { + return m.Address + } + return nil +} + +func (m *GetAccountKeyAtBlockHeightRequest) GetBlockHeight() uint64 { + if m != nil { + return m.BlockHeight + } + return 0 +} + +func (m *GetAccountKeyAtBlockHeightRequest) GetIndex() *entities.AccountKeyIndex { if m != nil { return m.Index } @@ -1762,7 +1847,7 @@ func (m *AccountKeysResponse) Reset() { *m = AccountKeysResponse{} } func (m *AccountKeysResponse) String() string { return proto.CompactTextString(m) } func (*AccountKeysResponse) ProtoMessage() {} func (*AccountKeysResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{37} + return fileDescriptor_4382e32bb8e3e8e5, []int{39} } func (m *AccountKeysResponse) XXX_Unmarshal(b []byte) error { @@ -1797,6 +1882,53 @@ func (m *AccountKeysResponse) GetMetadata() *entities.Metadata { return nil } +type AccountKeyResponse struct { + AccountKey *entities.AccountKey `protobuf:"bytes,1,opt,name=account_key,json=accountKey,proto3" json:"account_key,omitempty"` + Metadata *entities.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AccountKeyResponse) Reset() { *m = AccountKeyResponse{} } +func (m *AccountKeyResponse) String() string { return proto.CompactTextString(m) } +func (*AccountKeyResponse) ProtoMessage() {} +func (*AccountKeyResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_4382e32bb8e3e8e5, []int{40} +} + +func (m *AccountKeyResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AccountKeyResponse.Unmarshal(m, b) +} +func (m *AccountKeyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AccountKeyResponse.Marshal(b, m, deterministic) +} +func (m *AccountKeyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_AccountKeyResponse.Merge(m, src) +} +func (m *AccountKeyResponse) XXX_Size() int { + return xxx_messageInfo_AccountKeyResponse.Size(m) +} +func (m *AccountKeyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_AccountKeyResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_AccountKeyResponse proto.InternalMessageInfo + +func (m *AccountKeyResponse) GetAccountKey() *entities.AccountKey { + if m != nil { + return m.AccountKey + } + return nil +} + +func (m *AccountKeyResponse) GetMetadata() *entities.Metadata { + if m != nil { + return m.Metadata + } + return nil +} + type ExecuteScriptAtLatestBlockRequest struct { Script []byte `protobuf:"bytes,1,opt,name=script,proto3" json:"script,omitempty"` Arguments [][]byte `protobuf:"bytes,2,rep,name=arguments,proto3" json:"arguments,omitempty"` @@ -1809,7 +1941,7 @@ func (m *ExecuteScriptAtLatestBlockRequest) Reset() { *m = ExecuteScript func (m *ExecuteScriptAtLatestBlockRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptAtLatestBlockRequest) ProtoMessage() {} func (*ExecuteScriptAtLatestBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{38} + return fileDescriptor_4382e32bb8e3e8e5, []int{41} } func (m *ExecuteScriptAtLatestBlockRequest) XXX_Unmarshal(b []byte) error { @@ -1857,7 +1989,7 @@ func (m *ExecuteScriptAtBlockIDRequest) Reset() { *m = ExecuteScriptAtBl func (m *ExecuteScriptAtBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptAtBlockIDRequest) ProtoMessage() {} func (*ExecuteScriptAtBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{39} + return fileDescriptor_4382e32bb8e3e8e5, []int{42} } func (m *ExecuteScriptAtBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -1912,7 +2044,7 @@ func (m *ExecuteScriptAtBlockHeightRequest) Reset() { *m = ExecuteScript func (m *ExecuteScriptAtBlockHeightRequest) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptAtBlockHeightRequest) ProtoMessage() {} func (*ExecuteScriptAtBlockHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{40} + return fileDescriptor_4382e32bb8e3e8e5, []int{43} } func (m *ExecuteScriptAtBlockHeightRequest) XXX_Unmarshal(b []byte) error { @@ -1967,7 +2099,7 @@ func (m *ExecuteScriptResponse) Reset() { *m = ExecuteScriptResponse{} } func (m *ExecuteScriptResponse) String() string { return proto.CompactTextString(m) } func (*ExecuteScriptResponse) ProtoMessage() {} func (*ExecuteScriptResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{41} + return fileDescriptor_4382e32bb8e3e8e5, []int{44} } func (m *ExecuteScriptResponse) XXX_Unmarshal(b []byte) error { @@ -2023,7 +2155,7 @@ func (m *GetEventsForHeightRangeRequest) Reset() { *m = GetEventsForHeig func (m *GetEventsForHeightRangeRequest) String() string { return proto.CompactTextString(m) } func (*GetEventsForHeightRangeRequest) ProtoMessage() {} func (*GetEventsForHeightRangeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{42} + return fileDescriptor_4382e32bb8e3e8e5, []int{45} } func (m *GetEventsForHeightRangeRequest) XXX_Unmarshal(b []byte) error { @@ -2085,7 +2217,7 @@ func (m *GetEventsForBlockIDsRequest) Reset() { *m = GetEventsForBlockID func (m *GetEventsForBlockIDsRequest) String() string { return proto.CompactTextString(m) } func (*GetEventsForBlockIDsRequest) ProtoMessage() {} func (*GetEventsForBlockIDsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{43} + return fileDescriptor_4382e32bb8e3e8e5, []int{46} } func (m *GetEventsForBlockIDsRequest) XXX_Unmarshal(b []byte) error { @@ -2139,7 +2271,7 @@ func (m *EventsResponse) Reset() { *m = EventsResponse{} } func (m *EventsResponse) String() string { return proto.CompactTextString(m) } func (*EventsResponse) ProtoMessage() {} func (*EventsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{44} + return fileDescriptor_4382e32bb8e3e8e5, []int{47} } func (m *EventsResponse) XXX_Unmarshal(b []byte) error { @@ -2188,7 +2320,7 @@ func (m *EventsResponse_Result) Reset() { *m = EventsResponse_Result{} } func (m *EventsResponse_Result) String() string { return proto.CompactTextString(m) } func (*EventsResponse_Result) ProtoMessage() {} func (*EventsResponse_Result) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{44, 0} + return fileDescriptor_4382e32bb8e3e8e5, []int{47, 0} } func (m *EventsResponse_Result) XXX_Unmarshal(b []byte) error { @@ -2247,7 +2379,7 @@ func (m *GetNetworkParametersRequest) Reset() { *m = GetNetworkParameter func (m *GetNetworkParametersRequest) String() string { return proto.CompactTextString(m) } func (*GetNetworkParametersRequest) ProtoMessage() {} func (*GetNetworkParametersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{45} + return fileDescriptor_4382e32bb8e3e8e5, []int{48} } func (m *GetNetworkParametersRequest) XXX_Unmarshal(b []byte) error { @@ -2279,7 +2411,7 @@ func (m *GetNetworkParametersResponse) Reset() { *m = GetNetworkParamete func (m *GetNetworkParametersResponse) String() string { return proto.CompactTextString(m) } func (*GetNetworkParametersResponse) ProtoMessage() {} func (*GetNetworkParametersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{46} + return fileDescriptor_4382e32bb8e3e8e5, []int{49} } func (m *GetNetworkParametersResponse) XXX_Unmarshal(b []byte) error { @@ -2317,7 +2449,7 @@ func (m *GetLatestProtocolStateSnapshotRequest) Reset() { *m = GetLatest func (m *GetLatestProtocolStateSnapshotRequest) String() string { return proto.CompactTextString(m) } func (*GetLatestProtocolStateSnapshotRequest) ProtoMessage() {} func (*GetLatestProtocolStateSnapshotRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{47} + return fileDescriptor_4382e32bb8e3e8e5, []int{50} } func (m *GetLatestProtocolStateSnapshotRequest) XXX_Unmarshal(b []byte) error { @@ -2351,7 +2483,7 @@ func (m *GetProtocolStateSnapshotByBlockIDRequest) Reset() { func (m *GetProtocolStateSnapshotByBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*GetProtocolStateSnapshotByBlockIDRequest) ProtoMessage() {} func (*GetProtocolStateSnapshotByBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{48} + return fileDescriptor_4382e32bb8e3e8e5, []int{51} } func (m *GetProtocolStateSnapshotByBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2392,7 +2524,7 @@ func (m *GetProtocolStateSnapshotByHeightRequest) Reset() { func (m *GetProtocolStateSnapshotByHeightRequest) String() string { return proto.CompactTextString(m) } func (*GetProtocolStateSnapshotByHeightRequest) ProtoMessage() {} func (*GetProtocolStateSnapshotByHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{49} + return fileDescriptor_4382e32bb8e3e8e5, []int{52} } func (m *GetProtocolStateSnapshotByHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2432,7 +2564,7 @@ func (m *ProtocolStateSnapshotResponse) Reset() { *m = ProtocolStateSnap func (m *ProtocolStateSnapshotResponse) String() string { return proto.CompactTextString(m) } func (*ProtocolStateSnapshotResponse) ProtoMessage() {} func (*ProtocolStateSnapshotResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{50} + return fileDescriptor_4382e32bb8e3e8e5, []int{53} } func (m *ProtocolStateSnapshotResponse) XXX_Unmarshal(b []byte) error { @@ -2478,7 +2610,7 @@ func (m *GetExecutionResultForBlockIDRequest) Reset() { *m = GetExecutio func (m *GetExecutionResultForBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*GetExecutionResultForBlockIDRequest) ProtoMessage() {} func (*GetExecutionResultForBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{51} + return fileDescriptor_4382e32bb8e3e8e5, []int{54} } func (m *GetExecutionResultForBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2518,7 +2650,7 @@ func (m *ExecutionResultForBlockIDResponse) Reset() { *m = ExecutionResu func (m *ExecutionResultForBlockIDResponse) String() string { return proto.CompactTextString(m) } func (*ExecutionResultForBlockIDResponse) ProtoMessage() {} func (*ExecutionResultForBlockIDResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{52} + return fileDescriptor_4382e32bb8e3e8e5, []int{55} } func (m *ExecutionResultForBlockIDResponse) XXX_Unmarshal(b []byte) error { @@ -2564,7 +2696,7 @@ func (m *GetExecutionResultByIDRequest) Reset() { *m = GetExecutionResul func (m *GetExecutionResultByIDRequest) String() string { return proto.CompactTextString(m) } func (*GetExecutionResultByIDRequest) ProtoMessage() {} func (*GetExecutionResultByIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{53} + return fileDescriptor_4382e32bb8e3e8e5, []int{56} } func (m *GetExecutionResultByIDRequest) XXX_Unmarshal(b []byte) error { @@ -2604,7 +2736,7 @@ func (m *ExecutionResultByIDResponse) Reset() { *m = ExecutionResultByID func (m *ExecutionResultByIDResponse) String() string { return proto.CompactTextString(m) } func (*ExecutionResultByIDResponse) ProtoMessage() {} func (*ExecutionResultByIDResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{54} + return fileDescriptor_4382e32bb8e3e8e5, []int{57} } func (m *ExecutionResultByIDResponse) XXX_Unmarshal(b []byte) error { @@ -2661,7 +2793,7 @@ func (m *SubscribeBlocksFromStartBlockIDRequest) Reset() { func (m *SubscribeBlocksFromStartBlockIDRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlocksFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{55} + return fileDescriptor_4382e32bb8e3e8e5, []int{58} } func (m *SubscribeBlocksFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2723,7 +2855,7 @@ func (m *SubscribeBlocksFromStartHeightRequest) Reset() { *m = Subscribe func (m *SubscribeBlocksFromStartHeightRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlocksFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{56} + return fileDescriptor_4382e32bb8e3e8e5, []int{59} } func (m *SubscribeBlocksFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2783,7 +2915,7 @@ func (m *SubscribeBlocksFromLatestRequest) Reset() { *m = SubscribeBlock func (m *SubscribeBlocksFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksFromLatestRequest) ProtoMessage() {} func (*SubscribeBlocksFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{57} + return fileDescriptor_4382e32bb8e3e8e5, []int{60} } func (m *SubscribeBlocksFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -2832,7 +2964,7 @@ func (m *SubscribeBlocksResponse) Reset() { *m = SubscribeBlocksResponse func (m *SubscribeBlocksResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlocksResponse) ProtoMessage() {} func (*SubscribeBlocksResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{58} + return fileDescriptor_4382e32bb8e3e8e5, []int{61} } func (m *SubscribeBlocksResponse) XXX_Unmarshal(b []byte) error { @@ -2882,7 +3014,7 @@ func (m *SubscribeBlockHeadersFromStartBlockIDRequest) String() string { } func (*SubscribeBlockHeadersFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{59} + return fileDescriptor_4382e32bb8e3e8e5, []int{62} } func (m *SubscribeBlockHeadersFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -2939,7 +3071,7 @@ func (m *SubscribeBlockHeadersFromStartHeightRequest) String() string { } func (*SubscribeBlockHeadersFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{60} + return fileDescriptor_4382e32bb8e3e8e5, []int{63} } func (m *SubscribeBlockHeadersFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -2992,7 +3124,7 @@ func (m *SubscribeBlockHeadersFromLatestRequest) Reset() { func (m *SubscribeBlockHeadersFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockHeadersFromLatestRequest) ProtoMessage() {} func (*SubscribeBlockHeadersFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{61} + return fileDescriptor_4382e32bb8e3e8e5, []int{64} } func (m *SubscribeBlockHeadersFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -3034,7 +3166,7 @@ func (m *SubscribeBlockHeadersResponse) Reset() { *m = SubscribeBlockHea func (m *SubscribeBlockHeadersResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockHeadersResponse) ProtoMessage() {} func (*SubscribeBlockHeadersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{62} + return fileDescriptor_4382e32bb8e3e8e5, []int{65} } func (m *SubscribeBlockHeadersResponse) XXX_Unmarshal(b []byte) error { @@ -3084,7 +3216,7 @@ func (m *SubscribeBlockDigestsFromStartBlockIDRequest) String() string { } func (*SubscribeBlockDigestsFromStartBlockIDRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromStartBlockIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{63} + return fileDescriptor_4382e32bb8e3e8e5, []int{66} } func (m *SubscribeBlockDigestsFromStartBlockIDRequest) XXX_Unmarshal(b []byte) error { @@ -3141,7 +3273,7 @@ func (m *SubscribeBlockDigestsFromStartHeightRequest) String() string { } func (*SubscribeBlockDigestsFromStartHeightRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromStartHeightRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{64} + return fileDescriptor_4382e32bb8e3e8e5, []int{67} } func (m *SubscribeBlockDigestsFromStartHeightRequest) XXX_Unmarshal(b []byte) error { @@ -3194,7 +3326,7 @@ func (m *SubscribeBlockDigestsFromLatestRequest) Reset() { func (m *SubscribeBlockDigestsFromLatestRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockDigestsFromLatestRequest) ProtoMessage() {} func (*SubscribeBlockDigestsFromLatestRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{65} + return fileDescriptor_4382e32bb8e3e8e5, []int{68} } func (m *SubscribeBlockDigestsFromLatestRequest) XXX_Unmarshal(b []byte) error { @@ -3242,7 +3374,7 @@ func (m *SubscribeBlockDigestsResponse) Reset() { *m = SubscribeBlockDig func (m *SubscribeBlockDigestsResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeBlockDigestsResponse) ProtoMessage() {} func (*SubscribeBlockDigestsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{66} + return fileDescriptor_4382e32bb8e3e8e5, []int{69} } func (m *SubscribeBlockDigestsResponse) XXX_Unmarshal(b []byte) error { @@ -3303,7 +3435,7 @@ func (m *SendAndSubscribeTransactionStatusesRequest) String() string { } func (*SendAndSubscribeTransactionStatusesRequest) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{67} + return fileDescriptor_4382e32bb8e3e8e5, []int{70} } func (m *SendAndSubscribeTransactionStatusesRequest) XXX_Unmarshal(b []byte) error { @@ -3357,7 +3489,7 @@ func (m *SendAndSubscribeTransactionStatusesResponse) String() string { } func (*SendAndSubscribeTransactionStatusesResponse) ProtoMessage() {} func (*SendAndSubscribeTransactionStatusesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_4382e32bb8e3e8e5, []int{68} + return fileDescriptor_4382e32bb8e3e8e5, []int{71} } func (m *SendAndSubscribeTransactionStatusesResponse) XXX_Unmarshal(b []byte) error { @@ -3429,8 +3561,11 @@ func init() { proto.RegisterType((*GetAccountBalanceAtBlockHeightRequest)(nil), "flow.access.GetAccountBalanceAtBlockHeightRequest") proto.RegisterType((*AccountBalanceResponse)(nil), "flow.access.AccountBalanceResponse") proto.RegisterType((*GetAccountKeysAtLatestBlockRequest)(nil), "flow.access.GetAccountKeysAtLatestBlockRequest") + proto.RegisterType((*GetAccountKeyAtLatestBlockRequest)(nil), "flow.access.GetAccountKeyAtLatestBlockRequest") proto.RegisterType((*GetAccountKeysAtBlockHeightRequest)(nil), "flow.access.GetAccountKeysAtBlockHeightRequest") + proto.RegisterType((*GetAccountKeyAtBlockHeightRequest)(nil), "flow.access.GetAccountKeyAtBlockHeightRequest") proto.RegisterType((*AccountKeysResponse)(nil), "flow.access.AccountKeysResponse") + proto.RegisterType((*AccountKeyResponse)(nil), "flow.access.AccountKeyResponse") proto.RegisterType((*ExecuteScriptAtLatestBlockRequest)(nil), "flow.access.ExecuteScriptAtLatestBlockRequest") proto.RegisterType((*ExecuteScriptAtBlockIDRequest)(nil), "flow.access.ExecuteScriptAtBlockIDRequest") proto.RegisterType((*ExecuteScriptAtBlockHeightRequest)(nil), "flow.access.ExecuteScriptAtBlockHeightRequest") @@ -3468,169 +3603,173 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2614 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0x5b, 0x6f, 0xdc, 0xc6, - 0x15, 0x06, 0xb5, 0xb2, 0x2e, 0x47, 0x2b, 0xd9, 0x1e, 0x2b, 0xf2, 0x8a, 0xb2, 0xac, 0x35, 0x65, - 0xc7, 0x8a, 0xed, 0xac, 0x0c, 0x3b, 0x45, 0xec, 0xf4, 0x82, 0x4a, 0x8e, 0xad, 0x08, 0xb5, 0x03, - 0x81, 0x72, 0x5c, 0xa4, 0x6d, 0xb2, 0xa0, 0x96, 0xa3, 0x15, 0xe1, 0x15, 0xa9, 0x92, 0x5c, 0xdb, - 0x6a, 0x83, 0x22, 0x0f, 0x46, 0x51, 0xa0, 0xe8, 0x0d, 0x2d, 0x50, 0x34, 0x40, 0x5f, 0xda, 0xa7, - 0xb6, 0x0f, 0x7d, 0xea, 0x43, 0x51, 0x14, 0x05, 0x82, 0xf6, 0x07, 0xf4, 0x1f, 0x15, 0x9c, 0x19, - 0x2e, 0x67, 0x86, 0x33, 0x5c, 0xee, 0x4a, 0xae, 0xfc, 0x62, 0x8b, 0x9c, 0x33, 0xe7, 0x32, 0xe7, - 0x32, 0xc3, 0xef, 0xcc, 0x42, 0x6d, 0xb7, 0x13, 0x3c, 0x5f, 0x75, 0x5a, 0x2d, 0x1c, 0x45, 0xec, - 0xbf, 0xc6, 0x41, 0x18, 0xc4, 0x01, 0x9a, 0x4a, 0x46, 0x1a, 0xf4, 0x95, 0xb9, 0x40, 0xc8, 0xb0, - 0x1f, 0x7b, 0xb1, 0x87, 0x09, 0x61, 0xd0, 0xf5, 0x63, 0x4a, 0x69, 0xd6, 0xc5, 0xc1, 0x9d, 0x4e, - 0xd0, 0x7a, 0xda, 0xdc, 0xc3, 0x8e, 0x8b, 0x43, 0x46, 0x31, 0xaf, 0xa0, 0x60, 0x43, 0x17, 0xc5, - 0xa1, 0x56, 0xd0, 0xe9, 0xe0, 0x56, 0xec, 0x05, 0xbe, 0x7a, 0x2a, 0x7e, 0x86, 0x7b, 0x72, 0x2f, - 0x4b, 0x43, 0x2f, 0x70, 0xab, 0x9b, 0xcc, 0x6c, 0x86, 0x38, 0xea, 0x76, 0x52, 0xaa, 0x0b, 0x22, - 0xd5, 0x3e, 0x8e, 0x1d, 0xd7, 0x89, 0x1d, 0x36, 0x7a, 0x45, 0x1c, 0xf5, 0x03, 0x17, 0x37, 0x9f, - 0xe1, 0x30, 0x4a, 0xd8, 0x78, 0xfe, 0x6e, 0xc0, 0xc8, 0x96, 0x44, 0xb2, 0x38, 0x74, 0xfc, 0xc8, - 0xe1, 0xd5, 0x5c, 0x6a, 0x07, 0x41, 0xbb, 0x83, 0x57, 0xc9, 0xd3, 0x4e, 0x77, 0x77, 0x35, 0xf6, - 0xf6, 0x71, 0x14, 0x3b, 0xfb, 0x07, 0x94, 0xc0, 0x9a, 0x86, 0xa9, 0x2d, 0xcf, 0x6f, 0xdb, 0xf8, - 0xfb, 0x5d, 0x1c, 0xc5, 0xd6, 0x0c, 0x54, 0xe9, 0x63, 0x74, 0x10, 0xf8, 0x11, 0xb6, 0x16, 0x60, - 0x7e, 0x03, 0xc7, 0x1f, 0x06, 0x2e, 0x7e, 0x42, 0xa5, 0x6f, 0xfa, 0xbb, 0x41, 0x4a, 0xbc, 0x05, - 0xa6, 0x6a, 0x90, 0x4e, 0x45, 0xb7, 0x60, 0x34, 0xd1, 0xb4, 0x66, 0xd4, 0x8d, 0x95, 0xa9, 0x5b, - 0x17, 0x1b, 0xc4, 0x6f, 0xa9, 0xaa, 0x0d, 0x79, 0x16, 0xa1, 0xb5, 0xde, 0x83, 0x85, 0x0d, 0x1c, - 0x3f, 0x74, 0x62, 0x1c, 0xc5, 0xeb, 0x89, 0x37, 0x3e, 0x20, 0xee, 0x62, 0x02, 0xd1, 0x02, 0x4c, - 0x7a, 0x51, 0x33, 0xc2, 0x4e, 0x07, 0xbb, 0x84, 0xef, 0x84, 0x3d, 0xe1, 0x45, 0xdb, 0xe4, 0xd9, - 0xba, 0x4e, 0x54, 0xe5, 0x66, 0xad, 0x1f, 0x6e, 0xbe, 0x9f, 0xce, 0x9c, 0x81, 0x11, 0x8f, 0x4e, - 0xa9, 0xda, 0x23, 0x9e, 0x6b, 0xbd, 0x0b, 0x8b, 0x32, 0xf1, 0x07, 0xd8, 0x6b, 0xef, 0xc5, 0xe9, - 0x84, 0x39, 0x18, 0xdb, 0x23, 0x2f, 0xc8, 0xa4, 0x51, 0x9b, 0x3d, 0x59, 0xff, 0x30, 0xe0, 0x9c, - 0xa0, 0x19, 0xb3, 0xf6, 0x26, 0x9c, 0x22, 0xe1, 0xc3, 0xcc, 0x35, 0x25, 0x73, 0xf9, 0x29, 0x94, - 0x10, 0x7d, 0x1d, 0xaa, 0x34, 0x24, 0xa3, 0xd8, 0x89, 0xbb, 0x51, 0x6d, 0xa4, 0x6e, 0xac, 0xcc, - 0xa8, 0x27, 0x6e, 0x13, 0x0a, 0x7b, 0x6a, 0x27, 0x7b, 0x40, 0xb7, 0x61, 0x22, 0x8d, 0x99, 0x5a, - 0x85, 0xc8, 0x3c, 0x2f, 0x4d, 0x7d, 0xc4, 0x86, 0xed, 0x1e, 0xa1, 0xe5, 0xc2, 0x1b, 0xe2, 0xfa, - 0x96, 0x59, 0x59, 0xd4, 0x80, 0x73, 0xbb, 0xdd, 0x4e, 0xa7, 0x49, 0xd5, 0x0d, 0x99, 0xc9, 0x44, - 0xe1, 0x09, 0xfb, 0x6c, 0x32, 0xc4, 0x78, 0xb1, 0xa0, 0xf9, 0x08, 0xce, 0xa5, 0x8b, 0x5b, 0xe0, - 0x83, 0x81, 0xd9, 0x3a, 0x70, 0x3e, 0x63, 0x5b, 0xca, 0x5b, 0x03, 0x8b, 0xf8, 0xab, 0x01, 0xd3, - 0xc2, 0x1b, 0x74, 0x4d, 0xf4, 0xeb, 0xac, 0xca, 0x3d, 0x27, 0xe9, 0xd1, 0x6b, 0x50, 0xdb, 0xc0, - 0xf1, 0xbd, 0x5e, 0x79, 0x2a, 0x0a, 0xfa, 0x06, 0x5c, 0xd8, 0xc0, 0xf1, 0x83, 0x6e, 0xa7, 0x53, - 0x8e, 0xfe, 0xa5, 0x01, 0x28, 0xa3, 0xec, 0x2d, 0xc9, 0x5d, 0x80, 0xac, 0x1c, 0xb2, 0x75, 0x99, - 0x97, 0x34, 0xe5, 0xa6, 0x71, 0xc4, 0x82, 0x89, 0x23, 0x65, 0x4d, 0xfc, 0x99, 0x01, 0x73, 0xa2, - 0xd2, 0x3d, 0x55, 0xbe, 0x01, 0x55, 0xae, 0xe6, 0x45, 0x35, 0xa3, 0x5e, 0x51, 0x24, 0xdf, 0xe3, - 0x8c, 0xc4, 0x16, 0xe8, 0x87, 0xd3, 0xe7, 0x09, 0xcc, 0x6d, 0x63, 0xdf, 0xe5, 0xb9, 0xb2, 0x05, - 0xfc, 0x1a, 0x4c, 0x71, 0xec, 0x35, 0xa5, 0x80, 0x9f, 0xc7, 0x93, 0x5b, 0x9f, 0xc2, 0xf9, 0x1c, - 0x5f, 0x66, 0xa7, 0x9c, 0x3a, 0x43, 0xe9, 0xfd, 0xa5, 0x41, 0xb2, 0x5f, 0xa1, 0xb7, 0xcc, 0x7e, - 0x1e, 0x26, 0x68, 0x20, 0x7b, 0x2e, 0x61, 0x5f, 0xb5, 0xc7, 0xc9, 0xf3, 0xa6, 0x8b, 0x96, 0x61, - 0x3a, 0xf3, 0x67, 0x32, 0x5e, 0x21, 0xe3, 0xd5, 0xec, 0xe5, 0xa6, 0x8b, 0x3e, 0x86, 0x39, 0xb2, - 0x21, 0x36, 0xb1, 0xdf, 0x0a, 0x5c, 0xcf, 0x6f, 0xa7, 0x7b, 0x57, 0x6d, 0x94, 0xa4, 0xc4, 0xb2, - 0xa4, 0xec, 0xfd, 0x84, 0xf8, 0x3e, 0xa3, 0x65, 0xbb, 0x82, 0x3d, 0x8b, 0x15, 0x6f, 0xad, 0x3b, - 0x64, 0x87, 0xd8, 0x3e, 0x8c, 0x62, 0xbc, 0xaf, 0xb0, 0x84, 0xd7, 0xdc, 0x10, 0x34, 0xb7, 0x7e, - 0x67, 0xc0, 0x25, 0xf5, 0xd4, 0x64, 0x57, 0xee, 0xcf, 0xa0, 0xc0, 0xaa, 0x91, 0xa3, 0x5a, 0xf5, - 0x67, 0x83, 0xa4, 0x26, 0xa7, 0xd5, 0xfa, 0xe1, 0xa6, 0xef, 0xe2, 0x17, 0x25, 0xd4, 0x9a, 0x85, - 0x53, 0x5e, 0x42, 0x4a, 0xb4, 0x98, 0xb6, 0xe9, 0x43, 0x81, 0xb2, 0x95, 0xa3, 0x2a, 0xfb, 0x5b, - 0x03, 0x96, 0x44, 0x65, 0xa3, 0xf5, 0x43, 0x52, 0xd5, 0xb2, 0x52, 0x72, 0x62, 0xcb, 0x68, 0xe6, - 0x3c, 0x1b, 0xf5, 0xb2, 0xe8, 0xdb, 0x70, 0x8e, 0xcb, 0x37, 0x76, 0x1c, 0x4b, 0x8b, 0xc6, 0x9b, - 0x0d, 0xee, 0x60, 0xd9, 0x50, 0xc4, 0x07, 0x65, 0x62, 0xa3, 0x38, 0x27, 0x60, 0xb8, 0x74, 0xfc, - 0xa9, 0x01, 0xb3, 0xfc, 0x1a, 0x9e, 0x6c, 0x51, 0xfb, 0x89, 0x01, 0xe7, 0x54, 0x95, 0xe7, 0x48, - 0x25, 0x6d, 0x38, 0x55, 0xfe, 0x56, 0x81, 0x79, 0xed, 0xfa, 0xa3, 0x3b, 0x30, 0xc6, 0xb6, 0x57, - 0x83, 0x84, 0x4b, 0x5d, 0xaf, 0x0b, 0xdb, 0x64, 0x19, 0x3d, 0x5a, 0x82, 0x29, 0xfa, 0x57, 0xb3, - 0x15, 0xb8, 0x98, 0xa5, 0x0b, 0xd0, 0x57, 0xf7, 0x02, 0x17, 0x27, 0xb5, 0x0d, 0x87, 0x61, 0x10, - 0x36, 0xf7, 0x71, 0x14, 0x39, 0x6d, 0x4c, 0x52, 0x65, 0xd2, 0xae, 0x92, 0x97, 0x8f, 0xe8, 0x3b, - 0x74, 0x03, 0xc6, 0x48, 0xec, 0x45, 0xb5, 0x51, 0xe2, 0x97, 0x59, 0x55, 0xb8, 0xda, 0x8c, 0x46, - 0xc8, 0x83, 0x53, 0x62, 0x1e, 0x5c, 0x81, 0x19, 0x3e, 0x1a, 0x3d, 0xb7, 0x36, 0x46, 0x08, 0xa6, - 0xb9, 0xb7, 0xaa, 0x82, 0x3b, 0xae, 0x28, 0xb8, 0x97, 0xd2, 0x93, 0x07, 0x3b, 0x05, 0x4d, 0x90, - 0x53, 0x10, 0x3d, 0x5d, 0xd0, 0x93, 0x92, 0xe0, 0x8a, 0xc9, 0x92, 0xae, 0x40, 0xd7, 0xe1, 0x6c, - 0x2b, 0xd8, 0x3f, 0xe8, 0xc6, 0x0e, 0x91, 0xde, 0x25, 0xab, 0x02, 0x84, 0xf9, 0x19, 0x6e, 0xe0, - 0xa3, 0xe4, 0xbd, 0xf5, 0x36, 0x9c, 0xdd, 0xc0, 0xf1, 0x1a, 0xfd, 0x06, 0x4b, 0x0b, 0x41, 0x0d, - 0xc6, 0x1d, 0xd7, 0x0d, 0x71, 0x14, 0xa5, 0x75, 0x80, 0x3d, 0x5a, 0x3f, 0x04, 0xc4, 0x93, 0xf7, - 0xce, 0xd1, 0xe3, 0xec, 0x2b, 0x8e, 0xc5, 0xda, 0x9c, 0xa4, 0x65, 0x3a, 0x21, 0x25, 0x1b, 0x2e, - 0xc6, 0xde, 0x83, 0x8b, 0x99, 0xf0, 0x35, 0xd5, 0x89, 0x58, 0xaf, 0xf8, 0x0b, 0x38, 0x7d, 0x42, - 0x5a, 0x7f, 0x22, 0x6a, 0xbd, 0x9e, 0xb9, 0xb7, 0xaf, 0xd6, 0xb9, 0x10, 0x19, 0xc9, 0x85, 0x88, - 0xb5, 0x06, 0x57, 0x32, 0xf6, 0xeb, 0x4e, 0xc7, 0xf1, 0x5b, 0x78, 0xc0, 0xb5, 0x71, 0x95, 0x2c, - 0x8e, 0x5b, 0xd1, 0xdf, 0x18, 0x30, 0x27, 0xca, 0xe8, 0x79, 0xa2, 0x06, 0xe3, 0x3b, 0xf4, 0x15, - 0xfb, 0x14, 0x48, 0x1f, 0x93, 0x58, 0x76, 0x9e, 0x39, 0x5e, 0xc7, 0xd9, 0xe9, 0xe0, 0x66, 0x4a, - 0x43, 0x99, 0x9f, 0xe9, 0x0d, 0x30, 0x76, 0xc3, 0x9d, 0xc5, 0x63, 0xb0, 0x32, 0xe3, 0xbf, 0x85, - 0x0f, 0xa3, 0xc1, 0x16, 0x0f, 0xbd, 0xc3, 0xef, 0xe4, 0xf9, 0x4f, 0xe6, 0x8c, 0x31, 0x3d, 0x1a, - 0x50, 0xe2, 0x64, 0x3b, 0xce, 0x89, 0x3d, 0xe6, 0x05, 0xcf, 0x34, 0xab, 0x0c, 0xa2, 0x59, 0xb2, - 0xa7, 0x70, 0x6a, 0x71, 0x7b, 0x4a, 0x95, 0xa5, 0x41, 0xf3, 0x29, 0x3e, 0x4c, 0x37, 0xb8, 0x79, - 0x2d, 0x53, 0x7b, 0xca, 0xc9, 0xb8, 0x0c, 0x97, 0x39, 0x1f, 0xc3, 0xa5, 0xfb, 0x04, 0x87, 0xc1, - 0xdb, 0xad, 0xd0, 0x3b, 0x50, 0xa7, 0xfc, 0x1c, 0x8c, 0x45, 0x64, 0x94, 0xad, 0x10, 0x7b, 0x42, - 0x17, 0x60, 0xd2, 0x09, 0xdb, 0xdd, 0x7d, 0x52, 0xf5, 0x47, 0xea, 0x95, 0x95, 0xaa, 0x9d, 0xbd, - 0xb0, 0x0e, 0x60, 0x51, 0x62, 0x5d, 0xfe, 0x2c, 0x94, 0x49, 0x1c, 0xd1, 0x4b, 0xac, 0xc8, 0x12, - 0x3f, 0xcb, 0x19, 0xa3, 0xf0, 0xb7, 0xec, 0x55, 0x23, 0xef, 0xd5, 0xe1, 0xa4, 0xff, 0xc2, 0x80, - 0x37, 0x04, 0xf1, 0x3d, 0xbf, 0xce, 0xc2, 0xa9, 0x67, 0x4e, 0xa7, 0x8b, 0x99, 0x95, 0xf4, 0x61, - 0x28, 0x7f, 0xa9, 0x37, 0x9e, 0x8a, 0x66, 0xe3, 0xf9, 0xaf, 0x41, 0xea, 0x22, 0xd9, 0x79, 0xa3, - 0x07, 0x41, 0xc8, 0x16, 0xc2, 0xf1, 0xdb, 0x38, 0x5d, 0x0d, 0x04, 0xa3, 0xf1, 0xe1, 0x01, 0xd5, - 0x6c, 0xd2, 0x26, 0x7f, 0x27, 0x2b, 0x14, 0xc5, 0x4e, 0x18, 0x4b, 0x71, 0x4f, 0xde, 0xb1, 0x15, - 0x5a, 0x04, 0xc0, 0xbe, 0x9b, 0x12, 0x50, 0xf9, 0x93, 0xd8, 0x77, 0xd9, 0xf0, 0x2b, 0xfc, 0xce, - 0xf9, 0x93, 0x41, 0x3e, 0x74, 0x7a, 0x36, 0xb1, 0x98, 0x8a, 0x8a, 0x0c, 0x5a, 0x80, 0xc9, 0x34, - 0xd0, 0xd2, 0x38, 0x9d, 0x60, 0x91, 0x16, 0xbd, 0xca, 0x0f, 0x82, 0x7f, 0x8d, 0xc0, 0x0c, 0x55, - 0x94, 0x4b, 0xf1, 0x71, 0xf1, 0x78, 0x6d, 0x09, 0xc7, 0x6b, 0x91, 0xba, 0xc1, 0x8e, 0x78, 0xe9, - 0x94, 0xa1, 0x42, 0xc6, 0xfc, 0xbb, 0x01, 0x63, 0x94, 0x51, 0x51, 0xc6, 0x95, 0x28, 0x76, 0xd9, - 0x09, 0xaf, 0x52, 0xe2, 0x84, 0x77, 0x0f, 0x4e, 0x53, 0x86, 0x3d, 0x64, 0x95, 0x38, 0x3f, 0x39, - 0x24, 0x53, 0xec, 0xb5, 0x91, 0x62, 0xaf, 0x8d, 0xc7, 0x29, 0x85, 0x3d, 0x43, 0xa6, 0xf4, 0x9e, - 0xad, 0x45, 0xe2, 0xec, 0x0f, 0x71, 0xfc, 0x3c, 0x08, 0x9f, 0x6e, 0x39, 0xa1, 0xb3, 0x8f, 0x63, - 0x1c, 0xa6, 0xce, 0xb6, 0xee, 0x92, 0xaf, 0x43, 0xc5, 0x30, 0x5b, 0xed, 0x79, 0x98, 0x68, 0xed, - 0x39, 0x9e, 0x9f, 0xda, 0x3b, 0x69, 0x8f, 0x93, 0xe7, 0x4d, 0xd7, 0xba, 0x4a, 0x36, 0x64, 0x5a, - 0xec, 0xb6, 0x12, 0x45, 0x5a, 0x41, 0x27, 0x39, 0x17, 0xe3, 0x6d, 0xdf, 0x39, 0x88, 0xf6, 0x82, - 0xb4, 0x5e, 0x58, 0xf7, 0x61, 0x65, 0x03, 0xab, 0x49, 0x06, 0xf8, 0xba, 0xb3, 0x1e, 0xc2, 0x55, - 0x3d, 0x9b, 0x41, 0x2b, 0x94, 0xf5, 0xd2, 0x80, 0x45, 0x8d, 0xd6, 0xcc, 0xf4, 0x06, 0xa0, 0x08, - 0x87, 0x9e, 0xd3, 0xf1, 0x7e, 0x80, 0xdd, 0x74, 0x94, 0x29, 0xa5, 0x18, 0x19, 0x6e, 0xf7, 0xf8, - 0x26, 0x2c, 0x27, 0xb9, 0x98, 0x02, 0xf9, 0x34, 0xca, 0xb2, 0xa4, 0x2c, 0xb1, 0x2c, 0x7f, 0x34, - 0xd2, 0x9a, 0xad, 0x9c, 0xcf, 0x8c, 0xd9, 0x84, 0x33, 0x72, 0xb7, 0x40, 0x03, 0x9f, 0x4b, 0xbc, - 0xec, 0xd3, 0x58, 0x7c, 0x31, 0x9c, 0x9d, 0xab, 0x04, 0x15, 0x97, 0x78, 0x17, 0x21, 0x84, 0xbf, - 0x37, 0x60, 0x41, 0x49, 0xfe, 0x9a, 0x18, 0xf4, 0x4f, 0x03, 0xde, 0xdc, 0xee, 0xee, 0x24, 0xfb, - 0xda, 0x0e, 0x26, 0xab, 0x1d, 0x3d, 0x08, 0x83, 0xfd, 0xed, 0xa4, 0xc4, 0x4b, 0xce, 0xbb, 0x0c, - 0x33, 0x74, 0x37, 0x90, 0x5c, 0x48, 0xf7, 0x88, 0x75, 0x56, 0x3e, 0x8e, 0x08, 0xf1, 0x6a, 0xf0, - 0xe8, 0x8a, 0x0e, 0x8f, 0xfe, 0xb7, 0x01, 0x57, 0x74, 0xfa, 0x8b, 0xc9, 0x74, 0x03, 0x10, 0xaf, - 0xbe, 0x90, 0x52, 0x67, 0x32, 0x13, 0x58, 0x89, 0xfb, 0x3f, 0x9b, 0xf1, 0x2b, 0x03, 0xea, 0x0a, - 0x33, 0x68, 0x55, 0x4a, 0x2d, 0x90, 0x75, 0x32, 0x8e, 0x45, 0x27, 0x2d, 0xd4, 0x7f, 0x1f, 0xce, - 0x4b, 0x2a, 0x0d, 0x83, 0xf9, 0x5b, 0xbf, 0x36, 0xe0, 0x86, 0xc8, 0x87, 0x76, 0x79, 0x4e, 0x34, - 0xce, 0xac, 0x2f, 0x0c, 0xb8, 0x5e, 0xac, 0xd5, 0xc9, 0x45, 0x8f, 0xd5, 0x96, 0x73, 0x92, 0xd3, - 0xed, 0x38, 0x43, 0xc2, 0xda, 0x86, 0x45, 0xa5, 0x20, 0xae, 0x45, 0x39, 0x46, 0xfb, 0xc1, 0x25, - 0xba, 0x76, 0x8c, 0x52, 0xe1, 0xf0, 0xf7, 0xbd, 0x36, 0x8e, 0xe2, 0xd7, 0xcd, 0xe1, 0xb2, 0x56, - 0xaf, 0x93, 0xc3, 0x39, 0xdd, 0x8e, 0xd5, 0xe1, 0x7f, 0x30, 0x64, 0x8f, 0x33, 0x49, 0xfc, 0x49, - 0xe9, 0x08, 0x27, 0x43, 0xc5, 0x59, 0xaf, 0x32, 0xf0, 0x59, 0xef, 0x3f, 0x06, 0x5c, 0xdb, 0xc6, - 0xbe, 0xbb, 0xe6, 0xbb, 0x3d, 0x5d, 0x73, 0xa0, 0x25, 0x8e, 0x8e, 0xa5, 0xa7, 0xf4, 0x2a, 0xc1, - 0xf6, 0xbf, 0x24, 0x21, 0x57, 0xc6, 0x8e, 0x7e, 0xe8, 0xbb, 0x71, 0x44, 0xf4, 0x7d, 0x19, 0xa6, - 0x19, 0x60, 0xdb, 0xcc, 0xe0, 0x93, 0x51, 0xbb, 0xca, 0x5e, 0x12, 0x48, 0xe2, 0xd6, 0x97, 0x2b, - 0x30, 0xb9, 0x46, 0xb8, 0xaf, 0x6d, 0x6d, 0xa2, 0xaf, 0xc2, 0xe8, 0x96, 0xe7, 0xb7, 0x51, 0x4d, - 0x10, 0xcb, 0x5d, 0x84, 0x30, 0xe7, 0x15, 0x23, 0xcc, 0x10, 0x4c, 0x80, 0x4b, 0xe9, 0x02, 0x03, - 0x12, 0x2d, 0xd0, 0x5e, 0x9a, 0x30, 0xaf, 0xf6, 0xa5, 0x63, 0x62, 0x76, 0x60, 0x56, 0x75, 0x17, - 0x02, 0xad, 0xc8, 0x0c, 0x74, 0xd7, 0x25, 0xcc, 0xba, 0x40, 0xa9, 0xba, 0xb5, 0xf0, 0x29, 0x31, - 0x45, 0xba, 0x33, 0x91, 0x37, 0x45, 0x7d, 0xa9, 0xa2, 0x04, 0xff, 0x5d, 0x98, 0x53, 0x5f, 0xb3, - 0x40, 0xd7, 0x0a, 0x65, 0x08, 0xc5, 0xaa, 0x84, 0x9c, 0x2d, 0x98, 0x11, 0x17, 0x02, 0x59, 0x05, - 0xab, 0x94, 0xf2, 0x35, 0xf3, 0x7c, 0x7b, 0x1c, 0x1f, 0x42, 0x95, 0xbf, 0xc3, 0x80, 0xea, 0x4a, - 0x7d, 0xf9, 0xd5, 0x28, 0xe2, 0xf6, 0x18, 0xce, 0xc8, 0x57, 0x17, 0xd0, 0x65, 0x0d, 0x47, 0xd1, - 0xf6, 0x22, 0xae, 0xdf, 0x25, 0x80, 0xbb, 0xd8, 0xcb, 0x47, 0x57, 0x64, 0xb6, 0xca, 0x5e, 0xbf, - 0xb9, 0x24, 0x90, 0x29, 0x5a, 0xeb, 0x6d, 0xd2, 0x2c, 0xce, 0x5f, 0x16, 0x40, 0x6f, 0xc9, 0x02, - 0xb4, 0x17, 0x0a, 0xcc, 0x65, 0x81, 0x54, 0xd3, 0xc3, 0xff, 0x1e, 0x9c, 0x96, 0xda, 0xde, 0x48, - 0x9c, 0xa7, 0x6e, 0xb6, 0x9b, 0x97, 0x8b, 0x89, 0x18, 0xf7, 0x27, 0x24, 0x32, 0x78, 0xe6, 0xb9, - 0xc8, 0x50, 0xf0, 0xae, 0x17, 0x94, 0x23, 0x3e, 0x3b, 0x73, 0x85, 0xaa, 0x14, 0xf7, 0x92, 0xc5, - 0x0e, 0x1d, 0x10, 0x54, 0x20, 0x37, 0xce, 0x5a, 0xc3, 0x79, 0x47, 0x68, 0xdb, 0xc7, 0xa5, 0x25, - 0x3e, 0x27, 0x40, 0x5a, 0xbe, 0x85, 0xda, 0x43, 0x00, 0xd0, 0x8d, 0x02, 0xa1, 0xb9, 0x36, 0xb0, - 0x54, 0xec, 0x0a, 0x5a, 0xb3, 0x4f, 0xc9, 0x35, 0x16, 0x25, 0xaf, 0x01, 0x45, 0x5e, 0xd2, 0x89, - 0x8c, 0x24, 0xdf, 0xe5, 0x2e, 0x02, 0xe4, 0x2b, 0xab, 0xee, 0x9a, 0x41, 0x89, 0xf8, 0x88, 0xc9, - 0xdd, 0x38, 0xcd, 0x65, 0x03, 0xd4, 0x28, 0x21, 0x89, 0xbb, 0x95, 0x50, 0xda, 0x7f, 0x8f, 0x00, - 0xb2, 0x56, 0x00, 0xba, 0x28, 0x4b, 0x11, 0x7b, 0x73, 0x52, 0x0d, 0x50, 0x34, 0xe3, 0x5c, 0x72, - 0xe3, 0x4a, 0xd5, 0x25, 0x43, 0xd7, 0x35, 0x73, 0x55, 0xc0, 0xba, 0x79, 0x41, 0x20, 0xee, 0x23, - 0x85, 0x3f, 0x78, 0xea, 0xa5, 0xe4, 0x11, 0xef, 0x3e, 0x52, 0x0e, 0xf9, 0xde, 0x99, 0xaa, 0xb9, - 0x85, 0x6e, 0x69, 0x84, 0x15, 0x74, 0xc2, 0xa4, 0x0a, 0xa7, 0xe9, 0x49, 0xa9, 0x45, 0xf3, 0x76, - 0xf6, 0x15, 0xad, 0x30, 0xb7, 0x94, 0x68, 0x5a, 0x42, 0x74, 0x2d, 0x29, 0xb4, 0xaa, 0x91, 0xab, - 0x6b, 0x5e, 0x49, 0x81, 0xaf, 0x6a, 0xee, 0x28, 0x24, 0xf2, 0x96, 0x16, 0x4b, 0x54, 0x98, 0x59, - 0x46, 0xa2, 0xa9, 0xef, 0xed, 0x48, 0xa9, 0xd6, 0xb7, 0x09, 0x64, 0x5a, 0x7a, 0xfa, 0x9e, 0xc4, - 0x3d, 0x98, 0x53, 0xb7, 0x7c, 0xa4, 0x63, 0x4d, 0x61, 0x5f, 0xa8, 0x94, 0xa4, 0xbc, 0x6d, 0xfc, - 0x62, 0x36, 0xfa, 0x4a, 0x13, 0xd7, 0xb2, 0x8c, 0xc4, 0x16, 0xc9, 0x46, 0x55, 0x2f, 0x25, 0x9f, - 0x8d, 0x05, 0x1d, 0x17, 0x73, 0xa1, 0x00, 0xf0, 0x47, 0x9f, 0x90, 0x0a, 0x9c, 0x6b, 0x6e, 0xe4, - 0x2b, 0xb0, 0xae, 0xff, 0x51, 0xcc, 0xfe, 0x29, 0x61, 0x9f, 0xc3, 0xcb, 0xf3, 0xec, 0x75, 0x88, - 0xbb, 0xf9, 0x56, 0x09, 0x4a, 0x26, 0xec, 0x73, 0xda, 0x7d, 0x2a, 0x80, 0xd8, 0xf3, 0xe9, 0xdd, - 0x1f, 0x8f, 0x37, 0xc5, 0x48, 0x2a, 0x06, 0xc1, 0x7f, 0x4c, 0xaf, 0xb6, 0x15, 0x83, 0xf7, 0xe8, - 0x2b, 0xb2, 0x16, 0xa5, 0xc0, 0xfe, 0x81, 0x14, 0x79, 0x69, 0x40, 0xbd, 0x1f, 0xfc, 0x8f, 0xde, - 0x29, 0xa9, 0x87, 0x18, 0xbb, 0x83, 0xa8, 0xf1, 0x39, 0xbd, 0x4e, 0xa7, 0x05, 0xdc, 0xd1, 0xcd, - 0x5c, 0x9c, 0xf5, 0xc1, 0xf6, 0x4d, 0x55, 0xaa, 0x15, 0x41, 0xf9, 0x3e, 0xf9, 0xf2, 0x51, 0x60, - 0xe3, 0xf9, 0x2f, 0x1f, 0x3d, 0xde, 0x6e, 0xae, 0x14, 0x49, 0x15, 0x90, 0xf6, 0x1f, 0xc1, 0x52, - 0x1f, 0xa0, 0x1b, 0xdd, 0x16, 0x0f, 0xcc, 0xa5, 0x60, 0x71, 0xf9, 0x94, 0xad, 0x46, 0x4c, 0x6f, - 0x1a, 0xe8, 0x33, 0xb8, 0x58, 0x0c, 0x54, 0x4b, 0x49, 0x50, 0x0a, 0xd5, 0x2e, 0x2d, 0x3d, 0x84, - 0x79, 0x2d, 0xbe, 0x8c, 0xde, 0xee, 0x27, 0x58, 0xc0, 0xa0, 0x4a, 0xcb, 0xfc, 0x65, 0x0e, 0x9b, - 0xd7, 0x20, 0xbf, 0xe8, 0x6e, 0x01, 0xc7, 0x62, 0xb4, 0x58, 0x8a, 0xfa, 0x42, 0x34, 0xf3, 0xa6, - 0x81, 0x7e, 0x6e, 0xc0, 0xe5, 0x32, 0xb0, 0x2f, 0xba, 0x33, 0x80, 0x46, 0x45, 0x69, 0xd8, 0x4f, - 0xa1, 0x97, 0x86, 0x1c, 0x96, 0x39, 0xac, 0xb7, 0x30, 0x2c, 0x75, 0xc8, 0xf0, 0x80, 0x6a, 0xe4, - 0x5d, 0xa5, 0xc1, 0x6c, 0x0b, 0x5d, 0x55, 0x8c, 0xf3, 0x16, 0xaa, 0x24, 0xc1, 0x90, 0x4a, 0x57, - 0xa9, 0x01, 0xdb, 0x42, 0x57, 0x15, 0x62, 0xbc, 0x03, 0x2a, 0x94, 0x77, 0x55, 0x0e, 0xa5, 0x2d, - 0x74, 0x95, 0x0e, 0xd3, 0x1d, 0x50, 0x8d, 0x2f, 0x0c, 0x58, 0x2e, 0x81, 0x2a, 0xa2, 0x77, 0x73, - 0x5f, 0xff, 0xe5, 0xf0, 0x54, 0xf3, 0xce, 0xe0, 0x13, 0x53, 0xe5, 0xd6, 0x1f, 0x82, 0x19, 0x84, - 0xed, 0x46, 0xe0, 0x13, 0x16, 0x3d, 0xac, 0x97, 0xf2, 0xfa, 0x4e, 0xa3, 0xed, 0xc5, 0x7b, 0xdd, - 0x9d, 0x46, 0x2b, 0xd8, 0x5f, 0xa5, 0x24, 0xab, 0xe4, 0x9f, 0xde, 0x6f, 0xaf, 0xda, 0xc1, 0x2a, - 0xf7, 0xb3, 0xb6, 0x9d, 0x31, 0x32, 0x70, 0xfb, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xb4, 0x0d, - 0x8a, 0xcb, 0xec, 0x36, 0x00, 0x00, + // 2682 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdf, 0x6f, 0x1c, 0x49, + 0xf1, 0xd7, 0x78, 0x1d, 0xff, 0x28, 0xaf, 0x9d, 0xa4, 0xe3, 0x73, 0xd6, 0xe3, 0x38, 0xde, 0x8c, + 0x93, 0x8b, 0x2f, 0xc9, 0xad, 0xa3, 0xe4, 0xbe, 0xba, 0x24, 0x5f, 0x38, 0x61, 0xe7, 0x12, 0x9f, + 0x45, 0x72, 0xb2, 0xd6, 0xb9, 0xa0, 0x03, 0xee, 0x56, 0xe3, 0x9d, 0xf6, 0x7a, 0xe4, 0xdd, 0x19, + 0x33, 0x33, 0x9b, 0xc4, 0x70, 0x42, 0xf7, 0x10, 0x10, 0x12, 0xe2, 0x97, 0x40, 0x20, 0x4e, 0x42, + 0x42, 0xf0, 0x04, 0x3c, 0xf0, 0xc4, 0x03, 0x42, 0x08, 0x09, 0xc1, 0x1f, 0xc0, 0x7f, 0x84, 0xa6, + 0xbb, 0x67, 0xa7, 0xbb, 0xa7, 0x7b, 0x76, 0x76, 0xed, 0xe0, 0xbc, 0x24, 0x9e, 0xee, 0xea, 0xaa, + 0x4f, 0x75, 0x55, 0x57, 0x77, 0x57, 0xf5, 0x42, 0x65, 0xb7, 0xed, 0x3f, 0x5f, 0xb5, 0x9b, 0x4d, + 0x1c, 0x86, 0xec, 0xbf, 0xda, 0x41, 0xe0, 0x47, 0x3e, 0x9a, 0x8a, 0x7b, 0x6a, 0xb4, 0xc9, 0x5c, + 0x20, 0x64, 0xd8, 0x8b, 0xdc, 0xc8, 0xc5, 0x84, 0xd0, 0xef, 0x7a, 0x11, 0xa5, 0x34, 0xab, 0x62, + 0xe7, 0x4e, 0xdb, 0x6f, 0xee, 0x37, 0xf6, 0xb0, 0xed, 0xe0, 0x80, 0x51, 0xcc, 0x2b, 0x28, 0x58, + 0xd7, 0x45, 0xb1, 0xab, 0xe9, 0xb7, 0xdb, 0xb8, 0x19, 0xb9, 0xbe, 0xa7, 0x1e, 0x8a, 0x9f, 0xe1, + 0x9e, 0xdc, 0xcb, 0x52, 0xd7, 0x0b, 0xdc, 0xec, 0xc6, 0x23, 0x1b, 0x01, 0x0e, 0xbb, 0xed, 0x84, + 0xea, 0x82, 0x48, 0xd5, 0xc1, 0x91, 0xed, 0xd8, 0x91, 0xcd, 0x7a, 0xaf, 0x88, 0xbd, 0x9e, 0xef, + 0xe0, 0xc6, 0x33, 0x1c, 0x84, 0x31, 0x1b, 0xd7, 0xdb, 0xf5, 0x19, 0xd9, 0x92, 0x48, 0x16, 0x05, + 0xb6, 0x17, 0xda, 0x3c, 0xcc, 0xa5, 0x96, 0xef, 0xb7, 0xda, 0x78, 0x95, 0x7c, 0xed, 0x74, 0x77, + 0x57, 0x23, 0xb7, 0x83, 0xc3, 0xc8, 0xee, 0x1c, 0x50, 0x02, 0x6b, 0x1a, 0xa6, 0xb6, 0x5c, 0xaf, + 0x55, 0xc7, 0xdf, 0xea, 0xe2, 0x30, 0xb2, 0x66, 0xa0, 0x4c, 0x3f, 0xc3, 0x03, 0xdf, 0x0b, 0xb1, + 0xb5, 0x00, 0xf3, 0x1b, 0x38, 0xfa, 0xd0, 0x77, 0xf0, 0x53, 0x2a, 0x7d, 0xd3, 0xdb, 0xf5, 0x13, + 0xe2, 0x2d, 0x30, 0x55, 0x9d, 0x74, 0x28, 0xba, 0x05, 0xa3, 0x31, 0xd2, 0x8a, 0x51, 0x35, 0x56, + 0xa6, 0x6e, 0x5d, 0xac, 0x11, 0xbb, 0x25, 0x50, 0x6b, 0xf2, 0x28, 0x42, 0x6b, 0xdd, 0x83, 0x85, + 0x0d, 0x1c, 0x3d, 0xb2, 0x23, 0x1c, 0x46, 0xeb, 0xb1, 0x35, 0x3e, 0x20, 0xe6, 0x62, 0x02, 0xd1, + 0x02, 0x4c, 0xba, 0x61, 0x23, 0xc4, 0x76, 0x1b, 0x3b, 0x84, 0xef, 0x44, 0x7d, 0xc2, 0x0d, 0xb7, + 0xc9, 0xb7, 0x75, 0x9d, 0x40, 0xe5, 0x46, 0xad, 0x1f, 0x6e, 0xbe, 0x9f, 0x8c, 0x9c, 0x81, 0x11, + 0x97, 0x0e, 0x29, 0xd7, 0x47, 0x5c, 0xc7, 0x7a, 0x17, 0x16, 0x65, 0xe2, 0x0f, 0xb0, 0xdb, 0xda, + 0x8b, 0x92, 0x01, 0x73, 0x30, 0xb6, 0x47, 0x1a, 0xc8, 0xa0, 0xd1, 0x3a, 0xfb, 0xb2, 0xfe, 0x66, + 0xc0, 0x39, 0x01, 0x19, 0xd3, 0xf6, 0x26, 0x9c, 0x22, 0xee, 0xc3, 0xd4, 0x35, 0x25, 0x75, 0xf9, + 0x21, 0x94, 0x10, 0x7d, 0x19, 0xca, 0xd4, 0x25, 0xc3, 0xc8, 0x8e, 0xba, 0x61, 0x65, 0xa4, 0x6a, + 0xac, 0xcc, 0xa8, 0x07, 0x6e, 0x13, 0x8a, 0xfa, 0xd4, 0x4e, 0xfa, 0x81, 0x6e, 0xc3, 0x44, 0xe2, + 0x33, 0x95, 0x12, 0x91, 0x79, 0x5e, 0x1a, 0xfa, 0x98, 0x75, 0xd7, 0x7b, 0x84, 0x96, 0x03, 0x6f, + 0x88, 0xf3, 0x5b, 0x64, 0x66, 0x51, 0x0d, 0xce, 0xed, 0x76, 0xdb, 0xed, 0x06, 0x85, 0x1b, 0x30, + 0x95, 0x09, 0xe0, 0x89, 0xfa, 0xd9, 0xb8, 0x8b, 0xf1, 0x62, 0x4e, 0xf3, 0x11, 0x9c, 0x4b, 0x26, + 0x37, 0xc7, 0x06, 0x03, 0xb3, 0xb5, 0xe1, 0x7c, 0xca, 0xb6, 0x90, 0xb5, 0x06, 0x16, 0xf1, 0x67, + 0x03, 0xa6, 0x85, 0x16, 0x74, 0x4d, 0xb4, 0xeb, 0xac, 0xca, 0x3c, 0x27, 0x69, 0xd1, 0x6b, 0x50, + 0xd9, 0xc0, 0xd1, 0xfd, 0x5e, 0x78, 0xca, 0x73, 0xfa, 0x1a, 0x5c, 0xd8, 0xc0, 0xd1, 0xc3, 0x6e, + 0xbb, 0x5d, 0x8c, 0xfe, 0xa5, 0x01, 0x28, 0xa5, 0xec, 0x4d, 0xc9, 0x5d, 0x80, 0x34, 0x1c, 0xb2, + 0x79, 0x99, 0x97, 0x90, 0x72, 0xc3, 0x38, 0x62, 0x41, 0xc5, 0x91, 0xa2, 0x2a, 0xfe, 0xc8, 0x80, + 0x39, 0x11, 0x74, 0x0f, 0xca, 0x7b, 0x50, 0xe6, 0x62, 0x5e, 0x58, 0x31, 0xaa, 0x25, 0xc5, 0xe2, + 0x7b, 0x92, 0x92, 0xd4, 0x05, 0xfa, 0xe1, 0xf0, 0x3c, 0x85, 0xb9, 0x6d, 0xec, 0x39, 0x3c, 0x57, + 0x36, 0x81, 0x5f, 0x82, 0x29, 0x8e, 0xbd, 0x26, 0x14, 0xf0, 0xe3, 0x78, 0x72, 0xeb, 0x53, 0x38, + 0x9f, 0xe1, 0xcb, 0xf4, 0x94, 0x97, 0xce, 0x50, 0xb8, 0xff, 0x69, 0x90, 0xd5, 0xaf, 0xc0, 0x2d, + 0xb3, 0x9f, 0x87, 0x09, 0xea, 0xc8, 0xae, 0x43, 0xd8, 0x97, 0xeb, 0xe3, 0xe4, 0x7b, 0xd3, 0x41, + 0xcb, 0x30, 0x9d, 0xda, 0x33, 0xee, 0x2f, 0x91, 0xfe, 0x72, 0xda, 0xb8, 0xe9, 0xa0, 0x8f, 0x61, + 0x8e, 0x6c, 0x88, 0x0d, 0xec, 0x35, 0x7d, 0xc7, 0xf5, 0x5a, 0xc9, 0xde, 0x55, 0x19, 0x25, 0x4b, + 0x62, 0x59, 0x02, 0xfb, 0x20, 0x26, 0x7e, 0xc0, 0x68, 0xd9, 0xae, 0x50, 0x9f, 0xc5, 0x8a, 0x56, + 0xeb, 0x0e, 0xd9, 0x21, 0xb6, 0x0f, 0xc3, 0x08, 0x77, 0x14, 0x9a, 0xf0, 0xc8, 0x0d, 0x01, 0xb9, + 0xf5, 0x6b, 0x03, 0x2e, 0xa9, 0x87, 0xc6, 0xbb, 0x72, 0x7f, 0x06, 0x39, 0x5a, 0x8d, 0x1c, 0x55, + 0xab, 0x3f, 0x1a, 0x64, 0x69, 0x72, 0xa8, 0xd6, 0x0f, 0x37, 0x3d, 0x07, 0xbf, 0x28, 0x00, 0x6b, + 0x16, 0x4e, 0xb9, 0x31, 0x29, 0x41, 0x31, 0x5d, 0xa7, 0x1f, 0x39, 0x60, 0x4b, 0x47, 0x05, 0xfb, + 0x2b, 0x03, 0x96, 0x44, 0xb0, 0xe1, 0xfa, 0x21, 0x89, 0x6a, 0x69, 0x28, 0x39, 0xb1, 0x69, 0x34, + 0x33, 0x96, 0x0d, 0x7b, 0xab, 0xe8, 0x6b, 0x70, 0x8e, 0x5b, 0x6f, 0xec, 0x38, 0x96, 0x04, 0x8d, + 0x37, 0x6b, 0xdc, 0xc1, 0xb2, 0xa6, 0xf0, 0x0f, 0xca, 0xa4, 0x8e, 0xa2, 0x8c, 0x80, 0xe1, 0x96, + 0xe3, 0x0f, 0x0d, 0x98, 0xe5, 0xe7, 0xf0, 0x64, 0x83, 0xda, 0x0f, 0x0c, 0x38, 0xa7, 0x8a, 0x3c, + 0x47, 0x0a, 0x69, 0xc3, 0x41, 0xf9, 0x4b, 0x09, 0xe6, 0xb5, 0xf3, 0x8f, 0xee, 0xc0, 0x18, 0xdb, + 0x5e, 0x0d, 0xe2, 0x2e, 0x55, 0x3d, 0x16, 0xb6, 0xc9, 0x32, 0x7a, 0xb4, 0x04, 0x53, 0xf4, 0xaf, + 0x46, 0xd3, 0x77, 0x30, 0x5b, 0x2e, 0x40, 0x9b, 0xee, 0xfb, 0x0e, 0x8e, 0x63, 0x1b, 0x0e, 0x02, + 0x3f, 0x68, 0x74, 0x70, 0x18, 0xda, 0x2d, 0x4c, 0x96, 0xca, 0x64, 0xbd, 0x4c, 0x1a, 0x1f, 0xd3, + 0x36, 0x74, 0x03, 0xc6, 0x88, 0xef, 0x85, 0x95, 0x51, 0x62, 0x97, 0x59, 0x95, 0xbb, 0xd6, 0x19, + 0x8d, 0xb0, 0x0e, 0x4e, 0x89, 0xeb, 0xe0, 0x0a, 0xcc, 0xf0, 0xde, 0xe8, 0x3a, 0x95, 0x31, 0x42, + 0x30, 0xcd, 0xb5, 0xaa, 0x02, 0xee, 0xb8, 0x22, 0xe0, 0x5e, 0x4a, 0x4e, 0x1e, 0xec, 0x14, 0x34, + 0x41, 0x4e, 0x41, 0xf4, 0x74, 0x41, 0x4f, 0x4a, 0x82, 0x29, 0x26, 0x0b, 0x9a, 0x02, 0x5d, 0x87, + 0xb3, 0x4d, 0xbf, 0x73, 0xd0, 0x8d, 0x6c, 0x22, 0xbd, 0x4b, 0x66, 0x05, 0x08, 0xf3, 0x33, 0x5c, + 0xc7, 0x47, 0x71, 0xbb, 0xf5, 0x36, 0x9c, 0xdd, 0xc0, 0xd1, 0x1a, 0xbd, 0x83, 0x25, 0x81, 0xa0, + 0x02, 0xe3, 0xb6, 0xe3, 0x04, 0x38, 0x0c, 0x93, 0x38, 0xc0, 0x3e, 0xad, 0xef, 0x00, 0xe2, 0xc9, + 0x7b, 0xe7, 0xe8, 0x71, 0x76, 0x8b, 0x63, 0xbe, 0x36, 0x27, 0xa1, 0x4c, 0x06, 0x24, 0x64, 0xc3, + 0xf9, 0xd8, 0x3d, 0xb8, 0x98, 0x0a, 0x5f, 0x53, 0x9d, 0x88, 0xf5, 0xc0, 0x5f, 0xc0, 0xe9, 0x13, + 0x42, 0xfd, 0x89, 0x88, 0x7a, 0x3d, 0x35, 0x6f, 0x5f, 0xd4, 0x19, 0x17, 0x19, 0xc9, 0xb8, 0x88, + 0xb5, 0x06, 0x57, 0x52, 0xf6, 0xeb, 0x76, 0xdb, 0xf6, 0x9a, 0x78, 0xc0, 0xb9, 0x71, 0x94, 0x2c, + 0x8e, 0x1b, 0xe8, 0x2f, 0x0c, 0x98, 0x13, 0x65, 0xf4, 0x2c, 0x51, 0x81, 0xf1, 0x1d, 0xda, 0xc4, + 0xae, 0x02, 0xc9, 0x67, 0xec, 0xcb, 0xf6, 0x33, 0xdb, 0x6d, 0xdb, 0x3b, 0x6d, 0xdc, 0x48, 0x68, + 0x28, 0xf3, 0x33, 0xbd, 0x0e, 0xc6, 0x6e, 0xb8, 0xb3, 0xf8, 0x7b, 0x60, 0xa5, 0xca, 0x7f, 0x15, + 0x1f, 0x86, 0x03, 0x4e, 0x5e, 0x48, 0x0e, 0x28, 0xe9, 0xf8, 0xc1, 0x86, 0xa3, 0x77, 0xf8, 0x83, + 0x40, 0xf6, 0xc6, 0x9d, 0xf2, 0xa5, 0x27, 0x0b, 0x4a, 0x6c, 0xd9, 0x59, 0xd0, 0xc7, 0x6d, 0xae, + 0x5f, 0x1a, 0x19, 0xc5, 0x8e, 0x59, 0x44, 0xaa, 0x7b, 0x69, 0x10, 0xdd, 0xe3, 0x4d, 0x8f, 0xd3, + 0x9c, 0xdb, 0xf4, 0xca, 0x6c, 0x9d, 0x36, 0xf6, 0xf1, 0x61, 0xb2, 0x03, 0xcf, 0x6b, 0x99, 0xd6, + 0xa7, 0xec, 0x94, 0xcb, 0x70, 0x4b, 0xfb, 0x7b, 0x06, 0x20, 0x8e, 0x61, 0x82, 0xe4, 0x1e, 0x4c, + 0x71, 0x48, 0x34, 0x97, 0x2d, 0x6e, 0x1c, 0xa4, 0x40, 0x86, 0xc3, 0xf1, 0x31, 0x5c, 0x7a, 0x40, + 0x12, 0x56, 0x78, 0xbb, 0x19, 0xb8, 0x07, 0xea, 0xd8, 0x38, 0x07, 0x63, 0x21, 0xe9, 0x65, 0x96, + 0x62, 0x5f, 0xe8, 0x02, 0x4c, 0xda, 0x41, 0xab, 0xdb, 0x21, 0xdb, 0xe3, 0x48, 0xb5, 0xb4, 0x52, + 0xae, 0xa7, 0x0d, 0xd6, 0x01, 0x2c, 0x4a, 0xac, 0x8b, 0x1f, 0x1a, 0x53, 0x89, 0x23, 0x7a, 0x89, + 0x25, 0x59, 0xe2, 0x67, 0x19, 0x65, 0x14, 0x7e, 0x27, 0x7b, 0x97, 0x91, 0xf5, 0xae, 0xe1, 0xa4, + 0xff, 0xc4, 0x80, 0x37, 0x04, 0xf1, 0x3d, 0xab, 0xce, 0xc2, 0xa9, 0x67, 0x76, 0xbb, 0x8b, 0x99, + 0x96, 0xf4, 0x63, 0x28, 0x7b, 0xa9, 0x77, 0xe8, 0x92, 0x66, 0x87, 0xfe, 0x8f, 0x41, 0x36, 0x10, + 0x72, 0x44, 0x09, 0x1f, 0xfa, 0x01, 0x9b, 0x08, 0xdb, 0x6b, 0xe1, 0x64, 0x36, 0x10, 0x8c, 0x46, + 0x87, 0x07, 0x14, 0xd9, 0x64, 0x9d, 0xfc, 0x1d, 0xcf, 0x50, 0x18, 0xd9, 0x41, 0x24, 0xad, 0x3f, + 0xd2, 0xc6, 0x66, 0x68, 0x11, 0x00, 0x7b, 0x4e, 0x42, 0x40, 0xe5, 0x4f, 0x62, 0xcf, 0x61, 0xdd, + 0xaf, 0xf0, 0x42, 0xf8, 0x07, 0x83, 0xdc, 0x08, 0x7b, 0x3a, 0x31, 0x9f, 0x0a, 0xf3, 0x14, 0x5a, + 0x80, 0xc9, 0xc4, 0xd1, 0x12, 0x3f, 0x9d, 0x60, 0x9e, 0x16, 0xbe, 0xca, 0x9b, 0xd3, 0x3f, 0x46, + 0x60, 0x86, 0x02, 0xe5, 0x42, 0xcd, 0xb8, 0x78, 0x0f, 0xb1, 0x84, 0x7b, 0x88, 0x48, 0x5d, 0x63, + 0x67, 0xe1, 0x64, 0xc8, 0x50, 0x2e, 0x63, 0xfe, 0xd5, 0x80, 0x31, 0xca, 0x28, 0x6f, 0xc5, 0x15, + 0x08, 0xba, 0xe9, 0x51, 0xb8, 0x54, 0xe0, 0x28, 0x7c, 0x1f, 0x4e, 0x53, 0x86, 0xbd, 0x14, 0x34, + 0x31, 0x7e, 0x7c, 0x9b, 0xa0, 0x49, 0xea, 0x5a, 0x92, 0xa4, 0xae, 0x3d, 0x49, 0x28, 0xea, 0x33, + 0x64, 0x48, 0xef, 0xdb, 0x5a, 0x24, 0xc6, 0xfe, 0x10, 0x47, 0xcf, 0xfd, 0x60, 0x7f, 0xcb, 0x0e, + 0xec, 0x0e, 0x8e, 0x70, 0x90, 0x18, 0xdb, 0xba, 0x4b, 0xae, 0xd1, 0x8a, 0x6e, 0x36, 0xdb, 0xf3, + 0x30, 0xd1, 0xdc, 0xb3, 0x5d, 0x2f, 0xd1, 0x77, 0xb2, 0x3e, 0x4e, 0xbe, 0x37, 0x1d, 0xeb, 0x2a, + 0x39, 0xb9, 0xd0, 0x60, 0xb7, 0x15, 0x03, 0x69, 0xfa, 0xed, 0xf8, 0x02, 0x81, 0xb7, 0x3d, 0xfb, + 0x20, 0xdc, 0xf3, 0x93, 0x78, 0x61, 0x3d, 0x80, 0x95, 0x0d, 0xac, 0x26, 0x19, 0xe0, 0x1a, 0x6c, + 0x3d, 0x82, 0xab, 0x7a, 0x36, 0x83, 0x46, 0x28, 0xeb, 0xa5, 0x01, 0x8b, 0x1a, 0xd4, 0x4c, 0xf5, + 0x1a, 0xa0, 0x10, 0x07, 0xae, 0xdd, 0x76, 0xbf, 0x8d, 0x9d, 0xa4, 0x97, 0x81, 0x52, 0xf4, 0x0c, + 0xb7, 0x7b, 0x7c, 0x05, 0x96, 0xe3, 0xb5, 0x98, 0x54, 0x3c, 0xa8, 0x97, 0xa5, 0x8b, 0xb2, 0xc0, + 0xb4, 0xfc, 0xde, 0x48, 0x62, 0xb6, 0x72, 0x3c, 0x53, 0x66, 0x13, 0xce, 0xc8, 0x65, 0x15, 0x4d, + 0x9d, 0x41, 0xe2, 0x55, 0x3f, 0x8d, 0xc5, 0x86, 0xe1, 0xf4, 0x5c, 0x25, 0xe5, 0x03, 0x89, 0x77, + 0x5e, 0x2a, 0xf5, 0x37, 0x06, 0x2c, 0x28, 0xc9, 0x5f, 0x13, 0x85, 0xfe, 0x6e, 0xc0, 0x9b, 0xdb, + 0xdd, 0x9d, 0x78, 0x5f, 0xdb, 0xc1, 0x64, 0xb6, 0xc3, 0x87, 0x81, 0xdf, 0xd9, 0x8e, 0x43, 0xbc, + 0x64, 0xbc, 0xcb, 0x30, 0x43, 0x77, 0x03, 0xc9, 0x84, 0x74, 0x8f, 0x58, 0x67, 0xe1, 0xe3, 0x88, + 0xb9, 0x70, 0x4d, 0xe2, 0xbe, 0xa4, 0x4b, 0xdc, 0xff, 0xcb, 0x80, 0x2b, 0x3a, 0xfc, 0xe2, 0x62, + 0xba, 0x01, 0x88, 0x87, 0x2f, 0x2c, 0xa9, 0x33, 0xa9, 0x0a, 0x2c, 0xc4, 0xfd, 0x8f, 0xd5, 0xf8, + 0x99, 0x01, 0x55, 0x85, 0x1a, 0x34, 0x2a, 0x25, 0x1a, 0xc8, 0x98, 0x8c, 0x63, 0xc1, 0xa4, 0xad, + 0x89, 0x3c, 0x80, 0xf3, 0x12, 0xa4, 0x61, 0x8a, 0x23, 0xd6, 0xcf, 0x0d, 0xb8, 0x21, 0xf2, 0xa1, + 0xe5, 0xb0, 0x13, 0xf5, 0x33, 0xeb, 0x0b, 0x03, 0xae, 0xe7, 0xa3, 0x3a, 0x39, 0xef, 0xb1, 0x5a, + 0xf2, 0x9a, 0xe4, 0xb0, 0x1d, 0xa7, 0x4b, 0x58, 0xdb, 0xb0, 0xa8, 0x14, 0xc4, 0xd5, 0x72, 0xc7, + 0x68, 0xe1, 0xbc, 0x40, 0x79, 0x93, 0x51, 0x2a, 0x0c, 0xfe, 0xbe, 0xdb, 0xc2, 0x61, 0xf4, 0xba, + 0x19, 0x5c, 0x46, 0xf5, 0x3a, 0x19, 0x9c, 0xc3, 0x76, 0xac, 0x06, 0xff, 0x9d, 0x21, 0x5b, 0x9c, + 0x49, 0xe2, 0x4f, 0x4a, 0x47, 0x38, 0x19, 0x2a, 0xce, 0x7a, 0xa5, 0x81, 0xcf, 0x7a, 0xff, 0x36, + 0xe0, 0xda, 0x36, 0xf6, 0x9c, 0x35, 0xcf, 0xe9, 0x61, 0xcd, 0x64, 0x77, 0x71, 0x78, 0x2c, 0xc5, + 0xb7, 0x57, 0x59, 0x95, 0xf8, 0x53, 0xec, 0x72, 0x45, 0xf4, 0xe8, 0x57, 0xa6, 0x30, 0x8e, 0x58, + 0xa6, 0x58, 0x86, 0x69, 0x96, 0xd9, 0x6e, 0xa4, 0x89, 0xa2, 0xd1, 0x7a, 0x99, 0x35, 0x92, 0xd4, + 0xc8, 0xad, 0xdf, 0x5e, 0x83, 0xc9, 0x35, 0xc2, 0x7d, 0x6d, 0x6b, 0x13, 0xfd, 0x3f, 0x8c, 0x6e, + 0xb9, 0x5e, 0x0b, 0x55, 0x04, 0xb1, 0xdc, 0x8b, 0x11, 0x73, 0x5e, 0xd1, 0xc3, 0x14, 0xc1, 0x24, + 0xc3, 0x2b, 0xbd, 0xf4, 0x40, 0xa2, 0x06, 0xda, 0xd7, 0x25, 0xe6, 0xd5, 0xbe, 0x74, 0x4c, 0xcc, + 0x0e, 0xcc, 0xaa, 0x1e, 0x8d, 0xa0, 0x15, 0x99, 0x81, 0xee, 0x5d, 0x89, 0x59, 0x15, 0x28, 0x55, + 0xcf, 0x3b, 0x3e, 0x25, 0xaa, 0x48, 0x8f, 0x4b, 0xb2, 0xaa, 0xa8, 0x5f, 0x9f, 0x14, 0xe0, 0xbf, + 0x0b, 0x73, 0xea, 0xf7, 0x28, 0xe8, 0x5a, 0xae, 0x0c, 0x21, 0x58, 0x15, 0x90, 0xb3, 0x05, 0x33, + 0xe2, 0x44, 0x20, 0x2b, 0x67, 0x96, 0x12, 0xbe, 0x66, 0x96, 0x6f, 0x8f, 0xe3, 0x23, 0x28, 0xf3, + 0x8f, 0x3d, 0x50, 0x55, 0x89, 0x97, 0x9f, 0x8d, 0x3c, 0x6e, 0x4f, 0xe0, 0x8c, 0xfc, 0xc6, 0x03, + 0x5d, 0xd6, 0x70, 0x14, 0x75, 0xcf, 0xe3, 0xfa, 0x0d, 0x52, 0x99, 0x10, 0x1f, 0x3d, 0xa0, 0x2b, + 0x32, 0x5b, 0xe5, 0xa3, 0x08, 0x73, 0x49, 0x20, 0x53, 0xbc, 0x41, 0x68, 0x91, 0xaa, 0x7a, 0xf6, + 0x55, 0x05, 0x7a, 0x4b, 0x16, 0xa0, 0x7d, 0x79, 0x61, 0x2e, 0x0b, 0xa4, 0x9a, 0xc7, 0x0e, 0xdf, + 0x84, 0xd3, 0xd2, 0xfb, 0x00, 0x24, 0x8e, 0x53, 0xbf, 0x4a, 0x30, 0x2f, 0xe7, 0x13, 0x31, 0xee, + 0x4f, 0x89, 0x67, 0xf0, 0xcc, 0x33, 0x9e, 0xa1, 0xe0, 0x5d, 0xcd, 0x09, 0x47, 0xfc, 0xea, 0xcc, + 0x04, 0xaa, 0x42, 0xdc, 0x0b, 0x06, 0x3b, 0x74, 0x40, 0xb2, 0x02, 0x99, 0x7e, 0x56, 0x43, 0xcf, + 0x1a, 0x42, 0x5b, 0x67, 0x2f, 0x2c, 0xf1, 0x39, 0x49, 0xa4, 0x65, 0x6b, 0xcd, 0xbd, 0x0c, 0x00, + 0xba, 0x91, 0x23, 0x34, 0x53, 0x2f, 0x97, 0x82, 0x5d, 0x4e, 0x0d, 0x7b, 0x9f, 0xbc, 0xf7, 0x51, + 0xf2, 0x1a, 0x50, 0xe4, 0x25, 0x9d, 0xc8, 0x50, 0xb2, 0x5d, 0xe6, 0xc5, 0x44, 0x36, 0xb2, 0xea, + 0xde, 0x63, 0x14, 0xf0, 0x8f, 0x88, 0x3c, 0x22, 0xd4, 0xbc, 0xca, 0x40, 0xb5, 0x02, 0x92, 0xb8, + 0xe7, 0x1b, 0x85, 0xed, 0xf7, 0x18, 0x20, 0xad, 0x48, 0xa0, 0x8b, 0xb2, 0x14, 0xb1, 0x88, 0x29, + 0xc5, 0x00, 0x45, 0xd5, 0xd2, 0x21, 0x4f, 0xd3, 0x54, 0xe5, 0x44, 0x74, 0x5d, 0x33, 0x56, 0x95, + 0x58, 0x37, 0x2f, 0x08, 0xc4, 0x7d, 0xa4, 0xf0, 0x07, 0x4f, 0xbd, 0x94, 0x6c, 0xc6, 0xbb, 0x8f, + 0x94, 0x43, 0xbe, 0xc8, 0xa8, 0xaa, 0x02, 0xa2, 0x5b, 0x1a, 0x61, 0x39, 0x25, 0x43, 0x29, 0xc2, + 0x69, 0x8a, 0x77, 0x6a, 0xd1, 0xbc, 0x9e, 0x7d, 0x45, 0x2b, 0xd4, 0x2d, 0x24, 0x9a, 0x86, 0x10, + 0x5d, 0xed, 0x0e, 0xad, 0x6a, 0xe4, 0xea, 0xaa, 0x7c, 0x92, 0xe3, 0xab, 0x8a, 0x4c, 0x0a, 0x89, + 0xbc, 0xa6, 0xf9, 0x12, 0x15, 0x6a, 0xf6, 0x97, 0xd8, 0x21, 0x4b, 0x4d, 0x53, 0x5f, 0xcc, 0x2e, + 0xb5, 0xfc, 0x42, 0xa4, 0xb4, 0x28, 0x14, 0xb5, 0xab, 0xac, 0x38, 0x5e, 0xbf, 0x5c, 0x71, 0x0a, + 0xf5, 0xfa, 0x8a, 0x3b, 0x00, 0x53, 0x5f, 0xb9, 0x92, 0xc4, 0xf5, 0x2d, 0x71, 0x99, 0x96, 0x9e, + 0xbe, 0x27, 0x71, 0x0f, 0xe6, 0xd4, 0x05, 0x2d, 0xe9, 0xd0, 0x96, 0x5b, 0xf5, 0x2a, 0x24, 0x29, + 0xab, 0x9b, 0x7e, 0x2a, 0xfb, 0x56, 0xbc, 0x0a, 0x49, 0x6c, 0x92, 0x58, 0xa3, 0xaa, 0x14, 0x65, + 0x63, 0x4d, 0x4e, 0x3d, 0xc9, 0x5c, 0xc8, 0x29, 0x67, 0xa0, 0x4f, 0xc8, 0xfe, 0x92, 0x29, 0xdd, + 0x64, 0xf7, 0x17, 0x5d, 0x75, 0x27, 0x9f, 0xfd, 0x3e, 0x61, 0x9f, 0xa9, 0x06, 0x64, 0xd9, 0xeb, + 0xea, 0x09, 0xe6, 0x5b, 0x05, 0x28, 0x99, 0xb0, 0xcf, 0x69, 0x6d, 0x2d, 0xa7, 0x80, 0x90, 0x0d, + 0x5e, 0xfd, 0xab, 0x0d, 0xa6, 0xe8, 0x49, 0xf9, 0x29, 0xfe, 0xef, 0xd3, 0x3a, 0x7b, 0x7e, 0x69, + 0x02, 0xfd, 0x9f, 0x8c, 0xa2, 0x50, 0x29, 0x63, 0x20, 0x20, 0x2f, 0x0d, 0xa8, 0xf6, 0x2b, 0x6e, + 0xa0, 0x77, 0x0a, 0xe2, 0x10, 0x7d, 0x77, 0x10, 0x18, 0x9f, 0xd3, 0x57, 0x95, 0xda, 0x72, 0x02, + 0xba, 0x99, 0xf1, 0xb3, 0x3e, 0x95, 0x0b, 0x53, 0xb5, 0xd4, 0xf2, 0x0a, 0x15, 0x1e, 0xb9, 0xd7, + 0x29, 0x32, 0xff, 0xd9, 0x7b, 0x9d, 0xbe, 0x9a, 0x60, 0xae, 0xe4, 0x49, 0x15, 0xea, 0x08, 0xdf, + 0x85, 0xa5, 0x3e, 0x69, 0x7c, 0x74, 0x5b, 0xbc, 0x0e, 0x14, 0x4a, 0xfa, 0xcb, 0x77, 0x08, 0x75, + 0x3e, 0xf8, 0xa6, 0x81, 0x3e, 0x83, 0x8b, 0xf9, 0x69, 0x78, 0x69, 0x11, 0x14, 0xca, 0xd9, 0x17, + 0x96, 0x1e, 0xc0, 0xbc, 0x36, 0x7b, 0x8e, 0xde, 0xee, 0x27, 0x58, 0xc8, 0xb0, 0x15, 0x96, 0xf9, + 0xd3, 0x4c, 0xe5, 0x41, 0x93, 0xd7, 0x46, 0x77, 0x73, 0x38, 0xe6, 0xe7, 0xc2, 0x25, 0xaf, 0xcf, + 0xcd, 0xd5, 0xde, 0x34, 0xd0, 0x8f, 0x0d, 0xb8, 0x5c, 0x24, 0xa9, 0x8d, 0xee, 0x0c, 0x80, 0x28, + 0x6f, 0x19, 0xf6, 0x03, 0xf4, 0xd2, 0x90, 0xdd, 0x32, 0x93, 0xc9, 0xce, 0x75, 0x4b, 0x5d, 0xde, + 0x7b, 0x40, 0x18, 0x59, 0x53, 0x69, 0x32, 0xd2, 0xb9, 0xa6, 0xca, 0xcf, 0x62, 0xe7, 0x42, 0x92, + 0x92, 0xac, 0x4a, 0x53, 0xa9, 0xd3, 0xd1, 0xb9, 0xa6, 0xca, 0xcd, 0x60, 0x0f, 0x08, 0x28, 0x6b, + 0xaa, 0x4c, 0x0e, 0x3a, 0xd7, 0x54, 0xba, 0x8c, 0xf5, 0x80, 0x30, 0xbe, 0x30, 0x60, 0xb9, 0x40, + 0xce, 0x14, 0xbd, 0x9b, 0xc9, 0x6d, 0x14, 0xcb, 0x16, 0x9b, 0x77, 0x06, 0x1f, 0x98, 0x80, 0x5b, + 0x7f, 0x04, 0xa6, 0x1f, 0xb4, 0x6a, 0xbe, 0x47, 0x58, 0xf4, 0x32, 0xd9, 0x94, 0xd7, 0xd7, 0x6b, + 0x2d, 0x37, 0xda, 0xeb, 0xee, 0xd4, 0x9a, 0x7e, 0x67, 0x95, 0x92, 0xac, 0x92, 0x7f, 0x7a, 0x3f, + 0xc1, 0x6b, 0xf9, 0xab, 0xdc, 0xaf, 0x1b, 0x77, 0xc6, 0x48, 0xc7, 0xed, 0xff, 0x06, 0x00, 0x00, + 0xff, 0xff, 0xb6, 0x49, 0x85, 0x30, 0xf3, 0x38, 0x00, 0x00, } diff --git a/protobuf/go/flow/access/access_grpc.pb.go b/protobuf/go/flow/access/access_grpc.pb.go index ae0e6ef50..cb7062095 100644 --- a/protobuf/go/flow/access/access_grpc.pb.go +++ b/protobuf/go/flow/access/access_grpc.pb.go @@ -44,6 +44,8 @@ const ( AccessAPI_GetAccountBalanceAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountBalanceAtBlockHeight" AccessAPI_GetAccountKeysAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountKeysAtLatestBlock" AccessAPI_GetAccountKeysAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountKeysAtBlockHeight" + AccessAPI_GetAccountKeyAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/GetAccountKeyAtLatestBlock" + AccessAPI_GetAccountKeyAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/GetAccountKeyAtBlockHeight" AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtLatestBlock" AccessAPI_ExecuteScriptAtBlockID_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockID" AccessAPI_ExecuteScriptAtBlockHeight_FullMethodName = "/flow.access.AccessAPI/ExecuteScriptAtBlockHeight" @@ -135,6 +137,12 @@ type AccessAPIClient interface { // GetAccountKeysAtBlockHeight gets an account public keys by address at the given block // height GetAccountKeysAtBlockHeight(ctx context.Context, in *GetAccountKeysAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountKeysResponse, error) + // GetAccountKeysAtLatestBlock gets an account public key by address and key index from the latest sealed + // execution state. + GetAccountKeyAtLatestBlock(ctx context.Context, in *GetAccountKeyAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountKeyResponse, error) + // GetAccountKeysAtBlockHeight gets an account public key by address and key index at the given block + // height + GetAccountKeyAtBlockHeight(ctx context.Context, in *GetAccountKeyAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountKeyResponse, error) // ExecuteScriptAtLatestBlock executes a read-only Cadence script against the // latest sealed execution state. ExecuteScriptAtLatestBlock(ctx context.Context, in *ExecuteScriptAtLatestBlockRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) @@ -474,6 +482,24 @@ func (c *accessAPIClient) GetAccountKeysAtBlockHeight(ctx context.Context, in *G return out, nil } +func (c *accessAPIClient) GetAccountKeyAtLatestBlock(ctx context.Context, in *GetAccountKeyAtLatestBlockRequest, opts ...grpc.CallOption) (*AccountKeyResponse, error) { + out := new(AccountKeyResponse) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountKeyAtLatestBlock_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *accessAPIClient) GetAccountKeyAtBlockHeight(ctx context.Context, in *GetAccountKeyAtBlockHeightRequest, opts ...grpc.CallOption) (*AccountKeyResponse, error) { + out := new(AccountKeyResponse) + err := c.cc.Invoke(ctx, AccessAPI_GetAccountKeyAtBlockHeight_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *accessAPIClient) ExecuteScriptAtLatestBlock(ctx context.Context, in *ExecuteScriptAtLatestBlockRequest, opts ...grpc.CallOption) (*ExecuteScriptResponse, error) { out := new(ExecuteScriptResponse) err := c.cc.Invoke(ctx, AccessAPI_ExecuteScriptAtLatestBlock_FullMethodName, in, out, opts...) @@ -961,6 +987,12 @@ type AccessAPIServer interface { // GetAccountKeysAtBlockHeight gets an account public keys by address at the given block // height GetAccountKeysAtBlockHeight(context.Context, *GetAccountKeysAtBlockHeightRequest) (*AccountKeysResponse, error) + // GetAccountKeysAtLatestBlock gets an account public key by address and key index from the latest sealed + // execution state. + GetAccountKeyAtLatestBlock(context.Context, *GetAccountKeyAtLatestBlockRequest) (*AccountKeyResponse, error) + // GetAccountKeysAtBlockHeight gets an account public key by address and key index at the given block + // height + GetAccountKeyAtBlockHeight(context.Context, *GetAccountKeyAtBlockHeightRequest) (*AccountKeyResponse, error) // ExecuteScriptAtLatestBlock executes a read-only Cadence script against the // latest sealed execution state. ExecuteScriptAtLatestBlock(context.Context, *ExecuteScriptAtLatestBlockRequest) (*ExecuteScriptResponse, error) @@ -1146,6 +1178,12 @@ func (UnimplementedAccessAPIServer) GetAccountKeysAtLatestBlock(context.Context, func (UnimplementedAccessAPIServer) GetAccountKeysAtBlockHeight(context.Context, *GetAccountKeysAtBlockHeightRequest) (*AccountKeysResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetAccountKeysAtBlockHeight not implemented") } +func (UnimplementedAccessAPIServer) GetAccountKeyAtLatestBlock(context.Context, *GetAccountKeyAtLatestBlockRequest) (*AccountKeyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAccountKeyAtLatestBlock not implemented") +} +func (UnimplementedAccessAPIServer) GetAccountKeyAtBlockHeight(context.Context, *GetAccountKeyAtBlockHeightRequest) (*AccountKeyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetAccountKeyAtBlockHeight not implemented") +} func (UnimplementedAccessAPIServer) ExecuteScriptAtLatestBlock(context.Context, *ExecuteScriptAtLatestBlockRequest) (*ExecuteScriptResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ExecuteScriptAtLatestBlock not implemented") } @@ -1671,6 +1709,42 @@ func _AccessAPI_GetAccountKeysAtBlockHeight_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } +func _AccessAPI_GetAccountKeyAtLatestBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccountKeyAtLatestBlockRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessAPIServer).GetAccountKeyAtLatestBlock(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccessAPI_GetAccountKeyAtLatestBlock_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessAPIServer).GetAccountKeyAtLatestBlock(ctx, req.(*GetAccountKeyAtLatestBlockRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _AccessAPI_GetAccountKeyAtBlockHeight_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetAccountKeyAtBlockHeightRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AccessAPIServer).GetAccountKeyAtBlockHeight(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: AccessAPI_GetAccountKeyAtBlockHeight_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AccessAPIServer).GetAccountKeyAtBlockHeight(ctx, req.(*GetAccountKeyAtBlockHeightRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _AccessAPI_ExecuteScriptAtLatestBlock_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ExecuteScriptAtLatestBlockRequest) if err := dec(in); err != nil { @@ -2186,6 +2260,14 @@ var AccessAPI_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetAccountKeysAtBlockHeight", Handler: _AccessAPI_GetAccountKeysAtBlockHeight_Handler, }, + { + MethodName: "GetAccountKeyAtLatestBlock", + Handler: _AccessAPI_GetAccountKeyAtLatestBlock_Handler, + }, + { + MethodName: "GetAccountKeyAtBlockHeight", + Handler: _AccessAPI_GetAccountKeyAtBlockHeight_Handler, + }, { MethodName: "ExecuteScriptAtLatestBlock", Handler: _AccessAPI_ExecuteScriptAtLatestBlock_Handler, From eb4935aa35fb560b5ef83be118dc28b2799e4f79 Mon Sep 17 00:00:00 2001 From: Andrii Date: Tue, 9 Jul 2024 12:53:22 +0300 Subject: [PATCH 419/626] Removed actual balance and changed type of key index in request --- protobuf/flow/access/access.proto | 7 +- protobuf/flow/entities/account.proto | 4 - protobuf/go/flow/access/access.pb.go | 370 ++++++++++++------------ protobuf/go/flow/entities/account.pb.go | 91 ++---- 4 files changed, 208 insertions(+), 264 deletions(-) diff --git a/protobuf/flow/access/access.proto b/protobuf/flow/access/access.proto index c580cb6c9..ffebfe1ed 100644 --- a/protobuf/flow/access/access.proto +++ b/protobuf/flow/access/access.proto @@ -462,8 +462,7 @@ message GetAccountBalanceAtBlockHeightRequest { message AccountBalanceResponse { uint64 balance = 1; - uint64 available_balance = 2; - entities.Metadata metadata = 3; + entities.Metadata metadata = 2; } message GetAccountKeysAtLatestBlockRequest { @@ -475,7 +474,7 @@ message GetAccountKeyAtLatestBlockRequest { // address of account bytes address = 1; // index of key to return - entities.AccountKeyIndex index = 2; + uint32 index = 2; } message GetAccountKeysAtBlockHeightRequest { @@ -487,7 +486,7 @@ message GetAccountKeyAtBlockHeightRequest { bytes address = 1; uint64 block_height = 2; // index of key to return - entities.AccountKeyIndex index = 3; + uint32 index = 3; } message AccountKeysResponse { diff --git a/protobuf/flow/entities/account.proto b/protobuf/flow/entities/account.proto index a2fabdb9a..e4dbb1ea4 100644 --- a/protobuf/flow/entities/account.proto +++ b/protobuf/flow/entities/account.proto @@ -22,7 +22,3 @@ message AccountKey { uint32 sequence_number = 6; bool revoked = 7; } - -message AccountKeyIndex { - uint32 value = 1; -} diff --git a/protobuf/go/flow/access/access.pb.go b/protobuf/go/flow/access/access.pb.go index 4fa353f18..8adbe4684 100644 --- a/protobuf/go/flow/access/access.pb.go +++ b/protobuf/go/flow/access/access.pb.go @@ -1590,8 +1590,7 @@ func (m *GetAccountBalanceAtBlockHeightRequest) GetBlockHeight() uint64 { type AccountBalanceResponse struct { Balance uint64 `protobuf:"varint,1,opt,name=balance,proto3" json:"balance,omitempty"` - AvailableBalance uint64 `protobuf:"varint,2,opt,name=available_balance,json=availableBalance,proto3" json:"available_balance,omitempty"` - Metadata *entities.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + Metadata *entities.Metadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1629,13 +1628,6 @@ func (m *AccountBalanceResponse) GetBalance() uint64 { return 0 } -func (m *AccountBalanceResponse) GetAvailableBalance() uint64 { - if m != nil { - return m.AvailableBalance - } - return 0 -} - func (m *AccountBalanceResponse) GetMetadata() *entities.Metadata { if m != nil { return m.Metadata @@ -1687,10 +1679,10 @@ type GetAccountKeyAtLatestBlockRequest struct { // address of account Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // index of key to return - Index *entities.AccountKeyIndex `protobuf:"bytes,2,opt,name=index,proto3" json:"index,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Index uint32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *GetAccountKeyAtLatestBlockRequest) Reset() { *m = GetAccountKeyAtLatestBlockRequest{} } @@ -1725,11 +1717,11 @@ func (m *GetAccountKeyAtLatestBlockRequest) GetAddress() []byte { return nil } -func (m *GetAccountKeyAtLatestBlockRequest) GetIndex() *entities.AccountKeyIndex { +func (m *GetAccountKeyAtLatestBlockRequest) GetIndex() uint32 { if m != nil { return m.Index } - return nil + return 0 } type GetAccountKeysAtBlockHeightRequest struct { @@ -1783,10 +1775,10 @@ type GetAccountKeyAtBlockHeightRequest struct { Address []byte `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` BlockHeight uint64 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` // index of key to return - Index *entities.AccountKeyIndex `protobuf:"bytes,3,opt,name=index,proto3" json:"index,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Index uint32 `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *GetAccountKeyAtBlockHeightRequest) Reset() { *m = GetAccountKeyAtBlockHeightRequest{} } @@ -1828,11 +1820,11 @@ func (m *GetAccountKeyAtBlockHeightRequest) GetBlockHeight() uint64 { return 0 } -func (m *GetAccountKeyAtBlockHeightRequest) GetIndex() *entities.AccountKeyIndex { +func (m *GetAccountKeyAtBlockHeightRequest) GetIndex() uint32 { if m != nil { return m.Index } - return nil + return 0 } type AccountKeysResponse struct { @@ -3603,173 +3595,171 @@ func init() { func init() { proto.RegisterFile("flow/access/access.proto", fileDescriptor_4382e32bb8e3e8e5) } var fileDescriptor_4382e32bb8e3e8e5 = []byte{ - // 2682 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0xdf, 0x6f, 0x1c, 0x49, - 0xf1, 0xd7, 0x78, 0x1d, 0xff, 0x28, 0xaf, 0x9d, 0xa4, 0xe3, 0x73, 0xd6, 0xe3, 0x38, 0xde, 0x8c, - 0x93, 0x8b, 0x2f, 0xc9, 0xad, 0xa3, 0xe4, 0xbe, 0xba, 0x24, 0x5f, 0x38, 0x61, 0xe7, 0x12, 0x9f, - 0x45, 0x72, 0xb2, 0xd6, 0xb9, 0xa0, 0x03, 0xee, 0x56, 0xe3, 0x9d, 0xf6, 0x7a, 0xe4, 0xdd, 0x19, - 0x33, 0x33, 0x9b, 0xc4, 0x70, 0x42, 0xf7, 0x10, 0x10, 0x12, 0xe2, 0x97, 0x40, 0x20, 0x4e, 0x42, - 0x42, 0xf0, 0x04, 0x3c, 0xf0, 0xc4, 0x03, 0x42, 0x08, 0x09, 0xc1, 0x1f, 0xc0, 0x7f, 0x84, 0xa6, - 0xbb, 0x67, 0xa7, 0xbb, 0xa7, 0x7b, 0x76, 0x76, 0xed, 0xe0, 0xbc, 0x24, 0x9e, 0xee, 0xea, 0xaa, - 0x4f, 0x75, 0x55, 0x57, 0x77, 0x57, 0xf5, 0x42, 0x65, 0xb7, 0xed, 0x3f, 0x5f, 0xb5, 0x9b, 0x4d, - 0x1c, 0x86, 0xec, 0xbf, 0xda, 0x41, 0xe0, 0x47, 0x3e, 0x9a, 0x8a, 0x7b, 0x6a, 0xb4, 0xc9, 0x5c, - 0x20, 0x64, 0xd8, 0x8b, 0xdc, 0xc8, 0xc5, 0x84, 0xd0, 0xef, 0x7a, 0x11, 0xa5, 0x34, 0xab, 0x62, - 0xe7, 0x4e, 0xdb, 0x6f, 0xee, 0x37, 0xf6, 0xb0, 0xed, 0xe0, 0x80, 0x51, 0xcc, 0x2b, 0x28, 0x58, - 0xd7, 0x45, 0xb1, 0xab, 0xe9, 0xb7, 0xdb, 0xb8, 0x19, 0xb9, 0xbe, 0xa7, 0x1e, 0x8a, 0x9f, 0xe1, - 0x9e, 0xdc, 0xcb, 0x52, 0xd7, 0x0b, 0xdc, 0xec, 0xc6, 0x23, 0x1b, 0x01, 0x0e, 0xbb, 0xed, 0x84, - 0xea, 0x82, 0x48, 0xd5, 0xc1, 0x91, 0xed, 0xd8, 0x91, 0xcd, 0x7a, 0xaf, 0x88, 0xbd, 0x9e, 0xef, - 0xe0, 0xc6, 0x33, 0x1c, 0x84, 0x31, 0x1b, 0xd7, 0xdb, 0xf5, 0x19, 0xd9, 0x92, 0x48, 0x16, 0x05, - 0xb6, 0x17, 0xda, 0x3c, 0xcc, 0xa5, 0x96, 0xef, 0xb7, 0xda, 0x78, 0x95, 0x7c, 0xed, 0x74, 0x77, - 0x57, 0x23, 0xb7, 0x83, 0xc3, 0xc8, 0xee, 0x1c, 0x50, 0x02, 0x6b, 0x1a, 0xa6, 0xb6, 0x5c, 0xaf, - 0x55, 0xc7, 0xdf, 0xea, 0xe2, 0x30, 0xb2, 0x66, 0xa0, 0x4c, 0x3f, 0xc3, 0x03, 0xdf, 0x0b, 0xb1, - 0xb5, 0x00, 0xf3, 0x1b, 0x38, 0xfa, 0xd0, 0x77, 0xf0, 0x53, 0x2a, 0x7d, 0xd3, 0xdb, 0xf5, 0x13, - 0xe2, 0x2d, 0x30, 0x55, 0x9d, 0x74, 0x28, 0xba, 0x05, 0xa3, 0x31, 0xd2, 0x8a, 0x51, 0x35, 0x56, - 0xa6, 0x6e, 0x5d, 0xac, 0x11, 0xbb, 0x25, 0x50, 0x6b, 0xf2, 0x28, 0x42, 0x6b, 0xdd, 0x83, 0x85, - 0x0d, 0x1c, 0x3d, 0xb2, 0x23, 0x1c, 0x46, 0xeb, 0xb1, 0x35, 0x3e, 0x20, 0xe6, 0x62, 0x02, 0xd1, - 0x02, 0x4c, 0xba, 0x61, 0x23, 0xc4, 0x76, 0x1b, 0x3b, 0x84, 0xef, 0x44, 0x7d, 0xc2, 0x0d, 0xb7, - 0xc9, 0xb7, 0x75, 0x9d, 0x40, 0xe5, 0x46, 0xad, 0x1f, 0x6e, 0xbe, 0x9f, 0x8c, 0x9c, 0x81, 0x11, - 0x97, 0x0e, 0x29, 0xd7, 0x47, 0x5c, 0xc7, 0x7a, 0x17, 0x16, 0x65, 0xe2, 0x0f, 0xb0, 0xdb, 0xda, - 0x8b, 0x92, 0x01, 0x73, 0x30, 0xb6, 0x47, 0x1a, 0xc8, 0xa0, 0xd1, 0x3a, 0xfb, 0xb2, 0xfe, 0x66, - 0xc0, 0x39, 0x01, 0x19, 0xd3, 0xf6, 0x26, 0x9c, 0x22, 0xee, 0xc3, 0xd4, 0x35, 0x25, 0x75, 0xf9, - 0x21, 0x94, 0x10, 0x7d, 0x19, 0xca, 0xd4, 0x25, 0xc3, 0xc8, 0x8e, 0xba, 0x61, 0x65, 0xa4, 0x6a, - 0xac, 0xcc, 0xa8, 0x07, 0x6e, 0x13, 0x8a, 0xfa, 0xd4, 0x4e, 0xfa, 0x81, 0x6e, 0xc3, 0x44, 0xe2, - 0x33, 0x95, 0x12, 0x91, 0x79, 0x5e, 0x1a, 0xfa, 0x98, 0x75, 0xd7, 0x7b, 0x84, 0x96, 0x03, 0x6f, - 0x88, 0xf3, 0x5b, 0x64, 0x66, 0x51, 0x0d, 0xce, 0xed, 0x76, 0xdb, 0xed, 0x06, 0x85, 0x1b, 0x30, - 0x95, 0x09, 0xe0, 0x89, 0xfa, 0xd9, 0xb8, 0x8b, 0xf1, 0x62, 0x4e, 0xf3, 0x11, 0x9c, 0x4b, 0x26, - 0x37, 0xc7, 0x06, 0x03, 0xb3, 0xb5, 0xe1, 0x7c, 0xca, 0xb6, 0x90, 0xb5, 0x06, 0x16, 0xf1, 0x67, - 0x03, 0xa6, 0x85, 0x16, 0x74, 0x4d, 0xb4, 0xeb, 0xac, 0xca, 0x3c, 0x27, 0x69, 0xd1, 0x6b, 0x50, - 0xd9, 0xc0, 0xd1, 0xfd, 0x5e, 0x78, 0xca, 0x73, 0xfa, 0x1a, 0x5c, 0xd8, 0xc0, 0xd1, 0xc3, 0x6e, - 0xbb, 0x5d, 0x8c, 0xfe, 0xa5, 0x01, 0x28, 0xa5, 0xec, 0x4d, 0xc9, 0x5d, 0x80, 0x34, 0x1c, 0xb2, - 0x79, 0x99, 0x97, 0x90, 0x72, 0xc3, 0x38, 0x62, 0x41, 0xc5, 0x91, 0xa2, 0x2a, 0xfe, 0xc8, 0x80, - 0x39, 0x11, 0x74, 0x0f, 0xca, 0x7b, 0x50, 0xe6, 0x62, 0x5e, 0x58, 0x31, 0xaa, 0x25, 0xc5, 0xe2, - 0x7b, 0x92, 0x92, 0xd4, 0x05, 0xfa, 0xe1, 0xf0, 0x3c, 0x85, 0xb9, 0x6d, 0xec, 0x39, 0x3c, 0x57, - 0x36, 0x81, 0x5f, 0x82, 0x29, 0x8e, 0xbd, 0x26, 0x14, 0xf0, 0xe3, 0x78, 0x72, 0xeb, 0x53, 0x38, - 0x9f, 0xe1, 0xcb, 0xf4, 0x94, 0x97, 0xce, 0x50, 0xb8, 0xff, 0x69, 0x90, 0xd5, 0xaf, 0xc0, 0x2d, - 0xb3, 0x9f, 0x87, 0x09, 0xea, 0xc8, 0xae, 0x43, 0xd8, 0x97, 0xeb, 0xe3, 0xe4, 0x7b, 0xd3, 0x41, - 0xcb, 0x30, 0x9d, 0xda, 0x33, 0xee, 0x2f, 0x91, 0xfe, 0x72, 0xda, 0xb8, 0xe9, 0xa0, 0x8f, 0x61, - 0x8e, 0x6c, 0x88, 0x0d, 0xec, 0x35, 0x7d, 0xc7, 0xf5, 0x5a, 0xc9, 0xde, 0x55, 0x19, 0x25, 0x4b, - 0x62, 0x59, 0x02, 0xfb, 0x20, 0x26, 0x7e, 0xc0, 0x68, 0xd9, 0xae, 0x50, 0x9f, 0xc5, 0x8a, 0x56, - 0xeb, 0x0e, 0xd9, 0x21, 0xb6, 0x0f, 0xc3, 0x08, 0x77, 0x14, 0x9a, 0xf0, 0xc8, 0x0d, 0x01, 0xb9, - 0xf5, 0x6b, 0x03, 0x2e, 0xa9, 0x87, 0xc6, 0xbb, 0x72, 0x7f, 0x06, 0x39, 0x5a, 0x8d, 0x1c, 0x55, - 0xab, 0x3f, 0x1a, 0x64, 0x69, 0x72, 0xa8, 0xd6, 0x0f, 0x37, 0x3d, 0x07, 0xbf, 0x28, 0x00, 0x6b, - 0x16, 0x4e, 0xb9, 0x31, 0x29, 0x41, 0x31, 0x5d, 0xa7, 0x1f, 0x39, 0x60, 0x4b, 0x47, 0x05, 0xfb, - 0x2b, 0x03, 0x96, 0x44, 0xb0, 0xe1, 0xfa, 0x21, 0x89, 0x6a, 0x69, 0x28, 0x39, 0xb1, 0x69, 0x34, - 0x33, 0x96, 0x0d, 0x7b, 0xab, 0xe8, 0x6b, 0x70, 0x8e, 0x5b, 0x6f, 0xec, 0x38, 0x96, 0x04, 0x8d, - 0x37, 0x6b, 0xdc, 0xc1, 0xb2, 0xa6, 0xf0, 0x0f, 0xca, 0xa4, 0x8e, 0xa2, 0x8c, 0x80, 0xe1, 0x96, - 0xe3, 0x0f, 0x0d, 0x98, 0xe5, 0xe7, 0xf0, 0x64, 0x83, 0xda, 0x0f, 0x0c, 0x38, 0xa7, 0x8a, 0x3c, - 0x47, 0x0a, 0x69, 0xc3, 0x41, 0xf9, 0x4b, 0x09, 0xe6, 0xb5, 0xf3, 0x8f, 0xee, 0xc0, 0x18, 0xdb, - 0x5e, 0x0d, 0xe2, 0x2e, 0x55, 0x3d, 0x16, 0xb6, 0xc9, 0x32, 0x7a, 0xb4, 0x04, 0x53, 0xf4, 0xaf, - 0x46, 0xd3, 0x77, 0x30, 0x5b, 0x2e, 0x40, 0x9b, 0xee, 0xfb, 0x0e, 0x8e, 0x63, 0x1b, 0x0e, 0x02, - 0x3f, 0x68, 0x74, 0x70, 0x18, 0xda, 0x2d, 0x4c, 0x96, 0xca, 0x64, 0xbd, 0x4c, 0x1a, 0x1f, 0xd3, - 0x36, 0x74, 0x03, 0xc6, 0x88, 0xef, 0x85, 0x95, 0x51, 0x62, 0x97, 0x59, 0x95, 0xbb, 0xd6, 0x19, - 0x8d, 0xb0, 0x0e, 0x4e, 0x89, 0xeb, 0xe0, 0x0a, 0xcc, 0xf0, 0xde, 0xe8, 0x3a, 0x95, 0x31, 0x42, - 0x30, 0xcd, 0xb5, 0xaa, 0x02, 0xee, 0xb8, 0x22, 0xe0, 0x5e, 0x4a, 0x4e, 0x1e, 0xec, 0x14, 0x34, - 0x41, 0x4e, 0x41, 0xf4, 0x74, 0x41, 0x4f, 0x4a, 0x82, 0x29, 0x26, 0x0b, 0x9a, 0x02, 0x5d, 0x87, - 0xb3, 0x4d, 0xbf, 0x73, 0xd0, 0x8d, 0x6c, 0x22, 0xbd, 0x4b, 0x66, 0x05, 0x08, 0xf3, 0x33, 0x5c, - 0xc7, 0x47, 0x71, 0xbb, 0xf5, 0x36, 0x9c, 0xdd, 0xc0, 0xd1, 0x1a, 0xbd, 0x83, 0x25, 0x81, 0xa0, - 0x02, 0xe3, 0xb6, 0xe3, 0x04, 0x38, 0x0c, 0x93, 0x38, 0xc0, 0x3e, 0xad, 0xef, 0x00, 0xe2, 0xc9, - 0x7b, 0xe7, 0xe8, 0x71, 0x76, 0x8b, 0x63, 0xbe, 0x36, 0x27, 0xa1, 0x4c, 0x06, 0x24, 0x64, 0xc3, - 0xf9, 0xd8, 0x3d, 0xb8, 0x98, 0x0a, 0x5f, 0x53, 0x9d, 0x88, 0xf5, 0xc0, 0x5f, 0xc0, 0xe9, 0x13, - 0x42, 0xfd, 0x89, 0x88, 0x7a, 0x3d, 0x35, 0x6f, 0x5f, 0xd4, 0x19, 0x17, 0x19, 0xc9, 0xb8, 0x88, - 0xb5, 0x06, 0x57, 0x52, 0xf6, 0xeb, 0x76, 0xdb, 0xf6, 0x9a, 0x78, 0xc0, 0xb9, 0x71, 0x94, 0x2c, - 0x8e, 0x1b, 0xe8, 0x2f, 0x0c, 0x98, 0x13, 0x65, 0xf4, 0x2c, 0x51, 0x81, 0xf1, 0x1d, 0xda, 0xc4, - 0xae, 0x02, 0xc9, 0x67, 0xec, 0xcb, 0xf6, 0x33, 0xdb, 0x6d, 0xdb, 0x3b, 0x6d, 0xdc, 0x48, 0x68, - 0x28, 0xf3, 0x33, 0xbd, 0x0e, 0xc6, 0x6e, 0xb8, 0xb3, 0xf8, 0x7b, 0x60, 0xa5, 0xca, 0x7f, 0x15, - 0x1f, 0x86, 0x03, 0x4e, 0x5e, 0x48, 0x0e, 0x28, 0xe9, 0xf8, 0xc1, 0x86, 0xa3, 0x77, 0xf8, 0x83, - 0x40, 0xf6, 0xc6, 0x9d, 0xf2, 0xa5, 0x27, 0x0b, 0x4a, 0x6c, 0xd9, 0x59, 0xd0, 0xc7, 0x6d, 0xae, - 0x5f, 0x1a, 0x19, 0xc5, 0x8e, 0x59, 0x44, 0xaa, 0x7b, 0x69, 0x10, 0xdd, 0xe3, 0x4d, 0x8f, 0xd3, - 0x9c, 0xdb, 0xf4, 0xca, 0x6c, 0x9d, 0x36, 0xf6, 0xf1, 0x61, 0xb2, 0x03, 0xcf, 0x6b, 0x99, 0xd6, - 0xa7, 0xec, 0x94, 0xcb, 0x70, 0x4b, 0xfb, 0x7b, 0x06, 0x20, 0x8e, 0x61, 0x82, 0xe4, 0x1e, 0x4c, - 0x71, 0x48, 0x34, 0x97, 0x2d, 0x6e, 0x1c, 0xa4, 0x40, 0x86, 0xc3, 0xf1, 0x31, 0x5c, 0x7a, 0x40, - 0x12, 0x56, 0x78, 0xbb, 0x19, 0xb8, 0x07, 0xea, 0xd8, 0x38, 0x07, 0x63, 0x21, 0xe9, 0x65, 0x96, - 0x62, 0x5f, 0xe8, 0x02, 0x4c, 0xda, 0x41, 0xab, 0xdb, 0x21, 0xdb, 0xe3, 0x48, 0xb5, 0xb4, 0x52, - 0xae, 0xa7, 0x0d, 0xd6, 0x01, 0x2c, 0x4a, 0xac, 0x8b, 0x1f, 0x1a, 0x53, 0x89, 0x23, 0x7a, 0x89, - 0x25, 0x59, 0xe2, 0x67, 0x19, 0x65, 0x14, 0x7e, 0x27, 0x7b, 0x97, 0x91, 0xf5, 0xae, 0xe1, 0xa4, - 0xff, 0xc4, 0x80, 0x37, 0x04, 0xf1, 0x3d, 0xab, 0xce, 0xc2, 0xa9, 0x67, 0x76, 0xbb, 0x8b, 0x99, - 0x96, 0xf4, 0x63, 0x28, 0x7b, 0xa9, 0x77, 0xe8, 0x92, 0x66, 0x87, 0xfe, 0x8f, 0x41, 0x36, 0x10, - 0x72, 0x44, 0x09, 0x1f, 0xfa, 0x01, 0x9b, 0x08, 0xdb, 0x6b, 0xe1, 0x64, 0x36, 0x10, 0x8c, 0x46, - 0x87, 0x07, 0x14, 0xd9, 0x64, 0x9d, 0xfc, 0x1d, 0xcf, 0x50, 0x18, 0xd9, 0x41, 0x24, 0xad, 0x3f, - 0xd2, 0xc6, 0x66, 0x68, 0x11, 0x00, 0x7b, 0x4e, 0x42, 0x40, 0xe5, 0x4f, 0x62, 0xcf, 0x61, 0xdd, - 0xaf, 0xf0, 0x42, 0xf8, 0x07, 0x83, 0xdc, 0x08, 0x7b, 0x3a, 0x31, 0x9f, 0x0a, 0xf3, 0x14, 0x5a, - 0x80, 0xc9, 0xc4, 0xd1, 0x12, 0x3f, 0x9d, 0x60, 0x9e, 0x16, 0xbe, 0xca, 0x9b, 0xd3, 0x3f, 0x46, - 0x60, 0x86, 0x02, 0xe5, 0x42, 0xcd, 0xb8, 0x78, 0x0f, 0xb1, 0x84, 0x7b, 0x88, 0x48, 0x5d, 0x63, - 0x67, 0xe1, 0x64, 0xc8, 0x50, 0x2e, 0x63, 0xfe, 0xd5, 0x80, 0x31, 0xca, 0x28, 0x6f, 0xc5, 0x15, - 0x08, 0xba, 0xe9, 0x51, 0xb8, 0x54, 0xe0, 0x28, 0x7c, 0x1f, 0x4e, 0x53, 0x86, 0xbd, 0x14, 0x34, - 0x31, 0x7e, 0x7c, 0x9b, 0xa0, 0x49, 0xea, 0x5a, 0x92, 0xa4, 0xae, 0x3d, 0x49, 0x28, 0xea, 0x33, - 0x64, 0x48, 0xef, 0xdb, 0x5a, 0x24, 0xc6, 0xfe, 0x10, 0x47, 0xcf, 0xfd, 0x60, 0x7f, 0xcb, 0x0e, - 0xec, 0x0e, 0x8e, 0x70, 0x90, 0x18, 0xdb, 0xba, 0x4b, 0xae, 0xd1, 0x8a, 0x6e, 0x36, 0xdb, 0xf3, - 0x30, 0xd1, 0xdc, 0xb3, 0x5d, 0x2f, 0xd1, 0x77, 0xb2, 0x3e, 0x4e, 0xbe, 0x37, 0x1d, 0xeb, 0x2a, - 0x39, 0xb9, 0xd0, 0x60, 0xb7, 0x15, 0x03, 0x69, 0xfa, 0xed, 0xf8, 0x02, 0x81, 0xb7, 0x3d, 0xfb, - 0x20, 0xdc, 0xf3, 0x93, 0x78, 0x61, 0x3d, 0x80, 0x95, 0x0d, 0xac, 0x26, 0x19, 0xe0, 0x1a, 0x6c, - 0x3d, 0x82, 0xab, 0x7a, 0x36, 0x83, 0x46, 0x28, 0xeb, 0xa5, 0x01, 0x8b, 0x1a, 0xd4, 0x4c, 0xf5, - 0x1a, 0xa0, 0x10, 0x07, 0xae, 0xdd, 0x76, 0xbf, 0x8d, 0x9d, 0xa4, 0x97, 0x81, 0x52, 0xf4, 0x0c, - 0xb7, 0x7b, 0x7c, 0x05, 0x96, 0xe3, 0xb5, 0x98, 0x54, 0x3c, 0xa8, 0x97, 0xa5, 0x8b, 0xb2, 0xc0, - 0xb4, 0xfc, 0xde, 0x48, 0x62, 0xb6, 0x72, 0x3c, 0x53, 0x66, 0x13, 0xce, 0xc8, 0x65, 0x15, 0x4d, - 0x9d, 0x41, 0xe2, 0x55, 0x3f, 0x8d, 0xc5, 0x86, 0xe1, 0xf4, 0x5c, 0x25, 0xe5, 0x03, 0x89, 0x77, - 0x5e, 0x2a, 0xf5, 0x37, 0x06, 0x2c, 0x28, 0xc9, 0x5f, 0x13, 0x85, 0xfe, 0x6e, 0xc0, 0x9b, 0xdb, - 0xdd, 0x9d, 0x78, 0x5f, 0xdb, 0xc1, 0x64, 0xb6, 0xc3, 0x87, 0x81, 0xdf, 0xd9, 0x8e, 0x43, 0xbc, - 0x64, 0xbc, 0xcb, 0x30, 0x43, 0x77, 0x03, 0xc9, 0x84, 0x74, 0x8f, 0x58, 0x67, 0xe1, 0xe3, 0x88, - 0xb9, 0x70, 0x4d, 0xe2, 0xbe, 0xa4, 0x4b, 0xdc, 0xff, 0xcb, 0x80, 0x2b, 0x3a, 0xfc, 0xe2, 0x62, - 0xba, 0x01, 0x88, 0x87, 0x2f, 0x2c, 0xa9, 0x33, 0xa9, 0x0a, 0x2c, 0xc4, 0xfd, 0x8f, 0xd5, 0xf8, - 0x99, 0x01, 0x55, 0x85, 0x1a, 0x34, 0x2a, 0x25, 0x1a, 0xc8, 0x98, 0x8c, 0x63, 0xc1, 0xa4, 0xad, - 0x89, 0x3c, 0x80, 0xf3, 0x12, 0xa4, 0x61, 0x8a, 0x23, 0xd6, 0xcf, 0x0d, 0xb8, 0x21, 0xf2, 0xa1, - 0xe5, 0xb0, 0x13, 0xf5, 0x33, 0xeb, 0x0b, 0x03, 0xae, 0xe7, 0xa3, 0x3a, 0x39, 0xef, 0xb1, 0x5a, - 0xf2, 0x9a, 0xe4, 0xb0, 0x1d, 0xa7, 0x4b, 0x58, 0xdb, 0xb0, 0xa8, 0x14, 0xc4, 0xd5, 0x72, 0xc7, - 0x68, 0xe1, 0xbc, 0x40, 0x79, 0x93, 0x51, 0x2a, 0x0c, 0xfe, 0xbe, 0xdb, 0xc2, 0x61, 0xf4, 0xba, - 0x19, 0x5c, 0x46, 0xf5, 0x3a, 0x19, 0x9c, 0xc3, 0x76, 0xac, 0x06, 0xff, 0x9d, 0x21, 0x5b, 0x9c, - 0x49, 0xe2, 0x4f, 0x4a, 0x47, 0x38, 0x19, 0x2a, 0xce, 0x7a, 0xa5, 0x81, 0xcf, 0x7a, 0xff, 0x36, - 0xe0, 0xda, 0x36, 0xf6, 0x9c, 0x35, 0xcf, 0xe9, 0x61, 0xcd, 0x64, 0x77, 0x71, 0x78, 0x2c, 0xc5, - 0xb7, 0x57, 0x59, 0x95, 0xf8, 0x53, 0xec, 0x72, 0x45, 0xf4, 0xe8, 0x57, 0xa6, 0x30, 0x8e, 0x58, - 0xa6, 0x58, 0x86, 0x69, 0x96, 0xd9, 0x6e, 0xa4, 0x89, 0xa2, 0xd1, 0x7a, 0x99, 0x35, 0x92, 0xd4, - 0xc8, 0xad, 0xdf, 0x5e, 0x83, 0xc9, 0x35, 0xc2, 0x7d, 0x6d, 0x6b, 0x13, 0xfd, 0x3f, 0x8c, 0x6e, - 0xb9, 0x5e, 0x0b, 0x55, 0x04, 0xb1, 0xdc, 0x8b, 0x11, 0x73, 0x5e, 0xd1, 0xc3, 0x14, 0xc1, 0x24, - 0xc3, 0x2b, 0xbd, 0xf4, 0x40, 0xa2, 0x06, 0xda, 0xd7, 0x25, 0xe6, 0xd5, 0xbe, 0x74, 0x4c, 0xcc, - 0x0e, 0xcc, 0xaa, 0x1e, 0x8d, 0xa0, 0x15, 0x99, 0x81, 0xee, 0x5d, 0x89, 0x59, 0x15, 0x28, 0x55, - 0xcf, 0x3b, 0x3e, 0x25, 0xaa, 0x48, 0x8f, 0x4b, 0xb2, 0xaa, 0xa8, 0x5f, 0x9f, 0x14, 0xe0, 0xbf, - 0x0b, 0x73, 0xea, 0xf7, 0x28, 0xe8, 0x5a, 0xae, 0x0c, 0x21, 0x58, 0x15, 0x90, 0xb3, 0x05, 0x33, - 0xe2, 0x44, 0x20, 0x2b, 0x67, 0x96, 0x12, 0xbe, 0x66, 0x96, 0x6f, 0x8f, 0xe3, 0x23, 0x28, 0xf3, - 0x8f, 0x3d, 0x50, 0x55, 0x89, 0x97, 0x9f, 0x8d, 0x3c, 0x6e, 0x4f, 0xe0, 0x8c, 0xfc, 0xc6, 0x03, - 0x5d, 0xd6, 0x70, 0x14, 0x75, 0xcf, 0xe3, 0xfa, 0x0d, 0x52, 0x99, 0x10, 0x1f, 0x3d, 0xa0, 0x2b, - 0x32, 0x5b, 0xe5, 0xa3, 0x08, 0x73, 0x49, 0x20, 0x53, 0xbc, 0x41, 0x68, 0x91, 0xaa, 0x7a, 0xf6, - 0x55, 0x05, 0x7a, 0x4b, 0x16, 0xa0, 0x7d, 0x79, 0x61, 0x2e, 0x0b, 0xa4, 0x9a, 0xc7, 0x0e, 0xdf, - 0x84, 0xd3, 0xd2, 0xfb, 0x00, 0x24, 0x8e, 0x53, 0xbf, 0x4a, 0x30, 0x2f, 0xe7, 0x13, 0x31, 0xee, - 0x4f, 0x89, 0x67, 0xf0, 0xcc, 0x33, 0x9e, 0xa1, 0xe0, 0x5d, 0xcd, 0x09, 0x47, 0xfc, 0xea, 0xcc, - 0x04, 0xaa, 0x42, 0xdc, 0x0b, 0x06, 0x3b, 0x74, 0x40, 0xb2, 0x02, 0x99, 0x7e, 0x56, 0x43, 0xcf, - 0x1a, 0x42, 0x5b, 0x67, 0x2f, 0x2c, 0xf1, 0x39, 0x49, 0xa4, 0x65, 0x6b, 0xcd, 0xbd, 0x0c, 0x00, - 0xba, 0x91, 0x23, 0x34, 0x53, 0x2f, 0x97, 0x82, 0x5d, 0x4e, 0x0d, 0x7b, 0x9f, 0xbc, 0xf7, 0x51, - 0xf2, 0x1a, 0x50, 0xe4, 0x25, 0x9d, 0xc8, 0x50, 0xb2, 0x5d, 0xe6, 0xc5, 0x44, 0x36, 0xb2, 0xea, - 0xde, 0x63, 0x14, 0xf0, 0x8f, 0x88, 0x3c, 0x22, 0xd4, 0xbc, 0xca, 0x40, 0xb5, 0x02, 0x92, 0xb8, - 0xe7, 0x1b, 0x85, 0xed, 0xf7, 0x18, 0x20, 0xad, 0x48, 0xa0, 0x8b, 0xb2, 0x14, 0xb1, 0x88, 0x29, - 0xc5, 0x00, 0x45, 0xd5, 0xd2, 0x21, 0x4f, 0xd3, 0x54, 0xe5, 0x44, 0x74, 0x5d, 0x33, 0x56, 0x95, - 0x58, 0x37, 0x2f, 0x08, 0xc4, 0x7d, 0xa4, 0xf0, 0x07, 0x4f, 0xbd, 0x94, 0x6c, 0xc6, 0xbb, 0x8f, - 0x94, 0x43, 0xbe, 0xc8, 0xa8, 0xaa, 0x02, 0xa2, 0x5b, 0x1a, 0x61, 0x39, 0x25, 0x43, 0x29, 0xc2, - 0x69, 0x8a, 0x77, 0x6a, 0xd1, 0xbc, 0x9e, 0x7d, 0x45, 0x2b, 0xd4, 0x2d, 0x24, 0x9a, 0x86, 0x10, - 0x5d, 0xed, 0x0e, 0xad, 0x6a, 0xe4, 0xea, 0xaa, 0x7c, 0x92, 0xe3, 0xab, 0x8a, 0x4c, 0x0a, 0x89, - 0xbc, 0xa6, 0xf9, 0x12, 0x15, 0x6a, 0xf6, 0x97, 0xd8, 0x21, 0x4b, 0x4d, 0x53, 0x5f, 0xcc, 0x2e, - 0xb5, 0xfc, 0x42, 0xa4, 0xb4, 0x28, 0x14, 0xb5, 0xab, 0xac, 0x38, 0x5e, 0xbf, 0x5c, 0x71, 0x0a, - 0xf5, 0xfa, 0x8a, 0x3b, 0x00, 0x53, 0x5f, 0xb9, 0x92, 0xc4, 0xf5, 0x2d, 0x71, 0x99, 0x96, 0x9e, - 0xbe, 0x27, 0x71, 0x0f, 0xe6, 0xd4, 0x05, 0x2d, 0xe9, 0xd0, 0x96, 0x5b, 0xf5, 0x2a, 0x24, 0x29, - 0xab, 0x9b, 0x7e, 0x2a, 0xfb, 0x56, 0xbc, 0x0a, 0x49, 0x6c, 0x92, 0x58, 0xa3, 0xaa, 0x14, 0x65, - 0x63, 0x4d, 0x4e, 0x3d, 0xc9, 0x5c, 0xc8, 0x29, 0x67, 0xa0, 0x4f, 0xc8, 0xfe, 0x92, 0x29, 0xdd, - 0x64, 0xf7, 0x17, 0x5d, 0x75, 0x27, 0x9f, 0xfd, 0x3e, 0x61, 0x9f, 0xa9, 0x06, 0x64, 0xd9, 0xeb, - 0xea, 0x09, 0xe6, 0x5b, 0x05, 0x28, 0x99, 0xb0, 0xcf, 0x69, 0x6d, 0x2d, 0xa7, 0x80, 0x90, 0x0d, - 0x5e, 0xfd, 0xab, 0x0d, 0xa6, 0xe8, 0x49, 0xf9, 0x29, 0xfe, 0xef, 0xd3, 0x3a, 0x7b, 0x7e, 0x69, - 0x02, 0xfd, 0x9f, 0x8c, 0xa2, 0x50, 0x29, 0x63, 0x20, 0x20, 0x2f, 0x0d, 0xa8, 0xf6, 0x2b, 0x6e, - 0xa0, 0x77, 0x0a, 0xe2, 0x10, 0x7d, 0x77, 0x10, 0x18, 0x9f, 0xd3, 0x57, 0x95, 0xda, 0x72, 0x02, - 0xba, 0x99, 0xf1, 0xb3, 0x3e, 0x95, 0x0b, 0x53, 0xb5, 0xd4, 0xf2, 0x0a, 0x15, 0x1e, 0xb9, 0xd7, - 0x29, 0x32, 0xff, 0xd9, 0x7b, 0x9d, 0xbe, 0x9a, 0x60, 0xae, 0xe4, 0x49, 0x15, 0xea, 0x08, 0xdf, - 0x85, 0xa5, 0x3e, 0x69, 0x7c, 0x74, 0x5b, 0xbc, 0x0e, 0x14, 0x4a, 0xfa, 0xcb, 0x77, 0x08, 0x75, - 0x3e, 0xf8, 0xa6, 0x81, 0x3e, 0x83, 0x8b, 0xf9, 0x69, 0x78, 0x69, 0x11, 0x14, 0xca, 0xd9, 0x17, - 0x96, 0x1e, 0xc0, 0xbc, 0x36, 0x7b, 0x8e, 0xde, 0xee, 0x27, 0x58, 0xc8, 0xb0, 0x15, 0x96, 0xf9, - 0xd3, 0x4c, 0xe5, 0x41, 0x93, 0xd7, 0x46, 0x77, 0x73, 0x38, 0xe6, 0xe7, 0xc2, 0x25, 0xaf, 0xcf, - 0xcd, 0xd5, 0xde, 0x34, 0xd0, 0x8f, 0x0d, 0xb8, 0x5c, 0x24, 0xa9, 0x8d, 0xee, 0x0c, 0x80, 0x28, - 0x6f, 0x19, 0xf6, 0x03, 0xf4, 0xd2, 0x90, 0xdd, 0x32, 0x93, 0xc9, 0xce, 0x75, 0x4b, 0x5d, 0xde, - 0x7b, 0x40, 0x18, 0x59, 0x53, 0x69, 0x32, 0xd2, 0xb9, 0xa6, 0xca, 0xcf, 0x62, 0xe7, 0x42, 0x92, - 0x92, 0xac, 0x4a, 0x53, 0xa9, 0xd3, 0xd1, 0xb9, 0xa6, 0xca, 0xcd, 0x60, 0x0f, 0x08, 0x28, 0x6b, - 0xaa, 0x4c, 0x0e, 0x3a, 0xd7, 0x54, 0xba, 0x8c, 0xf5, 0x80, 0x30, 0xbe, 0x30, 0x60, 0xb9, 0x40, - 0xce, 0x14, 0xbd, 0x9b, 0xc9, 0x6d, 0x14, 0xcb, 0x16, 0x9b, 0x77, 0x06, 0x1f, 0x98, 0x80, 0x5b, - 0x7f, 0x04, 0xa6, 0x1f, 0xb4, 0x6a, 0xbe, 0x47, 0x58, 0xf4, 0x32, 0xd9, 0x94, 0xd7, 0xd7, 0x6b, - 0x2d, 0x37, 0xda, 0xeb, 0xee, 0xd4, 0x9a, 0x7e, 0x67, 0x95, 0x92, 0xac, 0x92, 0x7f, 0x7a, 0x3f, - 0xc1, 0x6b, 0xf9, 0xab, 0xdc, 0xaf, 0x1b, 0x77, 0xc6, 0x48, 0xc7, 0xed, 0xff, 0x06, 0x00, 0x00, - 0xff, 0xff, 0xb6, 0x49, 0x85, 0x30, 0xf3, 0x38, 0x00, 0x00, + // 2651 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5b, 0x5f, 0x6f, 0x1c, 0x49, + 0x11, 0xd7, 0x78, 0x1d, 0xff, 0x29, 0xaf, 0x9d, 0xa4, 0xe3, 0x73, 0xd6, 0xe3, 0x38, 0xde, 0x8c, + 0x93, 0x8b, 0x2f, 0xc9, 0xad, 0xa3, 0x04, 0x74, 0x49, 0x80, 0x13, 0x76, 0x2e, 0xf1, 0x59, 0x97, + 0x9c, 0xac, 0xdd, 0x5c, 0xd0, 0x01, 0x77, 0xd6, 0x78, 0xa7, 0xbd, 0x1e, 0x79, 0x77, 0xc6, 0xcc, + 0xcc, 0x26, 0x31, 0x9c, 0xd0, 0x3d, 0x04, 0x84, 0x84, 0xf8, 0x27, 0x1e, 0x10, 0x27, 0x21, 0x21, + 0x78, 0x02, 0x1e, 0x78, 0xe2, 0x01, 0x21, 0x84, 0x84, 0xe0, 0x03, 0xf0, 0x8d, 0xd0, 0xf4, 0xf4, + 0xec, 0x74, 0xf7, 0x74, 0xf7, 0xce, 0xae, 0x9d, 0x73, 0x5e, 0x12, 0x4f, 0x77, 0x75, 0xd5, 0xaf, + 0xba, 0xaa, 0xab, 0xbb, 0xab, 0x7a, 0xa1, 0xb2, 0xdb, 0xf6, 0x9f, 0xaf, 0xda, 0xcd, 0x26, 0x0e, + 0x43, 0xfa, 0x5f, 0xed, 0x20, 0xf0, 0x23, 0x1f, 0x4d, 0xc5, 0x3d, 0xb5, 0xa4, 0xc9, 0x5c, 0x20, + 0x64, 0xd8, 0x8b, 0xdc, 0xc8, 0xc5, 0x84, 0xd0, 0xef, 0x7a, 0x51, 0x42, 0x69, 0x56, 0xf9, 0xce, + 0x9d, 0xb6, 0xdf, 0xdc, 0xdf, 0xde, 0xc3, 0xb6, 0x83, 0x03, 0x4a, 0x31, 0x2f, 0xa1, 0xa0, 0x5d, + 0x17, 0xf9, 0xae, 0xa6, 0xdf, 0x6e, 0xe3, 0x66, 0xe4, 0xfa, 0x9e, 0x7c, 0x28, 0x7e, 0x86, 0x7b, + 0x72, 0x2f, 0x0b, 0x5d, 0x2f, 0x70, 0xb3, 0x1b, 0x8f, 0xdc, 0x0e, 0x70, 0xd8, 0x6d, 0xa7, 0x54, + 0x17, 0x78, 0xaa, 0x0e, 0x8e, 0x6c, 0xc7, 0x8e, 0x6c, 0xda, 0x7b, 0x85, 0xef, 0xf5, 0x7c, 0x07, + 0x6f, 0x3f, 0xc3, 0x41, 0x18, 0xb3, 0x71, 0xbd, 0x5d, 0x9f, 0x92, 0x2d, 0xf1, 0x64, 0x51, 0x60, + 0x7b, 0xa1, 0xcd, 0xc2, 0x5c, 0x6a, 0xf9, 0x7e, 0xab, 0x8d, 0x57, 0xc9, 0xd7, 0x4e, 0x77, 0x77, + 0x35, 0x72, 0x3b, 0x38, 0x8c, 0xec, 0xce, 0x41, 0x42, 0x60, 0x4d, 0xc3, 0xd4, 0x96, 0xeb, 0xb5, + 0xea, 0xf8, 0x7b, 0x5d, 0x1c, 0x46, 0xd6, 0x0c, 0x94, 0x93, 0xcf, 0xf0, 0xc0, 0xf7, 0x42, 0x6c, + 0x2d, 0xc0, 0xfc, 0x06, 0x8e, 0x3e, 0xf4, 0x1d, 0xfc, 0x34, 0x91, 0xbe, 0xe9, 0xed, 0xfa, 0x29, + 0xf1, 0x16, 0x98, 0xb2, 0xce, 0x64, 0x28, 0xba, 0x05, 0xa3, 0x31, 0xd2, 0x8a, 0x51, 0x35, 0x56, + 0xa6, 0x6e, 0x5d, 0xac, 0x11, 0xbb, 0xa5, 0x50, 0x6b, 0xe2, 0x28, 0x42, 0x6b, 0xdd, 0x83, 0x85, + 0x0d, 0x1c, 0x3d, 0xb2, 0x23, 0x1c, 0x46, 0xeb, 0xb1, 0x35, 0xde, 0x27, 0xe6, 0xa2, 0x02, 0xd1, + 0x02, 0x4c, 0xba, 0xe1, 0x76, 0x88, 0xed, 0x36, 0x76, 0x08, 0xdf, 0x89, 0xfa, 0x84, 0x1b, 0x36, + 0xc8, 0xb7, 0x75, 0x9d, 0x40, 0x65, 0x46, 0xad, 0x1f, 0x6e, 0xbe, 0x97, 0x8e, 0x9c, 0x81, 0x11, + 0x37, 0x19, 0x52, 0xae, 0x8f, 0xb8, 0x8e, 0xf5, 0x0e, 0x2c, 0x8a, 0xc4, 0xef, 0x63, 0xb7, 0xb5, + 0x17, 0xa5, 0x03, 0xe6, 0x60, 0x6c, 0x8f, 0x34, 0x90, 0x41, 0xa3, 0x75, 0xfa, 0x65, 0xfd, 0xc3, + 0x80, 0x73, 0x1c, 0x32, 0xaa, 0xed, 0x4d, 0x38, 0x45, 0xdc, 0x87, 0xaa, 0x6b, 0x0a, 0xea, 0xb2, + 0x43, 0x12, 0x42, 0xf4, 0x0d, 0x28, 0x27, 0x2e, 0x19, 0x46, 0x76, 0xd4, 0x0d, 0x2b, 0x23, 0x55, + 0x63, 0x65, 0x46, 0x3e, 0xb0, 0x41, 0x28, 0xea, 0x53, 0x3b, 0xd9, 0x07, 0xba, 0x0d, 0x13, 0xa9, + 0xcf, 0x54, 0x4a, 0x44, 0xe6, 0x79, 0x61, 0xe8, 0x63, 0xda, 0x5d, 0xef, 0x11, 0x5a, 0x0e, 0xbc, + 0xc1, 0xcf, 0x6f, 0x91, 0x99, 0x45, 0x35, 0x38, 0xb7, 0xdb, 0x6d, 0xb7, 0xb7, 0x13, 0xb8, 0x01, + 0x55, 0x99, 0x00, 0x9e, 0xa8, 0x9f, 0x8d, 0xbb, 0x28, 0x2f, 0xea, 0x34, 0x1f, 0xc1, 0xb9, 0x74, + 0x72, 0x35, 0x36, 0x18, 0x98, 0xad, 0x0d, 0xe7, 0x33, 0xb6, 0x85, 0xac, 0x35, 0xb0, 0x88, 0xbf, + 0x1a, 0x30, 0xcd, 0xb5, 0xa0, 0x6b, 0xbc, 0x5d, 0x67, 0x65, 0xe6, 0x39, 0x49, 0x8b, 0x5e, 0x83, + 0xca, 0x06, 0x8e, 0xee, 0xf7, 0xc2, 0x93, 0xce, 0xe9, 0x6b, 0x70, 0x61, 0x03, 0x47, 0x0f, 0xbb, + 0xed, 0x76, 0x31, 0xfa, 0x97, 0x06, 0xa0, 0x8c, 0xb2, 0x37, 0x25, 0x77, 0x01, 0xb2, 0x70, 0x48, + 0xe7, 0x65, 0x5e, 0x40, 0xca, 0x0c, 0x63, 0x88, 0x39, 0x15, 0x47, 0x8a, 0xaa, 0xf8, 0x33, 0x03, + 0xe6, 0x78, 0xd0, 0x3d, 0x28, 0xef, 0x42, 0x99, 0x89, 0x79, 0x61, 0xc5, 0xa8, 0x96, 0x24, 0x8b, + 0xef, 0x49, 0x46, 0x52, 0xe7, 0xe8, 0x87, 0xc3, 0xf3, 0x14, 0xe6, 0x1a, 0xd8, 0x73, 0x58, 0xae, + 0x74, 0x02, 0xbf, 0x0e, 0x53, 0x0c, 0x7b, 0x45, 0x28, 0x60, 0xc7, 0xb1, 0xe4, 0xd6, 0xa7, 0x70, + 0x3e, 0xc7, 0x97, 0xea, 0x29, 0x2e, 0x9d, 0xa1, 0x70, 0xff, 0xdb, 0x20, 0xab, 0x5f, 0x82, 0x5b, + 0x64, 0x3f, 0x0f, 0x13, 0x89, 0x23, 0xbb, 0x0e, 0x61, 0x5f, 0xae, 0x8f, 0x93, 0xef, 0x4d, 0x07, + 0x2d, 0xc3, 0x74, 0x66, 0xcf, 0xb8, 0xbf, 0x44, 0xfa, 0xcb, 0x59, 0xe3, 0xa6, 0x83, 0x3e, 0x86, + 0x39, 0xb2, 0x21, 0x6e, 0x63, 0xaf, 0xe9, 0x3b, 0xae, 0xd7, 0x4a, 0xf7, 0xae, 0xca, 0x28, 0x59, + 0x12, 0xcb, 0x02, 0xd8, 0x07, 0x31, 0xf1, 0x03, 0x4a, 0x4b, 0x77, 0x85, 0xfa, 0x2c, 0x96, 0xb4, + 0x5a, 0x77, 0xc8, 0x0e, 0xd1, 0x38, 0x0c, 0x23, 0xdc, 0x91, 0x68, 0xc2, 0x22, 0x37, 0x38, 0xe4, + 0xd6, 0x6f, 0x0d, 0xb8, 0x24, 0x1f, 0x1a, 0xef, 0xca, 0xfd, 0x19, 0x68, 0xb4, 0x1a, 0x39, 0xaa, + 0x56, 0x7f, 0x36, 0xc8, 0xd2, 0x64, 0x50, 0xad, 0x1f, 0x6e, 0x7a, 0x0e, 0x7e, 0x51, 0x00, 0xd6, + 0x2c, 0x9c, 0x72, 0x63, 0x52, 0x82, 0x62, 0xba, 0x9e, 0x7c, 0x68, 0xc0, 0x96, 0x8e, 0x0a, 0xf6, + 0x37, 0x06, 0x2c, 0xf1, 0x60, 0xc3, 0xf5, 0x43, 0x12, 0xd5, 0xb2, 0x50, 0x72, 0x62, 0xd3, 0x68, + 0xe6, 0x2c, 0x1b, 0xf6, 0x56, 0xd1, 0xb7, 0xe0, 0x1c, 0xb3, 0xde, 0xe8, 0x71, 0x2c, 0x0d, 0x1a, + 0x6f, 0xd6, 0x98, 0x83, 0x65, 0x4d, 0xe2, 0x1f, 0x09, 0x93, 0x3a, 0x8a, 0x72, 0x02, 0x86, 0x5b, + 0x8e, 0x3f, 0x35, 0x60, 0x96, 0x9d, 0xc3, 0x93, 0x0d, 0x6a, 0x3f, 0x31, 0xe0, 0x9c, 0x2c, 0xf2, + 0x1c, 0x29, 0xa4, 0x0d, 0x07, 0xe5, 0x6f, 0x25, 0x98, 0x57, 0xce, 0x3f, 0xba, 0x03, 0x63, 0x74, + 0x7b, 0x35, 0x88, 0xbb, 0x54, 0xd5, 0x58, 0xe8, 0x26, 0x4b, 0xe9, 0xd1, 0x12, 0x4c, 0x25, 0x7f, + 0x6d, 0x37, 0x7d, 0x07, 0xd3, 0xe5, 0x02, 0x49, 0xd3, 0x7d, 0xdf, 0xc1, 0x71, 0x6c, 0xc3, 0x41, + 0xe0, 0x07, 0xdb, 0x1d, 0x1c, 0x86, 0x76, 0x0b, 0x93, 0xa5, 0x32, 0x59, 0x2f, 0x93, 0xc6, 0xc7, + 0x49, 0x1b, 0xba, 0x01, 0x63, 0xc4, 0xf7, 0xc2, 0xca, 0x28, 0xb1, 0xcb, 0xac, 0xcc, 0x5d, 0xeb, + 0x94, 0x86, 0x5b, 0x07, 0xa7, 0xf8, 0x75, 0x70, 0x05, 0x66, 0x58, 0x6f, 0x74, 0x9d, 0xca, 0x18, + 0x21, 0x98, 0x66, 0x5a, 0x65, 0x01, 0x77, 0x5c, 0x12, 0x70, 0x2f, 0xa5, 0x27, 0x0f, 0x7a, 0x0a, + 0x9a, 0x20, 0xa7, 0xa0, 0xe4, 0x74, 0x91, 0x9c, 0x94, 0x38, 0x53, 0x4c, 0x16, 0x34, 0x05, 0xba, + 0x0e, 0x67, 0x9b, 0x7e, 0xe7, 0xa0, 0x1b, 0xd9, 0x44, 0x7a, 0x97, 0xcc, 0x0a, 0x10, 0xe6, 0x67, + 0x98, 0x8e, 0x8f, 0xe2, 0x76, 0xeb, 0x6d, 0x38, 0xbb, 0x81, 0xa3, 0xb5, 0xe4, 0x0e, 0x96, 0x06, + 0x82, 0x0a, 0x8c, 0xdb, 0x8e, 0x13, 0xe0, 0x30, 0x4c, 0xe3, 0x00, 0xfd, 0xb4, 0x7e, 0x00, 0x88, + 0x25, 0xef, 0x9d, 0xa3, 0xc7, 0xe9, 0x2d, 0x8e, 0xfa, 0xda, 0x9c, 0x80, 0x32, 0x1d, 0x90, 0x92, + 0x0d, 0xe7, 0x63, 0xf7, 0xe0, 0x62, 0x26, 0x7c, 0x4d, 0x76, 0x22, 0x56, 0x03, 0x7f, 0x01, 0xa7, + 0x4f, 0x08, 0xf5, 0x27, 0x3c, 0xea, 0xf5, 0xcc, 0xbc, 0x7d, 0x51, 0xe7, 0x5c, 0x64, 0x24, 0xe7, + 0x22, 0xd6, 0x1a, 0x5c, 0xc9, 0xd8, 0xaf, 0xdb, 0x6d, 0xdb, 0x6b, 0xe2, 0x01, 0xe7, 0xc6, 0x91, + 0xb2, 0x38, 0x6e, 0xa0, 0x2d, 0x98, 0xe3, 0x45, 0xf4, 0x0c, 0x51, 0x81, 0xf1, 0x9d, 0xa4, 0x89, + 0xde, 0x04, 0xd2, 0xcf, 0xe1, 0x26, 0xfc, 0x5d, 0xb0, 0x32, 0x75, 0x3e, 0xc0, 0x87, 0xe1, 0x80, + 0xd3, 0xd1, 0x20, 0x47, 0x8e, 0x6c, 0xfc, 0x60, 0xc3, 0xe5, 0x5b, 0xbb, 0x65, 0xe7, 0x41, 0x1d, + 0xf7, 0x04, 0x3f, 0xcb, 0xe1, 0x3e, 0x66, 0x09, 0x99, 0x6a, 0x25, 0x56, 0xb5, 0x78, 0x17, 0x62, + 0x14, 0x63, 0x76, 0xa1, 0x32, 0x5d, 0x38, 0xdb, 0xfb, 0xf8, 0x30, 0xdd, 0x12, 0xe7, 0xe5, 0x8b, + 0xec, 0x03, 0x7c, 0x58, 0x9f, 0xb2, 0x33, 0x2e, 0xc3, 0x99, 0xfe, 0x47, 0x06, 0x20, 0x86, 0x61, + 0x8a, 0xe4, 0x1e, 0x4c, 0x31, 0x48, 0x14, 0xb7, 0x1f, 0x66, 0x1c, 0x64, 0x40, 0x86, 0xc3, 0xf1, + 0x31, 0x5c, 0x7a, 0x40, 0x32, 0x48, 0xb8, 0xd1, 0x0c, 0xdc, 0x03, 0x79, 0xb0, 0x9a, 0x83, 0xb1, + 0x90, 0xf4, 0x52, 0x4b, 0xd0, 0x2f, 0x74, 0x01, 0x26, 0xed, 0xa0, 0xd5, 0xed, 0x90, 0xfd, 0x6a, + 0xa4, 0x5a, 0x5a, 0x29, 0xd7, 0xb3, 0x06, 0xeb, 0x00, 0x16, 0x05, 0xd6, 0xc5, 0x4f, 0x71, 0x99, + 0xc4, 0x11, 0xb5, 0xc4, 0x92, 0x28, 0xf1, 0xb3, 0x9c, 0x32, 0x12, 0xbf, 0x12, 0xbd, 0xc7, 0xc8, + 0x7b, 0xcf, 0x70, 0xd2, 0x7f, 0x61, 0xc0, 0x1b, 0x9c, 0xf8, 0x9e, 0x55, 0x67, 0xe1, 0xd4, 0x33, + 0xbb, 0xdd, 0xc5, 0x54, 0xcb, 0xe4, 0x63, 0x28, 0x7b, 0xc9, 0xb7, 0xcc, 0x92, 0x62, 0xcb, 0xfc, + 0x9f, 0x41, 0x22, 0x3a, 0x39, 0x33, 0x84, 0x0f, 0xfd, 0x80, 0x4e, 0x84, 0xed, 0xb5, 0x70, 0x3a, + 0x1b, 0x08, 0x46, 0xa3, 0xc3, 0x83, 0x04, 0xd9, 0x64, 0x9d, 0xfc, 0x1d, 0xcf, 0x50, 0x18, 0xd9, + 0x41, 0x24, 0xac, 0x2f, 0xd2, 0x46, 0x67, 0x68, 0x11, 0x00, 0x7b, 0x4e, 0x4a, 0x90, 0xc8, 0x9f, + 0xc4, 0x9e, 0x43, 0xbb, 0x5f, 0xe1, 0x0d, 0xed, 0x4f, 0x06, 0xb9, 0xa2, 0xf5, 0x74, 0xa2, 0x3e, + 0x15, 0xea, 0x14, 0x5a, 0x80, 0xc9, 0xd4, 0xd1, 0x52, 0x3f, 0x9d, 0xa0, 0x9e, 0x16, 0xbe, 0xca, + 0xab, 0xcc, 0xbf, 0x46, 0x60, 0x26, 0x01, 0xca, 0x84, 0x9a, 0x71, 0xfe, 0x62, 0x60, 0x71, 0x17, + 0x03, 0x9e, 0xba, 0x46, 0x0f, 0xa7, 0xe9, 0x90, 0xa1, 0x5c, 0xc6, 0xfc, 0xbb, 0x01, 0x63, 0x09, + 0x23, 0xdd, 0x8a, 0x2b, 0x10, 0x54, 0xb3, 0xb3, 0x69, 0xa9, 0xc0, 0xd9, 0xf4, 0x3e, 0x9c, 0x4e, + 0x18, 0xf6, 0x72, 0xc2, 0xc4, 0xf8, 0xf1, 0xf1, 0x3e, 0xc9, 0x1a, 0xd7, 0xd2, 0xac, 0x71, 0xed, + 0x49, 0x4a, 0x51, 0x9f, 0x21, 0x43, 0x7a, 0xdf, 0xd6, 0x22, 0x31, 0xf6, 0x87, 0x38, 0x7a, 0xee, + 0x07, 0xfb, 0x5b, 0x76, 0x60, 0x77, 0x70, 0x84, 0x83, 0xd4, 0xd8, 0xd6, 0x5d, 0x72, 0xaf, 0x95, + 0x74, 0xd3, 0xd9, 0x9e, 0x87, 0x89, 0xe6, 0x9e, 0xed, 0x7a, 0xa9, 0xbe, 0x93, 0xf5, 0x71, 0xf2, + 0xbd, 0xe9, 0x58, 0x57, 0xc9, 0x51, 0x22, 0x09, 0x76, 0x5b, 0x31, 0x90, 0xa6, 0xdf, 0x8e, 0x4f, + 0xf4, 0xb8, 0xe1, 0xd9, 0x07, 0xe1, 0x9e, 0x9f, 0xc6, 0x0b, 0xeb, 0x01, 0xac, 0x6c, 0x60, 0x39, + 0xc9, 0x00, 0xf7, 0x52, 0xeb, 0x11, 0x5c, 0x55, 0xb3, 0x19, 0x34, 0x42, 0x59, 0x2f, 0x0d, 0x58, + 0x54, 0xa0, 0xa6, 0xaa, 0xd7, 0x00, 0x85, 0x38, 0x70, 0xed, 0xb6, 0xfb, 0x7d, 0xec, 0xa4, 0xbd, + 0x14, 0x94, 0xa4, 0x67, 0xb8, 0xdd, 0xe3, 0x9b, 0xb0, 0x1c, 0xaf, 0xc5, 0xb4, 0x04, 0x91, 0x78, + 0x59, 0xb6, 0x28, 0x0b, 0x4c, 0xcb, 0x1f, 0x8d, 0x34, 0x66, 0x4b, 0xc7, 0x53, 0x65, 0x36, 0xe1, + 0x8c, 0x58, 0xe7, 0x50, 0x24, 0xfe, 0x05, 0x5e, 0xf5, 0xd3, 0x98, 0x6f, 0x18, 0x4e, 0xcf, 0x55, + 0x92, 0xcf, 0x17, 0x78, 0xeb, 0x72, 0x9b, 0xbf, 0x33, 0x60, 0x41, 0x4a, 0xfe, 0x9a, 0x28, 0xf4, + 0x4f, 0x03, 0xde, 0x6c, 0x74, 0x77, 0xe2, 0x7d, 0x6d, 0x07, 0x93, 0xd9, 0x0e, 0x1f, 0x06, 0x7e, + 0xa7, 0x11, 0x87, 0x78, 0xc1, 0x78, 0x97, 0x61, 0x26, 0xd9, 0x0d, 0x04, 0x13, 0x26, 0x7b, 0xc4, + 0x3a, 0x0d, 0x1f, 0x47, 0x4c, 0x4e, 0x2b, 0x32, 0xe9, 0x25, 0x55, 0x26, 0xfd, 0x3f, 0x06, 0x5c, + 0x51, 0xe1, 0xe7, 0x17, 0xd3, 0x0d, 0x40, 0x2c, 0x7c, 0x6e, 0x49, 0x9d, 0xc9, 0x54, 0xa0, 0x21, + 0xee, 0x4b, 0x56, 0xe3, 0x57, 0x06, 0x54, 0x25, 0x6a, 0x24, 0x51, 0x29, 0xd5, 0x40, 0xc4, 0x64, + 0x1c, 0x0b, 0x26, 0x65, 0x91, 0xe2, 0x01, 0x9c, 0x17, 0x20, 0x0d, 0x53, 0xad, 0xb0, 0x7e, 0x6d, + 0xc0, 0x0d, 0x9e, 0x4f, 0x52, 0x9f, 0x3a, 0x51, 0x3f, 0xb3, 0xbe, 0x30, 0xe0, 0xba, 0x1e, 0xd5, + 0xc9, 0x79, 0x8f, 0xd5, 0x12, 0xd7, 0x24, 0x83, 0xed, 0x38, 0x5d, 0xc2, 0x6a, 0xc0, 0xa2, 0x54, + 0x10, 0x53, 0x5c, 0x1d, 0x4b, 0x2a, 0xd9, 0x05, 0xea, 0x8d, 0x94, 0x52, 0x62, 0xf0, 0xf7, 0xdc, + 0x16, 0x0e, 0xa3, 0xd7, 0xcd, 0xe0, 0x22, 0xaa, 0xd7, 0xc9, 0xe0, 0x0c, 0xb6, 0x63, 0x35, 0xf8, + 0x1f, 0x0c, 0xd1, 0xe2, 0x54, 0x12, 0x7b, 0x52, 0x3a, 0xc2, 0xc9, 0x50, 0x72, 0xd6, 0x2b, 0x0d, + 0x7c, 0xd6, 0xfb, 0xaf, 0x01, 0xd7, 0x1a, 0xd8, 0x73, 0xd6, 0x3c, 0xa7, 0x87, 0x35, 0x97, 0x6e, + 0xc5, 0xe1, 0xb1, 0x54, 0xc3, 0x5e, 0x65, 0x99, 0xe0, 0x2f, 0xb1, 0xcb, 0x15, 0xd1, 0xa3, 0x5f, + 0xdd, 0xc0, 0x38, 0x62, 0xdd, 0x60, 0x19, 0xa6, 0x69, 0xaa, 0x79, 0x3b, 0xcb, 0xf3, 0x8c, 0xd6, + 0xcb, 0xb4, 0x91, 0x54, 0x80, 0x6e, 0xfd, 0xfe, 0x1a, 0x4c, 0xae, 0x11, 0xee, 0x6b, 0x5b, 0x9b, + 0xe8, 0x6b, 0x30, 0xba, 0xe5, 0x7a, 0x2d, 0x54, 0xe1, 0xc4, 0x32, 0x4f, 0x38, 0xcc, 0x79, 0x49, + 0x0f, 0x55, 0x04, 0x93, 0x94, 0xab, 0xf0, 0xf4, 0x02, 0xf1, 0x1a, 0x28, 0x9f, 0x7b, 0x98, 0x57, + 0xfb, 0xd2, 0x51, 0x31, 0x3b, 0x30, 0x2b, 0x7b, 0xc5, 0x81, 0x56, 0x44, 0x06, 0xaa, 0x87, 0x1e, + 0x66, 0x95, 0xa3, 0x94, 0xbd, 0xb7, 0xf8, 0x94, 0xa8, 0x22, 0xbc, 0xf6, 0xc8, 0xab, 0x22, 0x7f, + 0x0e, 0x52, 0x80, 0xff, 0x2e, 0xcc, 0xc9, 0x1f, 0x88, 0xa0, 0x6b, 0x5a, 0x19, 0x5c, 0xb0, 0x2a, + 0x20, 0x67, 0x0b, 0x66, 0xf8, 0x89, 0x40, 0x96, 0x66, 0x96, 0x52, 0xbe, 0x66, 0x9e, 0x6f, 0x8f, + 0xe3, 0x23, 0x28, 0xb3, 0xaf, 0x2f, 0x50, 0x55, 0x8a, 0x97, 0x9d, 0x0d, 0x1d, 0xb7, 0x27, 0x70, + 0x46, 0x7c, 0x74, 0x81, 0x2e, 0x2b, 0x38, 0xf2, 0xba, 0xeb, 0xb8, 0x7e, 0x87, 0x94, 0x0a, 0xf8, + 0x57, 0x08, 0xe8, 0x8a, 0xc8, 0x56, 0xfa, 0x4a, 0xc1, 0x5c, 0xe2, 0xc8, 0x24, 0x8f, 0x02, 0x5a, + 0xa4, 0xcc, 0x9d, 0x7f, 0xe6, 0x80, 0xde, 0x12, 0x05, 0x28, 0x9f, 0x42, 0x98, 0xcb, 0x1c, 0xa9, + 0xe2, 0xf5, 0xc1, 0x77, 0xe1, 0xb4, 0x50, 0xb0, 0x47, 0xfc, 0x38, 0xf9, 0x33, 0x01, 0xf3, 0xb2, + 0x9e, 0x88, 0x72, 0x7f, 0x4a, 0x3c, 0x83, 0x65, 0x9e, 0xf3, 0x0c, 0x09, 0xef, 0xaa, 0x26, 0x1c, + 0xb1, 0xab, 0x33, 0x17, 0xa8, 0x0a, 0x71, 0x2f, 0x18, 0xec, 0xd0, 0x01, 0xc9, 0x0a, 0xe4, 0xfa, + 0x69, 0x51, 0x3b, 0x6f, 0x08, 0x65, 0xe1, 0xbb, 0xb0, 0xc4, 0xe7, 0x24, 0x91, 0x96, 0x2f, 0xfe, + 0xf6, 0x32, 0x00, 0xe8, 0x86, 0x46, 0x68, 0xae, 0x80, 0x2d, 0x04, 0x3b, 0x4d, 0x51, 0x79, 0x9f, + 0x3c, 0xc0, 0x91, 0xf2, 0x1a, 0x50, 0xe4, 0x25, 0x95, 0xc8, 0x50, 0xb0, 0x5d, 0xee, 0x09, 0x43, + 0x3e, 0xb2, 0xaa, 0x1e, 0x48, 0x14, 0xf0, 0x8f, 0x88, 0xbc, 0xea, 0x53, 0x3c, 0x93, 0x40, 0xb5, + 0x02, 0x92, 0x98, 0xf7, 0x14, 0x85, 0xed, 0xf7, 0x18, 0x20, 0xab, 0x38, 0xa0, 0x8b, 0xa2, 0x14, + 0xbe, 0xaa, 0x28, 0xc4, 0x00, 0x49, 0x19, 0xd1, 0x21, 0x6f, 0xc5, 0x64, 0xf5, 0x3d, 0x74, 0x5d, + 0x31, 0x56, 0x96, 0x58, 0x37, 0x2f, 0x70, 0xc4, 0x7d, 0xa4, 0xb0, 0x07, 0x4f, 0xb5, 0x94, 0x7c, + 0xc6, 0xbb, 0x8f, 0x94, 0x43, 0xb6, 0xea, 0x27, 0x2b, 0xcb, 0xa1, 0x5b, 0x0a, 0x61, 0x9a, 0x1a, + 0x9e, 0x10, 0xe1, 0x14, 0xe5, 0x34, 0xb9, 0x68, 0x56, 0xcf, 0xbe, 0xa2, 0x25, 0xea, 0x16, 0x12, + 0x9d, 0x84, 0x10, 0x55, 0xe9, 0x0d, 0xad, 0x2a, 0xe4, 0xaa, 0x8a, 0x74, 0x82, 0xe3, 0xcb, 0x8a, + 0x4c, 0x12, 0x89, 0xac, 0xa6, 0x7a, 0x89, 0x12, 0x35, 0xfb, 0x4b, 0xec, 0x90, 0xa5, 0xa6, 0x28, + 0x0f, 0xe6, 0x97, 0x9a, 0xbe, 0x8e, 0x28, 0x2c, 0x0a, 0x49, 0xed, 0x2a, 0x2f, 0x8e, 0xd5, 0x4f, + 0x2b, 0x4e, 0xa2, 0x5e, 0x5f, 0x71, 0x07, 0x60, 0xaa, 0x2b, 0x57, 0x82, 0xb8, 0xbe, 0x25, 0x2e, + 0xd3, 0x52, 0xd3, 0xf7, 0x24, 0xee, 0xc1, 0x9c, 0xbc, 0xa0, 0x25, 0x1c, 0xda, 0xb4, 0x55, 0xaf, + 0x42, 0x92, 0xf2, 0xba, 0xa9, 0xa7, 0xb2, 0x6f, 0xc5, 0xab, 0x90, 0xc4, 0x26, 0x89, 0x35, 0xb2, + 0x4a, 0x51, 0x3e, 0xd6, 0x68, 0xea, 0x49, 0xe6, 0x82, 0xa6, 0x9c, 0x81, 0x3e, 0x21, 0xfb, 0x4b, + 0xae, 0x74, 0x93, 0xdf, 0x5f, 0x54, 0xd5, 0x1d, 0x3d, 0xfb, 0x7d, 0xc2, 0x3e, 0x57, 0x0d, 0xc8, + 0xb3, 0x57, 0xd5, 0x13, 0xcc, 0xb7, 0x0a, 0x50, 0x52, 0x61, 0x9f, 0x27, 0xb5, 0x35, 0x4d, 0x01, + 0x21, 0x1f, 0xbc, 0xfa, 0x57, 0x1b, 0x4c, 0xde, 0x93, 0xf4, 0x29, 0xfe, 0x1f, 0x27, 0x4f, 0x0e, + 0xf5, 0xa5, 0x09, 0xf4, 0x55, 0x11, 0x45, 0xa1, 0x52, 0xc6, 0x40, 0x40, 0x5e, 0x1a, 0x50, 0xed, + 0x57, 0xdc, 0x40, 0x5f, 0x29, 0x88, 0x83, 0xf7, 0xdd, 0x41, 0x60, 0x7c, 0x9e, 0x3c, 0x73, 0x54, + 0x96, 0x13, 0xd0, 0xcd, 0x9c, 0x9f, 0xf5, 0xa9, 0x5c, 0x98, 0xb2, 0xa5, 0xa6, 0x2b, 0x54, 0x78, + 0xe4, 0x5e, 0x27, 0xc9, 0xfc, 0xe7, 0xef, 0x75, 0xea, 0x6a, 0x82, 0xb9, 0xa2, 0x93, 0xca, 0xd5, + 0x11, 0x7e, 0x08, 0x4b, 0x7d, 0xd2, 0xf8, 0xe8, 0x36, 0x7f, 0x1d, 0x28, 0x94, 0xf4, 0x17, 0xef, + 0x10, 0xf2, 0x7c, 0xf0, 0x4d, 0x03, 0x7d, 0x06, 0x17, 0xf5, 0x69, 0x78, 0x61, 0x11, 0x14, 0xca, + 0xd9, 0x17, 0x96, 0x1e, 0xc0, 0xbc, 0x32, 0x7b, 0x8e, 0xde, 0xee, 0x27, 0x98, 0xcb, 0xb0, 0x15, + 0x96, 0xf9, 0xcb, 0x5c, 0xe5, 0x41, 0x91, 0xd7, 0x46, 0x77, 0x35, 0x1c, 0xf5, 0xb9, 0x70, 0xc1, + 0xeb, 0xb5, 0xb9, 0xda, 0x9b, 0x06, 0xfa, 0xb9, 0x01, 0x97, 0x8b, 0x24, 0xb5, 0xd1, 0x9d, 0x01, + 0x10, 0xe9, 0x96, 0x61, 0x3f, 0x40, 0x2f, 0x0d, 0xd1, 0x2d, 0x73, 0x99, 0x6c, 0xad, 0x5b, 0xaa, + 0xf2, 0xde, 0x03, 0xc2, 0xc8, 0x9b, 0x4a, 0x91, 0x91, 0xd6, 0x9a, 0x4a, 0x9f, 0xc5, 0xd6, 0x42, + 0x12, 0x92, 0xac, 0x52, 0x53, 0xc9, 0xd3, 0xd1, 0x5a, 0x53, 0x69, 0x33, 0xd8, 0x03, 0x02, 0xca, + 0x9b, 0x2a, 0x97, 0x83, 0xd6, 0x9a, 0x4a, 0x95, 0xb1, 0x1e, 0x10, 0xc6, 0x17, 0x06, 0x2c, 0x17, + 0xc8, 0x99, 0xa2, 0x77, 0x72, 0xb9, 0x8d, 0x62, 0xd9, 0x62, 0xf3, 0xce, 0xe0, 0x03, 0x53, 0x70, + 0xeb, 0x8f, 0xc0, 0xf4, 0x83, 0x56, 0xcd, 0xf7, 0x08, 0x8b, 0x5e, 0x26, 0x3b, 0xe1, 0xf5, 0xed, + 0x5a, 0xcb, 0x8d, 0xf6, 0xba, 0x3b, 0xb5, 0xa6, 0xdf, 0x59, 0x4d, 0x48, 0x56, 0xc9, 0x3f, 0xbd, + 0xdf, 0xc4, 0xb5, 0xfc, 0x55, 0xe6, 0xe7, 0x86, 0x3b, 0x63, 0xa4, 0xe3, 0xf6, 0xff, 0x03, 0x00, + 0x00, 0xff, 0xff, 0xe8, 0x99, 0xaa, 0xff, 0x84, 0x38, 0x00, 0x00, } diff --git a/protobuf/go/flow/entities/account.pb.go b/protobuf/go/flow/entities/account.pb.go index 37884d6e9..056e021f4 100644 --- a/protobuf/go/flow/entities/account.pb.go +++ b/protobuf/go/flow/entities/account.pb.go @@ -178,79 +178,38 @@ func (m *AccountKey) GetRevoked() bool { return false } -type AccountKeyIndex struct { - Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AccountKeyIndex) Reset() { *m = AccountKeyIndex{} } -func (m *AccountKeyIndex) String() string { return proto.CompactTextString(m) } -func (*AccountKeyIndex) ProtoMessage() {} -func (*AccountKeyIndex) Descriptor() ([]byte, []int) { - return fileDescriptor_bf0d6f6360ab9ab0, []int{2} -} - -func (m *AccountKeyIndex) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AccountKeyIndex.Unmarshal(m, b) -} -func (m *AccountKeyIndex) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AccountKeyIndex.Marshal(b, m, deterministic) -} -func (m *AccountKeyIndex) XXX_Merge(src proto.Message) { - xxx_messageInfo_AccountKeyIndex.Merge(m, src) -} -func (m *AccountKeyIndex) XXX_Size() int { - return xxx_messageInfo_AccountKeyIndex.Size(m) -} -func (m *AccountKeyIndex) XXX_DiscardUnknown() { - xxx_messageInfo_AccountKeyIndex.DiscardUnknown(m) -} - -var xxx_messageInfo_AccountKeyIndex proto.InternalMessageInfo - -func (m *AccountKeyIndex) GetValue() uint32 { - if m != nil { - return m.Value - } - return 0 -} - func init() { proto.RegisterType((*Account)(nil), "flow.entities.Account") proto.RegisterMapType((map[string][]byte)(nil), "flow.entities.Account.ContractsEntry") proto.RegisterType((*AccountKey)(nil), "flow.entities.AccountKey") - proto.RegisterType((*AccountKeyIndex)(nil), "flow.entities.AccountKeyIndex") } func init() { proto.RegisterFile("flow/entities/account.proto", fileDescriptor_bf0d6f6360ab9ab0) } var fileDescriptor_bf0d6f6360ab9ab0 = []byte{ - // 396 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0xc1, 0x6f, 0xd3, 0x30, - 0x14, 0xc6, 0x95, 0x36, 0x6d, 0xd7, 0xc7, 0xba, 0x21, 0x0b, 0x21, 0xc3, 0x40, 0x8a, 0x2a, 0xa1, - 0xe5, 0x42, 0x82, 0xe0, 0x82, 0x10, 0x97, 0x31, 0x71, 0x40, 0x48, 0x08, 0xf9, 0xc8, 0xa5, 0x72, - 0x9c, 0xb7, 0x24, 0x6a, 0x66, 0x8f, 0xd8, 0xd9, 0xc8, 0x99, 0xff, 0x91, 0xbf, 0x07, 0xf9, 0xb9, - 0x69, 0x55, 0x69, 0x97, 0xc8, 0xdf, 0xfb, 0x7d, 0x9f, 0x9d, 0xf7, 0x6c, 0xb8, 0xb8, 0x69, 0xcd, - 0x43, 0x8e, 0xda, 0x35, 0xae, 0x41, 0x9b, 0x4b, 0xa5, 0x4c, 0xaf, 0x5d, 0x76, 0xd7, 0x19, 0x67, - 0xd8, 0xca, 0xc3, 0x6c, 0x84, 0xeb, 0xbf, 0x13, 0x58, 0x5c, 0x05, 0x03, 0xe3, 0xb0, 0x90, 0x65, - 0xd9, 0xa1, 0xb5, 0x3c, 0x4a, 0xa2, 0xf4, 0x54, 0x8c, 0xd2, 0x93, 0x42, 0xb6, 0x52, 0x2b, 0xe4, - 0x93, 0x24, 0x4a, 0x63, 0x31, 0x4a, 0xc6, 0x20, 0x56, 0xa6, 0x44, 0x3e, 0xa5, 0x00, 0xad, 0xd9, - 0x5b, 0x88, 0xb7, 0x38, 0x58, 0x1e, 0x27, 0xd3, 0xf4, 0xc9, 0xfb, 0x17, 0xd9, 0xd1, 0x89, 0xd9, - 0xee, 0xb4, 0xef, 0x38, 0x08, 0xb2, 0xb1, 0x6b, 0x58, 0x2a, 0xa3, 0x5d, 0x27, 0x95, 0xb3, 0x7c, - 0x46, 0x99, 0x37, 0x8f, 0x67, 0xb2, 0xeb, 0xd1, 0xf7, 0x55, 0xbb, 0x6e, 0x10, 0x87, 0xdc, 0xcb, - 0xcf, 0x70, 0x76, 0x0c, 0xd9, 0x53, 0x98, 0x6e, 0x71, 0xa0, 0x4e, 0x96, 0xc2, 0x2f, 0xd9, 0x33, - 0x98, 0xdd, 0xcb, 0xb6, 0x0f, 0x3d, 0x9c, 0x8a, 0x20, 0x3e, 0x4d, 0x3e, 0x46, 0xeb, 0x7f, 0x11, - 0xc0, 0xe1, 0xbf, 0xbc, 0xb1, 0xd1, 0x25, 0xfe, 0xa1, 0xf0, 0x4a, 0x04, 0xc1, 0x5e, 0x03, 0xdc, - 0xf5, 0x45, 0xdb, 0xa8, 0x8d, 0xdf, 0x37, 0xec, 0xb1, 0x0c, 0x15, 0x1f, 0xba, 0x80, 0xa5, 0x6d, - 0x2a, 0xbd, 0x91, 0x6d, 0x65, 0x68, 0x1c, 0x2b, 0x71, 0xe2, 0x0b, 0x57, 0x6d, 0x65, 0x3c, 0xac, - 0xa5, 0xad, 0x03, 0x8c, 0x03, 0xf4, 0x05, 0x82, 0xcf, 0x61, 0xfe, 0x80, 0x4d, 0x55, 0x3b, 0x3e, - 0x23, 0xb2, 0x53, 0xec, 0x12, 0xce, 0x2d, 0xfe, 0xee, 0x51, 0x2b, 0xdc, 0xe8, 0xfe, 0xb6, 0xc0, - 0x8e, 0xcf, 0xc9, 0x70, 0x36, 0x96, 0x7f, 0x50, 0xd5, 0x5f, 0x4f, 0x87, 0xf7, 0x66, 0x8b, 0x25, - 0x5f, 0x24, 0x51, 0x7a, 0x22, 0x46, 0xb9, 0xbe, 0x84, 0xf3, 0x43, 0x5f, 0xdf, 0xa8, 0x8d, 0xfd, - 0x14, 0x76, 0xcd, 0x91, 0xf8, 0xf2, 0x13, 0x5e, 0x99, 0xae, 0xca, 0x8c, 0xa6, 0xc1, 0xd3, 0x53, - 0x29, 0xfa, 0x9b, 0xfd, 0x0d, 0xfc, 0x7a, 0x57, 0x35, 0xae, 0xee, 0x8b, 0x4c, 0x99, 0xdb, 0x3c, - 0x98, 0x72, 0xfa, 0x8c, 0xce, 0xbc, 0x32, 0xf9, 0xd1, 0xb3, 0x2b, 0xe6, 0x84, 0x3e, 0xfc, 0x0f, - 0x00, 0x00, 0xff, 0xff, 0x3d, 0x98, 0x88, 0xcd, 0x8e, 0x02, 0x00, 0x00, + // 379 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0xc1, 0xcb, 0xd3, 0x30, + 0x18, 0xc6, 0xe9, 0xd6, 0x6d, 0x5f, 0x5f, 0xbf, 0x4d, 0x09, 0x22, 0xd1, 0x29, 0x94, 0x81, 0xd8, + 0x8b, 0xad, 0xe8, 0x45, 0xc4, 0xcb, 0x1c, 0x9e, 0x04, 0x91, 0x1c, 0xbd, 0x8c, 0x34, 0x7d, 0xd7, + 0x96, 0x75, 0xc9, 0x6c, 0xd2, 0xcd, 0x9e, 0xfd, 0x1f, 0xfd, 0x7b, 0x24, 0xc9, 0xea, 0x18, 0x7c, + 0x97, 0x91, 0xe7, 0xf9, 0x3d, 0x4f, 0xb2, 0xbc, 0x0d, 0x2c, 0x77, 0x8d, 0x3a, 0x67, 0x28, 0x4d, + 0x6d, 0x6a, 0xd4, 0x19, 0x17, 0x42, 0x75, 0xd2, 0xa4, 0xc7, 0x56, 0x19, 0x45, 0xe6, 0x16, 0xa6, + 0x03, 0x5c, 0xfd, 0x19, 0xc1, 0x6c, 0xed, 0x03, 0x84, 0xc2, 0x8c, 0x17, 0x45, 0x8b, 0x5a, 0xd3, + 0x20, 0x0e, 0x92, 0x7b, 0x36, 0x48, 0x4b, 0x72, 0xde, 0x70, 0x29, 0x90, 0x8e, 0xe2, 0x20, 0x09, + 0xd9, 0x20, 0x09, 0x81, 0x50, 0xa8, 0x02, 0xe9, 0xd8, 0x15, 0xdc, 0x9a, 0xbc, 0x85, 0x70, 0x8f, + 0xbd, 0xa6, 0x61, 0x3c, 0x4e, 0x1e, 0xbd, 0x7f, 0x9e, 0xde, 0x9c, 0x98, 0x5e, 0x4e, 0xfb, 0x86, + 0x3d, 0x73, 0x31, 0xb2, 0x81, 0x48, 0x28, 0x69, 0x5a, 0x2e, 0x8c, 0xa6, 0x13, 0xd7, 0x79, 0xfd, + 0x70, 0x27, 0xdd, 0x0c, 0xb9, 0xaf, 0xd2, 0xb4, 0x3d, 0xbb, 0xf6, 0x5e, 0x7c, 0x86, 0xc5, 0x2d, + 0x24, 0x4f, 0x60, 0xbc, 0xc7, 0xde, 0xdd, 0x24, 0x62, 0x76, 0x49, 0x9e, 0xc2, 0xe4, 0xc4, 0x9b, + 0xce, 0xdf, 0xe1, 0x9e, 0x79, 0xf1, 0x69, 0xf4, 0x31, 0x58, 0xfd, 0x0d, 0x00, 0xae, 0xff, 0xcb, + 0x06, 0x6b, 0x59, 0xe0, 0x6f, 0x57, 0x9e, 0x33, 0x2f, 0xc8, 0x2b, 0x80, 0x63, 0x97, 0x37, 0xb5, + 0xd8, 0xda, 0x7d, 0xfd, 0x1e, 0x91, 0x77, 0x6c, 0x69, 0x09, 0x91, 0xae, 0x4b, 0xb9, 0xe5, 0x4d, + 0xa9, 0xdc, 0x38, 0xe6, 0xec, 0xce, 0x1a, 0xeb, 0xa6, 0x54, 0x16, 0x56, 0x5c, 0x57, 0x1e, 0x86, + 0x1e, 0x5a, 0xc3, 0xc1, 0x67, 0x30, 0x3d, 0x63, 0x5d, 0x56, 0x86, 0x4e, 0x1c, 0xb9, 0x28, 0xf2, + 0x06, 0x1e, 0x6b, 0xfc, 0xd5, 0xa1, 0x14, 0xb8, 0x95, 0xdd, 0x21, 0xc7, 0x96, 0x4e, 0x5d, 0x60, + 0x31, 0xd8, 0xdf, 0x9d, 0x6b, 0x3f, 0x4f, 0x8b, 0x27, 0xb5, 0xc7, 0x82, 0xce, 0xe2, 0x20, 0xb9, + 0x63, 0x83, 0xfc, 0xf2, 0x03, 0x5e, 0xaa, 0xb6, 0x4c, 0x95, 0x74, 0xf3, 0x74, 0x2f, 0x20, 0xef, + 0x76, 0xff, 0x07, 0xfb, 0xf3, 0x5d, 0x59, 0x9b, 0xaa, 0xcb, 0x53, 0xa1, 0x0e, 0x99, 0x0f, 0x65, + 0xee, 0x67, 0x48, 0x66, 0xa5, 0xca, 0x6e, 0x5e, 0x53, 0x3e, 0x75, 0xe8, 0xc3, 0xbf, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x58, 0x79, 0x26, 0xc6, 0x65, 0x02, 0x00, 0x00, } From 38539e920cedf8159433105979b4322c1a6eefa8 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 17 Jul 2024 09:12:28 -0700 Subject: [PATCH 420/626] Create 2024-07-19-Flow-Sprint-Kickoff.md --- .../2024-07-19-Flow-Sprint-Kickoff.md | 317 ++++++++++++++++++ 1 file changed, 317 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..10ef62c9a --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -0,0 +1,317 @@ +# Overview + +### Team Wins 🎉 +- + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (mm/dd/24 to mm/dd/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | ? dashboard broken 😔 | ? | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +[YTD SLA: 99.922%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents + +### Mainnet + + +(Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) + +### Key Release Dates & Breaking Changes +- Next Mainnet/Testnet network upgrade (spork): + - Testnet: Q3 + - Mainnet: Q3 (see [announcement](https://flow.com/post/update-on-testnet-crescendo-network-upgrade)) + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 7 | 9 | 0 | 7 | **23** | +| Proposed | 1 | 2 (-1) | 2 | 0 | **5** (-1) | +| Accepted | 2 | 1 | 2 | 1 | **6** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 | 22 (+1) | 2 | 1 | **28** (+1) | +| Released | 4 | 0 | 3 | 6 | **13** | +| Total | **17** | **34** | **10** | **15** | **76** | + +**Updates** +* [Cadence] - FLIP for changing import statement semantics (FLIP-277) moved to implementation +* FLIPs started by folks who have now left FF, need to reassign +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + + +**This sprint** + + - Objective 1, KR4: Testnet Upgrade to Crescendo Release + - Continue work on migration optimizations. + - Investigate / Fix any security report incoming from bug bounty. + + - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN + - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + + - Atree + - Analyze `diff-states` (21GB report) for atree inlined vs non-inlined execution states that executed same mainnet blocks + - For inlined and non-inlined states, re-execute again using: + - same blocks + - same starting point + - same vm configuration (prior run used Ice Lake vs Sky Lake) + - and save execution results (prior run's execution results were overwritten by storehouse tests). + + - Cadence optimization + - Continue: [Cadence composites with attachment having different field types vs field values are rejected by CCF encoder](https://github.com/dapperlabs/cadence-internal/issues/241) + - [Provide ccf.EventsEncModeV0 and ccf.EventsEncModeV1 for encoding events in CCF format](https://github.com/onflow/cadence/issues/3448) + + - State migration for Crescendo release + - [Test Crescendo state migration with Mainnet state, and deploy to a new mainnet migration net](https://github.com/onflow/flow-go/issues/5851) + - [Comparison of execution states before and after the atree inlining](https://github.com/onflow/atree/issues/292) + +- EVM Gateway + - [Add a method to return the value from a storage slot on a given addres](https://github.com/onflow/flow-go/issues/6178) + - KROK + - EVM Gateway benchmarking + + - Other + - [Reducing spork time by improving checkpointing copying during bootstrapping](https://github.com/onflow/flow-go/issues/6167) + +**Completed OKRs** + * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades + * All breaking released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + * Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind + * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +**On Hold** + + - Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs + * Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +- Other + * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + * Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [IN PROGRESS] +* Reduce CPU usage on Execution node by 30% [IN PROGRESS] +* Translate crypto performance improvements to consensus block rate increase [DONE] +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + + + +**This sprint** + +* EFM Recovery + - [Update Ansible automation for Mainnet25 Dynamic Protocol state changes](https://github.com/onflow/flow-go/issues/5156) + - [Update consensus committee EFM processing](https://github.com/onflow/flow-go/issues/5730) + - [Update epoch lookup component](https://github.com/onflow/flow-go/issues/5763) + - [EFM Recovery benchnet testing](https://github.com/onflow/flow-go/issues/5945) + - [Support Epoch Extensions in HotStuff Committee](https://github.com/onflow/flow-go/pull/6154) + - [Invalid Service Events shortly after Epoch Commit](https://github.com/onflow/flow-go/issues/5631) + - Address comments and merge PR: [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) + - Merge EFM integration test and blocktime controller PRs + - Finish [EFM transaction Cadence PR](https://github.com/onflow/flow-core-contracts/pull/420) + +* Data Availability: + - Complete ProtocolDB pruning design + - Continue rollout of local script execution on QuickNode + + - KROK Team + - Add support for version beacon events to control script execution ([Issue #5788](https://github.com/onflow/flow-go/issues/5788) - In review, [Issue #5789](https://github.com/onflow/flow-go/issues/5789) - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) + - Complete proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823) - In review) + - Add support for pruning execution data db on ANs ([Issue #6002](https://github.com/onflow/flow-go/issues/6002) - in review) + - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017) - in review) + - Start Registers DB pruning (delayed from last sprint) ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + +* Cryptography: + - SPoCK aggregation: from BLS security proof to BLS aggregation security proof (multiple sprints) + +* Rosetta: + - KROK: + - Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) + +* Other: + - Prepare for libp2p shipyard deep dive + + +**On Hold** +* Implement BFT mitigations to enable 20 permissionless ANs + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- Cadence 1.0 DEX Prep - IncrementFi +- EVM partner onboarding: Moralis, Covalent, Ankr, Credora +- Deliver Axelar bridge [PAUSED] + +**Done last sprint** + +**This sprint** + * [Continue adding missing Access API endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/61) + * [Continue adding missing Access API subscription endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/58) + * Continue Celer C1.0 upgrades + * Review signature and hash updates PRs for JVM-SDK, [1](https://github.com/onflow/flow-jvm-sdk/pull/53) & [2](https://github.com/onflow/flow-jvm-sdk/pull/52) + +**On Hold** + - Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + + +**This sprint** +**Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, FCL x WalletConnect Improvements, Crescendo Rewards** + +- [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) +- [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) +- [EPIC] Flow EVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) +- [EPIC] FCL WalletConnect Improvements https://github.com/onflow/fcl-js/issues/1872 +- [EPIC] Crescendo Rewards Portal + - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) + - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) + - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) +- Discover and Design for bridge.flow.com +- [EPIC] EVM Bridge - [#1](https://github.com/onflow/flow-bridge-app/issues/1) + +#### Smart Contract WG + + +**On Hold** + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +**This sprint** + +- Ship MigrationNet support for Flow Wallet Extension +- Ship "Homepage 2.0" UI/UX +- Polishing Account Linking UI/UX and functionality +- Continue to best support Secure Enclave + - User migration from Extension (seed phrase) to mobile (secure enclave) wallet security + - Explaining differences between seed phrase / SE wallets + - Profile account recovery - one backup to a users multiple primary accounts + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Solidify CloudFlare Migration plan and continue preparing for migration +- Continue assisting with DevEx migration to Cloud Run + +**Done last sprint** + +**This Sprint** +- Assist with migration and spork prep efforts +- Continue removing dependencies on CloudFlare & assist with account creation +- Begin prep work to migration to new CloudFlare account + +--- + +### **Governance and Tokenomics** \[Kshitij] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** + +**This sprint** +- Take all Node branding changes live +- R&D on dynamic fee structure and agreement on v0 algorithm for crescendo launch +- Continue to upgrade Tokenomics pages + +**On Hold** + + +**Active Epics** + +- N/A From 470d88fe9f52018d865b4e9613b62f3d471ae69c Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Thu, 18 Jul 2024 14:35:00 -0700 Subject: [PATCH 421/626] update data availability sprint 2024-07-18 --- .../2024-07-19-Flow-Sprint-Kickoff.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index 10ef62c9a..555124432 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -1,7 +1,7 @@ # Overview ### Team Wins 🎉 -- +- Finished deploying script execution to public QN nodes (live on 100% of public and studio nodes) ### General updates @@ -134,6 +134,11 @@ Cycle Objective(s): **Done last Sprint:** +* Data Availability: + - Finished rollout of script execution on QN nodes + - KROK Team + - Add support for pruning execution data db on ANs ([PR #6109](https://github.com/onflow/flow-go/pull/6109)) + - Proof of concept of transaction payer balance checks ([PR #6004](https://github.com/onflow/flow-go/pull/6004)) **This sprint** @@ -151,14 +156,13 @@ Cycle Objective(s): * Data Availability: - Complete ProtocolDB pruning design - - Continue rollout of local script execution on QuickNode - + - Testing ChunkDataPack DB pruning PoC - KROK Team - Add support for version beacon events to control script execution ([Issue #5788](https://github.com/onflow/flow-go/issues/5788) - In review, [Issue #5789](https://github.com/onflow/flow-go/issues/5789) - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) - - Complete proof of concept of transaction payer balance checks ([Issue #5823](https://github.com/onflow/flow-go/issues/5823) - In review) - - Add support for pruning execution data db on ANs ([Issue #6002](https://github.com/onflow/flow-go/issues/6002) - in review) + - Improve execution data db pruning ([Issue #6138](https://github.com/onflow/flow-go/issues/6138) - in review) - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017) - in review) - - Start Registers DB pruning (delayed from last sprint) ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + - Add REST endpoints for getting account keys and balance ([Issue #6000](https://github.com/onflow/flow-go/issues/6000), [Issue #6001](https://github.com/onflow/flow-go/issues/6001)) + - Expand on payer balance checks ([Issue #6128](https://github.com/onflow/flow-go/issues/6128), [Issue #6129](https://github.com/onflow/flow-go/issues/6129), [Issue #6139](https://github.com/onflow/flow-go/issues/6139), [Issue #6141](https://github.com/onflow/flow-go/issues/6141)) * Cryptography: - SPoCK aggregation: from BLS security proof to BLS aggregation security proof (multiple sprints) From f7d958dbb9267a689a32616ac730842693cc406b Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 18 Jul 2024 15:06:56 -0700 Subject: [PATCH 422/626] Update 2024-07-19-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index 555124432..f96ae1b22 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -33,8 +33,8 @@ ### Key Release Dates & Breaking Changes - Next Mainnet/Testnet network upgrade (spork): - - Testnet: Q3 - - Mainnet: Q3 (see [announcement](https://flow.com/post/update-on-testnet-crescendo-network-upgrade)) + - Testnet: Aug 14th + - Mainnet: Aug 28th (to be confirmed - subject to change) --- From efd657ec55074714893f7dfda8dc958431bd479b Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 18 Jul 2024 15:08:27 -0700 Subject: [PATCH 423/626] Update 2024-07-19-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index f96ae1b22..6c5f16f82 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -10,7 +10,7 @@ --- -### Mainnet Uptime - Last 14 days (mm/dd/24 to mm/dd/24) \[Vishal] +### Mainnet Uptime - Last 14 days (07/04/24 to 07/18/24) \[Vishal] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| @@ -18,7 +18,7 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | ? dashboard broken 😔 | ? | +| Access API Liveness | 99.9% | 100% | 0% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) From 8963412ff941f936610f893307bc33cb92477033 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 18 Jul 2024 15:09:29 -0700 Subject: [PATCH 424/626] Update 2024-07-19-Flow-Sprint-Kickoff.md (#1485) --- agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index 6c5f16f82..4a6b880bb 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -1,7 +1,7 @@ # Overview ### Team Wins 🎉 -- Finished deploying script execution to public QN nodes (live on 100% of public and studio nodes) +- Finished deploying script execution to public QN nodes (live on 100% of public and studio nodes). Seeing a [70% reduction](https://flowfoundation.grafana.net/d/ddnerazd84um8d/script-execution?orgId=1&editPanel=3&from=now-60d&to=now) in script execution on the execution nodes since May. ### General updates From 140eeafd6c33ca27436b0d723bb34aaf84883da8 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 19 Jul 2024 08:07:19 -0700 Subject: [PATCH 425/626] adding Cadence wg update --- .../2024-07-19-Flow-Sprint-Kickoff.md | 124 ++++++++++++++---- 1 file changed, 102 insertions(+), 22 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index 4a6b880bb..9eb643432 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -2,6 +2,8 @@ ### Team Wins 🎉 - Finished deploying script execution to public QN nodes (live on 100% of public and studio nodes). Seeing a [70% reduction](https://flowfoundation.grafana.net/d/ddnerazd84um8d/script-execution?orgId=1&editPanel=3&from=now-60d&to=now) in script execution on the execution nodes since May. +- Mainnet Crescendo migration environment now successfuly bootstrapped and passing end-to-end tests. +- Atree register inlining migration [performance improved by ~10%](https://github.com/onflow/flow-go/pull/6193). ### General updates @@ -73,39 +75,117 @@ Cycle Objective(s): **Done last sprint** +State migration for Crescendo release +- [Fix account link migration](https://github.com/onflow/cadence/pull/3461) +- [Read epoch counter from protocol state snapshot](https://github.com/dapperlabs/dapper-flow-hosting/pull/1538) +- stop jq crashing on large report files: [Add support for JSONL report as alternative to JSON array report](https://github.com/onflow/flow-go/issues/6175) + - [Add support for JSONL report format as alternative to JSON array report](https://github.com/onflow/flow-go/pull/6176) +- optimization increasing performance of Atree register inlining by ~10%: + - [Optimize migrations by creating output payloads file in parallel to new trie creation](https://github.com/onflow/flow-go/pull/6193) + - [Port PR 6193 to master](https://github.com/onflow/flow-go/pull/6200) + + +Cadence Language +- Feature: + - [Emit events for capability controller operations](https://github.com/onflow/cadence/issues/3459) + - [Emit events for more Capability Controller and capability operations](https://github.com/onflow/cadence/pull/3464) + - [Emit events when capability controllers are issued](https://github.com/onflow/cadence/pull/3460) + - [Allow borrowing a concrete reference type to a capability linked as an interface type](https://github.com/onflow/cadence/issues/3080) + - [Allow borrowing of capability with subtype](https://github.com/onflow/cadence/pull/3449) + - [Add String.index and String.count, fix grapheme boundary functions](https://github.com/onflow/cadence/pull/3456) + - [Add a String.contains function](https://github.com/onflow/cadence/pull/3455) +- Improvement: + - [Improve Cadence composite to Go struct decoding](https://github.com/onflow/cadence/pull/3469) + - [Simplify subtyping](https://github.com/onflow/cadence/pull/3447) +- Bugfix: + - Go's string ops are not grapheme cluster aware: + - [Fix String.replaceAll](https://github.com/onflow/cadence/pull/3458), [Fix String.split](https://github.com/onflow/cadence/pull/3457) + - [toConstantSized does not work as expected](https://github.com/onflow/cadence/issues/3445) + - [Fix toConstantSized](https://github.com/onflow/cadence/pull/3446) +- Tests + - [Add some more tests for string functions](https://github.com/onflow/cadence/pull/3453) +- Minor fixes / Improvements + - [Update Fungible token transfer benchmark](https://github.com/onflow/cadence/pull/3473) + - [Speed up update tool](https://github.com/onflow/cadence/pull/3468) + +Cadence Execution +- Improvement: + - re-requisite for serving transaction metrcs via grpc endpoint: [Added transaction information to transaction execution metrics](https://github.com/onflow/flow-go/pull/6171) + - [Enable new ingestion engine as default](https://github.com/onflow/flow-go/pull/6078) +- Bugfix: + - [Change account key index to uint32 from uint64](https://github.com/onflow/flow-go/issues/6204) + - emulator: [Changed key index type to uint32](https://github.com/onflow/flow-emulator/pull/712) + - Cadence: [Changed data type of account key index to uin32](https://github.com/onflow/cadence/pull/3465) + - flow-go-sdk: [Changed flow account key id to uint32](https://github.com/onflow/flow-go-sdk/pull/705) + - flow-go: [Changed key index type to uint32](https://github.com/onflow/flow-go/pull/6201) +- Tests: + - [Fix TestWriteAndReadCheckpointV6LeafMultipleTriesOK test](https://github.com/onflow/flow-go/issues/6166) + - [When reading leaf nodes from a checkpoint, also read from the top trie](https://github.com/onflow/flow-go/pull/6188) +- Tooling: + - Bugfix: [Add the missing checkpoint subfile to be moved](https://github.com/onflow/flow-go/pull/6184) +- Ops: + - Bootstrapping performance improvement: [Use link instead of copying the checkpoint files when bootstrapping Execution node.](https://github.com/onflow/flow-go/issues/6167) + - [Link checkpoint on bootstrapping](https://github.com/onflow/flow-go/pull/6173) +- chores / dependency updates + - flowkit: [1](https://github.com/onflow/flowkit/pull/65) + - cadence-tools: [1](https://github.com/onflow/cadence-tools/pull/401), [2](https://github.com/onflow/cadence-tools/pull/400) + - emulator: [1](https://github.com/onflow/flow-emulator/pull/715), [2](https://github.com/onflow/flow-emulator/pull/714), [3](https://github.com/onflow/flow-emulator/pull/708) + - cadence: [1](https://github.com/onflow/cadence/pull/3475), [2](https://github.com/onflow/cadence/pull/3474), [3](https://github.com/onflow/cadence/pull/3472), [4](https://github.com/onflow/cadence/pull/3467), [5](https://github.com/onflow/cadence/pull/3454) + - flow-go: [1](https://github.com/onflow/flow-go/pull/6220), [2](https://github.com/onflow/flow-go/pull/6219), [3](https://github.com/onflow/flow-go/pull/6216), [4](https://github.com/onflow/flow-go/pull/6212), [5](https://github.com/onflow/flow-go/pull/6187), [6](https://github.com/onflow/flow-go/pull/6186) + - flow-go-sdk: [1](https://github.com/onflow/flow-go-sdk/pull/711), [2](https://github.com/onflow/flow-go-sdk/pull/706), [3](https://github.com/onflow/flow-go-sdk/pull/701) + - cadence-tols: [1](https://github.com/onflow/cadence-tools/pull/399) + - EVM Gateway: [1](https://github.com/onflow/flow-evm-gateway/pull/341) + +- EVM Core + - Improvements: + - [Simplify Go types in event types](https://github.com/onflow/flow-go/pull/6223) + - [Random source with 32 bytes](https://github.com/onflow/flow-go/issues/6165) + - [Extend random source size](https://github.com/onflow/flow-go/pull/6169) + - [replace block.TransactionHashes with TransactionHashRoot](https://github.com/onflow/flow-go/pull/6222) + - [delay EVM block proposal commitment till system chunk execution](https://github.com/onflow/flow-go/pull/6199) + - [Pre-work for delaying the EVM block formation](https://github.com/onflow/flow-go/pull/6195) + - [update geth version to v1.14.6](https://github.com/onflow/flow-go/issues/6189) + - Performance improvement: + - [Avoid hex encoding/decoding for event fields of type bytes](https://github.com/onflow/flow-go/pull/6190) + - [Avoid hex encoding/decoding for event fields of type bytes](https://github.com/onflow/flow-go/pull/6221) + - Docs + - [Differences between Flow EVM and Ethereum](https://github.com/onflow/docs/issues/821) + +- EVM Gateway + - Features: + - Dependecy for OpenZeppelin: [Get storage at API implementation](https://github.com/onflow/flow-evm-gateway/issues/351) + - [Get storage at API](https://github.com/onflow/flow-evm-gateway/pull/363) + - [Remote ledger](https://github.com/onflow/flow-evm-gateway/pull/362) + - [Wallet APIs](https://github.com/onflow/flow-evm-gateway/issues/129) + - [Add Wallet APIs for local development](https://github.com/onflow/flow-evm-gateway/pull/335) + - Improvements: + - [Batch database operations](https://github.com/onflow/flow-evm-gateway/issues/116) + - [Batch index updates](https://github.com/onflow/flow-evm-gateway/pull/332) + - [Consolidate decoding of transaction and receipt from EVM.TransactionExecuted event](https://github.com/onflow/flow-evm-gateway/issues/349) + - [Consolidate decoding of EVM.TransactionExecuted event for the contained transaction & receipt](https://github.com/onflow/flow-evm-gateway/pull/354) + - [Handle the hash calculation `DirectCall` change to maintain backwards compatibility](https://github.com/onflow/flow-evm-gateway/pull/339) + Bugfix: + - [Relax validation checks for transaction arguments/payload](https://github.com/onflow/flow-evm-gateway/pull/364) + - [Patch `DirectCall` hash calculation change](https://github.com/onflow/flow-evm-gateway/pull/344) + - [Patch `models.StorageReceipt` to accommodate the old format](https://github.com/onflow/flow-evm-gateway/pull/343) + - [Patch `models.StorageReceipt` decoding](https://github.com/onflow/flow-evm-gateway/pull/342) **This sprint** - Objective 1, KR4: Testnet Upgrade to Crescendo Release - - Continue work on migration optimizations. + - Investigate how we could [keep the values of contracts not upgraded to Cadence 1.0 working](https://www.notion.so/flowfoundation/Keep-values-with-types-of-broken-contracts-working-7a57ddf83a50456da6851ed1f65e26a9) + - Continue [comparison of execution states before and after the atree inlining](https://github.com/onflow/atree/issues/292) + - Continue: [Add support for composites with attachment to CCF encoder](https://github.com/dapperlabs/cadence-internal/issues/241) + - [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) - Investigate / Fix any security report incoming from bug bounty. - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) - - Atree - - Analyze `diff-states` (21GB report) for atree inlined vs non-inlined execution states that executed same mainnet blocks - - For inlined and non-inlined states, re-execute again using: - - same blocks - - same starting point - - same vm configuration (prior run used Ice Lake vs Sky Lake) - - and save execution results (prior run's execution results were overwritten by storehouse tests). - - - Cadence optimization - - Continue: [Cadence composites with attachment having different field types vs field values are rejected by CCF encoder](https://github.com/dapperlabs/cadence-internal/issues/241) - - [Provide ccf.EventsEncModeV0 and ccf.EventsEncModeV1 for encoding events in CCF format](https://github.com/onflow/cadence/issues/3448) - - - State migration for Crescendo release - - [Test Crescendo state migration with Mainnet state, and deploy to a new mainnet migration net](https://github.com/onflow/flow-go/issues/5851) - - [Comparison of execution states before and after the atree inlining](https://github.com/onflow/atree/issues/292) - -- EVM Gateway - - [Add a method to return the value from a storage slot on a given addres](https://github.com/onflow/flow-go/issues/6178) +- EVM + - Continue implementation of [getStorageAt() endpoint](https://github.com/onflow/flow-evm-gateway/issues/336) - dependency for OpenZepplin. - KROK - EVM Gateway benchmarking - - - Other - - [Reducing spork time by improving checkpointing copying during bootstrapping](https://github.com/onflow/flow-go/issues/6167) **Completed OKRs** * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades From 156ab0eeeb4f4f2df8d513096cb5b0ae9ea9b74a Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 19 Jul 2024 08:10:48 -0700 Subject: [PATCH 426/626] UX Update 2024-07-19 --- .../2024-07-19-Flow-Sprint-Kickoff.md | 40 ++++++++++++++----- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index 4a6b880bb..42b3e7591 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -2,6 +2,9 @@ ### Team Wins 🎉 - Finished deploying script execution to public QN nodes (live on 100% of public and studio nodes). Seeing a [70% reduction](https://flowfoundation.grafana.net/d/ddnerazd84um8d/script-execution?orgId=1&editPanel=3&from=now-60d&to=now) in script execution on the execution nodes since May. +- Polished Flow Port to release ready state +- Submitted Ledger Flow app (0.13.0) for approval after successfull Ledger Live testing + ### General updates @@ -216,24 +219,39 @@ Cycle Objective(s): - Use the Crescendo Release grow Flow's developer base and network activity **Done last sprint** - +- Fix CLI init feature issue on pre-release with c1: https://github.com/onflow/flow-cli/issues/1669 +- Hook up mock scripts to job runner: https://github.com/onflow/crescendo-rewards-be/issues/14 +- Hook up mock tvl script results to db: https://github.com/onflow/crescendo-rewards-be/issues/17 +- Hook up mock summaries script to db: https://github.com/onflow/crescendo-rewards-be/issues/19 +- Fix alignment on metric card: https://github.com/onflow/crescendo-rewards/pull/36 +- Add activity card skeleton loader: https://github.com/onflow/crescendo-rewards/pull/35 +- Change “Partners” to “Explore” in navigation: https://github.com/onflow/crescendo-rewards/pull/33 +- Got all the Flow controlled contracts staged on mainnet: https://github.com/onflow/docs/issues/716 +- Updated marketplace tutorials for Cadence 1.0: https://github.com/onflow/docs/issues/800 +- Improve generic token transactions with assertions: https://github.com/onflow/flow-nft/issues/222 , https://github.com/onflow/flow-ft/issues/162 +- [Rewards-sc] Compose & align on system design: https://github.com/onflow/crescendo-rewards-sc/issues/8 +- [Rewards-sc] Create mocks to unblock app development: https://github.com/onflow/crescendo-rewards-sc/issues/12 +- [Rewards-sc] CI testing & Codecov: https://github.com/onflow/crescendo-rewards-sc/issues/6 +- [Rewards-sc] Enable lock/unlock functionality: https://github.com/onflow/crescendo-rewards-sc/issues/1 +- [Rewards-sc] Add participant summary query functionality: https://github.com/onflow/crescendo-rewards-sc/issues/5 +- [Rewards-sc] Create reward accrual model & calculations: https://github.com/onflow/crescendo-rewards-sc/issues/2 +- [Rewards-sc] Define & wire up distribution models #4: https://github.com/onflow/crescendo-rewards-sc/issues/4 +- [FCL Discovery] Update to NextJS 14 https://github.com/onflow/fcl-discovery/issues/188 +- [FCL Discovery] Add Get Wallet Page https://github.com/onflow/fcl-discovery/issues/195 +- [FCL Discovery] Wallet names truncated too short https://github.com/onflow/fcl-discovery/issues/166 +- [FCL Discovery] Move Configuration into a Context https://github.com/onflow/fcl-discovery/issues/191 +- [FCL JS] Misc Typescript Errors https://github.com/onflow/fcl-js/issues/1917 **This sprint** -**Sprint goal focusing on: Flow Port Asset Bridge and Token Transfer, FCL x WalletConnect Improvements, Crescendo Rewards** +**Sprint goal focusing on: Flow Cross VM Bridge, FCL x Discovery Revamp, Crescendo Rewards** -- [EPIC] Flow Port Asset Bridge [#284](https://github.com/onflow/flow-port/issues/284) -- [EPIC] EVM Docs [#654](https://github.com/onflow/docs/issues/654) -- [EPIC] Flow EVM Docs - Cadence Dev [#575](https://github.com/onflow/docs/issues/575) -- [EPIC] FCL WalletConnect Improvements https://github.com/onflow/fcl-js/issues/1872 - [EPIC] Crescendo Rewards Portal - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) -- Discover and Design for bridge.flow.com -- [EPIC] EVM Bridge - [#1](https://github.com/onflow/flow-bridge-app/issues/1) - -#### Smart Contract WG - +- [EPIC FCL WalletConnect + Discovery Improvements](https://github.com/onflow/fcl-js/issues/1872) +- [EPIC Solving Initialization/Storage Issues - Lost and Found FLIP and Port integration](https://github.com/onflow/flow-port/issues/292) +- [EPIC - EVM Bridge - bridge.flow.com](https://github.com/onflow/flow-bridge-app/issues/1) **On Hold** From c794a6a78155b2771bf515204e0f7a4efed34864 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 19 Jul 2024 08:11:04 -0700 Subject: [PATCH 427/626] fix typos --- .../sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index 9eb643432..e142cba8f 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -86,7 +86,7 @@ State migration for Crescendo release Cadence Language -- Feature: +- Features: - [Emit events for capability controller operations](https://github.com/onflow/cadence/issues/3459) - [Emit events for more Capability Controller and capability operations](https://github.com/onflow/cadence/pull/3464) - [Emit events when capability controllers are issued](https://github.com/onflow/cadence/pull/3460) @@ -94,10 +94,10 @@ Cadence Language - [Allow borrowing of capability with subtype](https://github.com/onflow/cadence/pull/3449) - [Add String.index and String.count, fix grapheme boundary functions](https://github.com/onflow/cadence/pull/3456) - [Add a String.contains function](https://github.com/onflow/cadence/pull/3455) -- Improvement: +- Improvements: - [Improve Cadence composite to Go struct decoding](https://github.com/onflow/cadence/pull/3469) - [Simplify subtyping](https://github.com/onflow/cadence/pull/3447) -- Bugfix: +- Bugfixes: - Go's string ops are not grapheme cluster aware: - [Fix String.replaceAll](https://github.com/onflow/cadence/pull/3458), [Fix String.split](https://github.com/onflow/cadence/pull/3457) - [toConstantSized does not work as expected](https://github.com/onflow/cadence/issues/3445) @@ -109,10 +109,10 @@ Cadence Language - [Speed up update tool](https://github.com/onflow/cadence/pull/3468) Cadence Execution -- Improvement: - - re-requisite for serving transaction metrcs via grpc endpoint: [Added transaction information to transaction execution metrics](https://github.com/onflow/flow-go/pull/6171) +- Improvements: + - pre-requisite for serving transaction metrics via grpc endpoint: [Added transaction information to transaction execution metrics](https://github.com/onflow/flow-go/pull/6171) - [Enable new ingestion engine as default](https://github.com/onflow/flow-go/pull/6078) -- Bugfix: +- Bugfixes: - [Change account key index to uint32 from uint64](https://github.com/onflow/flow-go/issues/6204) - emulator: [Changed key index type to uint32](https://github.com/onflow/flow-emulator/pull/712) - Cadence: [Changed data type of account key index to uin32](https://github.com/onflow/cadence/pull/3465) From 88a07793fcba4665a669bf39589436ab71c7ec9e Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 19 Jul 2024 09:27:56 -0600 Subject: [PATCH 428/626] Add infra section for 7/19 sprint --- .../2024-07-19-Flow-Sprint-Kickoff.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index c67b24d80..88300073b 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -393,6 +393,26 @@ Cycle Objective(s): **Done last sprint** +**Node Hosting** +- [Increase Memory for Mainnet SNs](https://github.com/dapperlabs/terraform/pull/4307) +- [Increase Disk size for Devnet Nodes](https://github.com/dapperlabs/terraform/pull/4294) +- [Add AN To Mainnet Migration network](https://github.com/dapperlabs/terraform/pull/4292) +- [Create Infra for VNs in South Africa & Brazil](https://github.com/dapperlabs/terraform/pull/4288) +- [Update Ansible configuration to support VNs in South Africa & Brazil](https://github.com/dapperlabs/dapper-flow-hosting/pull/1539) + +**CloudFlare Migration** +- [Create Duplicate DNS records for Previewnet](https://github.com/dapperlabs/terraform/pull/4303) +- [Create duplicate records for Flow Migration Devnet US](https://github.com/dapperlabs/terraform/pull/4302) +- [Create duplicate records for Flow LB ](https://github.com/dapperlabs/terraform/pull/4301) +- [Create duplicate records for Devnet50 in FF CloudFlare account](https://github.com/dapperlabs/terraform/pull/4300) +- [Create duplicate records for Mainnet24 in FF CloudFlare account](https://github.com/dapperlabs/terraform/pull/4299) +- [Create duplicate records for Historical Mainnet networks in FF CloudFlare account](https://github.com/dapperlabs/terraform/pull/4298) +- [Create new zones & records in FF CloudFlare account](https://github.com/dapperlabs/terraform/pull/4297) +- [Create Page rules in new CloudFlare account](https://github.com/dapperlabs/terraform/pull/4297) + +**DevEx Observability** +- [Create pattern & configuration for scraping metrics from CloudRun services](https://github.com/dapperlabs/flow-devex-infrastructure/pull/184) + **This Sprint** - Assist with migration and spork prep efforts - Continue removing dependencies on CloudFlare & assist with account creation From 0ac00bb1f6573a065980798298b07e0fdaa91359 Mon Sep 17 00:00:00 2001 From: Jeff Doyle Date: Fri, 19 Jul 2024 09:12:25 -0700 Subject: [PATCH 429/626] Update 2024-07-19-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index 88300073b..7179c8cf8 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -368,9 +368,7 @@ Cycle Objective(s): **This sprint** -- Ship MigrationNet support for Flow Wallet Extension -- Ship "Homepage 2.0" UI/UX -- Polishing Account Linking UI/UX and functionality +- Continue & Ship Account Linking UI/UX and functionality - Continue to best support Secure Enclave - User migration from Extension (seed phrase) to mobile (secure enclave) wallet security - Explaining differences between seed phrase / SE wallets From 8a5575c8d59ef108af09c85cc2b29a7cbb827c19 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 19 Jul 2024 09:37:18 -0700 Subject: [PATCH 430/626] Protocol updates --- .../2024-07-19-Flow-Sprint-Kickoff.md | 47 +++++++++++++++---- 1 file changed, 38 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index 7179c8cf8..21a2632f2 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -6,6 +6,7 @@ - Atree register inlining migration [performance improved by ~10%](https://github.com/onflow/flow-go/pull/6193). - Polished Flow Port to release ready state - Submitted Ledger Flow app (0.13.0) for approval after successfull Ledger Live testing +- Completed Rosetta C1.0 updates and integration testing. Now handed off to Coinbase for acceptance testing ### General updates @@ -222,19 +223,45 @@ Cycle Objective(s): - Add support for pruning execution data db on ANs ([PR #6109](https://github.com/onflow/flow-go/pull/6109)) - Proof of concept of transaction payer balance checks ([PR #6004](https://github.com/onflow/flow-go/pull/6004)) +* EFM Recovery + - Merged: Add epoch extensions support to HotStuff Committee + - Ccoping DKG data model changes + - https://github.com/onflow/flow-go/issues/6213 + - https://github.com/onflow/flow-go/issues/6214 + - [Epoch State machine operates on current state](https://github.com/onflow/flow-go/pull/6168) + - [Fixed EFM entering logic on epoch boundary](https://github.com/onflow/flow-go/pull/6183) + - [Added valid `TargetEndTime` calculation for extended epoch](https://github.com/onflow/flow-go/pull/6203) + - [Added support for dynamic bootstrap in EFM](https://github.com/onflow/flow-go/pull/6192) + - [Added `EpochExtensionViewCount` to the KV store](https://github.com/onflow/flow-go/pull/6209) + - [Adjust blocktime controller](https://github.com/onflow/flow-go/pull/6102) + - [EFM Recovery Integration Tests: Part 1](https://github.com/onflow/flow-go/pull/6156) + - [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) + - [Invalid Service Events shortly after Epoch Commit](https://github.com/onflow/flow-go/issues/5631) + +* Cryptography: + - SPoCK aggregation: understanding BLS aggregation security proofs: + - Boldyreva in the KOSK model + - Boneh in the the PoP model + - Random beacon protocol public identity updates - clarify threshold-based protocols models in the crypto package + - JVM-SDK crypto + - Continued reviews of crypto PRs + - Playing with the SDK to add missing tests (hash + ECDSA) + - state proofs: research papers for ideas to optimize state proofs using set accumulators or VCs + +* Protocol misc + - Reviewing Pebble database changes (in-progress) + **This sprint** * EFM Recovery - - [Update Ansible automation for Mainnet25 Dynamic Protocol state changes](https://github.com/onflow/flow-go/issues/5156) - - [Update consensus committee EFM processing](https://github.com/onflow/flow-go/issues/5730) - - [Update epoch lookup component](https://github.com/onflow/flow-go/issues/5763) - - [EFM Recovery benchnet testing](https://github.com/onflow/flow-go/issues/5945) - - [Support Epoch Extensions in HotStuff Committee](https://github.com/onflow/flow-go/pull/6154) - - [Invalid Service Events shortly after Epoch Commit](https://github.com/onflow/flow-go/issues/5631) - - Address comments and merge PR: [Epoch State Machines should not use parentState in their business logic](https://github.com/onflow/flow-go/issues/6019) - - Merge EFM integration test and blocktime controller PRs + - Minimal DKG data model changes required for Crescendo (part of https://github.com/onflow/flow-go/issues/6214) + - Testing and merging EFM recovery code to include in Crescendo + - Continue reviewing Pebble DB changes (time permitting) + - [Add a mutator for EpochExtensionViewCount](https://github.com/onflow/flow-go/issues/6227) - Finish [EFM transaction Cadence PR](https://github.com/onflow/flow-core-contracts/pull/420) + - [Epoch lookup component](https://github.com/onflow/flow-go/issues/5763) + - [EFM integration tests part 2](https://github.com/onflow/flow-go/issues/6164) * Data Availability: - Complete ProtocolDB pruning design @@ -247,7 +274,9 @@ Cycle Objective(s): - Expand on payer balance checks ([Issue #6128](https://github.com/onflow/flow-go/issues/6128), [Issue #6129](https://github.com/onflow/flow-go/issues/6129), [Issue #6139](https://github.com/onflow/flow-go/issues/6139), [Issue #6141](https://github.com/onflow/flow-go/issues/6141)) * Cryptography: - - SPoCK aggregation: from BLS security proof to BLS aggregation security proof (multiple sprints) + - Continue state proof brainstorm and research + - java-SDK: merge the hashing PR + create signing issues + - SPoCK aggregation research/analysis: will continue over more sprints * Rosetta: - KROK: From 5834d4377205d23a95f466739f708041d826f808 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 19 Jul 2024 09:47:08 -0700 Subject: [PATCH 431/626] Defi Updates --- .../2024-07-19-Flow-Sprint-Kickoff.md | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index 21a2632f2..3384a95bc 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -296,19 +296,28 @@ Cycle Objective(s): Cycle Objective(s): - Resolving Circle's existing engineering improvements for USDC on Flow - Cadence 1.0 DEX Prep - IncrementFi -- EVM partner onboarding: Moralis, Covalent, Ankr, Credora +- EVM partner onboarding - Deliver Axelar bridge [PAUSED] **Done last sprint** + * Supported partner EVM onboarding: Axelar, Ankr, Credora + * JVM-SDK (Lea) + * [Added missing Access API methods - initial setup](https://github.com/onflow/flow-jvm-sdk/pull/61) + * [Refactor Cadence inlined into Kotlin code into standalone .cdc files in project](https://github.com/onflow/flow-jvm-sdk/pull/64) + * Started: [Migrate SDK examples repo to improved project structure](https://github.com/onflow/flow-jvm-sdk/pull/62) + * Finalized EVM integration apporach for Credora on-chain credit scoring **This sprint** - * [Continue adding missing Access API endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/61) - * [Continue adding missing Access API subscription endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/58) - * Continue Celer C1.0 upgrades - * Review signature and hash updates PRs for JVM-SDK, [1](https://github.com/onflow/flow-jvm-sdk/pull/53) & [2](https://github.com/onflow/flow-jvm-sdk/pull/52) + * JVM-SDK + * Review [Add missing Access API subscription endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/58) + * Complete [Add missing Access API endpoints](https://github.com/onflow/flow-jvm-sdk/pull/63) + * Review signature and hash update PRs, [1](https://github.com/onflow/flow-jvm-sdk/pull/53) & [2](https://github.com/onflow/flow-jvm-sdk/pull/52) + * Merge: [Migrate SDK examples repo to improved project structure](https://github.com/onflow/flow-jvm-sdk/pull/62) + * [Update Cadence to 1.0](https://github.com/onflow/flow-jvm-sdk/issues/60) + * Partner support + * Install Ethereum Attestion Service (EAS) on Previewnet (Credora requirement) **On Hold** - - Axelar Cadence bridge release waiting confirmation of build partners, costs and timelines for EVM release, no engineering ongoing **Active Epics** From e04b6fdc330a9c698208ed69140d03d0f57b6f08 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 19 Jul 2024 09:50:38 -0700 Subject: [PATCH 432/626] Minor tidyup --- .../2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index 3384a95bc..4c3d0292a 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -251,7 +251,6 @@ Cycle Objective(s): * Protocol misc - Reviewing Pebble database changes (in-progress) - **This sprint** * EFM Recovery @@ -282,8 +281,8 @@ Cycle Objective(s): - KROK: - Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) -* Other: - - Prepare for libp2p shipyard deep dive +* Protocol misc + - Continue review of Pebble database changes **On Hold** From 7023d6544e53c4949eb77c0be8993cb655510669 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 19 Jul 2024 22:23:08 +0530 Subject: [PATCH 433/626] Update 2024-07-19-Flow-Sprint-Kickoff.md FLIP updates --- .../2024-07-19-Flow-Sprint-Kickoff.md | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index 3384a95bc..75421f12e 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -47,17 +47,33 @@ | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 7 | 9 | 0 | 7 | **23** | -| Proposed | 1 | 2 (-1) | 2 | 0 | **5** (-1) | +| Drafted | 8 | 9 | 0 | 7 | **24** (+1) | +| Proposed | 1 | 2 | 2 | 0 | **5** | | Accepted | 2 | 1 | 2 | 1 | **6** | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 3 | 22 (+1) | 2 | 1 | **28** (+1) | +| Implemented | 3 | 22 | 2 | 1 | **28** | | Released | 4 | 0 | 3 | 6 | **13** | -| Total | **17** | **34** | **10** | **15** | **76** | +| Total | **17** (+1) | **34** | **10** | **15** | **76** (+1) | **Updates** -* [Cadence] - FLIP for changing import statement semantics (FLIP-277) moved to implementation -* FLIPs started by folks who have now left FF, need to reassign +* [Application] - Integrating with the Lost and Found contract (drafted) +* FLIPs that haven't moved in a while or need new owners or have old statuses + - Application - + - Interaction Templates + - Pool-Based DEX Swap Standard + - FCL Authz/Pre-Authz v2.0.0 Specification + - Contracts Import Syntax + - Cadence + - New behavior for attachments with entitlements + - Type Removal In Contract Updates + - Optional References to Indexed Accesses + - Next version changes to FLIX + - Attachments + - Mutability Restrictions + - Cadence Storage API Improvements + - Reference Creation Semantics + - View Functions + - Entitlements --- From 495400dee908297a28dfaaa341a47b6476d91792 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 19 Jul 2024 09:53:35 -0700 Subject: [PATCH 434/626] Updated goal status --- agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index 4c3d0292a..3c911216a 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -211,7 +211,7 @@ Cadence Execution Cycle Objective(s): * Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [IN PROGRESS] -* Reduce CPU usage on Execution node by 30% [IN PROGRESS] +* Reduce CPU usage on Execution node by 30% [DONE] * Translate crypto performance improvements to consensus block rate increase [DONE] * Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] From 5b1ec11683807b4826611df3f4f77dc8fe9f3fce Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 19 Jul 2024 22:29:56 +0530 Subject: [PATCH 435/626] Update 2024-07-19-Flow-Sprint-Kickoff.md Governance updates --- .../2024-07-19-Flow-Sprint-Kickoff.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index a0c42f104..74499c5e5 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -475,11 +475,18 @@ Cycle Objective(s): Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** +- Node branding updates and geographical mapping are now live on flowdiver.io +- Discussion on T-systems execution node economics; discussion to extend lease and add delegation - https://docs.google.com/spreadsheets/d/1-InDoobJW8iEkpANiVIWbFoQ2ipzZ087MGk0L1Fw9t8/edit?gid=1005520196#gid=1005520196 +- Stable state economics to establish relationship bw fees and inflation - see https://docs.google.com/spreadsheets/d/1sy6gMHgU6jRNVAR92oX10S62brkuTs6JAhMqIc37jJY/edit?pli=1&gid=1655921460#gid=1655921460 +- R&D on dynamic fee structure and designing v0 algorithm for crescendo launch - https://www.notion.so/flowfoundation/Dynamic-Transaction-Fees-on-Flow-fa7e7115e43a41a99ac9ca942dabcaf2 +- Tokenomics of Rewards platform - sell pressure analysis - https://docs.google.com/spreadsheets/d/1tvimCOh8NvGusSC8lGpvzgFMY8Y0mBSLuKaqRIMxPDI/edit?gid=1060583401#gid=1060583401 **This sprint** -- Take all Node branding changes live -- R&D on dynamic fee structure and agreement on v0 algorithm for crescendo launch -- Continue to upgrade Tokenomics pages +- Send out T-systems contract for continued lease and additional delegation; work with team to get the node live +- Continue supporting rewards platform team on Tokenomics related analysis +- Agreement with Dete and team on MVP of dynamic fee to be launched with Crescendo launch +- Draft FLIP for dynamic fee +- With Coinbase 48M delegation coming to an end, identify next steps **On Hold** From 58c4b46325dae251d8e9109e57320309cf53e53a Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 19 Jul 2024 10:00:38 -0700 Subject: [PATCH 436/626] Minor update --- agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index c8659c778..e4c2e93d5 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -177,6 +177,7 @@ Cadence Execution - [Remote ledger](https://github.com/onflow/flow-evm-gateway/pull/362) - [Wallet APIs](https://github.com/onflow/flow-evm-gateway/issues/129) - [Add Wallet APIs for local development](https://github.com/onflow/flow-evm-gateway/pull/335) + - Add [getStorageAt() endpoint](https://github.com/onflow/flow-evm-gateway/issues/336) - Improvements: - [Batch database operations](https://github.com/onflow/flow-evm-gateway/issues/116) - [Batch index updates](https://github.com/onflow/flow-evm-gateway/pull/332) @@ -202,7 +203,6 @@ Cadence Execution - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) - EVM - - Continue implementation of [getStorageAt() endpoint](https://github.com/onflow/flow-evm-gateway/issues/336) - dependency for OpenZepplin. - KROK - EVM Gateway benchmarking From 5110d3ae0cf4ff0f174d4394e1ee6d21349c1929 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 19 Jul 2024 10:24:33 -0700 Subject: [PATCH 437/626] Update 2024-07-19-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md index b1eab9cd9..69ad70f81 100644 --- a/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-07-19-Flow-Sprint-Kickoff.md @@ -476,7 +476,7 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf **Done last sprint** - Node branding updates and geographical mapping are now live on flowdiver.io -- Discussion on T-systems execution node economics; discussion to extend lease and add delegation - https://docs.google.com/spreadsheets/d/1-InDoobJW8iEkpANiVIWbFoQ2ipzZ087MGk0L1Fw9t8/edit?gid=1005520196#gid=1005520196 +- Discussion on execution node economics with a node operator; discussion to extend lease and add delegation - https://docs.google.com/spreadsheets/d/1-InDoobJW8iEkpANiVIWbFoQ2ipzZ087MGk0L1Fw9t8/edit?gid=1005520196#gid=1005520196 - Stable state economics to establish relationship bw fees and inflation - see https://docs.google.com/spreadsheets/d/1sy6gMHgU6jRNVAR92oX10S62brkuTs6JAhMqIc37jJY/edit?pli=1&gid=1655921460#gid=1655921460 - R&D on dynamic fee structure and designing v0 algorithm for crescendo launch - https://www.notion.so/flowfoundation/Dynamic-Transaction-Fees-on-Flow-fa7e7115e43a41a99ac9ca942dabcaf2 - Tokenomics of Rewards platform - sell pressure analysis - https://docs.google.com/spreadsheets/d/1tvimCOh8NvGusSC8lGpvzgFMY8Y0mBSLuKaqRIMxPDI/edit?gid=1060583401#gid=1060583401 @@ -486,7 +486,7 @@ Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inf - Continue supporting rewards platform team on Tokenomics related analysis - Agreement with Dete and team on MVP of dynamic fee to be launched with Crescendo launch - Draft FLIP for dynamic fee -- With Coinbase 48M delegation coming to an end, identify next steps +- Identify next steps for Coinbase node operation **On Hold** From c5c7837e855d10b017b062fb90f874b3f061a420 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Wed, 24 Jul 2024 14:39:16 -0700 Subject: [PATCH 438/626] Update sporks.json for testnet50 --- sporks.json | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/sporks.json b/sporks.json index 99dbaeca5..8935dab0c 100644 --- a/sporks.json +++ b/sporks.json @@ -1262,9 +1262,48 @@ } }, "testnet": { + "testnet50": { + "id": 50, + "live": true, + "name": "Testnet50", + "sporkTime": "2024-05-20T08:00:00Z", + "rootHeight": "185185854", + "rootParentId": "6a0ae7bf43660e813ee9c2d654f00476ac1bdc357ff47ad11f0e52fc1700d62f", + "rootStateCommitment": "e10d3c53608a1f195b7969fbc06763285281f64595be491630a1e1bdfbe69161", + "gitCommitHash": "0585789483c4f5ea423bb11afcfe862c9a99711e", + "stateArtefacts": { + "gcp": { + "rootCheckpointFile": "https://storage.googleapis.com/flow-genesis-bootstrap/testnet-50-execution/public-root-information/root.checkpoint", + "rootProtocolStateSnapshot": "https://storage.googleapis.com/flow-genesis-bootstrap/testnet-50/public-root-information/root-protocol-state-snapshot.json", + "rootProtocolStateSnapshotSignature": "https://storage.googleapis.com/flow-genesis-bootstrap/testnet-50/public-root-information/root-protocol-state-snapshot.json.asc", + "nodeInfo": "https://storage.googleapis.com/flow-genesis-bootstrap/testnet-50/public-root-information/node-infos.pub.json" + }, + "s3": { + "rootCheckpointFile": "", + "rootProtocolStateSnapshot": "", + "nodeInfo": "", + "executionStateBucket": "" + } + }, + "tags": { + "flow-go-tag": "v0.33.23-failure-mode-revert-patch", + "flow-dps-tag": "v0.33.23-failure-mode-revert-patch", + "cadence-tag": "v0.33.23-failure-mode-revert-patch", + "docker-tag": "v0.33.23-failure-mode-revert-patch" + }, + "accessNodes": [ + "access.devnet.nodes.onflow.org:9000" + ], + "seedNodes": [ + { + "address": "access-003.devnet50.nodes.onflow.org:3570", + "key": "b662102f4184fc1caeb2933cf87bba75cdd37758926584c0ce8a90549bb12ee0f9115111bbbb6acc2b889461208533369a91e8321eaf6bcb871a788ddd6bfbf7" + } + ] + }, "testnet49": { "id": 49, - "live": true, + "live": false, "name": "Testnet49", "sporkTime": "2023-11-02T08:00:00Z", "rootHeight": "129578013", From d1337dcb8205dc43cf0b44ad595adf1164a16f6a Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 26 Jul 2024 10:13:33 -0700 Subject: [PATCH 439/626] Create 2024-08-02-Flow-Sprint-Kickoff.md --- .../2024-08-02-Flow-Sprint-Kickoff.md | 314 ++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..29847830f --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -0,0 +1,314 @@ +# Overview + +### Team Wins 🎉 +- + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (07/19/24 to 08/01/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 100% | 0% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +[YTD SLA: 99.922%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents + +### Mainnet + + +(Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) + +### Key Release Dates & Breaking Changes +- Next Mainnet/Testnet network upgrade (spork): + - Testnet: Aug 14th + - Mainnet: Aug 28th (to be confirmed - subject to change) + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 8 | 9 | 0 | 7 | **24** (+1) | +| Proposed | 1 | 2 | 2 | 0 | **5** | +| Accepted | 2 | 1 | 2 | 1 | **6** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 | 22 | 2 | 1 | **28** | +| Released | 4 | 0 | 3 | 6 | **13** | +| Total | **17** (+1) | **34** | **10** | **15** | **76** (+1) | + +**Updates** +* [Application] - Integrating with the Lost and Found contract (drafted) +* FLIPs that haven't moved in a while or need new owners or have old statuses + - Application - + - Interaction Templates + - Pool-Based DEX Swap Standard + - FCL Authz/Pre-Authz v2.0.0 Specification + - Contracts Import Syntax + - Cadence + - New behavior for attachments with entitlements + - Type Removal In Contract Updates + - Optional References to Indexed Accesses + - Next version changes to FLIX + - Attachments + - Mutability Restrictions + - Cadence Storage API Improvements + - Reference Creation Semantics + - View Functions + - Entitlements +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + + +**This sprint** + + - Objective 1, KR4: Testnet Upgrade to Crescendo Release + - Investigate how we could [keep the values of contracts not upgraded to Cadence 1.0 working](https://www.notion.so/flowfoundation/Keep-values-with-types-of-broken-contracts-working-7a57ddf83a50456da6851ed1f65e26a9) + - Continue [comparison of execution states before and after the atree inlining](https://github.com/onflow/atree/issues/292) + - Continue: [Add support for composites with attachment to CCF encoder](https://github.com/dapperlabs/cadence-internal/issues/241) + - [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) + - Investigate / Fix any security report incoming from bug bounty. + + - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN + - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +- EVM + - KROK + - EVM Gateway benchmarking + +**Completed OKRs** + * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades + * All breaking released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + * Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind + * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +**On Hold** + + - Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs + * Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +- Other + * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + * Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [IN PROGRESS] +* Reduce CPU usage on Execution node by 30% [DONE] +* Translate crypto performance improvements to consensus block rate increase [DONE] +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + + +**This sprint** + +* EFM Recovery + - Minimal DKG data model changes required for Crescendo (part of https://github.com/onflow/flow-go/issues/6214) + - Testing and merging EFM recovery code to include in Crescendo + - Continue reviewing Pebble DB changes (time permitting) + - [Add a mutator for EpochExtensionViewCount](https://github.com/onflow/flow-go/issues/6227) + - Finish [EFM transaction Cadence PR](https://github.com/onflow/flow-core-contracts/pull/420) + - [Epoch lookup component](https://github.com/onflow/flow-go/issues/5763) + - [EFM integration tests part 2](https://github.com/onflow/flow-go/issues/6164) + +* Data Availability: + - Complete ProtocolDB pruning design + - Testing ChunkDataPack DB pruning PoC + - KROK Team + - Add support for version beacon events to control script execution ([Issue #5788](https://github.com/onflow/flow-go/issues/5788) - In review, [Issue #5789](https://github.com/onflow/flow-go/issues/5789) - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) + - Improve execution data db pruning ([Issue #6138](https://github.com/onflow/flow-go/issues/6138) - in review) + - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017) - in review) + - Add REST endpoints for getting account keys and balance ([Issue #6000](https://github.com/onflow/flow-go/issues/6000), [Issue #6001](https://github.com/onflow/flow-go/issues/6001)) + - Expand on payer balance checks ([Issue #6128](https://github.com/onflow/flow-go/issues/6128), [Issue #6129](https://github.com/onflow/flow-go/issues/6129), [Issue #6139](https://github.com/onflow/flow-go/issues/6139), [Issue #6141](https://github.com/onflow/flow-go/issues/6141)) + +* Cryptography: + - Continue state proof brainstorm and research + - java-SDK: merge the hashing PR + create signing issues + - SPoCK aggregation research/analysis: will continue over more sprints + +* Rosetta: + - KROK: + - Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) + +* Protocol misc + - Continue review of Pebble database changes + + +**On Hold** +* Implement BFT mitigations to enable 20 permissionless ANs + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- Cadence 1.0 DEX Prep - IncrementFi +- EVM partner onboarding +- Deliver Axelar bridge [PAUSED] + +**Done last sprint** + + + +**This sprint** + * JVM-SDK + * Review [Add missing Access API subscription endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/58) + * Complete [Add missing Access API endpoints](https://github.com/onflow/flow-jvm-sdk/pull/63) + * Review signature and hash update PRs, [1](https://github.com/onflow/flow-jvm-sdk/pull/53) & [2](https://github.com/onflow/flow-jvm-sdk/pull/52) + * Merge: [Migrate SDK examples repo to improved project structure](https://github.com/onflow/flow-jvm-sdk/pull/62) + * [Update Cadence to 1.0](https://github.com/onflow/flow-jvm-sdk/issues/60) + * Partner support + * Install Ethereum Attestion Service (EAS) on Previewnet (Credora requirement) + +**On Hold** + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + + + +**This sprint** +**Sprint goal focusing on: Flow Cross VM Bridge, FCL x Discovery Revamp, Crescendo Rewards** + +- [EPIC] Crescendo Rewards Portal + - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) + - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) + - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) +- [EPIC FCL WalletConnect + Discovery Improvements](https://github.com/onflow/fcl-js/issues/1872) +- [EPIC Solving Initialization/Storage Issues - Lost and Found FLIP and Port integration](https://github.com/onflow/flow-port/issues/292) +- [EPIC - EVM Bridge - bridge.flow.com](https://github.com/onflow/flow-bridge-app/issues/1) + +**On Hold** + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +**This sprint** + +- Continue & Ship Account Linking UI/UX and functionality +- Continue to best support Secure Enclave + - User migration from Extension (seed phrase) to mobile (secure enclave) wallet security + - Explaining differences between seed phrase / SE wallets + - Profile account recovery - one backup to a users multiple primary accounts + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Solidify CloudFlare Migration plan and continue preparing for migration +- Continue assisting with DevEx migration to Cloud Run + +**Done last sprint** + +**This Sprint** +- Assist with migration and spork prep efforts +- Continue removing dependencies on CloudFlare & assist with account creation +- Begin prep work to migration to new CloudFlare account + +--- + +### **Governance and Tokenomics** \[Kshitij] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** + +**This sprint** +- Send out T-systems contract for continued lease and additional delegation; work with team to get the node live +- Continue supporting rewards platform team on Tokenomics related analysis +- Agreement with Dete and team on MVP of dynamic fee to be launched with Crescendo launch +- Draft FLIP for dynamic fee +- Identify next steps for Coinbase node operation + +**On Hold** + + +**Active Epics** + +- N/A From 5a78f6806a56002c03577151493fc71af2d1cdad Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Wed, 31 Jul 2024 12:35:03 -0700 Subject: [PATCH 440/626] update data availability sprint 2024-08-02 --- .../2024-08-02-Flow-Sprint-Kickoff.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 29847830f..af583721a 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -133,6 +133,12 @@ Cycle Objective(s): **Done last Sprint:** +* Data Availability: + - KROK Team + - Implement VersionControl module ([PR #5984](https://github.com/onflow/flow-go/pull/5984)) + - Improve execution data db pruning ([PR #6217](https://github.com/onflow/flow-go/pull/6217)) + - Add REST endpoints for getting account keys and balance ([PR #6218](https://github.com/onflow/flow-go/pull/6218), [PR #6253](https://github.com/onflow/flow-go/pull/6253)) + **This sprint** @@ -146,14 +152,15 @@ Cycle Objective(s): - [EFM integration tests part 2](https://github.com/onflow/flow-go/issues/6164) * Data Availability: - - Complete ProtocolDB pruning design + - ProtocolDB pruning design - Testing ChunkDataPack DB pruning PoC - KROK Team - - Add support for version beacon events to control script execution ([Issue #5788](https://github.com/onflow/flow-go/issues/5788) - In review, [Issue #5789](https://github.com/onflow/flow-go/issues/5789) - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) - - Improve execution data db pruning ([Issue #6138](https://github.com/onflow/flow-go/issues/6138) - in review) + - Add support for version beacon events to control script execution ([Issue #5789](https://github.com/onflow/flow-go/issues/5789) - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017) - in review) - - Add REST endpoints for getting account keys and balance ([Issue #6000](https://github.com/onflow/flow-go/issues/6000), [Issue #6001](https://github.com/onflow/flow-go/issues/6001)) - - Expand on payer balance checks ([Issue #6128](https://github.com/onflow/flow-go/issues/6128), [Issue #6129](https://github.com/onflow/flow-go/issues/6129), [Issue #6139](https://github.com/onflow/flow-go/issues/6139), [Issue #6141](https://github.com/onflow/flow-go/issues/6141)) + - Add support pruning pebble exec data db ([Issue #6260](https://github.com/onflow/flow-go/issues/6260)) + - Add REST endpoints for getting account keys and balance ([Issue #6228](https://github.com/onflow/flow-go/issues/6228) - in review) + - Expand on payer balance checks ([Issue #6128](https://github.com/onflow/flow-go/issues/6128), [Issue #6129](https://github.com/onflow/flow-go/issues/6129), [Issue #6139](https://github.com/onflow/flow-go/issues/6139)) + - Start registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) * Cryptography: - Continue state proof brainstorm and research From d0c5f6991193ee732ebc18ce1d99b32b5bd8804b Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Wed, 31 Jul 2024 14:25:41 -0700 Subject: [PATCH 441/626] update data availability sprint 2024-08-02 - merged pr6180 --- agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index af583721a..6e5efb5e4 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -137,6 +137,7 @@ Cycle Objective(s): - KROK Team - Implement VersionControl module ([PR #5984](https://github.com/onflow/flow-go/pull/5984)) - Improve execution data db pruning ([PR #6217](https://github.com/onflow/flow-go/pull/6217)) + - Add support for storing exec data using pebble db ([PR #6180](https://github.com/onflow/flow-go/pull/6180)) - Add REST endpoints for getting account keys and balance ([PR #6218](https://github.com/onflow/flow-go/pull/6218), [PR #6253](https://github.com/onflow/flow-go/pull/6253)) @@ -156,7 +157,6 @@ Cycle Objective(s): - Testing ChunkDataPack DB pruning PoC - KROK Team - Add support for version beacon events to control script execution ([Issue #5789](https://github.com/onflow/flow-go/issues/5789) - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) - - Add support for storing exec data using pebble db ([Issue #6017](https://github.com/onflow/flow-go/issues/6017) - in review) - Add support pruning pebble exec data db ([Issue #6260](https://github.com/onflow/flow-go/issues/6260)) - Add REST endpoints for getting account keys and balance ([Issue #6228](https://github.com/onflow/flow-go/issues/6228) - in review) - Expand on payer balance checks ([Issue #6128](https://github.com/onflow/flow-go/issues/6128), [Issue #6129](https://github.com/onflow/flow-go/issues/6129), [Issue #6139](https://github.com/onflow/flow-go/issues/6139)) From cf234c0c3cda778eae33f3d90c14d43e8288fc9a Mon Sep 17 00:00:00 2001 From: Jordan Schalm Date: Thu, 1 Aug 2024 11:55:32 -0400 Subject: [PATCH 442/626] Update 2024-08-02-Flow-Sprint-Kickoff.md --- .../2024-08-02-Flow-Sprint-Kickoff.md | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 6e5efb5e4..24c7349bc 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -140,17 +140,24 @@ Cycle Objective(s): - Add support for storing exec data using pebble db ([PR #6180](https://github.com/onflow/flow-go/pull/6180)) - Add REST endpoints for getting account keys and balance ([PR #6218](https://github.com/onflow/flow-go/pull/6218), [PR #6253](https://github.com/onflow/flow-go/pull/6253)) +* EFM Recovery + - [Epoch Extensions Benchnet Testing](https://www.notion.so/flowfoundation/EFM-Recovery-Benchnet-Testing-Crescendo-Release-1bbd4eabe1ee41688b51ee7487c84822?pvs=4) + - Merged EFM Recovery feature branch for Crescendo release + - This includes epoch extension and protocol state machine recovery logic + - Excludes smart contract changes + - EFM Recovery Process + - [Integration Testing](https://github.com/onflow/flow-go/issues/6164) - test full recovery happy path + - [Smart contract changes](https://github.com/onflow/flow-core-contracts/pull/440) + - Adding EFM Recovery parameters to KVStore ([1](https://github.com/onflow/flow-go/pull/6272), [2](https://github.com/onflow/flow-go/pull/6209), [3](https://github.com/onflow/flow-go/pull/6229)) **This sprint** * EFM Recovery - - Minimal DKG data model changes required for Crescendo (part of https://github.com/onflow/flow-go/issues/6214) - - Testing and merging EFM recovery code to include in Crescendo - - Continue reviewing Pebble DB changes (time permitting) - - [Add a mutator for EpochExtensionViewCount](https://github.com/onflow/flow-go/issues/6227) - - Finish [EFM transaction Cadence PR](https://github.com/onflow/flow-core-contracts/pull/420) - - [Epoch lookup component](https://github.com/onflow/flow-go/issues/5763) - - [EFM integration tests part 2](https://github.com/onflow/flow-go/issues/6164) + - EFM Recovery Process (cont.) + - [Integration Test](https://github.com/onflow/flow-go/issues/6164) - test failure cases + - [Smart contract changes](https://github.com/onflow/flow-core-contracts/pull/440) + - [DKG Data Model](https://github.com/onflow/flow-go/issues/6214) + - Modifying data model for DKG outputs to support DKG committee != consenssu committee * Data Availability: - ProtocolDB pruning design @@ -172,7 +179,8 @@ Cycle Objective(s): - Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) * Protocol misc - - Continue review of Pebble database changes + - Preparing for Testnet Spork + - [Consensus Timing Changes]([url](https://flowfoundation.notion.site/Cruise-Control-headroom-for-speedups-46dc17e07ae14462b03341e4432a907d?pvs=4)) **On Hold** From d0898e99d32627596ed602521015eab1e93a0929 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Thu, 1 Aug 2024 14:25:56 -0700 Subject: [PATCH 443/626] 4D Update 2024-08-02 --- .../2024-08-02-Flow-Sprint-Kickoff.md | 48 ++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 24c7349bc..4919c8027 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -1,7 +1,8 @@ # Overview ### Team Wins 🎉 -- +- Successfully tested new Flow bridge UI, testing bridging axlUSDC from base to polygon + ### General updates @@ -230,11 +231,56 @@ Cycle Objective(s): **Done last sprint** +**[Crescendo Rewards Contracts](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=66448908)** +- Update Accrual & DistributionModel setters + fix _claimDistribution +- Add minimum lockup field + setter +- Reach +80% test coverage +- Add tests and docs +- Add relevant traits to NFT +- Rename nonce to sequence +- Update getPaginatedRegistry interface for finer control over return size +- Add paginated Overview functionality + +**[Crescendo Rewards Backend](https://github.com/onflow/crescendo-rewards-be/issues/1)** +- Trigger activity creation from job results +- Hook up mock summaries script/job to db +- Use mock script to get account reward summaries +- Mock account API with multiple rewards summaries +- Change leaderboard to resource model +- Switch total locked from accounts to stats in db +- Update schema to match new data structure +- Run tests in CI +- Add logger + +**[Crescendo Rewards Frontend](https://github.com/onflow/crescendo-rewards/issues/1)** +- Create step boxes and container components +- Create progress bar component +- Create new partner card +- Make page header +- Add Flow logo and trophy icon to leaderboard +- Update “days until” distribution card with progress, button, and time countdown +- Update header layout and add disconnect dropdown +- Add logo vis icon option to TVL card +- Create NFT carousel section on rewards page +- Hook up to account API +- Change leaderboard to resource model +- Move activities section to below metric cards +- Hook up recent activity component to API +- Switch activity API example data to new data format +- Improve UI around account proof slowness +- Add Dapper Wallet as a login option + +**Hybrid Custody Contracts** +- [DEPLOYMENT] Deploy to Previewnet and update deployment details +- Migration Contract Staging Contract +- [BUG] Running into event limits on staging for long contracts **This sprint** **Sprint goal focusing on: Flow Cross VM Bridge, FCL x Discovery Revamp, Crescendo Rewards** +- wUSDC Swap UI (Flow Port) +- [wUSDC Contract](https://github.com/onflow/bridged-usdc) - [EPIC] Crescendo Rewards Portal - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) From 4a61336bb2e38ce3afa7d8e659c54c4508a25cbe Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:01:47 -0700 Subject: [PATCH 444/626] Update 2024-08-02-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 4919c8027..5bd56dba4 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -34,8 +34,8 @@ ### Key Release Dates & Breaking Changes - Next Mainnet/Testnet network upgrade (spork): - - Testnet: Aug 14th - - Mainnet: Aug 28th (to be confirmed - subject to change) + - Testnet: Aug 14th 8:00 AM PT (3:00 PM UTC). Duration: 6 hours + - Mainnet: Sept 4th 5:00 AM PT (12:00 PM UTC). Duration: 6 hours --- From 38d9b5c28c3e67d1096ab1e010d83ef900fa7476 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:03:59 -0700 Subject: [PATCH 445/626] Update 2024-08-02-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 5bd56dba4..036efcd19 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -2,6 +2,7 @@ ### Team Wins 🎉 - Successfully tested new Flow bridge UI, testing bridging axlUSDC from base to polygon +- Stopped our and partner Consensus nodes from going OOM by adding new config flags (`GOMEMLIMIT=12GiB`) ### General updates From d7c99c11db4418412f97cb48fb64d3bba8acae1f Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:08:20 -0700 Subject: [PATCH 446/626] Update 2024-08-02-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 036efcd19..44efe73ff 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -2,7 +2,7 @@ ### Team Wins 🎉 - Successfully tested new Flow bridge UI, testing bridging axlUSDC from base to polygon -- Stopped our and partner Consensus nodes from going OOM by adding new config flags (`GOMEMLIMIT=12GiB`) +- Stopped ours and partner Consensus nodes from going OOM by adding a new config flag (`GOMEMLIMIT=12GiB`) ### General updates From c8ceb19320e255900a0295bdf8022e716e543646 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:19:08 -0700 Subject: [PATCH 447/626] Update 2024-08-02-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 44efe73ff..9aa4dd8f4 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -20,16 +20,17 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.833% | 167% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) [YTD SLA: 99.922%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) ## Incidents +Sev 3 - 07/18: Consensus nodes kept crashing intermittently due to OOM. [Slack thread](https://flow-foundation.slack.com/archives/CUU2KQL4A/p1721310960751829) ### Mainnet - +- (Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) From 3941da31029744626b371af33dad6334cdd5b592 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:20:53 -0700 Subject: [PATCH 448/626] Update 2024-08-02-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 9aa4dd8f4..61cdb9fda 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -27,17 +27,16 @@ [YTD SLA: 99.922%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) ## Incidents -Sev 3 - 07/18: Consensus nodes kept crashing intermittently due to OOM. [Slack thread](https://flow-foundation.slack.com/archives/CUU2KQL4A/p1721310960751829) ### Mainnet -- +- Sev 4 - 07/18: Consensus nodes kept crashing intermittently due to OOM. [Slack thread](https://flow-foundation.slack.com/archives/CUU2KQL4A/p1721310960751829) -(Sev [definition](https://www.notion.so/dapperlabs/Incident-Priorities-Severity-Levels-b65d7682336c46baa025ee512fd3efa3)) +(Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) ### Key Release Dates & Breaking Changes - Next Mainnet/Testnet network upgrade (spork): - Testnet: Aug 14th 8:00 AM PT (3:00 PM UTC). Duration: 6 hours - - Mainnet: Sept 4th 5:00 AM PT (12:00 PM UTC). Duration: 6 hours + - Mainnet: Sept 4th **5:00 AM PT** (12:00 PM UTC). Duration: 6 hours --- From e502386840f6e6364d125596f36d0519029bbcd2 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 1 Aug 2024 15:21:31 -0700 Subject: [PATCH 449/626] Update 2024-08-02-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 61cdb9fda..bb6b330c0 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -29,7 +29,7 @@ ## Incidents ### Mainnet -- Sev 4 - 07/18: Consensus nodes kept crashing intermittently due to OOM. [Slack thread](https://flow-foundation.slack.com/archives/CUU2KQL4A/p1721310960751829) +- Sev 4 - 07/18: Consensus nodes crashed intermittently due to OOM. [Slack thread](https://flow-foundation.slack.com/archives/CUU2KQL4A/p1721310960751829) (Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) From b1da323ca28e9e583e004ced5080d99fee2e0cad Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 1 Aug 2024 17:01:14 -0600 Subject: [PATCH 450/626] Update infra section --- .../2024-08-02-Flow-Sprint-Kickoff.md | 35 ++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index bb6b330c0..a49014c8d 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -344,15 +344,40 @@ Cycle Objective(s): ### **Infra - JP** Cycle Objective(s): -- Solidify CloudFlare Migration plan and continue preparing for migration -- Continue assisting with DevEx migration to Cloud Run +- Migrate CloudFlare zones to new account +- Prepare for Crescendo TN spork +- Assist with EVM GW monitoring & preparation **Done last sprint** +**CloudFlare Migration** +- [Create DNS records & zones](https://github.com/dapperlabs/terraform/pull/4297) +- [Create duplicate BN2 records](https://github.com/dapperlabs/flow-benchnet-automation-infrastructure/pull/49) +- [Create duplicate DevEx records](https://github.com/dapperlabs/flow-devex-infrastructure/pull/186) +- Migration cadencelang.dev zone +- Migrate cadence-lang.org zone +- Migrate cast.fyi zone + +**Node Hosting** +- [Create Secondary Bucket for EVM traces on Previewnet](https://github.com/dapperlabs/terraform/pull/4313) +- [Create Previewnet 2 network](https://github.com/dapperlabs/terraform/pull/4314) +- [Create Previewnet2 Ansible configuration](https://github.com/dapperlabs/dapper-flow-hosting/pull/1547) +- [Scale down Previewnet1](https://github.com/dapperlabs/terraform/pull/4315) +- [Update Memory on Mainnet SNs](https://github.com/dapperlabs/terraform/pull/4307) +- [Define systemd configuration for running AN binary](https://www.notion.so/flowfoundation/Access-Node-with-Binary-ca06681fb8334e9289451c93e71bc482) + +**System Performance** +- Evaluate GOMEMLIMIT & kernel parameter impact on VM stability +- Enable GOMEMLIMIT on DL & FF Collection Nodes to limit churn + +**Benchnet2** +- [Evaluate long-lived network with increased disk space](https://github.com/onflow/flow-go/pull/6256) + **This Sprint** -- Assist with migration and spork prep efforts -- Continue removing dependencies on CloudFlare & assist with account creation -- Begin prep work to migration to new CloudFlare account +- Continue Migrating CloudFlare zones +- Prepare EVM Gateway for TN Network Upgrade +- Prepare Infra & configuration for TN Network upgrade +- Assist with EVM Gateway Monitoring & Alerting --- From eae250125d4a7c7b5ea6cd0e5bce1b7128b31ce6 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 1 Aug 2024 16:40:38 -0700 Subject: [PATCH 451/626] adding Cadence WG update --- .../2024-08-02-Flow-Sprint-Kickoff.md | 88 +++++++++++++++++-- 1 file changed, 83 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index bb6b330c0..f563f6ee1 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -3,6 +3,10 @@ ### Team Wins 🎉 - Successfully tested new Flow bridge UI, testing bridging axlUSDC from base to polygon - Stopped ours and partner Consensus nodes from going OOM by adding a new config flag (`GOMEMLIMIT=12GiB`) +- Completed diffing of transaction re-execution on inlined vs non-inlined state and validated there are no unexpected changes. +- Cadence 1.0 feature branch with Atree register inlining support merged to flow-go master. +- Implementation for handling of broken contracts (FLIP 282) deployed on Migration testnet. + ### General updates @@ -91,21 +95,95 @@ Cycle Objective(s): **Done last sprint** +**State migration for Crescendo release** +- [Merge atree inlining cadence v1.0](https://github.com/onflow/flow-go/pull/6275) +- [Handle broken contracts](https://github.com/onflow/cadence/issues/3480) +- [Add migration to setup EVM heartbeat resource](https://github.com/onflow/flow-go/pull/6251) +- Improvemnts: + - [Migrate capability values targeting storage paths](https://github.com/onflow/cadence/pull/3503) - covers a new edge case discovered recently. + - [Always report checking errors for system contracts](https://github.com/onflow/flow-go/pull/6280) + - [Improve reporting of cyclic link migration errors](https://github.com/onflow/flow-go/pull/6279) + - [Fix non-determinism in contract code and contract names cleanup migration](https://github.com/onflow/flow-go/pull/6276) + - [Add stack traces back to unexpected errors](https://github.com/onflow/cadence/pull/3492) + - [Bring back members of path capability value](https://github.com/onflow/cadence/pull/3486) + - [Improve EVM contract migration](https://github.com/onflow/flow-go/pull/6249) +- Bugfix: + - [Fix execution state extraction](https://github.com/onflow/flow-go/pull/6242) +- tooling: + - [Add command to run a script](https://github.com/onflow/flow-go/pull/6231) - using payloads file or trie + state commitment + +**Cadence Language** +- Improvements: + - [Return user error when CCF encodes attachment field](https://github.com/onflow/cadence/pull/3494) + - [Add an empty implementation of runtime.Interface](https://github.com/onflow/cadence/pull/3485) + - [Improve intersected type error message](https://github.com/onflow/cadence/pull/3483) +- Bugfixes: + - [Data race for empty strings](https://github.com/onflow/cadence/issues/3477) + - [Problems loading values and @AnyResource](https://github.com/onflow/cadence/issues/3491) +- Testing: + - [Add checker tests for nil-coalesce type inference](https://github.com/onflow/cadence/pull/3495) + +**Cadence Execution** +- Improvement: + - [Use Cadence's empty and test runtime.Interface implementations](https://github.com/onflow/flow-go/pull/6258) + +**EVM Core** +- Feature: + - [Extending block hash lookup range to the last 256 with minimum storage overhead](https://github.com/onflow/flow-go/pull/6226) +- Improvements: + - [Improve event emission](https://github.com/onflow/flow-go/pull/6224) + - [Skip tx debug tracing operation if unsafe](https://github.com/onflow/flow-go/pull/6262) + - [technical debt removal - part1](https://github.com/onflow/flow-go/pull/6243) + - [Refactoring precompiled contract call tracker](https://github.com/onflow/flow-go/pull/6232) + - [Adding metrics to the EVM](https://github.com/onflow/flow-go/pull/6233) +- Bugfixes: + - [Trace supplied with invalid error](https://github.com/onflow/flow-go/pull/6268) + - [fix the issue with the new Geth tracing](https://github.com/onflow/flow-go/pull/6261) + +**EVM Gateway** +- Breaking change: + - [Fixes required for flow-go breaking changes](https://github.com/onflow/flow-evm-gateway/pull/383) +- Bugfixes: + - [Single bloom decoding ](https://github.com/onflow/flow-evm-gateway/pull/403) + - [Bugfix to avoid decoding empty blooms](https://github.com/onflow/flow-evm-gateway/pull/399) + - [Return storage copy of data](https://github.com/onflow/flow-evm-gateway/pull/397) + - [Bugfix nil value in log](https://github.com/onflow/flow-evm-gateway/pull/379) + - [Update check for empty `RemoteAddr` in `rateLimit` function](https://github.com/onflow/flow-evm-gateway/pull/392) + - [Match behavior regarding JSON-RPC APIs with default block parameter](https://github.com/onflow/flow-evm-gateway/issues/398) + - [eth_getBlockByNumber() not responsive to 'earliest' flag](https://github.com/onflow/flow-evm-gateway/issues/371) + - [Include the transactionsRoot hash in block response](https://github.com/onflow/flow-evm-gateway/issues/389) + - [Calculate size field on JSON-RPC calls that return block info](https://github.com/onflow/flow-evm-gateway/issues/375) + - [Update eth_syncing call to match JSON-RPC API specification](https://github.com/onflow/flow-evm-gateway/issues/376) + - [Calculate properly the CumulativeGasUsed field for transaction receipts](https://github.com/onflow/flow-evm-gateway/issues/357) + - [Populate the LogsBloom field, even for blocks without any transactions](https://github.com/onflow/flow-evm-gateway/issues/372) +- Improvements: + - [Update CadenceEvents.Empty() function to avoid decoding EVM blocks twice](https://github.com/onflow/flow-evm-gateway/pull/368) + - [Add support for `EVM.heartbeat` resource on system chunk transaction](https://github.com/onflow/flow-emulator/pull/717) + - [Handle custom block numbers in eth_estimateGas endpoint](https://github.com/onflow/flow-evm-gateway/issues/380) + - Improved transaction error formatting + - [Use different error wrapping](https://github.com/onflow/flow-evm-gateway/pull/413) + - [Improve error reporting](https://github.com/onflow/flow-evm-gateway/issues/350) + - [Improve API error handling](https://github.com/onflow/flow-evm-gateway/pull/370) + - [Improve error wrapping](https://github.com/onflow/flow-evm-gateway/issues/70) + - [Use past block decoder](https://github.com/onflow/flow-evm-gateway/pull/395) + - [Pending transaction event from pool](https://github.com/onflow/flow-evm-gateway/pull/374) + - [Event broadcasting improvements](https://github.com/onflow/flow-evm-gateway/pull/334) +- Testing: + - [Add an example test case for utilizing the `Multicall3` contract](https://github.com/onflow/flow-evm-gateway/pull/369) **This sprint** - Objective 1, KR4: Testnet Upgrade to Crescendo Release - - Investigate how we could [keep the values of contracts not upgraded to Cadence 1.0 working](https://www.notion.so/flowfoundation/Keep-values-with-types-of-broken-contracts-working-7a57ddf83a50456da6851ed1f65e26a9) - - Continue [comparison of execution states before and after the atree inlining](https://github.com/onflow/atree/issues/292) - - Continue: [Add support for composites with attachment to CCF encoder](https://github.com/dapperlabs/cadence-internal/issues/241) - - [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) + - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) - Investigate / Fix any security report incoming from bug bounty. + - Upgrade TN to Crescendo release - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) - EVM - - KROK + - Continue testing EVM GW stability + - KROK - EVM Gateway benchmarking **Completed OKRs** From 42a3e663c0cceece04449b9a0d1f8fa244578246 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Fri, 2 Aug 2024 14:12:02 +0300 Subject: [PATCH 452/626] Added start_height and end_height fields to NodeVersionInfo response --- .../flow/entities/node_version_info.proto | 4 ++ .../go/flow/entities/node_version_info.pb.go | 58 +++++++++++++------ 2 files changed, 43 insertions(+), 19 deletions(-) diff --git a/protobuf/flow/entities/node_version_info.proto b/protobuf/flow/entities/node_version_info.proto index a61378d4e..de7ac399f 100644 --- a/protobuf/flow/entities/node_version_info.proto +++ b/protobuf/flow/entities/node_version_info.proto @@ -21,4 +21,8 @@ message NodeVersionInfo { // If the node started after the beginning of the spork, it is the height of the first sealed block // indexed. uint64 node_root_block_height = 6; + // The first block that the node's version supports. + uint64 start_height = 7; + // The last block the node's version supports. + uint64 end_height = 8; } diff --git a/protobuf/go/flow/entities/node_version_info.pb.go b/protobuf/go/flow/entities/node_version_info.pb.go index a998c3bf7..aa4102bff 100644 --- a/protobuf/go/flow/entities/node_version_info.pb.go +++ b/protobuf/go/flow/entities/node_version_info.pb.go @@ -35,7 +35,11 @@ type NodeVersionInfo struct { // If the node started at the beginning of the spork, it is the same as the spork root block height. // If the node started after the beginning of the spork, it is the height of the first sealed block // indexed. - NodeRootBlockHeight uint64 `protobuf:"varint,6,opt,name=node_root_block_height,json=nodeRootBlockHeight,proto3" json:"node_root_block_height,omitempty"` + NodeRootBlockHeight uint64 `protobuf:"varint,6,opt,name=node_root_block_height,json=nodeRootBlockHeight,proto3" json:"node_root_block_height,omitempty"` + // The first block that the node's version supports. + StartHeight uint64 `protobuf:"varint,7,opt,name=start_height,json=startHeight,proto3" json:"start_height,omitempty"` + // The last block the node's version supports. + EndHeight uint64 `protobuf:"varint,8,opt,name=end_height,json=endHeight,proto3" json:"end_height,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -108,6 +112,20 @@ func (m *NodeVersionInfo) GetNodeRootBlockHeight() uint64 { return 0 } +func (m *NodeVersionInfo) GetStartHeight() uint64 { + if m != nil { + return m.StartHeight + } + return 0 +} + +func (m *NodeVersionInfo) GetEndHeight() uint64 { + if m != nil { + return m.EndHeight + } + return 0 +} + func init() { proto.RegisterType((*NodeVersionInfo)(nil), "flow.entities.NodeVersionInfo") } @@ -117,22 +135,24 @@ func init() { } var fileDescriptor_ff9e447351cb4a8a = []byte{ - // 263 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x50, 0xcd, 0x4a, 0xf4, 0x30, - 0x14, 0xa5, 0xdf, 0x37, 0x56, 0x0d, 0xca, 0x48, 0x94, 0x31, 0x82, 0x8b, 0x22, 0x08, 0x75, 0xd3, - 0x08, 0x83, 0x2f, 0x30, 0x2b, 0x67, 0x23, 0xd2, 0x85, 0x0b, 0x37, 0x81, 0xb6, 0x69, 0x1b, 0xa6, - 0xcd, 0x19, 0xd2, 0xcc, 0xf8, 0xe0, 0xbe, 0x80, 0xf4, 0x66, 0x2a, 0xa8, 0x9b, 0xc0, 0xf9, 0xcb, - 0xbd, 0xf7, 0xb0, 0xfb, 0xba, 0xc3, 0x87, 0xd4, 0xd6, 0x1b, 0x6f, 0xf4, 0x20, 0x2d, 0x2a, 0xad, - 0xf6, 0xda, 0x0d, 0x06, 0x56, 0x19, 0x5b, 0x23, 0xdb, 0x3a, 0x78, 0xf0, 0xf3, 0xd1, 0x96, 0x4d, - 0xb6, 0xbb, 0xcf, 0x88, 0xcd, 0x5f, 0x50, 0xe9, 0xb7, 0xe0, 0x5c, 0xdb, 0x1a, 0x7c, 0xc1, 0xe2, - 0x41, 0xf7, 0x7b, 0xed, 0x44, 0x94, 0x44, 0xe9, 0x69, 0x7e, 0x40, 0x23, 0x5f, 0xa2, 0xef, 0x8d, - 0x17, 0xff, 0x02, 0x1f, 0x10, 0xbf, 0x61, 0x27, 0xc3, 0x16, 0x6e, 0xa3, 0x4c, 0x25, 0xfe, 0x27, - 0x51, 0x7a, 0x96, 0x1f, 0x13, 0x5e, 0x57, 0xfc, 0x81, 0x5d, 0xd0, 0xd8, 0x12, 0xdd, 0xb4, 0x8c, - 0x98, 0x25, 0x51, 0x3a, 0xcb, 0xe7, 0x13, 0x7f, 0x98, 0xcc, 0x9f, 0xd8, 0x75, 0xf8, 0xc5, 0x01, - 0x5e, 0x15, 0x1d, 0xca, 0x8d, 0x6a, 0xb5, 0x69, 0x5a, 0x2f, 0x8e, 0x28, 0x71, 0x45, 0x72, 0x0e, - 0xf8, 0xd5, 0x28, 0x3e, 0x93, 0xc6, 0x97, 0x6c, 0x41, 0xa7, 0xfe, 0x4d, 0xc5, 0x94, 0xba, 0x1c, - 0xd5, 0x5f, 0xa1, 0xd5, 0x2b, 0xbb, 0x85, 0x6b, 0x32, 0x58, 0x2a, 0x83, 0x36, 0x29, 0x76, 0xf5, - 0x77, 0x2b, 0xef, 0x8f, 0x8d, 0xf1, 0xed, 0xae, 0xc8, 0x4a, 0xf4, 0x32, 0x98, 0x24, 0x3d, 0x93, - 0x53, 0x36, 0x90, 0x3f, 0xea, 0x2e, 0x62, 0x92, 0x96, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x0c, - 0x2a, 0x5d, 0x89, 0x86, 0x01, 0x00, 0x00, + // 292 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0xdf, 0x4a, 0xc3, 0x30, + 0x14, 0xc6, 0xe9, 0x9c, 0xfb, 0x73, 0x9c, 0x4c, 0xa2, 0xcc, 0x0a, 0x0a, 0x53, 0x10, 0xea, 0x4d, + 0x23, 0x0c, 0x5f, 0x60, 0x57, 0xee, 0x46, 0xa4, 0x17, 0x5e, 0x78, 0x53, 0x6c, 0x93, 0xb6, 0x61, + 0x6d, 0xce, 0x48, 0xb3, 0xf9, 0x64, 0xbe, 0x9f, 0xf4, 0xa4, 0x11, 0xd4, 0x9b, 0xc0, 0xf9, 0xbe, + 0xdf, 0x97, 0x93, 0x73, 0x02, 0xf7, 0x45, 0x8d, 0x9f, 0x5c, 0x6a, 0xab, 0xac, 0x92, 0x2d, 0xd7, + 0x28, 0x64, 0x7a, 0x90, 0xa6, 0x55, 0xa8, 0x53, 0xa5, 0x0b, 0x8c, 0x77, 0x06, 0x2d, 0xb2, 0xd3, + 0x0e, 0x8b, 0x3d, 0x76, 0xf7, 0x35, 0x80, 0xf9, 0x0b, 0x0a, 0xf9, 0xe6, 0xc8, 0x8d, 0x2e, 0x90, + 0x2d, 0x60, 0xd4, 0xca, 0xe6, 0x20, 0x4d, 0x18, 0x2c, 0x83, 0x68, 0x9a, 0xf4, 0x55, 0xa7, 0xe7, + 0xd8, 0x34, 0xca, 0x86, 0x03, 0xa7, 0xbb, 0x8a, 0x5d, 0xc1, 0xa4, 0xdd, 0xa1, 0xd9, 0xa6, 0x4a, + 0x84, 0x47, 0xcb, 0x20, 0x9a, 0x25, 0x63, 0xaa, 0x37, 0x82, 0x3d, 0xc0, 0x19, 0xb5, 0xcd, 0xb1, + 0xf6, 0x8f, 0x09, 0x87, 0xcb, 0x20, 0x1a, 0x26, 0x73, 0xaf, 0xf7, 0x9d, 0xd9, 0x13, 0x5c, 0xba, + 0x5b, 0x0c, 0xa2, 0x4d, 0xb3, 0x1a, 0xf3, 0x6d, 0x5a, 0x49, 0x55, 0x56, 0x36, 0x3c, 0xa6, 0xc4, + 0x05, 0xd9, 0x09, 0xa2, 0x5d, 0x77, 0xe6, 0x33, 0x79, 0x6c, 0x05, 0x0b, 0x1a, 0xf5, 0x7f, 0x6a, + 0x44, 0xa9, 0xf3, 0xce, 0xfd, 0x1b, 0xba, 0x85, 0x59, 0x6b, 0x3f, 0x8c, 0xf5, 0xe8, 0x98, 0xd0, + 0x13, 0xd2, 0x7a, 0xe4, 0x06, 0x40, 0x6a, 0xe1, 0x81, 0x09, 0x01, 0x53, 0xa9, 0x85, 0xb3, 0xd7, + 0xaf, 0x70, 0x8d, 0xa6, 0x8c, 0x51, 0xd3, 0x3a, 0x69, 0x96, 0x6c, 0x5f, 0xfc, 0xec, 0xf5, 0xfd, + 0xb1, 0x54, 0xb6, 0xda, 0x67, 0x71, 0x8e, 0x0d, 0x77, 0x10, 0xa7, 0xc3, 0x93, 0xbc, 0x44, 0xfe, + 0xeb, 0xc3, 0xb2, 0x11, 0x59, 0xab, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x76, 0xe9, 0x03, 0x44, + 0xc8, 0x01, 0x00, 0x00, } From 534ae9986c79816ccd97a727b002c74ff0c3f0c5 Mon Sep 17 00:00:00 2001 From: Jordan Ribbink Date: Fri, 2 Aug 2024 06:49:47 -0700 Subject: [PATCH 453/626] Update UX --- .../sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 39894456f..4f043a251 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -354,6 +354,16 @@ Cycle Objective(s): - Migration Contract Staging Contract - [BUG] Running into event limits on staging for long contracts +**FCL Discovery** +- [Revamp Milestone 1 - Collapsed View](https://github.com/onflow/fcl-discovery/issues/193) + - Add "Get Wallet" Page + - Combine mobile/extension wallets of same provider + - Add "Connect Wallet" Page where users select desired platform + - Fix Sentry issues + - Convert frontend to use `/api/wallets` route + +**VS Code Extension** +- `textDocument/documentSymbol` failed keeps showing **This sprint** **Sprint goal focusing on: Flow Cross VM Bridge, FCL x Discovery Revamp, Crescendo Rewards** From d37d4bd1fa0e04d1041ecf25532ebe0a12ea0e19 Mon Sep 17 00:00:00 2001 From: Tarak Ben Youssef <50252200+tarakby@users.noreply.github.com> Date: Fri, 2 Aug 2024 10:18:56 -0600 Subject: [PATCH 454/626] Update 2024-08-02-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 4f043a251..15c633609 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -230,6 +230,12 @@ Cycle Objective(s): - [Smart contract changes](https://github.com/onflow/flow-core-contracts/pull/440) - Adding EFM Recovery parameters to KVStore ([1](https://github.com/onflow/flow-go/pull/6272), [2](https://github.com/onflow/flow-go/pull/6209), [3](https://github.com/onflow/flow-go/pull/6229)) +* Cryptography + - java-SDK + - hashing clean up and new algos support ([merged](https://github.com/onflow/flow-jvm-sdk/pull/52)) + - refactor ECDSA signing and support the SEC curve ([merged](https://github.com/onflow/flow-jvm-sdk/pull/71)) + - looking at vector commitments papers for state proof optimizations ([summary](https://www.notion.so/flowfoundation/State-proofs-with-vector-commitments-b02d962a88b349d0be52e57eee3f6695)) + **This sprint** * EFM Recovery @@ -250,9 +256,9 @@ Cycle Objective(s): - Start registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) * Cryptography: - - Continue state proof brainstorm and research - - java-SDK: merge the hashing PR + create signing issues - - SPoCK aggregation research/analysis: will continue over more sprints + - java-SDK: more tests on transaction signing and prepare for a release + - crypto module: integrate the new BLST release + - back to SPoCK aggregation if possible: contine with BLS aggregation security proofs * Rosetta: - KROK: From 376e2611f50cb7b844d9b7673365d8009ad9b03f Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 2 Aug 2024 22:22:46 +0530 Subject: [PATCH 455/626] Update 2024-08-02-Flow-Sprint-Kickoff.md FLIPs tracker update --- .../2024-08-02-Flow-Sprint-Kickoff.md | 35 +++++-------------- 1 file changed, 9 insertions(+), 26 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 15c633609..1af0c0881 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -48,35 +48,18 @@ | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 9 | 0 | 7 | **24** (+1) | -| Proposed | 1 | 2 | 2 | 0 | **5** | -| Accepted | 2 | 1 | 2 | 1 | **6** | +| Drafted | 8 | 8 (-1) | 0 | 7 | **23** (-1) | +| Proposed | 1 | 2 | 3 (+1) | 0 | **6** (+1) | +| Accepted | 2 | 1 | 2 | 2 (+1) | **7** (+1) | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 3 | 22 | 2 | 1 | **28** | -| Released | 4 | 0 | 3 | 6 | **13** | -| Total | **17** (+1) | **34** | **10** | **15** | **76** (+1) | +| Implemented | 3 | 24 (+2) | 1 | 0 | **28** | +| Released | 4 | 0 | 4 (+1) | 6 | **14** (+1) | +| Total | **18** (+1) | **35** (+1) | **11** (+1) | **15** | **79** (+3) | **Updates** -* [Application] - Integrating with the Lost and Found contract (drafted) -* FLIPs that haven't moved in a while or need new owners or have old statuses - - Application - - - Interaction Templates - - Pool-Based DEX Swap Standard - - FCL Authz/Pre-Authz v2.0.0 Specification - - Contracts Import Syntax - - Cadence - - New behavior for attachments with entitlements - - Type Removal In Contract Updates - - Optional References to Indexed Accesses - - Next version changes to FLIX - - Attachments - - Mutability Restrictions - - Cadence Storage API Improvements - - Reference Creation Semantics - - View Functions - - Entitlements ---- - +* Crescendo Network Upgrade - proposed +* Changing import statement semantics - accepted +* Import of pre-Cadence 1.0 Programs - proposed and accepted # Working Group Updates From 110f9a2e5abf56ab5019dbff78a450d37eb9f401 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 2 Aug 2024 22:26:47 +0530 Subject: [PATCH 456/626] Update 2024-08-02-Flow-Sprint-Kickoff.md Governance updates --- .../sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 1af0c0881..5e1e68e7c 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -462,13 +462,15 @@ Cycle Objective(s): Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** +- T-systems contract for continued lease & additional delegation +- Work with Dete on future fee on Flow (not be launched with Crescendo launch) **This sprint** -- Send out T-systems contract for continued lease and additional delegation; work with team to get the node live +- Work with T-systems team to get their execution node live - Continue supporting rewards platform team on Tokenomics related analysis -- Agreement with Dete and team on MVP of dynamic fee to be launched with Crescendo launch -- Draft FLIP for dynamic fee -- Identify next steps for Coinbase node operation +- Model stable state economics, throughput, fees and inflation +- Draft research doc that explains the vision +- Organize monthly GWG **On Hold** From 9329e79a46e954a3de0579ee4a7a309ae7feae9a Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 2 Aug 2024 22:58:32 +0530 Subject: [PATCH 457/626] Update 2024-08-02-Flow-Sprint-Kickoff.md update to gov --- agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md index 5e1e68e7c..2bf75b8d8 100644 --- a/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-02-Flow-Sprint-Kickoff.md @@ -462,11 +462,11 @@ Cycle Objective(s): Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. **Done last sprint** -- T-systems contract for continued lease & additional delegation +- EN operator contract for lease - Work with Dete on future fee on Flow (not be launched with Crescendo launch) **This sprint** -- Work with T-systems team to get their execution node live +- Get the execution node live - Continue supporting rewards platform team on Tokenomics related analysis - Model stable state economics, throughput, fees and inflation - Draft research doc that explains the vision From 56b1cca23494e8d8256ba5fb4aa8fe241a3660a6 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Mon, 5 Aug 2024 13:39:09 +0300 Subject: [PATCH 458/626] Updated REST NodeVersionInfo endpoint --- openapi/access.yaml | 8 ++++++++ openapi/go-client-generated/api/swagger.yaml | 10 ++++++++++ openapi/go-client-generated/docs/NodeVersionInfo.md | 2 ++ openapi/go-client-generated/model_node_version_info.go | 2 ++ 4 files changed, 22 insertions(+) diff --git a/openapi/access.yaml b/openapi/access.yaml index 04a1463e4..3d920fc11 100644 --- a/openapi/access.yaml +++ b/openapi/access.yaml @@ -1202,6 +1202,8 @@ components: - protocol_version - spork_root_block_height - node_root_block_height + - start_height + - end_height properties: semver: type: string @@ -1218,6 +1220,12 @@ components: node_root_block_height: type: string format: uint64 + start_height: + type: string + format: uint64 + end_height: + type: string + format: uint64 SubscribeEvents: type: object properties: diff --git a/openapi/go-client-generated/api/swagger.yaml b/openapi/go-client-generated/api/swagger.yaml index 6759eb841..aa913fc0b 100644 --- a/openapi/go-client-generated/api/swagger.yaml +++ b/openapi/go-client-generated/api/swagger.yaml @@ -2073,11 +2073,13 @@ components: NodeVersionInfo: required: - commit + - end_height - node_root_block_height - protocol_version - semver - spork_id - spork_root_block_height + - start_height type: object properties: semver: @@ -2095,10 +2097,18 @@ components: node_root_block_height: type: string format: uint64 + start_height: + type: string + format: uint64 + end_height: + type: string + format: uint64 example: protocol_version: protocol_version + end_height: end_height semver: semver commit: commit + start_height: start_height node_root_block_height: node_root_block_height spork_id: spork_id spork_root_block_height: spork_root_block_height diff --git a/openapi/go-client-generated/docs/NodeVersionInfo.md b/openapi/go-client-generated/docs/NodeVersionInfo.md index c46323422..1e4487e3c 100644 --- a/openapi/go-client-generated/docs/NodeVersionInfo.md +++ b/openapi/go-client-generated/docs/NodeVersionInfo.md @@ -9,6 +9,8 @@ Name | Type | Description | Notes **ProtocolVersion** | **string** | | [default to null] **SporkRootBlockHeight** | **string** | | [default to null] **NodeRootBlockHeight** | **string** | | [default to null] +**StartHeight** | **string** | | [default to null] +**EndHeight** | **string** | | [default to null] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/openapi/go-client-generated/model_node_version_info.go b/openapi/go-client-generated/model_node_version_info.go index 6e20865b9..9b29d3161 100644 --- a/openapi/go-client-generated/model_node_version_info.go +++ b/openapi/go-client-generated/model_node_version_info.go @@ -15,4 +15,6 @@ type NodeVersionInfo struct { ProtocolVersion string `json:"protocol_version"` SporkRootBlockHeight string `json:"spork_root_block_height"` NodeRootBlockHeight string `json:"node_root_block_height"` + StartHeight string `json:"start_height"` + EndHeight string `json:"end_height"` } From a4f0b3b7c2917dc71b2a730b9e9fa398c8b3346e Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Tue, 6 Aug 2024 12:27:56 +0300 Subject: [PATCH 459/626] Updated naming according to comments --- .../flow/entities/node_version_info.proto | 4 +- .../go/flow/entities/node_version_info.pb.go | 58 +++++++++---------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/protobuf/flow/entities/node_version_info.proto b/protobuf/flow/entities/node_version_info.proto index de7ac399f..c704a1d33 100644 --- a/protobuf/flow/entities/node_version_info.proto +++ b/protobuf/flow/entities/node_version_info.proto @@ -22,7 +22,7 @@ message NodeVersionInfo { // indexed. uint64 node_root_block_height = 6; // The first block that the node's version supports. - uint64 start_height = 7; + uint64 protocol_version_start_height = 7; // The last block the node's version supports. - uint64 end_height = 8; + uint64 protocol_version_end_height = 8; } diff --git a/protobuf/go/flow/entities/node_version_info.pb.go b/protobuf/go/flow/entities/node_version_info.pb.go index aa4102bff..08b9609c3 100644 --- a/protobuf/go/flow/entities/node_version_info.pb.go +++ b/protobuf/go/flow/entities/node_version_info.pb.go @@ -37,12 +37,12 @@ type NodeVersionInfo struct { // indexed. NodeRootBlockHeight uint64 `protobuf:"varint,6,opt,name=node_root_block_height,json=nodeRootBlockHeight,proto3" json:"node_root_block_height,omitempty"` // The first block that the node's version supports. - StartHeight uint64 `protobuf:"varint,7,opt,name=start_height,json=startHeight,proto3" json:"start_height,omitempty"` + ProtocolVersionStartHeight uint64 `protobuf:"varint,7,opt,name=protocol_version_start_height,json=protocolVersionStartHeight,proto3" json:"protocol_version_start_height,omitempty"` // The last block the node's version supports. - EndHeight uint64 `protobuf:"varint,8,opt,name=end_height,json=endHeight,proto3" json:"end_height,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ProtocolVersionEndHeight uint64 `protobuf:"varint,8,opt,name=protocol_version_end_height,json=protocolVersionEndHeight,proto3" json:"protocol_version_end_height,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *NodeVersionInfo) Reset() { *m = NodeVersionInfo{} } @@ -112,16 +112,16 @@ func (m *NodeVersionInfo) GetNodeRootBlockHeight() uint64 { return 0 } -func (m *NodeVersionInfo) GetStartHeight() uint64 { +func (m *NodeVersionInfo) GetProtocolVersionStartHeight() uint64 { if m != nil { - return m.StartHeight + return m.ProtocolVersionStartHeight } return 0 } -func (m *NodeVersionInfo) GetEndHeight() uint64 { +func (m *NodeVersionInfo) GetProtocolVersionEndHeight() uint64 { if m != nil { - return m.EndHeight + return m.ProtocolVersionEndHeight } return 0 } @@ -135,24 +135,24 @@ func init() { } var fileDescriptor_ff9e447351cb4a8a = []byte{ - // 292 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0xdf, 0x4a, 0xc3, 0x30, - 0x14, 0xc6, 0xe9, 0x9c, 0xfb, 0x73, 0x9c, 0x4c, 0xa2, 0xcc, 0x0a, 0x0a, 0x53, 0x10, 0xea, 0x4d, - 0x23, 0x0c, 0x5f, 0x60, 0x57, 0xee, 0x46, 0xa4, 0x17, 0x5e, 0x78, 0x53, 0x6c, 0x93, 0xb6, 0x61, - 0x6d, 0xce, 0x48, 0xb3, 0xf9, 0x64, 0xbe, 0x9f, 0xf4, 0xa4, 0x11, 0xd4, 0x9b, 0xc0, 0xf9, 0xbe, - 0xdf, 0x97, 0x93, 0x73, 0x02, 0xf7, 0x45, 0x8d, 0x9f, 0x5c, 0x6a, 0xab, 0xac, 0x92, 0x2d, 0xd7, - 0x28, 0x64, 0x7a, 0x90, 0xa6, 0x55, 0xa8, 0x53, 0xa5, 0x0b, 0x8c, 0x77, 0x06, 0x2d, 0xb2, 0xd3, - 0x0e, 0x8b, 0x3d, 0x76, 0xf7, 0x35, 0x80, 0xf9, 0x0b, 0x0a, 0xf9, 0xe6, 0xc8, 0x8d, 0x2e, 0x90, - 0x2d, 0x60, 0xd4, 0xca, 0xe6, 0x20, 0x4d, 0x18, 0x2c, 0x83, 0x68, 0x9a, 0xf4, 0x55, 0xa7, 0xe7, - 0xd8, 0x34, 0xca, 0x86, 0x03, 0xa7, 0xbb, 0x8a, 0x5d, 0xc1, 0xa4, 0xdd, 0xa1, 0xd9, 0xa6, 0x4a, - 0x84, 0x47, 0xcb, 0x20, 0x9a, 0x25, 0x63, 0xaa, 0x37, 0x82, 0x3d, 0xc0, 0x19, 0xb5, 0xcd, 0xb1, - 0xf6, 0x8f, 0x09, 0x87, 0xcb, 0x20, 0x1a, 0x26, 0x73, 0xaf, 0xf7, 0x9d, 0xd9, 0x13, 0x5c, 0xba, - 0x5b, 0x0c, 0xa2, 0x4d, 0xb3, 0x1a, 0xf3, 0x6d, 0x5a, 0x49, 0x55, 0x56, 0x36, 0x3c, 0xa6, 0xc4, - 0x05, 0xd9, 0x09, 0xa2, 0x5d, 0x77, 0xe6, 0x33, 0x79, 0x6c, 0x05, 0x0b, 0x1a, 0xf5, 0x7f, 0x6a, - 0x44, 0xa9, 0xf3, 0xce, 0xfd, 0x1b, 0xba, 0x85, 0x59, 0x6b, 0x3f, 0x8c, 0xf5, 0xe8, 0x98, 0xd0, - 0x13, 0xd2, 0x7a, 0xe4, 0x06, 0x40, 0x6a, 0xe1, 0x81, 0x09, 0x01, 0x53, 0xa9, 0x85, 0xb3, 0xd7, - 0xaf, 0x70, 0x8d, 0xa6, 0x8c, 0x51, 0xd3, 0x3a, 0x69, 0x96, 0x6c, 0x5f, 0xfc, 0xec, 0xf5, 0xfd, - 0xb1, 0x54, 0xb6, 0xda, 0x67, 0x71, 0x8e, 0x0d, 0x77, 0x10, 0xa7, 0xc3, 0x93, 0xbc, 0x44, 0xfe, - 0xeb, 0xc3, 0xb2, 0x11, 0x59, 0xab, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x76, 0xe9, 0x03, 0x44, - 0xc8, 0x01, 0x00, 0x00, + // 304 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0x4f, 0x4b, 0x03, 0x31, + 0x10, 0xc5, 0xd9, 0x5a, 0xdb, 0x1a, 0x94, 0x4a, 0x94, 0x1a, 0xff, 0x41, 0x11, 0x84, 0x7a, 0xd9, + 0x08, 0xc5, 0xa3, 0x07, 0x0b, 0x82, 0xbd, 0x88, 0xac, 0xe0, 0xc1, 0x4b, 0x70, 0x37, 0xd9, 0x6d, + 0x68, 0x37, 0x53, 0xb2, 0x69, 0xfd, 0xe4, 0xde, 0x65, 0x27, 0x1b, 0xc1, 0xed, 0x25, 0x30, 0xf3, + 0xde, 0xef, 0xcd, 0x84, 0x21, 0xb7, 0xf9, 0x0a, 0xbe, 0xb9, 0x32, 0x4e, 0x3b, 0xad, 0x2a, 0x6e, + 0x40, 0x2a, 0xb1, 0x55, 0xb6, 0xd2, 0x60, 0x84, 0x36, 0x39, 0xc4, 0x6b, 0x0b, 0x0e, 0xe8, 0x51, + 0x6d, 0x8b, 0x83, 0xed, 0xe6, 0xa7, 0x43, 0x86, 0xaf, 0x20, 0xd5, 0x87, 0x77, 0xce, 0x4d, 0x0e, + 0x74, 0x44, 0x7a, 0x95, 0x2a, 0xb7, 0xca, 0xb2, 0x68, 0x1c, 0x4d, 0x0e, 0x92, 0xa6, 0xaa, 0xfb, + 0x19, 0x94, 0xa5, 0x76, 0xac, 0xe3, 0xfb, 0xbe, 0xa2, 0xe7, 0x64, 0x50, 0xad, 0xc1, 0x2e, 0x85, + 0x96, 0x6c, 0x6f, 0x1c, 0x4d, 0x0e, 0x93, 0x3e, 0xd6, 0x73, 0x49, 0xef, 0xc8, 0x31, 0x8e, 0xcd, + 0x60, 0x15, 0x96, 0x61, 0xdd, 0x71, 0x34, 0xe9, 0x26, 0xc3, 0xd0, 0x6f, 0x26, 0xd3, 0x07, 0x72, + 0xe6, 0x53, 0x2c, 0x80, 0x13, 0xe9, 0x0a, 0xb2, 0xa5, 0x58, 0x28, 0x5d, 0x2c, 0x1c, 0xdb, 0x47, + 0xe2, 0x14, 0xe5, 0x04, 0xc0, 0xcd, 0x6a, 0xf1, 0x05, 0x35, 0x3a, 0x25, 0x23, 0xfc, 0xea, 0x2e, + 0xd5, 0x43, 0xea, 0xa4, 0x56, 0xdb, 0xd0, 0x13, 0xb9, 0x6e, 0xaf, 0x25, 0x2a, 0xf7, 0x65, 0x5d, + 0x60, 0xfb, 0xc8, 0x5e, 0xb4, 0x76, 0x7c, 0xaf, 0x2d, 0x4d, 0xc4, 0x23, 0xb9, 0xdc, 0x89, 0x50, + 0x46, 0x86, 0x80, 0x01, 0x06, 0xb0, 0x56, 0xc0, 0xb3, 0x91, 0x1e, 0x9f, 0xbd, 0x91, 0x2b, 0xb0, + 0x45, 0x0c, 0x06, 0xcf, 0x81, 0xb6, 0x74, 0x93, 0xff, 0xdd, 0xe5, 0xf3, 0xbe, 0xd0, 0x6e, 0xb1, + 0x49, 0xe3, 0x0c, 0x4a, 0xee, 0x4d, 0x1c, 0x9f, 0xe0, 0xe4, 0x05, 0xf0, 0x7f, 0x07, 0x4f, 0x7b, + 0x28, 0x4d, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x1d, 0x5b, 0x26, 0x08, 0x02, 0x00, 0x00, } From 6ed311fd79893239350e26549da5353b53d33ab8 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Tue, 6 Aug 2024 12:35:37 +0300 Subject: [PATCH 460/626] Updated naming for openapi --- openapi/access.yaml | 8 ++++---- openapi/go-client-generated/api/swagger.yaml | 12 ++++++------ openapi/go-client-generated/docs/NodeVersionInfo.md | 4 ++-- .../go-client-generated/model_node_version_info.go | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/openapi/access.yaml b/openapi/access.yaml index 3d920fc11..61872e2e1 100644 --- a/openapi/access.yaml +++ b/openapi/access.yaml @@ -1202,8 +1202,8 @@ components: - protocol_version - spork_root_block_height - node_root_block_height - - start_height - - end_height + - protocol_version_start_height + - protocol_version_end_height properties: semver: type: string @@ -1220,10 +1220,10 @@ components: node_root_block_height: type: string format: uint64 - start_height: + protocol_version_start_height: type: string format: uint64 - end_height: + protocol_version_end_height: type: string format: uint64 SubscribeEvents: diff --git a/openapi/go-client-generated/api/swagger.yaml b/openapi/go-client-generated/api/swagger.yaml index aa913fc0b..43d422544 100644 --- a/openapi/go-client-generated/api/swagger.yaml +++ b/openapi/go-client-generated/api/swagger.yaml @@ -2073,13 +2073,13 @@ components: NodeVersionInfo: required: - commit - - end_height - node_root_block_height - protocol_version + - protocol_version_end_height + - protocol_version_start_height - semver - spork_id - spork_root_block_height - - start_height type: object properties: semver: @@ -2097,19 +2097,19 @@ components: node_root_block_height: type: string format: uint64 - start_height: + protocol_version_start_height: type: string format: uint64 - end_height: + protocol_version_end_height: type: string format: uint64 example: protocol_version: protocol_version - end_height: end_height semver: semver commit: commit - start_height: start_height + protocol_version_start_height: protocol_version_start_height node_root_block_height: node_root_block_height + protocol_version_end_height: protocol_version_end_height spork_id: spork_id spork_root_block_height: spork_root_block_height SubscribeEvents: diff --git a/openapi/go-client-generated/docs/NodeVersionInfo.md b/openapi/go-client-generated/docs/NodeVersionInfo.md index 1e4487e3c..0cfe59df2 100644 --- a/openapi/go-client-generated/docs/NodeVersionInfo.md +++ b/openapi/go-client-generated/docs/NodeVersionInfo.md @@ -9,8 +9,8 @@ Name | Type | Description | Notes **ProtocolVersion** | **string** | | [default to null] **SporkRootBlockHeight** | **string** | | [default to null] **NodeRootBlockHeight** | **string** | | [default to null] -**StartHeight** | **string** | | [default to null] -**EndHeight** | **string** | | [default to null] +**ProtocolVersionStartHeight** | **string** | | [default to null] +**ProtocolVersionEndHeight** | **string** | | [default to null] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/openapi/go-client-generated/model_node_version_info.go b/openapi/go-client-generated/model_node_version_info.go index 9b29d3161..b8edb0310 100644 --- a/openapi/go-client-generated/model_node_version_info.go +++ b/openapi/go-client-generated/model_node_version_info.go @@ -15,6 +15,6 @@ type NodeVersionInfo struct { ProtocolVersion string `json:"protocol_version"` SporkRootBlockHeight string `json:"spork_root_block_height"` NodeRootBlockHeight string `json:"node_root_block_height"` - StartHeight string `json:"start_height"` - EndHeight string `json:"end_height"` + ProtocolVersionStartHeight string `json:"protocol_version_start_height"` + ProtocolVersionEndHeight string `json:"protocol_version_end_height"` } From 832a677c3ec54be32c67346bafc6c758b128c597 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Fri, 9 Aug 2024 14:36:43 +0300 Subject: [PATCH 461/626] Updated according to comments --- openapi/access.yaml | 22 +++++++++----- openapi/go-client-generated/README.md | 1 + openapi/go-client-generated/api/swagger.yaml | 30 ++++++++++++------- .../docs/CompatibleRange.md | 10 +++++++ .../docs/NodeVersionInfo.md | 3 +- .../model_compatible_range.go | 15 ++++++++++ .../model_node_version_info.go | 3 +- 7 files changed, 62 insertions(+), 22 deletions(-) create mode 100644 openapi/go-client-generated/docs/CompatibleRange.md create mode 100644 openapi/go-client-generated/model_compatible_range.go diff --git a/openapi/access.yaml b/openapi/access.yaml index 61872e2e1..92d084540 100644 --- a/openapi/access.yaml +++ b/openapi/access.yaml @@ -1193,6 +1193,17 @@ components: properties: chain_id: type: string + CompatibleRange: + type: object + description: A compatible version range. + required: + - start_height + - end_height + properties: + start_height: + type: string + end_height: + type: string NodeVersionInfo: type: object required: @@ -1202,8 +1213,7 @@ components: - protocol_version - spork_root_block_height - node_root_block_height - - protocol_version_start_height - - protocol_version_end_height + - execution_version_range properties: semver: type: string @@ -1220,12 +1230,8 @@ components: node_root_block_height: type: string format: uint64 - protocol_version_start_height: - type: string - format: uint64 - protocol_version_end_height: - type: string - format: uint64 + execution_version_range: + $ref: '#/components/schemas/CompatibleRange' SubscribeEvents: type: object properties: diff --git a/openapi/go-client-generated/README.md b/openapi/go-client-generated/README.md index 101ebd46a..e2bbbf779 100644 --- a/openapi/go-client-generated/README.md +++ b/openapi/go-client-generated/README.md @@ -55,6 +55,7 @@ Class | Method | HTTP request | Description - [Collection](docs/Collection.md) - [CollectionExpandable](docs/CollectionExpandable.md) - [CollectionGuarantee](docs/CollectionGuarantee.md) + - [CompatibleRange](docs/CompatibleRange.md) - [Event](docs/Event.md) - [ExecutionResult](docs/ExecutionResult.md) - [HashingAlgorithm](docs/HashingAlgorithm.md) diff --git a/openapi/go-client-generated/api/swagger.yaml b/openapi/go-client-generated/api/swagger.yaml index 43d422544..6465fd59d 100644 --- a/openapi/go-client-generated/api/swagger.yaml +++ b/openapi/go-client-generated/api/swagger.yaml @@ -2070,13 +2070,26 @@ components: type: string example: chain_id: chain_id + CompatibleRange: + required: + - end_height + - start_height + type: object + properties: + start_height: + type: string + end_height: + type: string + description: A compatible version range. + example: + end_height: end_height + start_height: start_height NodeVersionInfo: required: - commit + - execution_version_range - node_root_block_height - protocol_version - - protocol_version_end_height - - protocol_version_start_height - semver - spork_id - spork_root_block_height @@ -2097,19 +2110,16 @@ components: node_root_block_height: type: string format: uint64 - protocol_version_start_height: - type: string - format: uint64 - protocol_version_end_height: - type: string - format: uint64 + execution_version_range: + $ref: '#/components/schemas/CompatibleRange' example: protocol_version: protocol_version + execution_version_range: + end_height: end_height + start_height: start_height semver: semver commit: commit - protocol_version_start_height: protocol_version_start_height node_root_block_height: node_root_block_height - protocol_version_end_height: protocol_version_end_height spork_id: spork_id spork_root_block_height: spork_root_block_height SubscribeEvents: diff --git a/openapi/go-client-generated/docs/CompatibleRange.md b/openapi/go-client-generated/docs/CompatibleRange.md new file mode 100644 index 000000000..3c5b2f7a2 --- /dev/null +++ b/openapi/go-client-generated/docs/CompatibleRange.md @@ -0,0 +1,10 @@ +# CompatibleRange + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**StartHeight** | **string** | | [default to null] +**EndHeight** | **string** | | [default to null] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + diff --git a/openapi/go-client-generated/docs/NodeVersionInfo.md b/openapi/go-client-generated/docs/NodeVersionInfo.md index 0cfe59df2..52643b8bf 100644 --- a/openapi/go-client-generated/docs/NodeVersionInfo.md +++ b/openapi/go-client-generated/docs/NodeVersionInfo.md @@ -9,8 +9,7 @@ Name | Type | Description | Notes **ProtocolVersion** | **string** | | [default to null] **SporkRootBlockHeight** | **string** | | [default to null] **NodeRootBlockHeight** | **string** | | [default to null] -**ProtocolVersionStartHeight** | **string** | | [default to null] -**ProtocolVersionEndHeight** | **string** | | [default to null] +**ExecutionVersionRange** | [***CompatibleRange**](CompatibleRange.md) | | [default to null] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/openapi/go-client-generated/model_compatible_range.go b/openapi/go-client-generated/model_compatible_range.go new file mode 100644 index 000000000..0d7af94b5 --- /dev/null +++ b/openapi/go-client-generated/model_compatible_range.go @@ -0,0 +1,15 @@ +/* + * Access API + * + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * API version: 1.0.0 + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ +package swagger + +// A compatible version range. +type CompatibleRange struct { + StartHeight string `json:"start_height"` + EndHeight string `json:"end_height"` +} diff --git a/openapi/go-client-generated/model_node_version_info.go b/openapi/go-client-generated/model_node_version_info.go index b8edb0310..6dc96b95f 100644 --- a/openapi/go-client-generated/model_node_version_info.go +++ b/openapi/go-client-generated/model_node_version_info.go @@ -15,6 +15,5 @@ type NodeVersionInfo struct { ProtocolVersion string `json:"protocol_version"` SporkRootBlockHeight string `json:"spork_root_block_height"` NodeRootBlockHeight string `json:"node_root_block_height"` - ProtocolVersionStartHeight string `json:"protocol_version_start_height"` - ProtocolVersionEndHeight string `json:"protocol_version_end_height"` + ExecutionVersionRange *CompatibleRange `json:"execution_version_range"` } From 7e9b700f1ac56f9db457dfbf8bc98f696541dcec Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Fri, 9 Aug 2024 14:37:45 +0300 Subject: [PATCH 462/626] Updated rpc call according to comment --- .../flow/entities/node_version_info.proto | 13 +- .../go/flow/entities/node_version_info.pb.go | 120 ++++++++++++------ 2 files changed, 91 insertions(+), 42 deletions(-) diff --git a/protobuf/flow/entities/node_version_info.proto b/protobuf/flow/entities/node_version_info.proto index c704a1d33..f8c57fd70 100644 --- a/protobuf/flow/entities/node_version_info.proto +++ b/protobuf/flow/entities/node_version_info.proto @@ -5,6 +5,13 @@ package flow.entities; option go_package = "github.com/onflow/flow/protobuf/go/flow/entities"; option java_package = "org.onflow.protobuf.entities"; +message CompatibleRange { + // The first block that the version supports. + uint64 start_height = 1; + // The last block that the version supports. + uint64 end_height = 2; +} + message NodeVersionInfo { // The currently running node software version. string semver = 1; @@ -21,8 +28,6 @@ message NodeVersionInfo { // If the node started after the beginning of the spork, it is the height of the first sealed block // indexed. uint64 node_root_block_height = 6; - // The first block that the node's version supports. - uint64 protocol_version_start_height = 7; - // The last block the node's version supports. - uint64 protocol_version_end_height = 8; + // The compatible execution version range. + CompatibleRange execution_version_range = 7; } diff --git a/protobuf/go/flow/entities/node_version_info.pb.go b/protobuf/go/flow/entities/node_version_info.pb.go index 08b9609c3..b57f1599a 100644 --- a/protobuf/go/flow/entities/node_version_info.pb.go +++ b/protobuf/go/flow/entities/node_version_info.pb.go @@ -20,6 +20,55 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package +type CompatibleRange struct { + // The first block that the version supports. + StartHeight uint64 `protobuf:"varint,1,opt,name=start_height,json=startHeight,proto3" json:"start_height,omitempty"` + // The last block that the version supports. + EndHeight uint64 `protobuf:"varint,2,opt,name=end_height,json=endHeight,proto3" json:"end_height,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CompatibleRange) Reset() { *m = CompatibleRange{} } +func (m *CompatibleRange) String() string { return proto.CompactTextString(m) } +func (*CompatibleRange) ProtoMessage() {} +func (*CompatibleRange) Descriptor() ([]byte, []int) { + return fileDescriptor_ff9e447351cb4a8a, []int{0} +} + +func (m *CompatibleRange) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CompatibleRange.Unmarshal(m, b) +} +func (m *CompatibleRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CompatibleRange.Marshal(b, m, deterministic) +} +func (m *CompatibleRange) XXX_Merge(src proto.Message) { + xxx_messageInfo_CompatibleRange.Merge(m, src) +} +func (m *CompatibleRange) XXX_Size() int { + return xxx_messageInfo_CompatibleRange.Size(m) +} +func (m *CompatibleRange) XXX_DiscardUnknown() { + xxx_messageInfo_CompatibleRange.DiscardUnknown(m) +} + +var xxx_messageInfo_CompatibleRange proto.InternalMessageInfo + +func (m *CompatibleRange) GetStartHeight() uint64 { + if m != nil { + return m.StartHeight + } + return 0 +} + +func (m *CompatibleRange) GetEndHeight() uint64 { + if m != nil { + return m.EndHeight + } + return 0 +} + type NodeVersionInfo struct { // The currently running node software version. Semver string `protobuf:"bytes,1,opt,name=semver,proto3" json:"semver,omitempty"` @@ -36,20 +85,18 @@ type NodeVersionInfo struct { // If the node started after the beginning of the spork, it is the height of the first sealed block // indexed. NodeRootBlockHeight uint64 `protobuf:"varint,6,opt,name=node_root_block_height,json=nodeRootBlockHeight,proto3" json:"node_root_block_height,omitempty"` - // The first block that the node's version supports. - ProtocolVersionStartHeight uint64 `protobuf:"varint,7,opt,name=protocol_version_start_height,json=protocolVersionStartHeight,proto3" json:"protocol_version_start_height,omitempty"` - // The last block the node's version supports. - ProtocolVersionEndHeight uint64 `protobuf:"varint,8,opt,name=protocol_version_end_height,json=protocolVersionEndHeight,proto3" json:"protocol_version_end_height,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + // The compatible execution version range. + ExecutionVersionRange *CompatibleRange `protobuf:"bytes,7,opt,name=execution_version_range,json=executionVersionRange,proto3" json:"execution_version_range,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *NodeVersionInfo) Reset() { *m = NodeVersionInfo{} } func (m *NodeVersionInfo) String() string { return proto.CompactTextString(m) } func (*NodeVersionInfo) ProtoMessage() {} func (*NodeVersionInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ff9e447351cb4a8a, []int{0} + return fileDescriptor_ff9e447351cb4a8a, []int{1} } func (m *NodeVersionInfo) XXX_Unmarshal(b []byte) error { @@ -112,21 +159,15 @@ func (m *NodeVersionInfo) GetNodeRootBlockHeight() uint64 { return 0 } -func (m *NodeVersionInfo) GetProtocolVersionStartHeight() uint64 { +func (m *NodeVersionInfo) GetExecutionVersionRange() *CompatibleRange { if m != nil { - return m.ProtocolVersionStartHeight + return m.ExecutionVersionRange } - return 0 -} - -func (m *NodeVersionInfo) GetProtocolVersionEndHeight() uint64 { - if m != nil { - return m.ProtocolVersionEndHeight - } - return 0 + return nil } func init() { + proto.RegisterType((*CompatibleRange)(nil), "flow.entities.CompatibleRange") proto.RegisterType((*NodeVersionInfo)(nil), "flow.entities.NodeVersionInfo") } @@ -135,24 +176,27 @@ func init() { } var fileDescriptor_ff9e447351cb4a8a = []byte{ - // 304 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x91, 0x4f, 0x4b, 0x03, 0x31, - 0x10, 0xc5, 0xd9, 0x5a, 0xdb, 0x1a, 0x94, 0x4a, 0x94, 0x1a, 0xff, 0x41, 0x11, 0x84, 0x7a, 0xd9, - 0x08, 0xc5, 0xa3, 0x07, 0x0b, 0x82, 0xbd, 0x88, 0xac, 0xe0, 0xc1, 0x4b, 0x70, 0x37, 0xd9, 0x6d, - 0x68, 0x37, 0x53, 0xb2, 0x69, 0xfd, 0xe4, 0xde, 0x65, 0x27, 0x1b, 0xc1, 0xed, 0x25, 0x30, 0xf3, - 0xde, 0xef, 0xcd, 0x84, 0x21, 0xb7, 0xf9, 0x0a, 0xbe, 0xb9, 0x32, 0x4e, 0x3b, 0xad, 0x2a, 0x6e, - 0x40, 0x2a, 0xb1, 0x55, 0xb6, 0xd2, 0x60, 0x84, 0x36, 0x39, 0xc4, 0x6b, 0x0b, 0x0e, 0xe8, 0x51, - 0x6d, 0x8b, 0x83, 0xed, 0xe6, 0xa7, 0x43, 0x86, 0xaf, 0x20, 0xd5, 0x87, 0x77, 0xce, 0x4d, 0x0e, - 0x74, 0x44, 0x7a, 0x95, 0x2a, 0xb7, 0xca, 0xb2, 0x68, 0x1c, 0x4d, 0x0e, 0x92, 0xa6, 0xaa, 0xfb, - 0x19, 0x94, 0xa5, 0x76, 0xac, 0xe3, 0xfb, 0xbe, 0xa2, 0xe7, 0x64, 0x50, 0xad, 0xc1, 0x2e, 0x85, - 0x96, 0x6c, 0x6f, 0x1c, 0x4d, 0x0e, 0x93, 0x3e, 0xd6, 0x73, 0x49, 0xef, 0xc8, 0x31, 0x8e, 0xcd, - 0x60, 0x15, 0x96, 0x61, 0xdd, 0x71, 0x34, 0xe9, 0x26, 0xc3, 0xd0, 0x6f, 0x26, 0xd3, 0x07, 0x72, - 0xe6, 0x53, 0x2c, 0x80, 0x13, 0xe9, 0x0a, 0xb2, 0xa5, 0x58, 0x28, 0x5d, 0x2c, 0x1c, 0xdb, 0x47, - 0xe2, 0x14, 0xe5, 0x04, 0xc0, 0xcd, 0x6a, 0xf1, 0x05, 0x35, 0x3a, 0x25, 0x23, 0xfc, 0xea, 0x2e, - 0xd5, 0x43, 0xea, 0xa4, 0x56, 0xdb, 0xd0, 0x13, 0xb9, 0x6e, 0xaf, 0x25, 0x2a, 0xf7, 0x65, 0x5d, - 0x60, 0xfb, 0xc8, 0x5e, 0xb4, 0x76, 0x7c, 0xaf, 0x2d, 0x4d, 0xc4, 0x23, 0xb9, 0xdc, 0x89, 0x50, - 0x46, 0x86, 0x80, 0x01, 0x06, 0xb0, 0x56, 0xc0, 0xb3, 0x91, 0x1e, 0x9f, 0xbd, 0x91, 0x2b, 0xb0, - 0x45, 0x0c, 0x06, 0xcf, 0x81, 0xb6, 0x74, 0x93, 0xff, 0xdd, 0xe5, 0xf3, 0xbe, 0xd0, 0x6e, 0xb1, - 0x49, 0xe3, 0x0c, 0x4a, 0xee, 0x4d, 0x1c, 0x9f, 0xe0, 0xe4, 0x05, 0xf0, 0x7f, 0x07, 0x4f, 0x7b, - 0x28, 0x4d, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x1d, 0x5b, 0x26, 0x08, 0x02, 0x00, 0x00, + // 341 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x52, 0xcf, 0x4e, 0xfa, 0x40, + 0x10, 0x4e, 0xf9, 0xf1, 0x03, 0x59, 0x30, 0x98, 0x55, 0xa1, 0x26, 0x6a, 0x90, 0xc4, 0x04, 0x2f, + 0xad, 0x91, 0xf8, 0x02, 0x78, 0x91, 0x8b, 0x31, 0x6b, 0xc2, 0xc1, 0x4b, 0x43, 0xdb, 0x69, 0xd9, + 0xd0, 0xee, 0x90, 0xed, 0x82, 0xbe, 0xa3, 0x2f, 0x65, 0x3a, 0xed, 0x92, 0x80, 0x97, 0x26, 0xf3, + 0xfd, 0x99, 0x9d, 0xef, 0x4b, 0xd9, 0x7d, 0x92, 0xe1, 0x97, 0x0f, 0xca, 0x48, 0x23, 0xa1, 0xf0, + 0x15, 0xc6, 0x10, 0xec, 0x40, 0x17, 0x12, 0x55, 0x20, 0x55, 0x82, 0xde, 0x46, 0xa3, 0x41, 0x7e, + 0x5a, 0xca, 0x3c, 0x2b, 0x1b, 0x7f, 0xb0, 0xfe, 0x0b, 0xe6, 0x9b, 0xa5, 0x91, 0x61, 0x06, 0x62, + 0xa9, 0x52, 0xe0, 0x77, 0xac, 0x57, 0x98, 0xa5, 0x36, 0xc1, 0x0a, 0x64, 0xba, 0x32, 0xae, 0x33, + 0x72, 0x26, 0x4d, 0xd1, 0x25, 0xec, 0x95, 0x20, 0x7e, 0xc3, 0x18, 0xa8, 0xd8, 0x0a, 0x1a, 0x24, + 0xe8, 0x80, 0x8a, 0x2b, 0x7a, 0xfc, 0xd3, 0x60, 0xfd, 0x37, 0x8c, 0x61, 0x51, 0x3d, 0x3f, 0x57, + 0x09, 0xf2, 0x01, 0x6b, 0x15, 0x90, 0xef, 0x40, 0xd3, 0xbe, 0x8e, 0xa8, 0xa7, 0x12, 0x8f, 0x30, + 0xcf, 0x65, 0xb5, 0xa6, 0x23, 0xea, 0x89, 0x5f, 0xb1, 0x93, 0x62, 0x83, 0x7a, 0x1d, 0xc8, 0xd8, + 0xfd, 0x37, 0x72, 0x26, 0x3d, 0xd1, 0xa6, 0x79, 0x1e, 0xf3, 0x07, 0x76, 0x46, 0x59, 0x22, 0xcc, + 0x6c, 0x42, 0xb7, 0x49, 0x37, 0xf4, 0x2d, 0x5e, 0xbf, 0xcc, 0x9f, 0xd9, 0xb0, 0xda, 0xa2, 0x11, + 0x4d, 0x10, 0x66, 0x18, 0xad, 0xed, 0xd5, 0xff, 0xc9, 0x71, 0x41, 0xb4, 0x40, 0x34, 0xb3, 0x92, + 0xac, 0xf3, 0x4d, 0xd9, 0x80, 0xfa, 0xfb, 0xeb, 0x6a, 0x91, 0xeb, 0xbc, 0x64, 0x8f, 0x4d, 0x0b, + 0x36, 0x84, 0x6f, 0x88, 0xb6, 0xa6, 0x6c, 0xdc, 0x36, 0xaf, 0xcb, 0x4a, 0xdd, 0xf6, 0xc8, 0x99, + 0x74, 0x9f, 0x6e, 0xbd, 0x83, 0xee, 0xbd, 0xa3, 0xe2, 0xc5, 0xe5, 0xde, 0x5e, 0x9f, 0x4f, 0xf0, + 0xec, 0x9d, 0x5d, 0xa3, 0x4e, 0x3d, 0x54, 0xe4, 0xa6, 0x84, 0xe1, 0x36, 0xd9, 0xaf, 0xf9, 0x7c, + 0x4c, 0xa5, 0x59, 0x6d, 0x43, 0x2f, 0xc2, 0xdc, 0xaf, 0x44, 0x3e, 0x7d, 0xac, 0xd2, 0x4f, 0xd1, + 0x3f, 0xf8, 0x37, 0xc2, 0x16, 0x51, 0xd3, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x25, 0xf3, + 0xba, 0x33, 0x02, 0x00, 0x00, } From 72fdc9e2dcffb3af6c4444c102e50df6220afc47 Mon Sep 17 00:00:00 2001 From: UlyanaAndrukhiv Date: Mon, 12 Aug 2024 13:59:51 +0300 Subject: [PATCH 463/626] Renamed according to comment --- openapi/access.yaml | 3 +- openapi/go-client-generated/api/swagger.yaml | 7 +-- .../docs/NodeVersionInfo.md | 2 +- .../model_node_version_info.go | 2 +- .../flow/entities/node_version_info.proto | 4 +- .../go/flow/entities/node_version_info.pb.go | 59 +++++++++---------- 6 files changed, 37 insertions(+), 40 deletions(-) diff --git a/openapi/access.yaml b/openapi/access.yaml index 92d084540..441fbaae4 100644 --- a/openapi/access.yaml +++ b/openapi/access.yaml @@ -1213,7 +1213,6 @@ components: - protocol_version - spork_root_block_height - node_root_block_height - - execution_version_range properties: semver: type: string @@ -1230,7 +1229,7 @@ components: node_root_block_height: type: string format: uint64 - execution_version_range: + compatible_range: $ref: '#/components/schemas/CompatibleRange' SubscribeEvents: type: object diff --git a/openapi/go-client-generated/api/swagger.yaml b/openapi/go-client-generated/api/swagger.yaml index 6465fd59d..3f4abf614 100644 --- a/openapi/go-client-generated/api/swagger.yaml +++ b/openapi/go-client-generated/api/swagger.yaml @@ -2087,7 +2087,6 @@ components: NodeVersionInfo: required: - commit - - execution_version_range - node_root_block_height - protocol_version - semver @@ -2110,14 +2109,14 @@ components: node_root_block_height: type: string format: uint64 - execution_version_range: + compatible_range: $ref: '#/components/schemas/CompatibleRange' example: protocol_version: protocol_version - execution_version_range: + semver: semver + compatible_range: end_height: end_height start_height: start_height - semver: semver commit: commit node_root_block_height: node_root_block_height spork_id: spork_id diff --git a/openapi/go-client-generated/docs/NodeVersionInfo.md b/openapi/go-client-generated/docs/NodeVersionInfo.md index 52643b8bf..4a06efc68 100644 --- a/openapi/go-client-generated/docs/NodeVersionInfo.md +++ b/openapi/go-client-generated/docs/NodeVersionInfo.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **ProtocolVersion** | **string** | | [default to null] **SporkRootBlockHeight** | **string** | | [default to null] **NodeRootBlockHeight** | **string** | | [default to null] -**ExecutionVersionRange** | [***CompatibleRange**](CompatibleRange.md) | | [default to null] +**CompatibleRange** | [***CompatibleRange**](CompatibleRange.md) | | [optional] [default to null] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/openapi/go-client-generated/model_node_version_info.go b/openapi/go-client-generated/model_node_version_info.go index 6dc96b95f..3e550a191 100644 --- a/openapi/go-client-generated/model_node_version_info.go +++ b/openapi/go-client-generated/model_node_version_info.go @@ -15,5 +15,5 @@ type NodeVersionInfo struct { ProtocolVersion string `json:"protocol_version"` SporkRootBlockHeight string `json:"spork_root_block_height"` NodeRootBlockHeight string `json:"node_root_block_height"` - ExecutionVersionRange *CompatibleRange `json:"execution_version_range"` + CompatibleRange *CompatibleRange `json:"compatible_range,omitempty"` } diff --git a/protobuf/flow/entities/node_version_info.proto b/protobuf/flow/entities/node_version_info.proto index f8c57fd70..90c8edd89 100644 --- a/protobuf/flow/entities/node_version_info.proto +++ b/protobuf/flow/entities/node_version_info.proto @@ -28,6 +28,6 @@ message NodeVersionInfo { // If the node started after the beginning of the spork, it is the height of the first sealed block // indexed. uint64 node_root_block_height = 6; - // The compatible execution version range. - CompatibleRange execution_version_range = 7; + // The compatible version range. + CompatibleRange compatible_range = 7; } diff --git a/protobuf/go/flow/entities/node_version_info.pb.go b/protobuf/go/flow/entities/node_version_info.pb.go index b57f1599a..d50ecfa9f 100644 --- a/protobuf/go/flow/entities/node_version_info.pb.go +++ b/protobuf/go/flow/entities/node_version_info.pb.go @@ -85,11 +85,11 @@ type NodeVersionInfo struct { // If the node started after the beginning of the spork, it is the height of the first sealed block // indexed. NodeRootBlockHeight uint64 `protobuf:"varint,6,opt,name=node_root_block_height,json=nodeRootBlockHeight,proto3" json:"node_root_block_height,omitempty"` - // The compatible execution version range. - ExecutionVersionRange *CompatibleRange `protobuf:"bytes,7,opt,name=execution_version_range,json=executionVersionRange,proto3" json:"execution_version_range,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + // The compatible version range. + CompatibleRange *CompatibleRange `protobuf:"bytes,7,opt,name=compatible_range,json=compatibleRange,proto3" json:"compatible_range,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *NodeVersionInfo) Reset() { *m = NodeVersionInfo{} } @@ -159,9 +159,9 @@ func (m *NodeVersionInfo) GetNodeRootBlockHeight() uint64 { return 0 } -func (m *NodeVersionInfo) GetExecutionVersionRange() *CompatibleRange { +func (m *NodeVersionInfo) GetCompatibleRange() *CompatibleRange { if m != nil { - return m.ExecutionVersionRange + return m.CompatibleRange } return nil } @@ -176,27 +176,26 @@ func init() { } var fileDescriptor_ff9e447351cb4a8a = []byte{ - // 341 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x52, 0xcf, 0x4e, 0xfa, 0x40, - 0x10, 0x4e, 0xf9, 0xf1, 0x03, 0x59, 0x30, 0x98, 0x55, 0xa1, 0x26, 0x6a, 0x90, 0xc4, 0x04, 0x2f, - 0xad, 0x91, 0xf8, 0x02, 0x78, 0x91, 0x8b, 0x31, 0x6b, 0xc2, 0xc1, 0x4b, 0x43, 0xdb, 0x69, 0xd9, - 0xd0, 0xee, 0x90, 0xed, 0x82, 0xbe, 0xa3, 0x2f, 0x65, 0x3a, 0xed, 0x92, 0x80, 0x97, 0x26, 0xf3, - 0xfd, 0x99, 0x9d, 0xef, 0x4b, 0xd9, 0x7d, 0x92, 0xe1, 0x97, 0x0f, 0xca, 0x48, 0x23, 0xa1, 0xf0, - 0x15, 0xc6, 0x10, 0xec, 0x40, 0x17, 0x12, 0x55, 0x20, 0x55, 0x82, 0xde, 0x46, 0xa3, 0x41, 0x7e, - 0x5a, 0xca, 0x3c, 0x2b, 0x1b, 0x7f, 0xb0, 0xfe, 0x0b, 0xe6, 0x9b, 0xa5, 0x91, 0x61, 0x06, 0x62, - 0xa9, 0x52, 0xe0, 0x77, 0xac, 0x57, 0x98, 0xa5, 0x36, 0xc1, 0x0a, 0x64, 0xba, 0x32, 0xae, 0x33, - 0x72, 0x26, 0x4d, 0xd1, 0x25, 0xec, 0x95, 0x20, 0x7e, 0xc3, 0x18, 0xa8, 0xd8, 0x0a, 0x1a, 0x24, - 0xe8, 0x80, 0x8a, 0x2b, 0x7a, 0xfc, 0xd3, 0x60, 0xfd, 0x37, 0x8c, 0x61, 0x51, 0x3d, 0x3f, 0x57, - 0x09, 0xf2, 0x01, 0x6b, 0x15, 0x90, 0xef, 0x40, 0xd3, 0xbe, 0x8e, 0xa8, 0xa7, 0x12, 0x8f, 0x30, - 0xcf, 0x65, 0xb5, 0xa6, 0x23, 0xea, 0x89, 0x5f, 0xb1, 0x93, 0x62, 0x83, 0x7a, 0x1d, 0xc8, 0xd8, - 0xfd, 0x37, 0x72, 0x26, 0x3d, 0xd1, 0xa6, 0x79, 0x1e, 0xf3, 0x07, 0x76, 0x46, 0x59, 0x22, 0xcc, - 0x6c, 0x42, 0xb7, 0x49, 0x37, 0xf4, 0x2d, 0x5e, 0xbf, 0xcc, 0x9f, 0xd9, 0xb0, 0xda, 0xa2, 0x11, - 0x4d, 0x10, 0x66, 0x18, 0xad, 0xed, 0xd5, 0xff, 0xc9, 0x71, 0x41, 0xb4, 0x40, 0x34, 0xb3, 0x92, - 0xac, 0xf3, 0x4d, 0xd9, 0x80, 0xfa, 0xfb, 0xeb, 0x6a, 0x91, 0xeb, 0xbc, 0x64, 0x8f, 0x4d, 0x0b, - 0x36, 0x84, 0x6f, 0x88, 0xb6, 0xa6, 0x6c, 0xdc, 0x36, 0xaf, 0xcb, 0x4a, 0xdd, 0xf6, 0xc8, 0x99, - 0x74, 0x9f, 0x6e, 0xbd, 0x83, 0xee, 0xbd, 0xa3, 0xe2, 0xc5, 0xe5, 0xde, 0x5e, 0x9f, 0x4f, 0xf0, - 0xec, 0x9d, 0x5d, 0xa3, 0x4e, 0x3d, 0x54, 0xe4, 0xa6, 0x84, 0xe1, 0x36, 0xd9, 0xaf, 0xf9, 0x7c, - 0x4c, 0xa5, 0x59, 0x6d, 0x43, 0x2f, 0xc2, 0xdc, 0xaf, 0x44, 0x3e, 0x7d, 0xac, 0xd2, 0x4f, 0xd1, - 0x3f, 0xf8, 0x37, 0xc2, 0x16, 0x51, 0xd3, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x25, 0xf3, - 0xba, 0x33, 0x02, 0x00, 0x00, + // 331 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x52, 0xcd, 0x4a, 0xc3, 0x40, + 0x10, 0x26, 0xb5, 0xb6, 0x76, 0x5a, 0x49, 0x59, 0xa5, 0x46, 0x50, 0xa9, 0x05, 0xa1, 0x5e, 0x12, + 0xb1, 0xf8, 0x02, 0xf5, 0x62, 0x2f, 0x22, 0x2b, 0x78, 0xf0, 0x12, 0x9a, 0x64, 0x93, 0x2e, 0x4d, + 0x76, 0xca, 0x66, 0x5b, 0xdf, 0xce, 0x67, 0x93, 0x4c, 0xb2, 0x85, 0xd6, 0x4b, 0x60, 0xbe, 0x9f, + 0xd9, 0xf9, 0x3e, 0x02, 0x0f, 0x69, 0x8e, 0x3f, 0x81, 0x50, 0x46, 0x1a, 0x29, 0xca, 0x40, 0x61, + 0x22, 0xc2, 0x9d, 0xd0, 0xa5, 0x44, 0x15, 0x4a, 0x95, 0xa2, 0xbf, 0xd1, 0x68, 0x90, 0x9d, 0x57, + 0x32, 0xdf, 0xca, 0x26, 0x9f, 0xe0, 0xbe, 0x62, 0xb1, 0x59, 0x1a, 0x19, 0xe5, 0x82, 0x2f, 0x55, + 0x26, 0xd8, 0x3d, 0x0c, 0x4a, 0xb3, 0xd4, 0x26, 0x5c, 0x09, 0x99, 0xad, 0x8c, 0xe7, 0x8c, 0x9d, + 0x69, 0x9b, 0xf7, 0x09, 0x7b, 0x23, 0x88, 0xdd, 0x02, 0x08, 0x95, 0x58, 0x41, 0x8b, 0x04, 0x3d, + 0xa1, 0x92, 0x9a, 0x9e, 0xfc, 0xb6, 0xc0, 0x7d, 0xc7, 0x44, 0x7c, 0xd5, 0xcf, 0x2f, 0x54, 0x8a, + 0x6c, 0x04, 0x9d, 0x52, 0x14, 0x3b, 0xa1, 0x69, 0x5f, 0x8f, 0x37, 0x53, 0x85, 0xc7, 0x58, 0x14, + 0xb2, 0x5e, 0xd3, 0xe3, 0xcd, 0xc4, 0xae, 0xe1, 0xac, 0xdc, 0xa0, 0x5e, 0x87, 0x32, 0xf1, 0x4e, + 0xc6, 0xce, 0x74, 0xc0, 0xbb, 0x34, 0x2f, 0x12, 0xf6, 0x08, 0x43, 0xca, 0x12, 0x63, 0x6e, 0x13, + 0x7a, 0x6d, 0xba, 0xc1, 0xb5, 0x78, 0xf3, 0x32, 0x7b, 0x81, 0xab, 0x7a, 0x8b, 0x46, 0x34, 0x61, + 0x94, 0x63, 0xbc, 0xb6, 0x57, 0x9f, 0x92, 0xe3, 0x92, 0x68, 0x8e, 0x68, 0xe6, 0x15, 0xd9, 0xe4, + 0x9b, 0xc1, 0x88, 0xfa, 0xfb, 0xef, 0xea, 0x90, 0xeb, 0xa2, 0x62, 0x8f, 0x4d, 0x0b, 0x18, 0xc6, + 0xfb, 0x2a, 0x43, 0x5d, 0x75, 0xe9, 0x75, 0xc7, 0xce, 0xb4, 0xff, 0x7c, 0xe7, 0x1f, 0x94, 0xee, + 0x1f, 0x35, 0xce, 0xdd, 0xf8, 0x10, 0x98, 0x7f, 0xc0, 0x0d, 0xea, 0xcc, 0x47, 0x45, 0x3e, 0x0a, + 0x15, 0x6d, 0xd3, 0xfd, 0x82, 0xef, 0xa7, 0x4c, 0x9a, 0xd5, 0x36, 0xf2, 0x63, 0x2c, 0x82, 0x5a, + 0x14, 0xd0, 0xc7, 0x2a, 0x83, 0x0c, 0x83, 0x83, 0xdf, 0x21, 0xea, 0x10, 0x35, 0xfb, 0x0b, 0x00, + 0x00, 0xff, 0xff, 0xf6, 0x11, 0xfd, 0x6f, 0x26, 0x02, 0x00, 0x00, } From 94af5bcc59064a8d2981e420f08189af383eba17 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 14 Aug 2024 11:14:07 -0700 Subject: [PATCH 464/626] Create 2024-08-16-Flow-Sprint-Kickoff.md --- .../2024-08-16-Flow-Sprint-Kickoff.md | 303 ++++++++++++++++++ 1 file changed, 303 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..5b1dcf342 --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -0,0 +1,303 @@ +# Overview + +### Team Wins 🎉 +- + + + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (08/02/24 to 08/15/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.833% | 167% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +[YTD SLA: 99.922%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents + +### Mainnet +- Sev 4 - 07/18: Consensus nodes crashed intermittently due to OOM. [Slack thread](https://flow-foundation.slack.com/archives/CUU2KQL4A/p1721310960751829) + +(Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) + +### Key Release Dates & Breaking Changes +- Next Mainnet/Testnet network upgrade (spork): + - Testnet: Aug 14th 8:00 AM PT (3:00 PM UTC). Duration: 6 hours + - Mainnet: Sept 4th **5:00 AM PT** (12:00 PM UTC). Duration: 6 hours + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 8 | 8 (-1) | 0 | 7 | **23** (-1) | +| Proposed | 1 | 2 | 3 (+1) | 0 | **6** (+1) | +| Accepted | 2 | 1 | 2 | 2 (+1) | **7** (+1) | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 | 24 (+2) | 1 | 0 | **28** | +| Released | 4 | 0 | 4 (+1) | 6 | **14** (+1) | +| Total | **18** (+1) | **35** (+1) | **11** (+1) | **15** | **79** (+3) | + +**Updates** +* Crescendo Network Upgrade - proposed +* Changing import statement semantics - accepted +* Import of pre-Cadence 1.0 Programs - proposed and accepted + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + + +**This sprint** + + - Objective 1, KR4: Testnet Upgrade to Crescendo Release + - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) + - Investigate / Fix any security report incoming from bug bounty. + - Upgrade TN to Crescendo release + + - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN + - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +- EVM + - Continue testing EVM GW stability + - KROK + - EVM Gateway benchmarking + +**Completed OKRs** + * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades + * All breaking released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + * Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind + * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +**On Hold** + + - Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs + * Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +- Other + * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + * Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [IN PROGRESS] +* Reduce CPU usage on Execution node by 30% [DONE] +* Translate crypto performance improvements to consensus block rate increase [DONE] +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + + +**This sprint** + +* EFM Recovery + - EFM Recovery Process (cont.) + - [Integration Test](https://github.com/onflow/flow-go/issues/6164) - test failure cases + - [Smart contract changes](https://github.com/onflow/flow-core-contracts/pull/440) + - [DKG Data Model](https://github.com/onflow/flow-go/issues/6214) + - Modifying data model for DKG outputs to support DKG committee != consenssu committee + +* Data Availability: + - ProtocolDB pruning design + - Testing ChunkDataPack DB pruning PoC + - KROK Team + - Add support for version beacon events to control script execution ([Issue #5789](https://github.com/onflow/flow-go/issues/5789) - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) + - Add support pruning pebble exec data db ([Issue #6260](https://github.com/onflow/flow-go/issues/6260)) + - Add REST endpoints for getting account keys and balance ([Issue #6228](https://github.com/onflow/flow-go/issues/6228) - in review) + - Expand on payer balance checks ([Issue #6128](https://github.com/onflow/flow-go/issues/6128), [Issue #6129](https://github.com/onflow/flow-go/issues/6129), [Issue #6139](https://github.com/onflow/flow-go/issues/6139)) + - Start registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + +* Cryptography: + - java-SDK: more tests on transaction signing and prepare for a release + - crypto module: integrate the new BLST release + - back to SPoCK aggregation if possible: contine with BLS aggregation security proofs + +* Rosetta: + - KROK: + - Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) + +* Protocol misc + - Preparing for Testnet Spork + - [Consensus Timing Changes]([url](https://flowfoundation.notion.site/Cruise-Control-headroom-for-speedups-46dc17e07ae14462b03341e4432a907d?pvs=4)) + + +**On Hold** +* Implement BFT mitigations to enable 20 permissionless ANs + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- Cadence 1.0 DEX Prep - IncrementFi +- EVM partner onboarding +- Deliver Axelar bridge [PAUSED] + +**Done last sprint** + + + +**This sprint** + * JVM-SDK + * Review [Add missing Access API subscription endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/58) + * Complete [Add missing Access API endpoints](https://github.com/onflow/flow-jvm-sdk/pull/63) + * Review signature and hash update PRs, [1](https://github.com/onflow/flow-jvm-sdk/pull/53) & [2](https://github.com/onflow/flow-jvm-sdk/pull/52) + * Merge: [Migrate SDK examples repo to improved project structure](https://github.com/onflow/flow-jvm-sdk/pull/62) + * [Update Cadence to 1.0](https://github.com/onflow/flow-jvm-sdk/issues/60) + * Partner support + * Install Ethereum Attestion Service (EAS) on Previewnet (Credora requirement) + +**On Hold** + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + + +**This sprint** +**Sprint goal focusing on: Flow Cross VM Bridge, FCL x Discovery Revamp, Crescendo Rewards** + +- wUSDC Swap UI (Flow Port) +- [wUSDC Contract](https://github.com/onflow/bridged-usdc) +- [EPIC] Crescendo Rewards Portal + - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) + - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) + - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) +- [EPIC FCL WalletConnect + Discovery Improvements](https://github.com/onflow/fcl-js/issues/1872) +- [EPIC Solving Initialization/Storage Issues - Lost and Found FLIP and Port integration](https://github.com/onflow/flow-port/issues/292) +- [EPIC - EVM Bridge - bridge.flow.com](https://github.com/onflow/flow-bridge-app/issues/1) + +**On Hold** + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +**This sprint** + +- Continue & Ship Account Linking UI/UX and functionality +- Continue to best support Secure Enclave + - User migration from Extension (seed phrase) to mobile (secure enclave) wallet security + - Explaining differences between seed phrase / SE wallets + - Profile account recovery - one backup to a users multiple primary accounts + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Migrate CloudFlare zones to new account +- Prepare for Crescendo TN spork +- Assist with EVM GW monitoring & preparation + +**Done last sprint** + + +**This Sprint** +- Continue Migrating CloudFlare zones +- Prepare EVM Gateway for TN Network Upgrade +- Prepare Infra & configuration for TN Network upgrade +- Assist with EVM Gateway Monitoring & Alerting + +--- + +### **Governance and Tokenomics** \[Kshitij] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** +- EN operator contract for lease +- Work with Dete on future fee on Flow (not be launched with Crescendo launch) + +**This sprint** +- Get the execution node live +- Continue supporting rewards platform team on Tokenomics related analysis +- Model stable state economics, throughput, fees and inflation +- Draft research doc that explains the vision +- Organize monthly GWG + +**On Hold** + + +**Active Epics** + +- N/A From fa96374a9e60d3e6f5a29df291ff11b30446f19a Mon Sep 17 00:00:00 2001 From: Leo Zhang Date: Wed, 14 Aug 2024 12:30:08 -0700 Subject: [PATCH 465/626] add testnet51 (#1497) --- sporks.json | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/sporks.json b/sporks.json index 8935dab0c..f35485917 100644 --- a/sporks.json +++ b/sporks.json @@ -1262,9 +1262,48 @@ } }, "testnet": { + "testnet51": { + "id": 51, + "live": true, + "name": "Testnet51", + "sporkTime": "2024-08-14T15:00:00Z", + "rootHeight": "211176670", + "rootParentId": "c92e07e5d4fbb3a64e0091085a190a4a1119bfc628c71efe513e373dc0482f5a", + "rootStateCommitment": "c3af77992f253f4dcfeac808912ff68e6f10923aa3fc4541a2e39eb9786c9eb3", + "gitCommitHash": "eeac47931cd6837ec6e29c4c0480609238959ccd", + "stateArtefacts": { + "gcp": { + "rootCheckpointFile": "https://storage.googleapis.com/flow-genesis-bootstrap/testnet-51-execution/public-root-information/root.checkpoint", + "rootProtocolStateSnapshot": "https://storage.googleapis.com/flow-genesis-bootstrap/testnet-51/public-root-information/root-protocol-state-snapshot.json", + "rootProtocolStateSnapshotSignature": "https://storage.googleapis.com/flow-genesis-bootstrap/testnet-51/public-root-information/root-protocol-state-snapshot.json.asc", + "nodeInfo": "https://storage.googleapis.com/flow-genesis-bootstrap/testnet-51/public-root-information/node-infos.pub.json" + }, + "s3": { + "rootCheckpointFile": "", + "rootProtocolStateSnapshot": "", + "nodeInfo": "", + "executionStateBucket": "" + } + }, + "tags": { + "flow-go-tag": "v0.37.1", + "flow-dps-tag": "v0.37.1", + "cadence-tag": "v0.37.1", + "docker-tag": "v0.37.1" + }, + "accessNodes": [ + "access.devnet.nodes.onflow.org:9000" + ], + "seedNodes": [ + { + "address": "access-003.devnet51.nodes.onflow.org:3570", + "key": "b662102f4184fc1caeb2933cf87bba75cdd37758926584c0ce8a90549bb12ee0f9115111bbbb6acc2b889461208533369a91e8321eaf6bcb871a788ddd6bfbf7" + } + ] + }, "testnet50": { "id": 50, - "live": true, + "live": false, "name": "Testnet50", "sporkTime": "2024-05-20T08:00:00Z", "rootHeight": "185185854", @@ -1292,15 +1331,15 @@ "docker-tag": "v0.33.23-failure-mode-revert-patch" }, "accessNodes": [ - "access.devnet.nodes.onflow.org:9000" + "access-001.devnet50.nodes.onflow.org:9000" ], "seedNodes": [ { - "address": "access-003.devnet50.nodes.onflow.org:3570", + "address": "access-001.devnet50.nodes.onflow.org:3570", "key": "b662102f4184fc1caeb2933cf87bba75cdd37758926584c0ce8a90549bb12ee0f9115111bbbb6acc2b889461208533369a91e8321eaf6bcb871a788ddd6bfbf7" } ] - }, + }, "testnet49": { "id": 49, "live": false, From 306ad67be1fc79be77477936afc79b69f05ac0c2 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Wed, 14 Aug 2024 17:04:21 -0600 Subject: [PATCH 466/626] Update infra section --- .../2024-08-16-Flow-Sprint-Kickoff.md | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index 5b1dcf342..2d70efb81 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -266,18 +266,36 @@ Cycle Objective(s): ### **Infra - JP** Cycle Objective(s): -- Migrate CloudFlare zones to new account -- Prepare for Crescendo TN spork -- Assist with EVM GW monitoring & preparation +- Prepare flow.com, onflow.org & nodes.onflow.org domains for CloudFlare account migration +- Prepare to spork FF & DL nodes **Done last sprint** +**CloudFlare** +- [Migrate benchmark.onflow.org & benchnet.onflow.org to FF CloudFlare account](https://github.com/dapperlabs/terraform/pull/4319/files) + +**EVM Gateway** +- [Create infra for Devnet EVM GW](https://github.com/dapperlabs/terraform/pull/4321) +- [Create KMS keys for Devnet EVM GW](https://github.com/dapperlabs/terraform/pull/4320) +- [Fix DNS records for Devnet EVM GW](https://github.com/dapperlabs/terraform/pull/4324) +- [Create EVM GW Ansible config for Devnet](https://github.com/dapperlabs/dapper-flow-hosting/pull/1559) +- [Create Dashboard for EVM GW Monitoring](https://flowfoundation.grafana.net/d/fdtxeq977nif4d/evm-gateway?var-network=devnet0&var-lb=testnet&from=now-5m&to=now&timezone=browser) +- [Create Documentation for Monitoring & Access](https://www.notion.so/flowfoundation/EVM-Gateway-b5e363611abf4dfa963a471877cb5b92) +- Create Alerts for Monitoring EVM GW System usage + +**Spork** +- [Create Ansible Configuration for TN51 spork](https://github.com/dapperlabs/dapper-flow-hosting/pull/1558) +- [Create Infra for TN51 Spork](https://github.com/dapperlabs/dapper-flow-hosting/pull/1558) +- [Create Buckets for traces](https://github.com/dapperlabs/terraform/pull/4334) + +**Support** +- [Create DNS record for bridge.flow.com](https://github.com/dapperlabs/terraform/pull/4335/files) +- [Create KMS Key for USDC Contract](https://github.com/dapperlabs/terraform/pull/4326) **This Sprint** -- Continue Migrating CloudFlare zones -- Prepare EVM Gateway for TN Network Upgrade -- Prepare Infra & configuration for TN Network upgrade -- Assist with EVM Gateway Monitoring & Alerting +- Prepare CloudFlare zones for flow.com, onflow.org, and nodes.onflow.org migration +- Deploy MN EVM GW in preparation for MN spork +- Prepare Infra & configuration for MN Network upgrade --- From f67c14bb77383d284da7d23d8d050e35c1bad797 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Thu, 15 Aug 2024 14:35:02 -0700 Subject: [PATCH 467/626] 4D Update 2024-08-16 --- .../2024-08-16-Flow-Sprint-Kickoff.md | 87 ++++++++++++++++++- 1 file changed, 83 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index 2d70efb81..6aa666361 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -1,7 +1,9 @@ # Overview ### Team Wins 🎉 -- +- Testnet Faucet is working with Cadence 1.0 +- USDCflow - Contract Deployment, [Docs](https://cadence-lang.org/docs/1.0/cadence-migration-guide/usdc-migration), and Flow Port Swap + @@ -198,12 +200,89 @@ Cycle Objective(s): **Done last sprint** +**Crescendo Rewards** + +**Smart Contracts** +- Deployed Rewards Contract to Testnet +- Successfully staged and migrated + +**Backend** + +- [Update Cadence code for minted fields]https://github.com/onflow/crescendo-rewards-be/issues/62) +- [Remove accounts table](https://github.com/onflow/crescendo-rewards-be/issues/32) +- [Script/Tx config based on environment](https://github.com/onflow/crescendo-rewards-be/issues/67) +- [Setup last synced](https://github.com/onflow/crescendo-rewards-be/pull/69) +- [Setup environment configurations](https://github.com/onflow/crescendo-rewards-be/issues/74) +- [Setup testing](https://github.com/onflow/crescendo-rewards-be/issues/76) + +**Frontend** + +- [Create new partner card](https://github.com/onflow/crescendo-rewards/issues/78) +- [Refactor countdown card to use on various pages](https://github.com/onflow/crescendo-rewards/issues/80) +- [Add locking form](https://github.com/onflow/crescendo-rewards/pull/83) +- [Setup flow configuration](https://github.com/onflow/crescendo-rewards/issues/84) +- [Change nft selection on carousel change](https://github.com/onflow/crescendo-rewards/pull/86) +- [Add logic for locking to new or existing NFTs](https://github.com/onflow/crescendo-rewards/pull/87) +- [Use lock end date from chain for countdown card](https://github.com/onflow/crescendo-rewards/issues/88) +- [Add last synced to leaderboard](https://github.com/onflow/crescendo-rewards/issues/51) +- [Resolve and display NFT](https://github.com/onflow/crescendo-rewards/issues/92) +- [Handle NFT selection and deselection for locking form](https://github.com/onflow/crescendo-rewards/pull/94) +- [Add metrics to rewards page](https://github.com/onflow/crescendo-rewards/pull/96) +- [Refresh rewards page after lock](https://github.com/onflow/crescendo-rewards/issues/98) +- [Add not connected wallet state on lock page](https://github.com/onflow/crescendo-rewards/issues/100) +- [Add subheader](https://github.com/onflow/crescendo-rewards/issues/102) +- [Change partner grid layout to match new mock](https://github.com/onflow/crescendo-rewards/pull/104) + +**X-Chain Axelar Bridge** +- [Flow Bridge App Epic](https://github.com/onflow/flow-bridge-app/issues/1) + +**FCL Discovery** + +- [Custom-rendered QR codes](https://github.com/onflow/fcl-discovery/issues/212) +- [Use Chakra theming properly](https://github.com/onflow/fcl-discovery/issues/214) +- [Adjust Wallet Selection page to match designs](https://github.com/onflow/fcl-discovery/issues/215) +- [GetWallet page does not respond to screen size changes properly](https://github.com/onflow/fcl-discovery/issues/217) +- [walletUid appearing in /api/wallets result](https://github.com/onflow/fcl-discovery/issues/222) +- [Implement authn bypass for extension services](https://github.com/onflow/fcl-discovery/issues/226) +- [QR doesn't work in dark mode](https://github.com/onflow/fcl-discovery/issues/227) +- [Add loading spinner to handle QR delay](https://github.com/onflow/fcl-discovery/issues/228) +- [Mobile deeplinking](https://github.com/onflow/fcl-discovery/issues/232) +- [Responsive modal for mobile](https://github.com/onflow/fcl-discovery/issues/233) +- [Fix popup blocker issue with deeplinks on mobile](https://github.com/onflow/fcl-discovery/issues/235) +- [Cleanup install links](https://github.com/onflow/fcl-discovery/issues/240) + +**VS Code Extension** + +- [InternalEVM is not recognized & results in problems within EVM contract](https://github.com/onflow/vscode-cadence/issues/574) + +**Lost and Found FLIP** + +- FLIP Created (BD enagaing Flowty) +- Implementation work beginning for Flow Port + +**Faucet** + +- Updated for Testnet + +**Flow Port** -**This sprint** -**Sprint goal focusing on: Flow Cross VM Bridge, FCL x Discovery Revamp, Crescendo Rewards** +- wUSDC Flow Port Swap and Documentation + +**Docs** + +- [Add Internal Link Icons](https://github.com/onflow/docs/issues/805) + +**Flow CLI** + +- [Fix EVM contract in C1.0 Update Validator](https://github.com/onflow/flow-cli/issues/1693) + +**Smart Contracts** -- wUSDC Swap UI (Flow Port) - [wUSDC Contract](https://github.com/onflow/bridged-usdc) + +**This sprint** +**Sprint goal Flow Axelar Cross-chain Bridge / Documentation Updates, Crescendo Rewards, FCL Discovery and WC Integration, Lost and Found (Integration - Flow Port, Flow Wallet)** + - [EPIC] Crescendo Rewards Portal - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) From 7bdad96fe8b2206f8937c7a673d941470b9c3f42 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 15 Aug 2024 15:53:11 -0700 Subject: [PATCH 468/626] Cadence wg update --- .../2024-08-16-Flow-Sprint-Kickoff.md | 91 +++++++++++++++++-- 1 file changed, 83 insertions(+), 8 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index 2d70efb81..91016ce6d 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -1,8 +1,7 @@ # Overview ### Team Wins 🎉 -- - +- Crescendo live on Testnet! ### General updates @@ -75,24 +74,100 @@ Cycle Objective(s): **Done last sprint** +**Cadence Language** +- Approved [FLIP 282: Import of pre-Cadence 1.0 Programs](https://github.com/onflow/flips/pull/283) +- Contract update checker improvement: [Check updated contract name](https://github.com/onflow/cadence/pull/3530) + +**Cadence Execution** +- Utility + - [Add a command to print all system addresses](https://github.com/onflow/flow-go/pull/6339) + - [Add support for detecting differing accounts](https://github.com/onflow/flow-go/pull/6225) +- Atree improvement, enables simplifying of flow-go and Cadence codebase + - [Add utility function SlabID.Address()](https://github.com/onflow/atree/issues/431) +- CBOR improvement + - [Add functions to check availablility of CBOR tag numbers](https://github.com/onflow/atree/pull/434) + +**EVM Core** +- Bugfix (Axelar blocker) + - [Patch storage root value issue](https://github.com/onflow/flow-go/pull/6295) + - [Deprecate legacy self destruct in the storage](https://github.com/onflow/flow-go/pull/6289) +- Improvement + - [skip debug trace uploading step if bucket name is empty](https://github.com/onflow/flow-go/pull/6335) + - [patch evm debug tracer to collect results and reset internal state after each tx execution](https://github.com/onflow/flow-go/pull/6327) + - [Populate all fields for the genesis block](https://github.com/onflow/flow-go/pull/6325) + - [port missing tracing updates to previewnet](https://github.com/onflow/flow-go/pull/6324) + - [improve debug tracing](https://github.com/onflow/flow-go/pull/6299) + - [patch backoff block loading](https://github.com/onflow/flow-go/pull/6286) + - [code and doc clean up](https://github.com/onflow/flow-go/pull/6252) + +**EVM Gateway** +- Feature + - [Index only mode](https://github.com/onflow/flow-evm-gateway/pull/416) + - [Ensure indexing is idempotent](https://github.com/onflow/flow-evm-gateway/issues/400) +- Bugfix + - [eth_getLogs does not validate the topics length](https://github.com/onflow/flow-evm-gateway/issues/422) + - [Block tags are not supported for eth_getTransactionByBlockNumberAndIndex](https://github.com/onflow/flow-evm-gateway/issues/419) + - [Block tags are not supported in eth_getBlockTransactionCountByNumber](https://github.com/onflow/flow-evm-gateway/issues/418) + - [eth_getBlockByNumber() not responsive to 'earliest' flag](https://github.com/onflow/flow-evm-gateway/issues/371) +- Improvement + - [Derive storage address from chain id](https://github.com/onflow/flow-evm-gateway/pull/435) + - [Report API crashers](https://github.com/onflow/flow-evm-gateway/issues/384) + - [General improvements to the metrics](https://github.com/onflow/flow-evm-gateway/pull/424) + - [Add lock during transaction build](https://github.com/onflow/flow-evm-gateway/pull/421) + - [Fix error logging](https://github.com/onflow/flow-evm-gateway/pull/438) + - [Remove Genesis block patch introduced for PreviewNet ](https://github.com/onflow/flow-evm-gateway/pull/434) + - [Minor fixes](https://github.com/onflow/flow-evm-gateway/pull/431) +- Testing + - [E2E network test improvements](https://github.com/onflow/flow-evm-gateway/pull/436) + - [Add live network tests](https://github.com/onflow/flow-evm-gateway/pull/432) + +**Crescendo TN upgrade** +- State migration fixes & improvements + - Fixing capability migration (discovered during setting network addresses on migrationmainnet) + - [Report the stored path of the untyped-capability](https://github.com/onflow/flow-go/pull/6328) + - [Add capability stored path info to the report](https://github.com/onflow/cadence/pull/3524) + - [Improve storage path capability migration reporting](https://github.com/onflow/cadence/pull/3522) + - [Improve borrow type inferrence for storage path capabilities](https://github.com/onflow/cadence/pull/3520) + - [Infer missing borrow type for storage capabilities](https://github.com/onflow/cadence/pull/3519) + - [Improve storage capability migration](https://github.com/onflow/flow-go/pull/6322) + - [Avoid conversion from sema-type to StaticType in storage cap migration](https://github.com/onflow/cadence/pull/3517) + - [Improve storage capability migration](https://github.com/onflow/cadence/pull/3516) + - [Merge and commit changes after issuing cap cons](https://github.com/onflow/flow-go/pull/6315) + - [Report and skip storage caps with no borrow type](https://github.com/onflow/flow-go/pull/6312) + - [Fix migration of storage path capabilities](https://github.com/onflow/flow-go/pull/6306) + - [Set capability issue handler in capability value migration](https://github.com/onflow/flow-go/pull/6303) +- Dependency updates: [1](https://github.com/onflow/flow-cli/pull/1696), [2](https://github.com/onflow/flow-evm-gateway/pull/430), [3](https://github.com/onflow/flixkit-go/pull/74), [4](https://github.com/onflow/cadence-tools/pull/413), [5](https://github.com/onflow/flowkit/pull/69), [6](https://github.com/onflow/cadence-tools/pull/412), [7](https://github.com/onflow/flow-emulator/pull/728), [8](https://github.com/onflow/cadence-tools/pull/411), [9](https://github.com/onflow/flow-go-sdk/pull/726), [10](https://github.com/onflow/flow-go-sdk/pull/725), [11](https://github.com/onflow/flow-go/pull/6326), [12](https://github.com/onflow/flow-go/pull/6326), [13](https://github.com/onflow/flow-go-sdk/pull/724), [14](https://github.com/onflow/flow-go/pull/6317), [15](https://github.com/onflow/flow-go-sdk/pull/723), [16](https://github.com/onflow/flow-go-sdk/pull/720), [17](https://github.com/onflow/flow-emulator/pull/725), [18](https://github.com/onflow/cadence-tools/pull/410), [19](https://github.com/janezpodhostnik/flow-py-sdk/pull/62) +- infra/config: [1](https://github.com/dapperlabs/dapper-flow-hosting/pull/1562), [2](https://github.com/dapperlabs/dapper-flow-hosting/pull/1556), [3](https://github.com/dapperlabs/dapper-flow-hosting/pull/1554), [4](https://github.com/dapperlabs/dapper-flow-hosting/pull/1552), [5](https://github.com/onflow/flow-evm-gateway/pull/414), [6](https://github.com/dapperlabs/dapper-flow-hosting/pull/1551) +- publishing staged contracts report: [1](https://github.com/onflow/cadence/pull/3525), [2](https://github.com/onflow/cadence/pull/3510) + + **This sprint** - - Objective 1, KR4: Testnet Upgrade to Crescendo Release - - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) - - Investigate / Fix any security report incoming from bug bounty. - - Upgrade TN to Crescendo release + - Objective 1, KR5: Mainnet Upgrade to Crescendo Release + - Investigate and fix any high/critical severity issues reported on Crescendo on TN ([Crescendo launch on Mainnet tasklist](https://github.com/onflow/cadence/issues/2642)) + - [Create util command to check storage health of execution state](https://github.com/onflow/flow-go/issues/6350) + - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) + - Investigate / Fix any security report incoming from bug bounty. - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN - - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) - EVM - - Continue testing EVM GW stability + - Continue monitoring EVM GW stability + - Start work on [local state index](https://github.com/onflow/flow-evm-gateway/issues/322) - KROK - EVM Gateway benchmarking +- EVM Gateway + - continue work on [Metrics](https://github.com/onflow/flow-evm-gateway/issues/125) and [Benchmarking](https://github.com/onflow/flow-evm-gateway/issues/19) + +- Badger -> Pebble Investigation/POC + - Continue evaluation of [Protocol State Migration POC](https://github.com/onflow/flow-go/issues/6137) & schedule design discussion + **Completed OKRs** * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades * All breaking released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + * Objective 1, KR4: Testnet Upgrade to Crescendo Release * Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) From 4d37d2b4e47684c75419069f17d83d5b445fc21d Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 15 Aug 2024 15:55:38 -0700 Subject: [PATCH 469/626] typos --- .../2024-08-16-Flow-Sprint-Kickoff.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index 91016ce6d..83bd632c2 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -82,16 +82,16 @@ Cycle Objective(s): - Utility - [Add a command to print all system addresses](https://github.com/onflow/flow-go/pull/6339) - [Add support for detecting differing accounts](https://github.com/onflow/flow-go/pull/6225) -- Atree improvement, enables simplifying of flow-go and Cadence codebase +- Atree improvement, enables simplifying of flow-go and Cadence codebase: - [Add utility function SlabID.Address()](https://github.com/onflow/atree/issues/431) -- CBOR improvement +- CBOR improvement: - [Add functions to check availablility of CBOR tag numbers](https://github.com/onflow/atree/pull/434) **EVM Core** -- Bugfix (Axelar blocker) +- Bugfixes (Axelar blockers): - [Patch storage root value issue](https://github.com/onflow/flow-go/pull/6295) - [Deprecate legacy self destruct in the storage](https://github.com/onflow/flow-go/pull/6289) -- Improvement +- Improvements: - [skip debug trace uploading step if bucket name is empty](https://github.com/onflow/flow-go/pull/6335) - [patch evm debug tracer to collect results and reset internal state after each tx execution](https://github.com/onflow/flow-go/pull/6327) - [Populate all fields for the genesis block](https://github.com/onflow/flow-go/pull/6325) @@ -101,15 +101,15 @@ Cycle Objective(s): - [code and doc clean up](https://github.com/onflow/flow-go/pull/6252) **EVM Gateway** -- Feature +- Features: - [Index only mode](https://github.com/onflow/flow-evm-gateway/pull/416) - [Ensure indexing is idempotent](https://github.com/onflow/flow-evm-gateway/issues/400) -- Bugfix +- Bugfixes: - [eth_getLogs does not validate the topics length](https://github.com/onflow/flow-evm-gateway/issues/422) - [Block tags are not supported for eth_getTransactionByBlockNumberAndIndex](https://github.com/onflow/flow-evm-gateway/issues/419) - [Block tags are not supported in eth_getBlockTransactionCountByNumber](https://github.com/onflow/flow-evm-gateway/issues/418) - [eth_getBlockByNumber() not responsive to 'earliest' flag](https://github.com/onflow/flow-evm-gateway/issues/371) -- Improvement +- Improvements: - [Derive storage address from chain id](https://github.com/onflow/flow-evm-gateway/pull/435) - [Report API crashers](https://github.com/onflow/flow-evm-gateway/issues/384) - [General improvements to the metrics](https://github.com/onflow/flow-evm-gateway/pull/424) @@ -117,13 +117,13 @@ Cycle Objective(s): - [Fix error logging](https://github.com/onflow/flow-evm-gateway/pull/438) - [Remove Genesis block patch introduced for PreviewNet ](https://github.com/onflow/flow-evm-gateway/pull/434) - [Minor fixes](https://github.com/onflow/flow-evm-gateway/pull/431) -- Testing +- Testing: - [E2E network test improvements](https://github.com/onflow/flow-evm-gateway/pull/436) - [Add live network tests](https://github.com/onflow/flow-evm-gateway/pull/432) **Crescendo TN upgrade** -- State migration fixes & improvements - - Fixing capability migration (discovered during setting network addresses on migrationmainnet) +- State migration fixes & improvements: + - Fixing capability migration (discovered during setting network addresses on migrationmainnet): - [Report the stored path of the untyped-capability](https://github.com/onflow/flow-go/pull/6328) - [Add capability stored path info to the report](https://github.com/onflow/cadence/pull/3524) - [Improve storage path capability migration reporting](https://github.com/onflow/cadence/pull/3522) From 5c2edcddbce5411af400a25a889b3a4ba092a645 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 15 Aug 2024 15:57:28 -0700 Subject: [PATCH 470/626] fix formatting --- agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index 83bd632c2..b597f3828 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -143,13 +143,13 @@ Cycle Objective(s): **This sprint** - - Objective 1, KR5: Mainnet Upgrade to Crescendo Release +- Objective 1, KR5: Mainnet Upgrade to Crescendo Release - Investigate and fix any high/critical severity issues reported on Crescendo on TN ([Crescendo launch on Mainnet tasklist](https://github.com/onflow/cadence/issues/2642)) - [Create util command to check storage health of execution state](https://github.com/onflow/flow-go/issues/6350) - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) - Investigate / Fix any security report incoming from bug bounty. - - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN +- Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) - EVM From 52ed7185e7c088474d8ad0967ad5d2b325ed1f97 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 15 Aug 2024 16:33:56 -0700 Subject: [PATCH 471/626] Update 2024-08-16-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index ecff7c196..837d09669 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -30,14 +30,12 @@ ## Incidents -### Mainnet -- Sev 4 - 07/18: Consensus nodes crashed intermittently due to OOM. [Slack thread](https://flow-foundation.slack.com/archives/CUU2KQL4A/p1721310960751829) +None (Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) ### Key Release Dates & Breaking Changes - Next Mainnet/Testnet network upgrade (spork): - - Testnet: Aug 14th 8:00 AM PT (3:00 PM UTC). Duration: 6 hours - Mainnet: Sept 4th **5:00 AM PT** (12:00 PM UTC). Duration: 6 hours --- From 6cf1f3b0ae9a01e73bb3a3e927480746fcb92d34 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 15 Aug 2024 16:35:20 -0700 Subject: [PATCH 472/626] Update 2024-08-16-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index 837d09669..c21b5b2bb 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -22,7 +22,7 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.833% | 167% | +| Access API Liveness | 99.9% | 99.877% | 167% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) From 7ccc936d739ebb8c242447ed19e3ebe36f0cc37b Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 15 Aug 2024 16:35:43 -0700 Subject: [PATCH 473/626] Update 2024-08-16-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index c21b5b2bb..59554dc5e 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -22,7 +22,7 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.877% | 167% | +| Access API Liveness | 99.9% | 99.877% | 123% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) From e2cc33b3deb808f385614028b4da82d38044e142 Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Thu, 15 Aug 2024 17:08:06 -0700 Subject: [PATCH 474/626] update data availability sprint 2024-08-15 --- .../2024-08-16-Flow-Sprint-Kickoff.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index 59554dc5e..68d8f822a 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -193,6 +193,12 @@ Cycle Objective(s): **Done last Sprint:** +* Data Availability: + - Fixes for testnet after upgrade ([PR #6340](https://github.com/onflow/flow-go/pull/6340), [PR #6342](https://github.com/onflow/flow-go/pull/6342)) + - KROK Team + - Check version control during script execution ([PR #6134](https://github.com/onflow/flow-go/pull/6134)) + - Fix bug with `select` option in REST API ([PR #6300](https://github.com/onflow/flow-go/pull/6300)) + - Use indexed height as base when pruning execution data ([PR #6217](https://github.com/onflow/flow-go/pull/6217)) **This sprint** @@ -205,13 +211,13 @@ Cycle Objective(s): * Data Availability: - ProtocolDB pruning design - - Testing ChunkDataPack DB pruning PoC - KROK Team - - Add support for version beacon events to control script execution ([Issue #5789](https://github.com/onflow/flow-go/issues/5789) - In review, [Issue #5790](https://github.com/onflow/flow-go/issues/5790)) - - Add support pruning pebble exec data db ([Issue #6260](https://github.com/onflow/flow-go/issues/6260)) - - Add REST endpoints for getting account keys and balance ([Issue #6228](https://github.com/onflow/flow-go/issues/6228) - in review) - - Expand on payer balance checks ([Issue #6128](https://github.com/onflow/flow-go/issues/6128), [Issue #6129](https://github.com/onflow/flow-go/issues/6129), [Issue #6139](https://github.com/onflow/flow-go/issues/6139)) - - Start registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066), [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + - Add StopControl for access nodes ([Issue #5790](https://github.com/onflow/flow-go/issues/5790) - In review) + - Add support pruning pebble exec data db ([Issue #6260](https://github.com/onflow/flow-go/issues/6260) - In review) + - Expand on payer balance checks ([Issue #6128](https://github.com/onflow/flow-go/issues/6128) - Waiting to merge, [Issue #6129](https://github.com/onflow/flow-go/issues/6129) - In review, [Issue #6139](https://github.com/onflow/flow-go/issues/6139) - In review) + - Start registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357)) + - Test execution data pruning on testnet ([Issue #6358](https://github.com/onflow/flow-go/issues/6358)) * Cryptography: - java-SDK: more tests on transaction signing and prepare for a release From 6fc4251f318eb62fe718afbeae076a237aad0fb5 Mon Sep 17 00:00:00 2001 From: Tom Haile Date: Fri, 16 Aug 2024 11:47:18 -0500 Subject: [PATCH 475/626] Update 2024-08-16-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index 68d8f822a..9730a2092 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -277,6 +277,7 @@ Cycle Objective(s): - Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort - Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network - Use the Crescendo Release grow Flow's developer base and network activity +- Update developer docs to remove previewn net and added new documentation for EVM data indexers **Done last sprint** From aa89717c982c7999b6c21521d5aaabe92e2628c6 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 16 Aug 2024 09:47:56 -0700 Subject: [PATCH 476/626] Added protocol and DeFi.updates --- .../2024-08-16-Flow-Sprint-Kickoff.md | 66 +++++++++++-------- 1 file changed, 40 insertions(+), 26 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index 68d8f822a..0c357d5ab 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -5,6 +5,7 @@ - Crescendo live on Testnet! - Testnet Faucet is working with Cadence 1.0 - USDCflow - Contract Deployment, [Docs](https://cadence-lang.org/docs/1.0/cadence-migration-guide/usdc-migration), and Flow Port Swap +- Released completed Cadence 1.0 upgraded SDK to Maven ### General updates @@ -192,6 +193,18 @@ Cycle Objective(s): * Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] **Done last Sprint:** +* EFM Recovery + - [DKG smart contract updates](https://github.com/onflow/flow-core-contracts/pull/441) (on hold, awaiting input from S.C. team) + - [Update EpochLookup component: Process EpochExtended protocol events](https://github.com/onflow/flow-go/pull/6247) + - Started [EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164) + - Started [EFM Recovery transaction PR](https://github.com/onflow/flow-core-contracts/pull/440) + - Refactoring and TODOs for EFM[1](https://github.com/onflow/flow-go/pull/6323), [2](https://github.com/onflow/flow-go/pull/6318) + - [Added telemetry for KV store and EFM](https://github.com/onflow/flow-go/pull/6291) + - [Extended KV storage to store EpochExtensionViewCount](https://github.com/onflow/flow-go/pull/6272) + - [Implemented EjectIdentity service event and integrated in the protocol state](https://github.com/onflow/flow-go/pull/6296) + - [Implemented protocol side changes on how EpochCommit and IndexMap is being used](https://github.com/onflow/flow-go/pull/6338) + - Reviewing Pebble PR + - Testnet spork prep * Data Availability: - Fixes for testnet after upgrade ([PR #6340](https://github.com/onflow/flow-go/pull/6340), [PR #6342](https://github.com/onflow/flow-go/pull/6342)) @@ -199,15 +212,24 @@ Cycle Objective(s): - Check version control during script execution ([PR #6134](https://github.com/onflow/flow-go/pull/6134)) - Fix bug with `select` option in REST API ([PR #6300](https://github.com/onflow/flow-go/pull/6300)) - Use indexed height as base when pruning execution data ([PR #6217](https://github.com/onflow/flow-go/pull/6217)) +* Cryptography: + - JVM-SDK + - [Finished refactoring ECDSA signatures + added tests](https://github.com/onflow/flow-jvm-sdk/pull/71) + - [Extended transaction signature tests and examples PR](https://github.com/onflow/flow-jvm-sdk/pull/77) + - State proofs: discussions and VC constructions research + - Update the crypto module with a new BLST release + - Secure enclave blog review +* Rosetta: + - Released completed Cadence 1.0 upgraded SDK to Maven + **This sprint** * EFM Recovery - - EFM Recovery Process (cont.) - - [Integration Test](https://github.com/onflow/flow-go/issues/6164) - test failure cases - - [Smart contract changes](https://github.com/onflow/flow-core-contracts/pull/440) - - [DKG Data Model](https://github.com/onflow/flow-go/issues/6214) - - Modifying data model for DKG outputs to support DKG committee != consenssu committee + - Finish Pebble PR review + - DKG smart contract updates (cont.) + - Address feedback and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440) PR + - Finish [EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164) * Data Availability: - ProtocolDB pruning design @@ -220,13 +242,8 @@ Cycle Objective(s): - Test execution data pruning on testnet ([Issue #6358](https://github.com/onflow/flow-go/issues/6358)) * Cryptography: - - java-SDK: more tests on transaction signing and prepare for a release - - crypto module: integrate the new BLST release - - back to SPoCK aggregation if possible: contine with BLS aggregation security proofs - -* Rosetta: - - KROK: - - Rosetta Cadence updates for Crescendo ([Issue #52](https://github.com/onflow/rosetta/issues/52), [Issue #54](https://github.com/onflow/rosetta/issues/54) - PRs in review) + - State proofs: performance estimations of some VC/set accumulator constructions + - Pick up SPoCK aggregation related reads if time permits * Protocol misc - Preparing for Testnet Spork @@ -241,25 +258,22 @@ Cycle Objective(s): ### **DeFi** \[Jerome] Cycle Objective(s): -- Resolving Circle's existing engineering improvements for USDC on Flow -- Cadence 1.0 DEX Prep - IncrementFi - EVM partner onboarding -- Deliver Axelar bridge [PAUSED] +- Deliver Axelar bridge **Done last sprint** - - + * JVM-SDK + * Addressed last loose ends required to release SDK + * Updated deBridge integration for testnet + * Axelar + * Unblocked compatibility test failures needing resolution by Axelar + * Provide guidance and support to build binaries for Access Node and EVM GW for permissionless validator node operators + * ANKR + * Addressed several EVM GW issues blocking them **This sprint** - * JVM-SDK - * Review [Add missing Access API subscription endpoints to JVM SDK](https://github.com/onflow/flow-jvm-sdk/pull/58) - * Complete [Add missing Access API endpoints](https://github.com/onflow/flow-jvm-sdk/pull/63) - * Review signature and hash update PRs, [1](https://github.com/onflow/flow-jvm-sdk/pull/53) & [2](https://github.com/onflow/flow-jvm-sdk/pull/52) - * Merge: [Migrate SDK examples repo to improved project structure](https://github.com/onflow/flow-jvm-sdk/pull/62) - * [Update Cadence to 1.0](https://github.com/onflow/flow-jvm-sdk/issues/60) - * Partner support - * Install Ethereum Attestion Service (EAS) on Previewnet (Credora requirement) - + * Continue supporting Axelar, Ankr, Coinmetrics + **On Hold** **Active Epics** From c1b9c5386a6916b1667eb2125abe8fa0fa64a082 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 16 Aug 2024 09:49:43 -0700 Subject: [PATCH 477/626] Minor update --- agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index e8139a8f9..c637f9654 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -5,7 +5,7 @@ - Crescendo live on Testnet! - Testnet Faucet is working with Cadence 1.0 - USDCflow - Contract Deployment, [Docs](https://cadence-lang.org/docs/1.0/cadence-migration-guide/usdc-migration), and Flow Port Swap -- Released completed Cadence 1.0 upgraded SDK to Maven +- Released completed Cadence 1.0 upgraded JVM-SDK to Maven ### General updates From 43dfbd823a71b2c492645728df40fc47670196b0 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 16 Aug 2024 22:21:26 +0530 Subject: [PATCH 478/626] Update 2024-08-16-Flow-Sprint-Kickoff.md FLIPs tracker --- .../2024-08-16-Flow-Sprint-Kickoff.md | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index 9730a2092..458948656 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -44,18 +44,33 @@ None | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 8 (-1) | 0 | 7 | **23** (-1) | -| Proposed | 1 | 2 | 3 (+1) | 0 | **6** (+1) | -| Accepted | 2 | 1 | 2 | 2 (+1) | **7** (+1) | +| Drafted | 8 | 7 (-1) | 0 | 7 | **22** (-1) | +| Proposed | 1 | 2 | 3 | 0 | **6** | +| Accepted | 2 | 1 | 2 | 2 | **7** | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 3 | 24 (+2) | 1 | 0 | **28** | -| Released | 4 | 0 | 4 (+1) | 6 | **14** (+1) | -| Total | **18** (+1) | **35** (+1) | **11** (+1) | **15** | **79** (+3) | +| Implemented | 3 | 25 (+1) | 1 | 0 | **28** | +| Released | 4 | 0 | 4 | 6 | **14** | +| Total | **18** | **35** | **11** | **15** | **79** | **Updates** -* Crescendo Network Upgrade - proposed -* Changing import statement semantics - accepted -* Import of pre-Cadence 1.0 Programs - proposed and accepted +Import of pre-Cadence 1.0 Programs (Bastian) was implemented + +**FLIPs that need to be reassigned immediately:** + +**- Application** + - Interaction Templates (Paul Gebheim) + - Application - Pool-Based DEX Swap Standard (Satyam A.) + +**- Cadence** + - Type Removal In Contract Updates (Daniel Sainati) + - Optional References to Indexed Accesses (Daniel Sainati) + - Mutability Restrictions (Daniel Sainati) + - Cadence Storage API Improvements (Daniel Sainati) + - Reference Creation Semantics (Daniel Sainati) + - View Functions (Daniel Sainati) + - Entitlements (Daniel Sainati) + - New behavior for attachments with entitlements (Daniel Sainati) + # Working Group Updates From 389a9795bd8b6fedc751985e74d28602f2f07561 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 16 Aug 2024 22:31:52 +0530 Subject: [PATCH 479/626] Update 2024-08-16-Flow-Sprint-Kickoff.md GWG updates --- .../2024-08-16-Flow-Sprint-Kickoff.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index 7c521585e..ed627f2b0 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -489,18 +489,19 @@ Cycle Objective(s): --- ### **Governance and Tokenomics** \[Kshitij] -Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. +Cycle Objective(s): Vision for long-term tokenomics and dynamic fees on Flow, launch Flow rewards platform **Done last sprint** -- EN operator contract for lease -- Work with Dete on future fee on Flow (not be launched with Crescendo launch) +- Worked with Dete on future fees on Flow (not be launched with Crescendo launch) - txn fee, storage fee, other governance topics - [see notes](https://www.notion.so/flowfoundation/Dynamic-Transaction-Fees-on-Flow-fa7e7115e43a41a99ac9ca942dabcaf2) +- Driving Flow rewards product w/ coordination amongst DeFi, engg, product, marketing, design, etc. **This sprint** -- Get the execution node live -- Continue supporting rewards platform team on Tokenomics related analysis -- Model stable state economics, throughput, fees and inflation -- Draft research doc that explains the vision -- Organize monthly GWG +- Finish contract audit and make recommended changes to the lock/unlock contract +- Deploy lock and distribution contract on mainnet; FE on rewards.flow.com +- Design and model yield (APY) and/or monthly "boost" - see draft [yield schedule](https://docs.google.com/spreadsheets/d/1aE-Q0fLx-tLdeB7xf1JduCE0nFXfuemJ2jWove4SCJE/edit?gid=0#gid=0) +- Design tokenomics of hotdogs (point system) and raffles +- Drive GTM - announcement and content +- Continue working with Dete on stable state tokenomics **On Hold** From 16a349e5c32de9f098b87473326e5b28aa8840b2 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 16 Aug 2024 22:38:40 +0530 Subject: [PATCH 480/626] Update 2024-08-16-Flow-Sprint-Kickoff.md adding to gwg updates --- agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index ed627f2b0..5ce514870 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -496,6 +496,7 @@ Cycle Objective(s): Vision for long-term tokenomics and dynamic fees on Flow, la - Driving Flow rewards product w/ coordination amongst DeFi, engg, product, marketing, design, etc. **This sprint** +Rewards platform tracker [link](https://github.com/orgs/onflow/projects/65/views/1) - Finish contract audit and make recommended changes to the lock/unlock contract - Deploy lock and distribution contract on mainnet; FE on rewards.flow.com - Design and model yield (APY) and/or monthly "boost" - see draft [yield schedule](https://docs.google.com/spreadsheets/d/1aE-Q0fLx-tLdeB7xf1JduCE0nFXfuemJ2jWove4SCJE/edit?gid=0#gid=0) From 93bf60ad33c8899c2f00c14c2148fbfa1efe159b Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 16 Aug 2024 22:39:18 +0530 Subject: [PATCH 481/626] Update 2024-08-16-Flow-Sprint-Kickoff.md updating gwg --- agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md index 5ce514870..a5894a527 100644 --- a/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-16-Flow-Sprint-Kickoff.md @@ -496,6 +496,7 @@ Cycle Objective(s): Vision for long-term tokenomics and dynamic fees on Flow, la - Driving Flow rewards product w/ coordination amongst DeFi, engg, product, marketing, design, etc. **This sprint** + Rewards platform tracker [link](https://github.com/orgs/onflow/projects/65/views/1) - Finish contract audit and make recommended changes to the lock/unlock contract - Deploy lock and distribution contract on mainnet; FE on rewards.flow.com From edf9f4ea6b6aaa569cdd49ca089907f08c30558e Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 28 Aug 2024 14:51:53 -0700 Subject: [PATCH 482/626] Create 2024-08-30-Flow-Sprint-Kickoff.md --- .../2024-08-30-Flow-Sprint-Kickoff.md | 283 ++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..5362d882b --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -0,0 +1,283 @@ +# Overview + +### Team Wins 🎉 + +- + + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (08/16/24 to 08/29/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.877% | 123% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +[YTD SLA: 99.922%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents + +None + +(Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) + +### Key Release Dates & Breaking Changes +- Next Mainnet/Testnet network upgrade (spork): + - Mainnet: Sept 4th **5:00 AM PT** (12:00 PM UTC). Duration: 6 hours + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 8 | 7 (-1) | 0 | 7 | **22** (-1) | +| Proposed | 1 | 2 | 3 | 0 | **6** | +| Accepted | 2 | 1 | 2 | 2 | **7** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 | 25 (+1) | 1 | 0 | **28** | +| Released | 4 | 0 | 4 | 6 | **14** | +| Total | **18** | **35** | **11** | **15** | **79** | + +**Updates** +Import of pre-Cadence 1.0 Programs (Bastian) was implemented + +**FLIPs that need to be reassigned immediately:** + +**- Application** + - Interaction Templates (Paul Gebheim) + - Application - Pool-Based DEX Swap Standard (Satyam A.) + +**- Cadence** + - Type Removal In Contract Updates (Daniel Sainati) + - Optional References to Indexed Accesses (Daniel Sainati) + - Mutability Restrictions (Daniel Sainati) + - Cadence Storage API Improvements (Daniel Sainati) + - Reference Creation Semantics (Daniel Sainati) + - View Functions (Daniel Sainati) + - Entitlements (Daniel Sainati) + - New behavior for attachments with entitlements (Daniel Sainati) + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + + +**This sprint** + +- Objective 1, KR5: Mainnet Upgrade to Crescendo Release + - Investigate and fix any high/critical severity issues reported on Crescendo on TN ([Crescendo launch on Mainnet tasklist](https://github.com/onflow/cadence/issues/2642)) + - [Create util command to check storage health of execution state](https://github.com/onflow/flow-go/issues/6350) + - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) + - Investigate / Fix any security report incoming from bug bounty. + +- Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN + - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +- EVM + - Continue monitoring EVM GW stability + - Start work on [local state index](https://github.com/onflow/flow-evm-gateway/issues/322) + - KROK + - EVM Gateway benchmarking + +- EVM Gateway + - continue work on [Metrics](https://github.com/onflow/flow-evm-gateway/issues/125) and [Benchmarking](https://github.com/onflow/flow-evm-gateway/issues/19) + +- Badger -> Pebble Investigation/POC + - Continue evaluation of [Protocol State Migration POC](https://github.com/onflow/flow-go/issues/6137) & schedule design discussion + +**Completed OKRs** + * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades + * All breaking released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + * Objective 1, KR4: Testnet Upgrade to Crescendo Release + * Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind + * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +**On Hold** + + - Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs + * Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +- Other + * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + * Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [IN PROGRESS] +* Reduce CPU usage on Execution node by 30% [DONE] +* Translate crypto performance improvements to consensus block rate increase [DONE] +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + + +**This sprint** + +* EFM Recovery + - Finish Pebble PR review + - DKG smart contract updates (cont.) + - Address feedback and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440) PR + - Finish [EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164) + +* Data Availability: + - ProtocolDB pruning design + - KROK Team + - Add StopControl for access nodes ([Issue #5790](https://github.com/onflow/flow-go/issues/5790) - In review) + - Add support pruning pebble exec data db ([Issue #6260](https://github.com/onflow/flow-go/issues/6260) - In review) + - Expand on payer balance checks ([Issue #6128](https://github.com/onflow/flow-go/issues/6128) - Waiting to merge, [Issue #6129](https://github.com/onflow/flow-go/issues/6129) - In review, [Issue #6139](https://github.com/onflow/flow-go/issues/6139) - In review) + - Start registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357)) + - Test execution data pruning on testnet ([Issue #6358](https://github.com/onflow/flow-go/issues/6358)) + +* Cryptography: + - State proofs: performance estimations of some VC/set accumulator constructions + - Pick up SPoCK aggregation related reads if time permits + + +**On Hold** +* Implement BFT mitigations to enable 20 permissionless ANs + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- EVM partner onboarding +- Deliver Axelar bridge + +**Done last sprint** + +**This sprint** + * Continue supporting Axelar, Ankr, Coinmetrics + +**On Hold** + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity +- Update developer docs to remove previewn net and added new documentation for EVM data indexers + +**Done last sprint** + +**This sprint** +**Sprint goal Flow Axelar Cross-chain Bridge / Documentation Updates, Crescendo Rewards, FCL Discovery and WC Integration, Lost and Found (Integration - Flow Port, Flow Wallet)** + +- [EPIC] Crescendo Rewards Portal + - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) + - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) + - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) +- [EPIC FCL WalletConnect + Discovery Improvements](https://github.com/onflow/fcl-js/issues/1872) +- [EPIC Solving Initialization/Storage Issues - Lost and Found FLIP and Port integration](https://github.com/onflow/flow-port/issues/292) +- [EPIC - EVM Bridge - bridge.flow.com](https://github.com/onflow/flow-bridge-app/issues/1) + +**On Hold** + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +**This sprint** + + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Prepare flow.com, onflow.org & nodes.onflow.org domains for CloudFlare account migration +- Prepare to spork FF & DL nodes + +**Done last sprint** + +**This sprint** + +Rewards platform tracker [link](https://github.com/orgs/onflow/projects/65/views/1) +- Finish contract audit and make recommended changes to the lock/unlock contract +- Deploy lock and distribution contract on mainnet; FE on rewards.flow.com +- Design and model yield (APY) and/or monthly "boost" - see draft [yield schedule](https://docs.google.com/spreadsheets/d/1aE-Q0fLx-tLdeB7xf1JduCE0nFXfuemJ2jWove4SCJE/edit?gid=0#gid=0) +- Design tokenomics of hotdogs (point system) and raffles +- Drive GTM - announcement and content +- Continue working with Dete on stable state tokenomics + +**On Hold** + + +**Active Epics** + +- N/A From 2b81dc2810d0d451f1600e17e9b96481fb838368 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 29 Aug 2024 12:09:20 -0700 Subject: [PATCH 483/626] Added DeFi updates --- .../sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index 5362d882b..5dd3f6704 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -175,9 +175,17 @@ Cycle Objective(s): - Deliver Axelar bridge **Done last sprint** + * Supported Axelar with node configuration and operational setup + * Supported Celer with contract upgrade. Contracts now staged on Mainnet + * Supported Safe.global with project spinup + * Created repo clones for project & Github Connection link for automation + * Created DNS names for testnet and mainnet endpoints + * Created EVM GW node infra behind those endpoints + * Updated JVM-SDK repo examples updates to parity with Go SDK **This sprint** - * Continue supporting Axelar, Ankr, Coinmetrics + * Continue supporting Axelar and other key partners + * Complete remaining JVM-SDK examples **On Hold** From f44082e6a10f7c5c44f602c19aa2ab40bbe35995 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 29 Aug 2024 15:15:04 -0700 Subject: [PATCH 484/626] Update with crypto changes --- .../2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index 5dd3f6704..c3dae1d42 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -139,6 +139,14 @@ Cycle Objective(s): **Done last Sprint:** +* Cryptography: + + * State proofs: performance estimations of VC and set accumulator-based state trees: + * Add new bench functions in the crypto lib + * High level designs and operation estimations of EN and VN + * Ddesigns covered (KZG-Pointproofs-RSA accumulator) - designs studied but not finalized (Catalono-Pedersen IPA-Nguyen) + * JVM-SDK: minor review + * Secure enclave blog review **This sprint** From 6787a968e46a402f9bdee3d01dbee81d51e51b8a Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 29 Aug 2024 16:58:14 -0600 Subject: [PATCH 485/626] Add infra section --- .../2024-08-30-Flow-Sprint-Kickoff.md | 52 +++++++++++++------ 1 file changed, 36 insertions(+), 16 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index c3dae1d42..38327e0e3 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -281,19 +281,39 @@ Cycle Objective(s): **Done last sprint** -**This sprint** - -Rewards platform tracker [link](https://github.com/orgs/onflow/projects/65/views/1) -- Finish contract audit and make recommended changes to the lock/unlock contract -- Deploy lock and distribution contract on mainnet; FE on rewards.flow.com -- Design and model yield (APY) and/or monthly "boost" - see draft [yield schedule](https://docs.google.com/spreadsheets/d/1aE-Q0fLx-tLdeB7xf1JduCE0nFXfuemJ2jWove4SCJE/edit?gid=0#gid=0) -- Design tokenomics of hotdogs (point system) and raffles -- Drive GTM - announcement and content -- Continue working with Dete on stable state tokenomics - -**On Hold** - - -**Active Epics** - -- N/A +**CloudFlare** +- Migrate flow.com to FF CloudFlare account +- Prepare onflow.org & nodes.onflow.org for migration to FF CloudFlare account +- [Remove unnecessary records from onflow.org](https://github.com/dapperlabs/terraform/pull/4346) + +**EVM Gateway** +- [Create Mainnet EVM GW infra](https://github.com/dapperlabs/terraform/pull/4341) +- [Update KMS access for MN EVM GW](https://github.com/dapperlabs/terraform/pull/4362) +- [Create KMS key for EVM account](https://github.com/dapperlabs/terraform/pull/4360) +- [Create Mainnet EVM GWs for Safe](https://github.com/dapperlabs/terraform/pull/4356) +- [Update Testnet records for Safe EVM GWs](https://github.com/dapperlabs/terraform/pull/4355) +- [Create Testnet EVM GWs for Safe](https://github.com/dapperlabs/terraform/pull/4350) +- [Create new EVM GW node for Blue/Green deployments](https://github.com/dapperlabs/terraform/pull/4349) +- [Create MN EVM GW Ansible inventory](https://github.com/dapperlabs/dapper-flow-hosting/pull/1568) + +**Spork Cleanup** +- [Scale down Devnet50 network](https://github.com/dapperlabs/terraform/pull/4338) + +**Spork Prep** +- [Increase Migration Mainnet EN Disk Sizes](https://github.com/dapperlabs/terraform/pull/4358) +- [Create MN25 Ansilbe Inventory & Vars](https://github.com/dapperlabs/dapper-flow-hosting/pull/1569) +- Create MN25 Grafana alerts +- Assist with access to Migration Mainnet + +**Support** +- [Fix bug in rate limit formatting](https://github.com/dapperlabs/dapper-flow-hosting/pull/1576) +- [Add KMS Key for NFT Storefront](https://github.com/dapperlabs/terraform/pull/4340) +- [Create dev machine for testing](https://github.com/dapperlabs/terraform/pull/4344) +- [Create DNS records for new customer.io solution](https://github.com/dapperlabs/terraform/pull/4342) + +**This Sprint** +- Prepare CloudFlare zones for flow.com, onflow.org, and nodes.onflow.org migration +- Migrate onflow.org & nodes.onflow.org zones to FF CloudFlare account +- Create infrastructure for DL & FF nodes +- Spork Mainnet +- Cleanup all infra used for spork prep From 162be9e33b76535bad22533944a1a6ce53f6c0c5 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 29 Aug 2024 16:32:42 -0700 Subject: [PATCH 486/626] Update 2024-08-30-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index 38327e0e3..f5c1c10e1 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -20,7 +20,7 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.877% | 123% | +| Access API Liveness | 99.9% | 99.956% | 43.7% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) From af99b65806c4edaf200b15be0a2b2afec84872cc Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 29 Aug 2024 17:25:10 -0700 Subject: [PATCH 487/626] Cadence WG update --- .../2024-08-30-Flow-Sprint-Kickoff.md | 112 +++++++++++++++++- 1 file changed, 107 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index f5c1c10e1..9220ba02e 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -2,7 +2,10 @@ ### Team Wins 🎉 -- +- Ready for Crescendo mainnet launch - v0.37.9. +- Added check-storage command to util program to check health of execution state using snapshot. +- Execution saturation on Devnet 51 is 40% lower compared with Devnet50 (14% -> 9%). +- EVM dashboard up & running in Grafana. ### General updates @@ -88,11 +91,110 @@ Cycle Objective(s): **Done last sprint** +**Crescendo MN upgrade** +- Cadence migration + - Needed for CLI fix: [Export type requirement extraction](https://github.com/onflow/flow-go/pull/6395) +- Network tooling / infra / bootstrap improvements + - [wait for downloading checkpoint before starting up consensus](https://github.com/dapperlabs/dapper-flow-hosting/pull/1577) + - [CI - print and include the sha256 checksum of the boot tools and util](https://github.com/onflow/flow-go/pull/6404) + - [check checkpoint has been downloaded](https://github.com/dapperlabs/dapper-flow-hosting/pull/1574) +- Dependency updates (tooling updates & fixes) + - [1](https://github.com/onflow/flow-cli/pull/1714), [2](https://github.com/onflow/flow-cli/pull/1714), [3](https://github.com/onflow/flow-evm-gateway/pull/478), [4](https://github.com/onflow/flixkit-go/pull/76), [5](https://github.com/onflow/cadence-tools/pull/421), [6](https://github.com/onflow/flowkit/pull/71), [7](https://github.com/onflow/cadence-tools/pull/420), [8](https://github.com/onflow/flow-emulator/pull/738), [9](https://github.com/onflow/cadence-tools/pull/419), [10](https://github.com/onflow/flow-go/pull/6403), [11](https://github.com/onflow/flow-cli/pull/1704), [12](https://github.com/onflow/flow-evm-gateway/pull/470), [13](https://github.com/onflow/flow-go/pull/6390), [14](https://github.com/onflow/flow-go-sdk/pull/732), [15](https://github.com/onflow/flixkit-go/pull/75), [16](https://github.com/onflow/cadence-tools/pull/417), [17](https://github.com/onflow/flowkit/pull/70), [18](https://github.com/onflow/cadence-tools/pull/416), [19](https://github.com/onflow/flow-emulator/pull/734), [20](https://github.com/onflow/cadence-tools/pull/415), [21](https://github.com/onflow/flow-go/pull/6386), [22](https://github.com/onflow/flow-go-sdk/pull/731), [23](https://github.com/onflow/flow-go/pull/6383) + +**Cadence Language** +- Handling of contracts not upgraded to 1.0 + - [Fix program recovery](https://github.com/onflow/cadence/pull/3548) + - [Add Type.isRecovered field](https://github.com/onflow/cadence/pull/3505) +- Bugfix + - [Fix contract update error when old program has errors](https://github.com/onflow/cadence/pull/3554) + - migration: + - [Cadence migration is non-deterministic since crescendo RC3](https://github.com/onflow/cadence/issues/3536) + - [View checking incorrectly assumes code type-checks](https://github.com/onflow/cadence/issues/3529) +- Improvement + - [Check if CBOR tag number is reserved by atree before using it to encode Cadence values](https://github.com/onflow/cadence/pull/3532) + - [Cannot use interface-converted type-requirements in fields](https://github.com/onflow/cadence/issues/3527) +- Docs + - [Improve the example for type-requirement removal](https://github.com/onflow/cadence-lang.org/pull/134) + - [Improve documentation for capabilities](https://github.com/onflow/cadence-lang.org/pull/133) +- Tests + - [Smoke test update of enum key in dictionary](https://github.com/onflow/cadence/pull/3556) + - [Add regression tests for nil-coalescing bug](https://github.com/onflow/cadence/pull/3553) + +**Cadence Execution** +- Handling of contracts not upgraded to 1.0 + - [Enable program recovery on MN](https://github.com/onflow/flow-go/pull/6336) + - [Recover NFT Collections](https://github.com/onflow/flow-go/pull/6394) + - [Recover NFT contract](https://github.com/onflow/flow-go/pull/6388) +- Bugfix + - [NormalizedExecutionTimePerComputationUnit reported incorrectly after spork](https://github.com/onflow/flow-go/issues/6346) +- Util + - [Add command to debug transaction](https://github.com/onflow/flow-go/pull/6385) + - [Move and export some migration funcs to util package for reuse](https://github.com/onflow/flow-go/pull/6363) + - Diff-state: + - [Add support for cap_tag domain](https://github.com/onflow/flow-go/pull/6407) + - [Skip EVM storage account for value comparison](https://github.com/onflow/flow-go/pull/6401) + - Check-storage: + - [Add support for cap_tag domain](https://github.com/onflow/flow-go/issues/6405) + - [Skip EVM storage account](https://github.com/onflow/flow-go/pull/6399) + - [Add check-storage command to util program to check storage health of execution state](https://github.com/onflow/flow-go/pull/6364) +- Execution effort re-calibration + - [Use multiple executions in local data collection](https://github.com/onflow/flow-execution-effort-estimation/pull/1) + - emulator: [Update execution effort constants](https://github.com/onflow/flow-emulator/pull/729) +- Tests + - [Add test for storage capability migration determinism](https://github.com/onflow/flow-go/pull/6375) + - Atree: [Make smoke tests check if CBOR tag nums are reserved](https://github.com/onflow/atree/pull/436) + +**EVM Core** +- Improvement + - [Decode legacy block event](https://github.com/onflow/flow-go/pull/6398) + - [Split contract implementation into separate package](https://github.com/onflow/flow-go/pull/6396) + - [Remove legacy migrations needed for Previewnet](https://github.com/onflow/flow-go/issues/6368) + - [Use a fixed coinbase address for Run and BatchRun and transfer gas fees afterward](https://github.com/onflow/flow-go/pull/6380) + - [Set prevrandao value on block level](https://github.com/onflow/flow-go/pull/6378) +- Metrics & Logging + - [Let the system transaction report metrics](https://github.com/onflow/flow-go/pull/6362) + - [Expose logger to the EVM environment](https://github.com/onflow/flow-go/pull/6343) +- Tests + - [Improve EVM addresses in tests](https://github.com/onflow/flow-go/pull/6400) + +**EVM Gateway** +- Feature + - State Index + - [Ledger implementation](https://github.com/onflow/flow-evm-gateway/issues/449) +- Bugfix + - [eth_getLogs returns incorrect records when filtering by block number](https://github.com/onflow/flow-evm-gateway/issues/439) + - [EffectiveGasPrice is not properly set for all transaction types](https://github.com/onflow/flow-evm-gateway/pull/479) + - [Index field on receipt logs does not return correct value for blocks with multiple transactions & logs](https://github.com/onflow/flow-evm-gateway/pull/462) + - [EVM blockheight metric being emitted is Cadence block height rather than EVM block height](https://github.com/onflow/flow-evm-gateway/issues/455) + - [Unsupported mainnet network ID for --flow-network-id config flag](https://github.com/onflow/flow-evm-gateway/issues/456) + - [Logging of API responses lacks certain fields](https://github.com/onflow/flow-evm-gateway/issues/440) + - [Fix calculation of `gasUsed` field returned on block endpoints](https://github.com/onflow/flow-evm-gateway/pull/444) +- Improvement + - [Refactor bootstrap to make it modular](https://github.com/onflow/flow-evm-gateway/pull/481) + - [Make engine restart logic more resilient](https://github.com/onflow/flow-evm-gateway/issues/85) + - [Decode legacy block event](https://github.com/onflow/flow-evm-gateway/pull/475) + - [Decode legacy receipts](https://github.com/onflow/flow-evm-gateway/pull/474) + - [Refactor receipt model](https://github.com/onflow/flow-evm-gateway/pull/473) + - [eth_coinbase should reflect the actual coinbase being used on EVM.run](https://github.com/onflow/flow-evm-gateway/issues/490) + - [Patch block RLP decoding to handle addition of PrevRandao field](https://github.com/onflow/flow-evm-gateway/pull/472) + - [Optimize traces engine to handle empty blocks](https://github.com/onflow/flow-evm-gateway/issues/464) + - [Empty miner field on eth_getBlockByNumber](https://github.com/onflow/flow-evm-gateway/issues/454) + - [Enrich the information contained in error messages](https://github.com/onflow/flow-evm-gateway/pull/453) +- Monitoring + - [Monitor operator balance](https://github.com/onflow/flow-evm-gateway/pull/487) +- fixing index after TN HCU + - [Revert "Decode legacy receipts"](https://github.com/onflow/flow-evm-gateway/pull/485) +- Minor fixes and improvements + - [Validate gas price in config](https://github.com/onflow/flow-evm-gateway/pull/494) + - [fix metric balance initialization](https://github.com/onflow/flow-evm-gateway/pull/493) + - [Wait for sigint signal](https://github.com/onflow/flow-evm-gateway/pull/492) +- Docs + - [Update running docs](https://github.com/onflow/flow-evm-gateway/pull/484) + **This sprint** - Objective 1, KR5: Mainnet Upgrade to Crescendo Release - Investigate and fix any high/critical severity issues reported on Crescendo on TN ([Crescendo launch on Mainnet tasklist](https://github.com/onflow/cadence/issues/2642)) - - [Create util command to check storage health of execution state](https://github.com/onflow/flow-go/issues/6350) - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) - Investigate / Fix any security report incoming from bug bounty. @@ -101,15 +203,15 @@ Cycle Objective(s): - EVM - Continue monitoring EVM GW stability - - Start work on [local state index](https://github.com/onflow/flow-evm-gateway/issues/322) + - Continue work on [local state index](https://github.com/onflow/flow-evm-gateway/issues/322) - KROK - EVM Gateway benchmarking - EVM Gateway - - continue work on [Metrics](https://github.com/onflow/flow-evm-gateway/issues/125) and [Benchmarking](https://github.com/onflow/flow-evm-gateway/issues/19) + - continue work on [Benchmarking](https://github.com/onflow/flow-evm-gateway/issues/19) - Badger -> Pebble Investigation/POC - - Continue evaluation of [Protocol State Migration POC](https://github.com/onflow/flow-go/issues/6137) & schedule design discussion + - Continue work on [Protocol State Migration POC](https://github.com/onflow/flow-go/issues/6137) -> changing interface to batch write from transaction to make the future switch to Pebble easier. **Completed OKRs** * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades From 5ae14477e2ee35c24c2eebe1cde01706a49ef27b Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 29 Aug 2024 17:29:21 -0700 Subject: [PATCH 488/626] Cadence WG update 2 --- .../2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index 9220ba02e..0ce417688 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -195,12 +195,15 @@ Cycle Objective(s): - Objective 1, KR5: Mainnet Upgrade to Crescendo Release - Investigate and fix any high/critical severity issues reported on Crescendo on TN ([Crescendo launch on Mainnet tasklist](https://github.com/onflow/cadence/issues/2642)) - - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) - Investigate / Fix any security report incoming from bug bounty. - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) +Cadence Execution +- Continue: [Add support for storage health check of EVM registers](https://github.com/onflow/flow-go/issues/6393) +- Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) + - EVM - Continue monitoring EVM GW stability - Continue work on [local state index](https://github.com/onflow/flow-evm-gateway/issues/322) From 16a1985e6b71a9cc0af2a464d1a860682083b820 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 29 Aug 2024 17:30:12 -0700 Subject: [PATCH 489/626] Cadence WG update 3 --- .../2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index 0ce417688..5e97833a6 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -200,9 +200,9 @@ Cycle Objective(s): - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) -Cadence Execution -- Continue: [Add support for storage health check of EVM registers](https://github.com/onflow/flow-go/issues/6393) -- Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) +- Cadence Execution + - Continue: [Add support for storage health check of EVM registers](https://github.com/onflow/flow-go/issues/6393) + - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) - EVM - Continue monitoring EVM GW stability From d9642b98846ee5d2c4faff8ddb3f6bd50d57cc7a Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 30 Aug 2024 06:55:56 +0530 Subject: [PATCH 490/626] Update 2024-08-30-Flow-Sprint-Kickoff.md FLIPs section update --- .../sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index 5e97833a6..d43959841 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -45,18 +45,17 @@ None | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 7 (-1) | 0 | 7 | **22** (-1) | +| Drafted | 8 | 7 | 0 | 7 | **22** | | Proposed | 1 | 2 | 3 | 0 | **6** | | Accepted | 2 | 1 | 2 | 2 | **7** | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 3 | 25 (+1) | 1 | 0 | **28** | +| Implemented | 3 | 25 | 1 | 0 | **29** | | Released | 4 | 0 | 4 | 6 | **14** | | Total | **18** | **35** | **11** | **15** | **79** | -**Updates** -Import of pre-Cadence 1.0 Programs (Bastian) was implemented +**No New FLIPs** -**FLIPs that need to be reassigned immediately:** +**REMINDER - FLIPs that need to be reassigned immediately:** **- Application** - Interaction Templates (Paul Gebheim) @@ -72,7 +71,6 @@ Import of pre-Cadence 1.0 Programs (Bastian) was implemented - Entitlements (Daniel Sainati) - New behavior for attachments with entitlements (Daniel Sainati) - # Working Group Updates ### **Cadence and Virtual Machine** \[Jan] From 29d215033a1c38e186a9dc2128979ae888a92be5 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 30 Aug 2024 06:57:17 +0530 Subject: [PATCH 491/626] Update 2024-08-30-Flow-Sprint-Kickoff.md + team wins --- agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index d43959841..be1f377d1 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -6,6 +6,7 @@ - Added check-storage command to util program to check health of execution state using snapshot. - Execution saturation on Devnet 51 is 40% lower compared with Devnet50 (14% -> 9%). - EVM dashboard up & running in Grafana. +- Shipped preseason (locking season) of [Flow community rewards](rewards.flow.com) platform ### General updates From 831307565a7dfb145dc632ef6fb0d1f100b5e73b Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 30 Aug 2024 07:12:25 +0530 Subject: [PATCH 492/626] Update 2024-08-30-Flow-Sprint-Kickoff.md GWG updates --- .../2024-08-30-Flow-Sprint-Kickoff.md | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index be1f377d1..90d4aa04c 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -420,4 +420,31 @@ Cycle Objective(s): - Migrate onflow.org & nodes.onflow.org zones to FF CloudFlare account - Create infrastructure for DL & FF nodes - Spork Mainnet -- Cleanup all infra used for spork prep +- Cleanup all infra used for spork prep + +### **Governance and Tokenomics** \[Kshitij] +Cycle Objective(s): Vision for long-term tokenomics and dynamic fees on Flow, launch Flow rewards platform (preseason and seaoson-1) + +**Done last sprint** +- Shipped rewards.flow.com +- Worked with Dete on future fees on Flow (not be launched with Crescendo launch) - txn fee, storage fee, other governance topics - [see notes](https://www.notion.so/flowfoundation/Dynamic-Transaction-Fees-on-Flow-fa7e7115e43a41a99ac9ca942dabcaf2) + +**This sprint** + +Rewards platform tracker [link](https://github.com/orgs/onflow/projects/65/views/1) +- Drive updates for 09/04 - design, copy, legal changes, revise FAQs, migration downtime +- For Season 1 (10/01 launch) + - Unblock eng on reward distribution part of the product + - Drive final decisions on points system, referral bonus, raffles, etc + - Drive partner discussions - defilama, auditor, anti-sybil, etc. + - Drive design and copy per the rebranding plan (tbd) +- Continue working with Dete on stable state tokenomics +- Discuss with a16z their node consolidation strategy + +**On Hold** + + +**Active Epics** + +- N/A + From 428d645330f45c08a068a76b28e666dc49695ab9 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 29 Aug 2024 22:19:19 -0700 Subject: [PATCH 493/626] Protocol and defi updates --- .../2024-08-30-Flow-Sprint-Kickoff.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index 90d4aa04c..289382e1a 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -2,12 +2,11 @@ ### Team Wins 🎉 -- Ready for Crescendo mainnet launch - v0.37.9. +- Ready for Crescendo mainnet launch - v0.37.9 - Added check-storage command to util program to check health of execution state using snapshot. -- Execution saturation on Devnet 51 is 40% lower compared with Devnet50 (14% -> 9%). -- EVM dashboard up & running in Grafana. -- Shipped preseason (locking season) of [Flow community rewards](rewards.flow.com) platform - +- Execution saturation on Devnet 51 is 40% lower compared with Devnet50 (14% -> 9%) +- EVM dashboard up & running in Grafana +- Shipped preseason (locking season) of [Flow community rewards](rewards.flow.com) platform ### General updates @@ -243,6 +242,8 @@ Cycle Objective(s): **Done last Sprint:** +* EFM Recovery + * Cryptography: * State proofs: performance estimations of VC and set accumulator-based state trees: @@ -251,11 +252,13 @@ Cycle Objective(s): * Ddesigns covered (KZG-Pointproofs-RSA accumulator) - designs studied but not finalized (Catalono-Pedersen IPA-Nguyen) * JVM-SDK: minor review * Secure enclave blog review - + +* Misc other + - Ongoing Pebble migration PR reviews + **This sprint** * EFM Recovery - - Finish Pebble PR review - DKG smart contract updates (cont.) - Address feedback and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440) PR - Finish [EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164) @@ -296,7 +299,7 @@ Cycle Objective(s): * Updated JVM-SDK repo examples updates to parity with Go SDK **This sprint** - * Continue supporting Axelar and other key partners + * Continue supporting Celer, Axelar and other key partners * Complete remaining JVM-SDK examples **On Hold** From 0650d2007d363ad4f27456b38dde3facbb1f77c4 Mon Sep 17 00:00:00 2001 From: Alexander Hentschel Date: Thu, 29 Aug 2024 22:57:06 -0700 Subject: [PATCH 494/626] Update 2024-08-30-Flow-Sprint-Kickoff.md added further details for BFT team --- .../sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index 289382e1a..ff968d353 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -243,6 +243,9 @@ Cycle Objective(s): **Done last Sprint:** * EFM Recovery + - Formalized the protocol expectation: consensus finalization never holds for more than 1000 views + - code :point_right: [`FinalizationSafetyThreshold`](https://github.com/onflow/flow-go/pull/6323) + - documentation in code base ([PR #6323](https://github.com/onflow/flow-go/pull/6323), [#6318](https://github.com/onflow/flow-go/pull/6318), [#6384](https://github.com/onflow/flow-go/pull/6384)) * Cryptography: @@ -253,8 +256,8 @@ Cycle Objective(s): * JVM-SDK: minor review * Secure enclave blog review -* Misc other - - Ongoing Pebble migration PR reviews +* Consensus Timing: + - fixed systematic bias in block rate controller (aka [Cruise Control](https://github.com/onflow/flow-go/blob/master/consensus/hotstuff/cruisectl/README.md)) for small consensus committees (e.g. affecting testnet) (PRs [#6379](https://github.com/onflow/flow-go/pull/6379), [#6392](https://github.com/onflow/flow-go/pull/6392) **This sprint** @@ -262,7 +265,8 @@ Cycle Objective(s): - DKG smart contract updates (cont.) - Address feedback and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440) PR - Finish [EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164) - + - allowing DKG key-sets to be re-used to recover from Epoch Fallback Mode, even if nodes are dropping out ([PR #6338](https://github.com/onflow/flow-go/pull/6338) ongoing) + * Data Availability: - ProtocolDB pruning design - KROK Team @@ -277,6 +281,8 @@ Cycle Objective(s): - State proofs: performance estimations of some VC/set accumulator constructions - Pick up SPoCK aggregation related reads if time permits +* Misc other + - Ongoing Pebble migration PR reviews **On Hold** * Implement BFT mitigations to enable 20 permissionless ANs From b832112d28c31ef552701e5cb132b6929b29493a Mon Sep 17 00:00:00 2001 From: Alexander Hentschel Date: Thu, 29 Aug 2024 22:59:36 -0700 Subject: [PATCH 495/626] Update 2024-08-30-Flow-Sprint-Kickoff.md typo --- agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index ff968d353..bb189093e 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -243,7 +243,7 @@ Cycle Objective(s): **Done last Sprint:** * EFM Recovery - - Formalized the protocol expectation: consensus finalization never holds for more than 1000 views + - Formalized protocol expectation: consensus finalization never holds for more than 1000 views - code :point_right: [`FinalizationSafetyThreshold`](https://github.com/onflow/flow-go/pull/6323) - documentation in code base ([PR #6323](https://github.com/onflow/flow-go/pull/6323), [#6318](https://github.com/onflow/flow-go/pull/6318), [#6384](https://github.com/onflow/flow-go/pull/6384)) @@ -257,7 +257,7 @@ Cycle Objective(s): * Secure enclave blog review * Consensus Timing: - - fixed systematic bias in block rate controller (aka [Cruise Control](https://github.com/onflow/flow-go/blob/master/consensus/hotstuff/cruisectl/README.md)) for small consensus committees (e.g. affecting testnet) (PRs [#6379](https://github.com/onflow/flow-go/pull/6379), [#6392](https://github.com/onflow/flow-go/pull/6392) + - fixed systematic bias in block rate controller (aka [Cruise Control](https://github.com/onflow/flow-go/blob/master/consensus/hotstuff/cruisectl/README.md)) for small consensus committees (e.g. affecting testnet) [PRs [#6379](https://github.com/onflow/flow-go/pull/6379), [#6392](https://github.com/onflow/flow-go/pull/6392)] **This sprint** From a17914b92a0086c6bc01b4f5f17bb7090ca55732 Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 30 Aug 2024 07:42:18 -0700 Subject: [PATCH 496/626] update data availability sprint 2024-08-30 --- .../2024-08-30-Flow-Sprint-Kickoff.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index bb189093e..8377012ab 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -259,6 +259,14 @@ Cycle Objective(s): * Consensus Timing: - fixed systematic bias in block rate controller (aka [Cruise Control](https://github.com/onflow/flow-go/blob/master/consensus/hotstuff/cruisectl/README.md)) for small consensus committees (e.g. affecting testnet) [PRs [#6379](https://github.com/onflow/flow-go/pull/6379), [#6392](https://github.com/onflow/flow-go/pull/6392)] +* Data Availability: + - Tested and documented process for generating checkpoints for AN dynamic bootstrapping ([notion](https://www.notion.so/flowfoundation/Build-and-Upload-Checkpoint-for-AN-Indexing-d3e916bc3a364a2bb484b289933b6a46)) + - Tested and documented process for starting AN with local EVM Gateway ([notion](https://www.notion.so/flowfoundation/Setting-up-EVM-Gateway-with-a-local-Access-node-Setup-bab9978f5c9c4113a6b118fb27cc0296)) + - KROK Team + - Add metrics for payer validation ([PR #6239](https://github.com/onflow/flow-go/pull/6239)) + - Improvement to `ipfs/go-ds-pebble` ([PR #6411](https://github.com/onflow/flow-go/pull/6411), [ipfs/go-ds-pebble#36](https://github.com/ipfs/go-ds-pebble/pull/36)) + - Add compatible range info to NodeVersionInfo endpoint ([PR #6294](https://github.com/onflow/flow-go/pull/6294)) + **This sprint** * EFM Recovery @@ -266,16 +274,19 @@ Cycle Objective(s): - Address feedback and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440) PR - Finish [EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164) - allowing DKG key-sets to be re-used to recover from Epoch Fallback Mode, even if nodes are dropping out ([PR #6338](https://github.com/onflow/flow-go/pull/6338) ongoing) - + * Data Availability: - ProtocolDB pruning design - KROK Team - Add StopControl for access nodes ([Issue #5790](https://github.com/onflow/flow-go/issues/5790) - In review) - Add support pruning pebble exec data db ([Issue #6260](https://github.com/onflow/flow-go/issues/6260) - In review) - - Expand on payer balance checks ([Issue #6128](https://github.com/onflow/flow-go/issues/6128) - Waiting to merge, [Issue #6129](https://github.com/onflow/flow-go/issues/6129) - In review, [Issue #6139](https://github.com/onflow/flow-go/issues/6139) - In review) - - Start registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + - Expand on payer balance checks ([Issue #6129](https://github.com/onflow/flow-go/issues/6129) - In review, [Issue #6139](https://github.com/onflow/flow-go/issues/6139) - In review) + - Start registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) + - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302)) - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357)) - Test execution data pruning on testnet ([Issue #6358](https://github.com/onflow/flow-go/issues/6358)) + - Documentation improvements ([Issue #815](https://github.com/onflow/docs/issues/815), [Issue #727](https://github.com/onflow/docs/issues/727) - In review) + - Wrap up rosetta integration test improvements ([Issue #57](https://github.com/onflow/rosetta/issues/57)) * Cryptography: - State proofs: performance estimations of some VC/set accumulator constructions From 1e58b5c9b4e3a840f2bc36568c9fd3300eba1038 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 30 Aug 2024 08:16:23 -0700 Subject: [PATCH 497/626] Cadence WG update 4 --- agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md | 1 - 1 file changed, 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index 5e97833a6..e298ddba8 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -4,7 +4,6 @@ - Ready for Crescendo mainnet launch - v0.37.9. - Added check-storage command to util program to check health of execution state using snapshot. -- Execution saturation on Devnet 51 is 40% lower compared with Devnet50 (14% -> 9%). - EVM dashboard up & running in Grafana. From 6c33c453c268d547d21feca9a878c82efa68ca08 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 30 Aug 2024 08:28:03 -0700 Subject: [PATCH 498/626] 4D - Update 2024-08-30 --- .../2024-08-30-Flow-Sprint-Kickoff.md | 85 ++++++++++++++++++- 1 file changed, 83 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index 8caab7014..9eba2960e 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -5,7 +5,11 @@ - Ready for Crescendo mainnet launch - v0.37.9 - Added check-storage command to util program to check health of execution state using snapshot. - EVM dashboard up & running in Grafana -- Shipped preseason (locking season) of [Flow community rewards](rewards.flow.com) platform +- Shipped preseason (locking season) of [Flow community rewards](rewards.flow.com) platform +- 100% Ledger Flow App 0.13.0 test coverage on Flow Port, (testnet, Cadence 1.0) +- FLOW REWARDS LAUNCHED!!! 2.7m Locked in under 48hrs +- NFT TokenList launched as a replacement for NFT Catalog through UX WG + ### General updates @@ -339,8 +343,85 @@ Cycle Objective(s): **Done last sprint** +**Crescendo Rewards** + +Contracts +- [Replace AccrualModel.getWeightedAPR() with .getBoost()](https://github.com/onflow/crescendo-rewards-sc/issues/66) +- [Respond to review findings](https://github.com/onflow/crescendo-rewards-sc/issues/67) +- [Add svg render](https://github.com/onflow/crescendo-rewards-sc/pull/69) +- [Finalize naming conventions & refactor](https://github.com/onflow/crescendo-rewards-sc/issues/70) +- [Mainnet deployment](https://github.com/onflow/crescendo-rewards-sc/issues/77) + +Backend + +- [Fix @onflow/types error in logs](https://github.com/onflow/crescendo-rewards-be/issues/157) +- [Fix Blocto Login](https://github.com/onflow/crescendo-rewards-be/issues/155) +- [Secure referrals api routes using address in referral code](https://github.com/onflow/crescendo-rewards-be/issues/141) +- [Move address validation into middleware](https://github.com/onflow/crescendo-rewards-be/issues/140) +- [Setup cors with correct urls](https://github.com/onflow/crescendo-rewards-be/issues/137) +- [Add referral verification route](https://github.com/onflow/crescendo-rewards-be/issues/122) +- [Rewards APIs](https://github.com/onflow/crescendo-rewards-be/issues/114) +- [Add user signature fallback for /verify](https://github.com/onflow/crescendo-rewards-be/issues/112) +- [Setup production environment](https://github.com/onflow/crescendo-rewards-be/issues/108) +- [add scripts for cadence 1.0](https://github.com/onflow/crescendo-rewards-be/issues/99) +- [Deploy contracts to migrationnet](https://github.com/onflow/crescendo-rewards-be/issues/86) +- [Hook up to testnet](https://github.com/onflow/crescendo-rewards-be/issues/85) +- [Get job running on staging](https://github.com/onflow/crescendo-rewards-be/issues/84) +- [Setup ratelimiting with redis](https://github.com/onflow/crescendo-rewards-be/issues/83) +- [Secure any routes that need to be protected](https://github.com/onflow/crescendo-rewards-be/issues/60) +- [Create referrals schema and helpers](https://github.com/onflow/crescendo-rewards-be/issues/45) +- [Switch job runner from mock scripts to real on chain data](https://github.com/onflow/crescendo-rewards-be/issues/34) + +Frontend + +- [Round leaderboard entries to nearest $FLOW](https://github.com/onflow/crescendo-rewards/issues/282) +- [Add formatter for referral codes](https://github.com/onflow/crescendo-rewards/issues/280) +- [Add more slides to carousel](https://github.com/onflow/crescendo-rewards/issues/238) +- [Increase boost precision](https://github.com/onflow/crescendo-rewards/issues/226) +- [Error displayed after logging in](https://github.com/onflow/crescendo-rewards/issues/196) +- [Use SWR for activity hook](https://github.com/onflow/crescendo-rewards/issues/194) +- [Verify referral code in form](https://github.com/onflow/crescendo-rewards/issues/182) +- [Add lock period countdown](https://github.com/onflow/crescendo-rewards/issues/140) +- [Setup WalletConnect](https://github.com/onflow/crescendo-rewards/issues/137) +- [Link to block explorer](https://github.com/onflow/crescendo-rewards/issues/275) +- [Add logic for minting a new nft even if you have an existing one](https://github.com/onflow/crescendo-rewards/issues/274) +- [Coming soon partner page](https://github.com/onflow/crescendo-rewards/issues/219) +- [Get account balance in hook](https://github.com/onflow/crescendo-rewards/issues/206) +- [[FEATURE] Add 25%, 50%, and MAX buttons for Lock Input](https://github.com/onflow/crescendo-rewards/issues/205) +- [[FEATURE] Improve Layout For Mobile](https://github.com/onflow/crescendo-rewards/issues/192) +- [Make total value locked use animated component when increment when changed](https://github.com/onflow/crescendo-rewards/issues/191) +- [Maintenence Mode from Env Var](https://github.com/onflow/crescendo-rewards/issues/189) +- [Add boost to subheader](https://github.com/onflow/crescendo-rewards/issues/185) +- [Animated value component](https://github.com/onflow/crescendo-rewards/issues/177) +- [Distribution lock period, pre lock countdown, and other countdown card logic](https://github.com/onflow/crescendo-rewards/issues/172) +- [Update partner card to match mock](https://github.com/onflow/crescendo-rewards/issues/129) +- [Add jwt to account route](https://github.com/onflow/crescendo-rewards/issues/112) +- [Remove dapper auth and show modal instead](https://github.com/onflow/crescendo-rewards/issues/107) +- [Add rules dialogs](https://github.com/onflow/crescendo-rewards/issues/106) +- [Non connected wallet state on lock page](https://github.com/onflow/crescendo-rewards/issues/100) + +X-Chain Axelar Bridge +- [Flow Bridge App Epic](https://github.com/onflow/flow-bridge-app/issues/1) +Waiting for Axelar contract deployment to testnet + +FCL Discovery +- Shipped FCL Discovery V2 Improvements +- [Don't show install links for unsupported browsers](https://github.com/onflow/fcl-discovery/issues/259) +- [[V2] Milestone 2 - UI Completeness](https://github.com/onflow/fcl-discovery/issues/210) + +FCL +- [Allow FCL Discovery to Display WalletConnect QR Codes while open](https://github.com/onflow/fcl-js/issues/1923) +- [Allow FCL Discovery to Execute Extension While Open](https://github.com/onflow/fcl-js/issues/1924) +- [[BUG] Dapper Wallet problems with Newer Releases](https://github.com/onflow/fcl-js/issues/1818) + +Flow CLI +- [Include EVM stdlib in staging update validator](https://github.com/onflow/flow-cli/pull/1697) + +Public Key Indexer +- [Update for Cadence v1](https://github.com/onflow/flow-public-key-indexer/issues/17) + **This sprint** -**Sprint goal Flow Axelar Cross-chain Bridge / Documentation Updates, Crescendo Rewards, FCL Discovery and WC Integration, Lost and Found (Integration - Flow Port, Flow Wallet)** +**Sprint goal Crescendo Readiness / Flow Axelar Cross-chain Bridge / Documentation Updates, Crescendo Rewards, Lost and Found (Integration - Flow Port, Flow Wallet)** - [EPIC] Crescendo Rewards Portal - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) From 252848f56f9a4b1a723aa4890e051cd63a88ed6f Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 30 Aug 2024 09:15:38 -0700 Subject: [PATCH 499/626] Add protocol updates --- .../sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index 9eba2960e..534b8a0da 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -249,6 +249,8 @@ Cycle Objective(s): - Formalized protocol expectation: consensus finalization never holds for more than 1000 views - code :point_right: [`FinalizationSafetyThreshold`](https://github.com/onflow/flow-go/pull/6323) - documentation in code base ([PR #6323](https://github.com/onflow/flow-go/pull/6323), [#6318](https://github.com/onflow/flow-go/pull/6318), [#6384](https://github.com/onflow/flow-go/pull/6384)) + - [Addressed all feedback on core contracts PR](https://github.com/onflow/flow-core-contracts/pull/440) + - [Published PR for integration test part 2](https://github.com/onflow/flow-go/pull/6424) * Cryptography: @@ -274,9 +276,10 @@ Cycle Objective(s): * EFM Recovery - DKG smart contract updates (cont.) - - Address feedback and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440) PR - - Finish [EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164) - - allowing DKG key-sets to be re-used to recover from Epoch Fallback Mode, even if nodes are dropping out ([PR #6338](https://github.com/onflow/flow-go/pull/6338) ongoing) + - Final feedback and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440) PR + - Address feedback [EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164), [PR](https://github.com/onflow/flow-go/pull/6424) + - EFM Ejected node integration test https://github.com/onflow/flow-go/issues/6331 + - Allowing DKG key-sets to be re-used to recover from Epoch Fallback Mode, even if nodes are dropping out ([PR #6338](https://github.com/onflow/flow-go/pull/6338) ongoing) * Data Availability: - ProtocolDB pruning design From b600cd0fa1c3ae8bce0ea384fcd9079b8f20cd30 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 30 Aug 2024 09:16:17 -0700 Subject: [PATCH 500/626] Fix indents --- agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md index 534b8a0da..74d3c9a30 100644 --- a/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-08-30-Flow-Sprint-Kickoff.md @@ -249,8 +249,8 @@ Cycle Objective(s): - Formalized protocol expectation: consensus finalization never holds for more than 1000 views - code :point_right: [`FinalizationSafetyThreshold`](https://github.com/onflow/flow-go/pull/6323) - documentation in code base ([PR #6323](https://github.com/onflow/flow-go/pull/6323), [#6318](https://github.com/onflow/flow-go/pull/6318), [#6384](https://github.com/onflow/flow-go/pull/6384)) - - [Addressed all feedback on core contracts PR](https://github.com/onflow/flow-core-contracts/pull/440) - - [Published PR for integration test part 2](https://github.com/onflow/flow-go/pull/6424) + - [Addressed all feedback on core contracts PR](https://github.com/onflow/flow-core-contracts/pull/440) + - [Published PR for integration test part 2](https://github.com/onflow/flow-go/pull/6424) * Cryptography: From 8519ab261eaa81d11486bee4f85a301816969986 Mon Sep 17 00:00:00 2001 From: Janez Podhostnik <67895329+janezpodhostnik@users.noreply.github.com> Date: Wed, 4 Sep 2024 17:08:13 +0200 Subject: [PATCH 501/626] Add `GetTransactionExecutionMetricsAfter` (#1501) * added GetTransactionExecutionMetricsAfter * move new proto methods to execution * update comment in protobuf method * cleanup unnecesary changes * expand comments * Update protobuf/flow/execution/execution.proto Co-authored-by: Leo Zhang --------- Co-authored-by: Leo Zhang --- protobuf/flow/execution/execution.proto | 83 +++- protobuf/go/flow/execution/execution.pb.go | 427 +++++++++++++++--- .../go/flow/execution/execution_grpc.pb.go | 77 +++- 3 files changed, 498 insertions(+), 89 deletions(-) diff --git a/protobuf/flow/execution/execution.proto b/protobuf/flow/execution/execution.proto index 93c75181d..2b32191b3 100644 --- a/protobuf/flow/execution/execution.proto +++ b/protobuf/flow/execution/execution.proto @@ -50,18 +50,22 @@ service ExecutionAPI { rpc GetTransactionResultsByBlockID(GetTransactionsByBlockIDRequest) returns (GetTransactionResultsResponse); - // GetTransactionErrorMessage gets the error messages of a failed transaction by id. + // GetTransactionErrorMessage gets the error messages of a failed transaction + // by id. rpc GetTransactionErrorMessage(GetTransactionErrorMessageRequest) - returns (GetTransactionErrorMessageResponse); + returns (GetTransactionErrorMessageResponse); - // GetTransactionErrorMessageByIndex gets the error messages of a failed transaction at the index. - rpc GetTransactionErrorMessageByIndex(GetTransactionErrorMessageByIndexRequest) - returns (GetTransactionErrorMessageResponse); + // GetTransactionErrorMessageByIndex gets the error messages of a failed + // transaction at the index. + rpc GetTransactionErrorMessageByIndex( + GetTransactionErrorMessageByIndexRequest) + returns (GetTransactionErrorMessageResponse); - // GetTransactionErrorMessagesByBlockID gets the error messages of all failed transactions in the - // block ordered by transaction index. - rpc GetTransactionErrorMessagesByBlockID(GetTransactionErrorMessagesByBlockIDRequest) - returns (GetTransactionErrorMessagesResponse); + // GetTransactionErrorMessagesByBlockID gets the error messages of all failed + // transactions in the block ordered by transaction index. + rpc GetTransactionErrorMessagesByBlockID( + GetTransactionErrorMessagesByBlockIDRequest) + returns (GetTransactionErrorMessagesResponse); // Registers @@ -75,9 +79,24 @@ service ExecutionAPI { // GetLatestBlockHeader gets the latest sealed or unsealed block header. rpc GetLatestBlockHeader(GetLatestBlockHeaderRequest) returns (BlockHeaderResponse); + // GetBlockHeaderByID gets a block header by ID. rpc GetBlockHeaderByID(GetBlockHeaderByIDRequest) returns (BlockHeaderResponse); + + // GetTransactionExecutionMetricsAfter gets the transaction execution metrics + // for blocks after the given block height. The blocks will be sorted by + // descending block height. + // If no data is available for the given block height, the response will be + // empty. The execution node will only store metrics for a limited number of + // blocks,  so the request may return an empty response if the requested + // block height is too far in the past. + // + // Errors: + // - No errors are expected. + rpc GetTransactionExecutionMetricsAfter( + GetTransactionExecutionMetricsAfterRequest) + returns (GetTransactionExecutionMetricsAfterResponse); } // Ping @@ -211,3 +230,49 @@ message GetBlockHeaderByIDRequest { message BlockHeaderResponse { entities.BlockHeader block = 1; } + + +// The request for GetTransactionExecutionMetricsAfter +message GetTransactionExecutionMetricsAfterRequest { + // Block height after which to get transaction execution metrics. + // this block height will not be included in the response. + uint64 block_height = 1; +} + +// The response for GetTransactionExecutionMetricsAfter +// The response contains the execution metrics for transactions in each block +// after the requested block height (block_height + 1). The execution node only keeps a limited +// number of blocks in memory, so the response may not contain metrics for all +// blocks. Only finalized and executed blocks will be in the response. +// The blocks are sorted by block height in descending order. +message GetTransactionExecutionMetricsAfterResponse { + // the execution effort weight of a computation kind + message ExecutionEffortWeight { + // computation kind id + uint64 kind = 1; + // the weight of the computation kind + uint64 weight = 2; + } + + // the data for one transaction + message Transaction { + // the transaction id + bytes transaction_id = 1; + // the execution time of the transaction in nanoseconds + uint64 execution_time = 2; + // the execution effort weights of the transaction + repeated ExecutionEffortWeight execution_effort_weights = 3; + } + + // the data for one block + message Result { + // the block height of the block + uint64 block_height = 1; + // the list of transactions in the block + repeated Transaction transactions = 2; + } + + // a list of results for each block sorted by block height in + // descending order + repeated Result results = 1; +} diff --git a/protobuf/go/flow/execution/execution.pb.go b/protobuf/go/flow/execution/execution.pb.go index 94bbbedb8..50e7200f1 100644 --- a/protobuf/go/flow/execution/execution.pb.go +++ b/protobuf/go/flow/execution/execution.pb.go @@ -1167,6 +1167,274 @@ func (m *BlockHeaderResponse) GetBlock() *entities.BlockHeader { return nil } +// The request for GetTransactionExecutionMetricsAfter +type GetTransactionExecutionMetricsAfterRequest struct { + // Block height after which to get transaction execution metrics. + // this block height will not be included in the response. + BlockHeight uint64 `protobuf:"varint,1,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetTransactionExecutionMetricsAfterRequest) Reset() { + *m = GetTransactionExecutionMetricsAfterRequest{} +} +func (m *GetTransactionExecutionMetricsAfterRequest) String() string { + return proto.CompactTextString(m) +} +func (*GetTransactionExecutionMetricsAfterRequest) ProtoMessage() {} +func (*GetTransactionExecutionMetricsAfterRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_699624211ed46c53, []int{23} +} + +func (m *GetTransactionExecutionMetricsAfterRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterRequest.Unmarshal(m, b) +} +func (m *GetTransactionExecutionMetricsAfterRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterRequest.Marshal(b, m, deterministic) +} +func (m *GetTransactionExecutionMetricsAfterRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetTransactionExecutionMetricsAfterRequest.Merge(m, src) +} +func (m *GetTransactionExecutionMetricsAfterRequest) XXX_Size() int { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterRequest.Size(m) +} +func (m *GetTransactionExecutionMetricsAfterRequest) XXX_DiscardUnknown() { + xxx_messageInfo_GetTransactionExecutionMetricsAfterRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_GetTransactionExecutionMetricsAfterRequest proto.InternalMessageInfo + +func (m *GetTransactionExecutionMetricsAfterRequest) GetBlockHeight() uint64 { + if m != nil { + return m.BlockHeight + } + return 0 +} + +// The response for GetTransactionExecutionMetricsAfter +// The response contains the execution metrics for transactions in each block +// after the requested block height. The execution node only keeps a limited +// number of blocks in memory, so the response may not contain metrics for all +// blocks. Only finalized and executed blocks will be in the response. +// The blocks are sorted by block height in descending order. +type GetTransactionExecutionMetricsAfterResponse struct { + // a list of results for each block sorted by block height in + // descending order + Results []*GetTransactionExecutionMetricsAfterResponse_Result `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetTransactionExecutionMetricsAfterResponse) Reset() { + *m = GetTransactionExecutionMetricsAfterResponse{} +} +func (m *GetTransactionExecutionMetricsAfterResponse) String() string { + return proto.CompactTextString(m) +} +func (*GetTransactionExecutionMetricsAfterResponse) ProtoMessage() {} +func (*GetTransactionExecutionMetricsAfterResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_699624211ed46c53, []int{24} +} + +func (m *GetTransactionExecutionMetricsAfterResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse.Unmarshal(m, b) +} +func (m *GetTransactionExecutionMetricsAfterResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse.Marshal(b, m, deterministic) +} +func (m *GetTransactionExecutionMetricsAfterResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse.Merge(m, src) +} +func (m *GetTransactionExecutionMetricsAfterResponse) XXX_Size() int { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse.Size(m) +} +func (m *GetTransactionExecutionMetricsAfterResponse) XXX_DiscardUnknown() { + xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse proto.InternalMessageInfo + +func (m *GetTransactionExecutionMetricsAfterResponse) GetResults() []*GetTransactionExecutionMetricsAfterResponse_Result { + if m != nil { + return m.Results + } + return nil +} + +// the execution effort weight of a computation kind +type GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight struct { + // computation kind id + Kind uint64 `protobuf:"varint,1,opt,name=kind,proto3" json:"kind,omitempty"` + // the weight of the computation kind + Weight uint64 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight) Reset() { + *m = GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight{} +} +func (m *GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight) String() string { + return proto.CompactTextString(m) +} +func (*GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight) ProtoMessage() {} +func (*GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight) Descriptor() ([]byte, []int) { + return fileDescriptor_699624211ed46c53, []int{24, 0} +} + +func (m *GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight.Unmarshal(m, b) +} +func (m *GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight.Marshal(b, m, deterministic) +} +func (m *GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight.Merge(m, src) +} +func (m *GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight) XXX_Size() int { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight.Size(m) +} +func (m *GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight) XXX_DiscardUnknown() { + xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight.DiscardUnknown(m) +} + +var xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight proto.InternalMessageInfo + +func (m *GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight) GetKind() uint64 { + if m != nil { + return m.Kind + } + return 0 +} + +func (m *GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight) GetWeight() uint64 { + if m != nil { + return m.Weight + } + return 0 +} + +// the data for one transaction +type GetTransactionExecutionMetricsAfterResponse_Transaction struct { + // the transaction id + TransactionId []byte `protobuf:"bytes,1,opt,name=transaction_id,json=transactionId,proto3" json:"transaction_id,omitempty"` + // the execution time of the transaction in nanoseconds + ExecutionTime uint64 `protobuf:"varint,2,opt,name=execution_time,json=executionTime,proto3" json:"execution_time,omitempty"` + // the execution effort weights of the transaction + ExecutionEffortWeights []*GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight `protobuf:"bytes,3,rep,name=execution_effort_weights,json=executionEffortWeights,proto3" json:"execution_effort_weights,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetTransactionExecutionMetricsAfterResponse_Transaction) Reset() { + *m = GetTransactionExecutionMetricsAfterResponse_Transaction{} +} +func (m *GetTransactionExecutionMetricsAfterResponse_Transaction) String() string { + return proto.CompactTextString(m) +} +func (*GetTransactionExecutionMetricsAfterResponse_Transaction) ProtoMessage() {} +func (*GetTransactionExecutionMetricsAfterResponse_Transaction) Descriptor() ([]byte, []int) { + return fileDescriptor_699624211ed46c53, []int{24, 1} +} + +func (m *GetTransactionExecutionMetricsAfterResponse_Transaction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_Transaction.Unmarshal(m, b) +} +func (m *GetTransactionExecutionMetricsAfterResponse_Transaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_Transaction.Marshal(b, m, deterministic) +} +func (m *GetTransactionExecutionMetricsAfterResponse_Transaction) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_Transaction.Merge(m, src) +} +func (m *GetTransactionExecutionMetricsAfterResponse_Transaction) XXX_Size() int { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_Transaction.Size(m) +} +func (m *GetTransactionExecutionMetricsAfterResponse_Transaction) XXX_DiscardUnknown() { + xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_Transaction.DiscardUnknown(m) +} + +var xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_Transaction proto.InternalMessageInfo + +func (m *GetTransactionExecutionMetricsAfterResponse_Transaction) GetTransactionId() []byte { + if m != nil { + return m.TransactionId + } + return nil +} + +func (m *GetTransactionExecutionMetricsAfterResponse_Transaction) GetExecutionTime() uint64 { + if m != nil { + return m.ExecutionTime + } + return 0 +} + +func (m *GetTransactionExecutionMetricsAfterResponse_Transaction) GetExecutionEffortWeights() []*GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight { + if m != nil { + return m.ExecutionEffortWeights + } + return nil +} + +// the data for one block +type GetTransactionExecutionMetricsAfterResponse_Result struct { + // the block height of the block + BlockHeight uint64 `protobuf:"varint,1,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` + // the list of transactions in the block + Transactions []*GetTransactionExecutionMetricsAfterResponse_Transaction `protobuf:"bytes,2,rep,name=transactions,proto3" json:"transactions,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetTransactionExecutionMetricsAfterResponse_Result) Reset() { + *m = GetTransactionExecutionMetricsAfterResponse_Result{} +} +func (m *GetTransactionExecutionMetricsAfterResponse_Result) String() string { + return proto.CompactTextString(m) +} +func (*GetTransactionExecutionMetricsAfterResponse_Result) ProtoMessage() {} +func (*GetTransactionExecutionMetricsAfterResponse_Result) Descriptor() ([]byte, []int) { + return fileDescriptor_699624211ed46c53, []int{24, 2} +} + +func (m *GetTransactionExecutionMetricsAfterResponse_Result) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_Result.Unmarshal(m, b) +} +func (m *GetTransactionExecutionMetricsAfterResponse_Result) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_Result.Marshal(b, m, deterministic) +} +func (m *GetTransactionExecutionMetricsAfterResponse_Result) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_Result.Merge(m, src) +} +func (m *GetTransactionExecutionMetricsAfterResponse_Result) XXX_Size() int { + return xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_Result.Size(m) +} +func (m *GetTransactionExecutionMetricsAfterResponse_Result) XXX_DiscardUnknown() { + xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_Result.DiscardUnknown(m) +} + +var xxx_messageInfo_GetTransactionExecutionMetricsAfterResponse_Result proto.InternalMessageInfo + +func (m *GetTransactionExecutionMetricsAfterResponse_Result) GetBlockHeight() uint64 { + if m != nil { + return m.BlockHeight + } + return 0 +} + +func (m *GetTransactionExecutionMetricsAfterResponse_Result) GetTransactions() []*GetTransactionExecutionMetricsAfterResponse_Transaction { + if m != nil { + return m.Transactions + } + return nil +} + func init() { proto.RegisterType((*PingRequest)(nil), "flow.execution.PingRequest") proto.RegisterType((*PingResponse)(nil), "flow.execution.PingResponse") @@ -1193,81 +1461,96 @@ func init() { proto.RegisterType((*GetLatestBlockHeaderRequest)(nil), "flow.execution.GetLatestBlockHeaderRequest") proto.RegisterType((*GetBlockHeaderByIDRequest)(nil), "flow.execution.GetBlockHeaderByIDRequest") proto.RegisterType((*BlockHeaderResponse)(nil), "flow.execution.BlockHeaderResponse") + proto.RegisterType((*GetTransactionExecutionMetricsAfterRequest)(nil), "flow.execution.GetTransactionExecutionMetricsAfterRequest") + proto.RegisterType((*GetTransactionExecutionMetricsAfterResponse)(nil), "flow.execution.GetTransactionExecutionMetricsAfterResponse") + proto.RegisterType((*GetTransactionExecutionMetricsAfterResponse_ExecutionEffortWeight)(nil), "flow.execution.GetTransactionExecutionMetricsAfterResponse.ExecutionEffortWeight") + proto.RegisterType((*GetTransactionExecutionMetricsAfterResponse_Transaction)(nil), "flow.execution.GetTransactionExecutionMetricsAfterResponse.Transaction") + proto.RegisterType((*GetTransactionExecutionMetricsAfterResponse_Result)(nil), "flow.execution.GetTransactionExecutionMetricsAfterResponse.Result") } func init() { proto.RegisterFile("flow/execution/execution.proto", fileDescriptor_699624211ed46c53) } var fileDescriptor_699624211ed46c53 = []byte{ - // 1121 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xdd, 0x72, 0xdb, 0x44, - 0x14, 0x1e, 0x25, 0x4e, 0x62, 0x1f, 0xff, 0x4c, 0xd9, 0x78, 0x32, 0x8e, 0x9c, 0xbf, 0x2a, 0x74, - 0x26, 0xe0, 0x54, 0xa6, 0x0e, 0x17, 0x4c, 0xe1, 0x26, 0x06, 0x93, 0x18, 0x28, 0x29, 0x6a, 0x61, - 0x06, 0x18, 0xc6, 0xa3, 0x48, 0x5b, 0x47, 0xd4, 0x91, 0x5c, 0xed, 0x2a, 0xa9, 0xef, 0x98, 0xe1, - 0x86, 0x5b, 0x6e, 0x18, 0x86, 0x87, 0xe1, 0x3d, 0x78, 0x02, 0x5e, 0x83, 0xd1, 0xee, 0x4a, 0xb6, - 0xec, 0x95, 0x2a, 0xb7, 0xf4, 0x26, 0xe3, 0x3d, 0x7b, 0xce, 0xf9, 0xce, 0x9e, 0xff, 0x08, 0xf6, - 0x9e, 0x8d, 0xbc, 0xdb, 0x36, 0x7e, 0x89, 0xad, 0x80, 0x3a, 0x9e, 0x3b, 0xfd, 0xa5, 0x8f, 0x7d, - 0x8f, 0x7a, 0xa8, 0x16, 0xde, 0xeb, 0x31, 0x55, 0x6d, 0x72, 0x7e, 0x97, 0x3a, 0xd4, 0xc1, 0xa4, - 0x6d, 0x5a, 0x96, 0x17, 0xb8, 0x94, 0x33, 0xab, 0x07, 0xc9, 0xcb, 0xcb, 0x91, 0x67, 0x3d, 0x1f, - 0x5c, 0x61, 0xd3, 0xc6, 0xbe, 0xe0, 0xd8, 0x4e, 0x72, 0xe0, 0x1b, 0x1c, 0x0b, 0xef, 0x27, 0xaf, - 0xa8, 0x6f, 0xba, 0xc4, 0xb4, 0xa6, 0xa6, 0x68, 0x55, 0x28, 0x3f, 0x76, 0xdc, 0xa1, 0x81, 0x5f, - 0x04, 0x98, 0x50, 0xad, 0x06, 0x15, 0x7e, 0x24, 0x63, 0xcf, 0x25, 0x58, 0xfb, 0x06, 0xd4, 0x33, - 0x4c, 0x4f, 0xb9, 0x41, 0xa7, 0xb4, 0x1b, 0x82, 0xf7, 0x3f, 0x13, 0xdc, 0x68, 0x1b, 0x8a, 0xdc, - 0x1c, 0xc7, 0x6e, 0x28, 0x07, 0xca, 0x51, 0xc5, 0xd8, 0x60, 0xe7, 0xbe, 0x8d, 0x1a, 0xb0, 0x61, - 0xda, 0xb6, 0x8f, 0x09, 0x69, 0xac, 0xf0, 0x1b, 0x71, 0xd4, 0x2e, 0xa0, 0x29, 0x55, 0xc9, 0x11, - 0xd1, 0x07, 0xb0, 0x21, 0xde, 0xcf, 0x54, 0x96, 0x3b, 0x5b, 0x3a, 0xf7, 0x96, 0x78, 0x83, 0x2e, - 0x24, 0x8d, 0x88, 0x4d, 0x1b, 0xc3, 0x6e, 0x8f, 0xb9, 0x12, 0x3f, 0xb1, 0x7c, 0x67, 0xbc, 0x94, - 0x99, 0x5b, 0xb0, 0x4e, 0x98, 0x90, 0xb0, 0x52, 0x9c, 0xd0, 0x0e, 0x94, 0x4c, 0x7f, 0x18, 0x5c, - 0x63, 0x97, 0x92, 0xc6, 0xea, 0xc1, 0xea, 0x51, 0xc5, 0x98, 0x12, 0x34, 0x0b, 0xf6, 0xd2, 0x10, - 0xc5, 0x2b, 0xea, 0xb0, 0x76, 0x63, 0x8e, 0x02, 0x2c, 0xf0, 0xf8, 0x01, 0xb5, 0xe0, 0x1d, 0xcb, - 0xbb, 0x1e, 0x07, 0xd4, 0x0c, 0x23, 0x30, 0x08, 0x88, 0x39, 0xc4, 0x0c, 0xb8, 0x60, 0xdc, 0x99, - 0xb9, 0xf8, 0x36, 0xa4, 0x6b, 0x7f, 0xaf, 0xc0, 0xce, 0x19, 0xa6, 0xbd, 0x30, 0x9a, 0xe4, 0x73, - 0xcf, 0x17, 0x10, 0x24, 0xc6, 0x78, 0x04, 0x1b, 0x3e, 0x26, 0xc1, 0x88, 0x92, 0x86, 0x72, 0xb0, - 0x7a, 0x54, 0xee, 0x9c, 0xe8, 0xc9, 0xbc, 0xd2, 0xb3, 0xc4, 0x75, 0x83, 0xc9, 0x1a, 0x91, 0x0e, - 0xf4, 0x3d, 0x6c, 0xb1, 0xcc, 0x19, 0x60, 0xd7, 0xf2, 0x6c, 0xc7, 0x1d, 0x0e, 0x6e, 0xb0, 0x4f, - 0x1c, 0xcf, 0x65, 0x16, 0xd6, 0x3a, 0x87, 0x73, 0x71, 0x60, 0x9a, 0x7b, 0x82, 0xf7, 0x3b, 0xce, - 0x6a, 0xd4, 0xb1, 0x84, 0xaa, 0x52, 0x58, 0xe7, 0x68, 0x59, 0xa1, 0xb8, 0x0b, 0x95, 0x28, 0xb7, - 0x9d, 0xe1, 0x15, 0x15, 0x7e, 0x29, 0x33, 0xda, 0x39, 0x23, 0xa1, 0x63, 0x58, 0x67, 0xfa, 0x79, - 0x48, 0xca, 0x9d, 0xba, 0xcc, 0x24, 0x43, 0xf0, 0x68, 0x5f, 0xb3, 0x44, 0x93, 0x38, 0x80, 0x67, - 0x05, 0x82, 0x02, 0x9d, 0x8c, 0x79, 0x84, 0x4a, 0x06, 0xfb, 0x8d, 0x9a, 0x50, 0x8a, 0xcc, 0x0b, - 0xf3, 0x36, 0x0c, 0x7b, 0x51, 0xd8, 0x47, 0xb4, 0x01, 0xd3, 0xf7, 0x74, 0x5a, 0x42, 0xc2, 0x83, - 0xaf, 0xce, 0xb2, 0x7b, 0x50, 0x9b, 0xa9, 0xbc, 0x90, 0x81, 0x67, 0x5b, 0x75, 0x86, 0xda, 0xb7, - 0xb5, 0x0b, 0x16, 0xf0, 0x19, 0x80, 0xee, 0xa4, 0xef, 0xda, 0xf8, 0x65, 0x0e, 0x84, 0x3a, 0xac, - 0x39, 0x21, 0x2b, 0x53, 0x5c, 0x35, 0xf8, 0x41, 0xfb, 0x6b, 0x65, 0x5e, 0x63, 0x64, 0xb2, 0x48, - 0xa1, 0x7d, 0x28, 0x13, 0x6a, 0xd2, 0x80, 0x0c, 0x2c, 0xcf, 0xe6, 0xae, 0xa8, 0x1a, 0xc0, 0x49, - 0x9f, 0x7a, 0x36, 0x46, 0x87, 0x50, 0xc5, 0xbe, 0xef, 0xf9, 0x83, 0x6b, 0x4c, 0xe2, 0x6c, 0x2d, - 0x19, 0x15, 0x46, 0x7c, 0xc4, 0x69, 0xcb, 0x85, 0x25, 0x23, 0xcf, 0x0a, 0x6f, 0x98, 0x67, 0xf2, - 0xfa, 0x5a, 0x4b, 0xa9, 0xaf, 0x4f, 0x60, 0x3f, 0xe9, 0x1b, 0xd2, 0x9d, 0xe4, 0x6e, 0x1c, 0xda, - 0x3f, 0x0a, 0xec, 0xca, 0x5c, 0x3b, 0x2d, 0xcf, 0x9f, 0x60, 0x73, 0x36, 0xe8, 0xc9, 0x52, 0x3d, - 0x96, 0x94, 0x6a, 0x6a, 0x98, 0x0c, 0x44, 0x17, 0x60, 0xde, 0x62, 0xb9, 0x6a, 0x18, 0xee, 0x26, - 0xcd, 0xe9, 0xcd, 0x44, 0xfb, 0xff, 0x4b, 0xf7, 0x1f, 0xe1, 0x28, 0x1d, 0xe6, 0x4d, 0x53, 0x7f, - 0x0c, 0x5a, 0xd6, 0x1b, 0x44, 0x8c, 0x16, 0x2d, 0x55, 0x24, 0x96, 0xe6, 0xaa, 0x02, 0xed, 0x1c, - 0x5a, 0xe9, 0x88, 0x4b, 0xe5, 0xd6, 0xbf, 0x0a, 0x1c, 0x66, 0xa8, 0x8a, 0xad, 0x7f, 0x3a, 0x3f, - 0x00, 0x1e, 0x66, 0x67, 0x95, 0x54, 0xcb, 0xfc, 0x1c, 0x50, 0x7f, 0x8e, 0x9b, 0x75, 0x4e, 0xef, - 0x48, 0x03, 0xb0, 0xe8, 0xb3, 0x55, 0x89, 0xcf, 0x7e, 0x53, 0x58, 0x4f, 0x35, 0xf0, 0xd0, 0x21, - 0x14, 0xfb, 0xcb, 0x4c, 0xee, 0x7b, 0x50, 0xf3, 0x85, 0xd8, 0xc0, 0xbb, 0x75, 0xb1, 0x1f, 0x25, - 0x59, 0x44, 0xbd, 0x08, 0x89, 0xe1, 0x54, 0x89, 0xd9, 0x9e, 0xe3, 0x09, 0xeb, 0x31, 0x15, 0xa3, - 0x1c, 0xd1, 0xbe, 0xc4, 0x93, 0x2f, 0x0a, 0xc5, 0xd5, 0x3b, 0x05, 0xed, 0x43, 0xd6, 0x2a, 0x25, - 0x96, 0x64, 0x4d, 0x74, 0xed, 0x21, 0xb3, 0xff, 0x2b, 0x93, 0x62, 0xc2, 0x25, 0xce, 0xd9, 0x62, - 0x16, 0xd9, 0xdf, 0x84, 0x92, 0x43, 0x06, 0x04, 0x9b, 0x23, 0xcc, 0x1f, 0x50, 0x34, 0x8a, 0x0e, - 0x79, 0xc2, 0xce, 0x5a, 0x0b, 0xb6, 0xcf, 0xf0, 0xac, 0x54, 0x77, 0x32, 0x7d, 0x79, 0x0d, 0x56, - 0xe2, 0x37, 0xaf, 0x38, 0xb6, 0x76, 0x06, 0x9b, 0x09, 0xfd, 0xf1, 0xb6, 0xb4, 0xc6, 0x1c, 0x22, - 0x76, 0x25, 0x75, 0xae, 0xe8, 0x67, 0x45, 0x38, 0x63, 0xe7, 0x8f, 0x0a, 0x54, 0x7a, 0x51, 0x82, - 0x9c, 0x3e, 0xee, 0xa3, 0x53, 0x28, 0x84, 0x2b, 0x1f, 0x6a, 0xce, 0x27, 0xcf, 0xcc, 0x5e, 0xa8, - 0xee, 0xc8, 0x2f, 0x85, 0x15, 0x2e, 0x6c, 0x4a, 0x56, 0x3a, 0xf4, 0xbe, 0x24, 0x1d, 0x53, 0x56, - 0x49, 0xb5, 0x95, 0x8b, 0x57, 0xe0, 0xdd, 0xc2, 0x96, 0x7c, 0xff, 0x42, 0xf7, 0xe7, 0xd5, 0x64, - 0x6e, 0x86, 0xaa, 0x9e, 0x97, 0x5d, 0x00, 0xbf, 0x80, 0xba, 0x6c, 0xa5, 0x40, 0xad, 0x7c, 0x9b, - 0x17, 0x07, 0x3d, 0x5e, 0x66, 0x4d, 0x13, 0x90, 0x0b, 0xb3, 0x41, 0x0a, 0x99, 0xb6, 0x9b, 0xa8, - 0x4b, 0x8d, 0x1b, 0x34, 0x91, 0x2f, 0x3a, 0xa2, 0x25, 0xa3, 0x57, 0x28, 0x4b, 0x76, 0xee, 0x25, - 0xa1, 0x7f, 0x51, 0x60, 0x4f, 0x3a, 0x56, 0xe3, 0xfe, 0x89, 0xda, 0xd9, 0x0a, 0x17, 0x3a, 0xad, - 0x7a, 0x3f, 0x8f, 0x05, 0x53, 0x87, 0xff, 0xaa, 0xb0, 0xff, 0x79, 0x52, 0xfa, 0x26, 0x7a, 0x90, - 0xbf, 0xc7, 0x46, 0x06, 0x74, 0x96, 0x11, 0x11, 0x56, 0xfc, 0xae, 0x64, 0x0d, 0xe1, 0x28, 0x14, - 0x1f, 0xe5, 0xd7, 0x3c, 0x17, 0x96, 0xd7, 0xb1, 0xe9, 0x4f, 0x05, 0xde, 0xcd, 0x33, 0xe2, 0xd0, - 0xc7, 0x4b, 0xcc, 0xa1, 0x85, 0x70, 0x9d, 0xbc, 0xc6, 0x10, 0x13, 0x55, 0xb2, 0xd0, 0xbd, 0xa5, - 0x55, 0x92, 0x36, 0x6d, 0xa4, 0xa9, 0x9a, 0x3e, 0x10, 0xae, 0x18, 0xe4, 0x42, 0xeb, 0x97, 0x42, - 0xa6, 0x0d, 0x08, 0xf5, 0x70, 0x9e, 0x59, 0xd6, 0xe4, 0x6d, 0x40, 0x8b, 0x83, 0x02, 0xbd, 0x27, - 0xc1, 0x91, 0x0f, 0x93, 0x5c, 0x28, 0x5d, 0x03, 0x76, 0x3d, 0x7f, 0xa8, 0x7b, 0x2e, 0xe3, 0x65, - 0x5f, 0x07, 0x2e, 0x83, 0x67, 0x53, 0xa1, 0x1f, 0x1e, 0x0c, 0x1d, 0x7a, 0x15, 0x5c, 0xea, 0x96, - 0x77, 0xdd, 0xe6, 0x5c, 0x6d, 0xf6, 0x27, 0x62, 0x6d, 0x0f, 0xbd, 0x76, 0xf2, 0xc3, 0xc7, 0xe5, - 0x3a, 0xbb, 0x3b, 0xf9, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x0d, 0x1a, 0xb3, 0xeb, 0x11, 0x11, 0x00, - 0x00, + // 1296 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x5b, 0x4f, 0xe3, 0xc6, + 0x17, 0x97, 0x21, 0xdc, 0x4e, 0x2e, 0xda, 0xff, 0xc0, 0x1f, 0x05, 0x73, 0x5d, 0x53, 0x24, 0xba, + 0xb0, 0x49, 0x37, 0xf4, 0xa1, 0x62, 0xfb, 0x42, 0xb6, 0x14, 0x68, 0x4b, 0xd9, 0xf5, 0xd2, 0x56, + 0xbd, 0x29, 0x32, 0xf6, 0x10, 0x5c, 0x88, 0x9d, 0xf5, 0x4c, 0x60, 0xf3, 0x56, 0xa9, 0x2f, 0x95, + 0xfa, 0xd4, 0xb7, 0x55, 0x1f, 0xfa, 0x35, 0xfa, 0xd6, 0xaf, 0x51, 0xf5, 0x13, 0x54, 0xfd, 0x16, + 0x95, 0x67, 0xc6, 0x8e, 0x63, 0x8f, 0x8d, 0x03, 0xed, 0x0b, 0xca, 0x9c, 0x39, 0x73, 0xce, 0x6f, + 0xce, 0xc5, 0xe7, 0x37, 0xc0, 0xca, 0xf9, 0x95, 0x7b, 0x53, 0xc7, 0xaf, 0xb1, 0xd9, 0xa3, 0xb6, + 0xeb, 0x0c, 0x7e, 0xd5, 0xba, 0x9e, 0x4b, 0x5d, 0x54, 0xf1, 0xf7, 0x6b, 0xa1, 0x54, 0x5d, 0xe4, + 0xfa, 0x0e, 0xb5, 0xa9, 0x8d, 0x49, 0xdd, 0x30, 0x4d, 0xb7, 0xe7, 0x50, 0xae, 0xac, 0xae, 0x0d, + 0x6f, 0x9e, 0x5d, 0xb9, 0xe6, 0x65, 0xeb, 0x02, 0x1b, 0x16, 0xf6, 0x84, 0xc6, 0xc2, 0xb0, 0x06, + 0xbe, 0xc6, 0xe1, 0xe1, 0xd5, 0xe1, 0x2d, 0xea, 0x19, 0x0e, 0x31, 0xcc, 0x01, 0x14, 0xad, 0x0c, + 0xc5, 0xe7, 0xb6, 0xd3, 0xd6, 0xf1, 0xab, 0x1e, 0x26, 0x54, 0xab, 0x40, 0x89, 0x2f, 0x49, 0xd7, + 0x75, 0x08, 0xd6, 0x5e, 0x80, 0x7a, 0x80, 0xe9, 0x1e, 0x07, 0xb4, 0x47, 0x9b, 0xbe, 0xf3, 0xa3, + 0x0f, 0x84, 0x36, 0x5a, 0x80, 0x69, 0x0e, 0xc7, 0xb6, 0xaa, 0xca, 0x9a, 0xb2, 0x59, 0xd2, 0xa7, + 0xd8, 0xfa, 0xc8, 0x42, 0x55, 0x98, 0x32, 0x2c, 0xcb, 0xc3, 0x84, 0x54, 0xc7, 0xf8, 0x8e, 0x58, + 0x6a, 0x27, 0xb0, 0x28, 0x35, 0xc9, 0x3d, 0xa2, 0x77, 0x60, 0x4a, 0xdc, 0x9f, 0x99, 0x2c, 0x36, + 0xe6, 0x6b, 0x3c, 0x5a, 0xe2, 0x0e, 0x35, 0x71, 0x52, 0x0f, 0xd4, 0xb4, 0x2e, 0x2c, 0xef, 0xb3, + 0x50, 0xe2, 0x97, 0xa6, 0x67, 0x77, 0x47, 0x82, 0x39, 0x0f, 0x93, 0x84, 0x1d, 0x12, 0x28, 0xc5, + 0x0a, 0x2d, 0xc1, 0x8c, 0xe1, 0xb5, 0x7b, 0x1d, 0xec, 0x50, 0x52, 0x1d, 0x5f, 0x1b, 0xdf, 0x2c, + 0xe9, 0x03, 0x81, 0x66, 0xc2, 0x4a, 0x9a, 0x47, 0x71, 0x8b, 0x39, 0x98, 0xb8, 0x36, 0xae, 0x7a, + 0x58, 0xf8, 0xe3, 0x0b, 0xb4, 0x05, 0xff, 0x33, 0xdd, 0x4e, 0xb7, 0x47, 0x0d, 0x3f, 0x03, 0xad, + 0x1e, 0x31, 0xda, 0x98, 0x39, 0x2e, 0xe8, 0x0f, 0x22, 0x1b, 0x9f, 0xf9, 0x72, 0xed, 0xf7, 0x31, + 0x58, 0x3a, 0xc0, 0x74, 0xdf, 0xcf, 0x26, 0xf9, 0xd0, 0xf5, 0x84, 0x0b, 0x12, 0xfa, 0x38, 0x86, + 0x29, 0x0f, 0x93, 0xde, 0x15, 0x25, 0x55, 0x65, 0x6d, 0x7c, 0xb3, 0xd8, 0xd8, 0xa9, 0x0d, 0xd7, + 0x55, 0x2d, 0xeb, 0x78, 0x4d, 0x67, 0x67, 0xf5, 0xc0, 0x06, 0xfa, 0x12, 0xe6, 0x59, 0xe5, 0xb4, + 0xb0, 0x63, 0xba, 0x96, 0xed, 0xb4, 0x5b, 0xd7, 0xd8, 0x23, 0xb6, 0xeb, 0x30, 0x84, 0x95, 0xc6, + 0x7a, 0x2c, 0x0f, 0xcc, 0xf2, 0xbe, 0xd0, 0xfd, 0x9c, 0xab, 0xea, 0x73, 0x58, 0x22, 0x55, 0x29, + 0x4c, 0x72, 0x6f, 0x59, 0xa9, 0x78, 0x08, 0xa5, 0xa0, 0xb6, 0xed, 0xf6, 0x05, 0x15, 0x71, 0x29, + 0x32, 0xd9, 0x21, 0x13, 0xa1, 0x6d, 0x98, 0x64, 0xf6, 0x79, 0x4a, 0x8a, 0x8d, 0x39, 0x19, 0x24, + 0x5d, 0xe8, 0x68, 0x9f, 0xb2, 0x42, 0x93, 0x04, 0x80, 0x57, 0x05, 0x82, 0x02, 0xed, 0x77, 0x79, + 0x86, 0x66, 0x74, 0xf6, 0x1b, 0x2d, 0xc2, 0x4c, 0x00, 0xcf, 0xaf, 0x5b, 0x3f, 0xed, 0xd3, 0x02, + 0x1f, 0xd1, 0x5a, 0xcc, 0xde, 0xe9, 0xa0, 0x85, 0x44, 0x04, 0x6f, 0xaf, 0xb2, 0x0d, 0xa8, 0x44, + 0x3a, 0xcf, 0x57, 0xe0, 0xd5, 0x56, 0x8e, 0x48, 0x8f, 0x2c, 0xed, 0x84, 0x25, 0x3c, 0xe2, 0xa0, + 0xd9, 0x3f, 0x72, 0x2c, 0xfc, 0x3a, 0x87, 0x87, 0x39, 0x98, 0xb0, 0x7d, 0x55, 0x66, 0xb8, 0xac, + 0xf3, 0x85, 0xf6, 0xcb, 0x58, 0xdc, 0x62, 0x00, 0x59, 0x94, 0xd0, 0x2a, 0x14, 0x09, 0x35, 0x68, + 0x8f, 0xb4, 0x4c, 0xd7, 0xe2, 0xa1, 0x28, 0xeb, 0xc0, 0x45, 0xcf, 0x5c, 0x0b, 0xa3, 0x75, 0x28, + 0x63, 0xcf, 0x73, 0xbd, 0x56, 0x07, 0x93, 0xb0, 0x5a, 0x67, 0xf4, 0x12, 0x13, 0x1e, 0x73, 0xd9, + 0x68, 0x69, 0xc9, 0xa8, 0xb3, 0xc2, 0x3d, 0xeb, 0x4c, 0xde, 0x5f, 0x13, 0x29, 0xfd, 0xf5, 0x3e, + 0xac, 0x0e, 0xc7, 0x86, 0x34, 0xfb, 0xb9, 0x3f, 0x1c, 0xda, 0x9f, 0x0a, 0x2c, 0xcb, 0x42, 0x3b, + 0x68, 0xcf, 0x6f, 0x61, 0x36, 0x9a, 0xf4, 0xe1, 0x56, 0xdd, 0x96, 0xb4, 0x6a, 0x6a, 0x9a, 0x74, + 0x44, 0x13, 0x6e, 0xfe, 0xc3, 0x76, 0xd5, 0x30, 0x3c, 0x1c, 0x86, 0xb3, 0x1f, 0xc9, 0xf6, 0xbf, + 0x57, 0xee, 0x5f, 0xc3, 0x66, 0xba, 0x9b, 0xfb, 0x96, 0x7e, 0x17, 0xb4, 0xac, 0x3b, 0x88, 0x1c, + 0x25, 0x91, 0x2a, 0x12, 0xa4, 0xb9, 0xba, 0x40, 0x3b, 0x84, 0xad, 0x74, 0x8f, 0x23, 0xd5, 0xd6, + 0x5f, 0x0a, 0xac, 0x67, 0x98, 0x0a, 0xd1, 0x9f, 0xc6, 0x07, 0xc0, 0x6e, 0x76, 0x55, 0x49, 0xad, + 0xc4, 0xe7, 0x80, 0xfa, 0x5d, 0xf8, 0xb1, 0xce, 0x19, 0x1d, 0x69, 0x02, 0x92, 0x31, 0x1b, 0x97, + 0xc4, 0xec, 0x47, 0x85, 0x7d, 0x53, 0x75, 0xdc, 0xb6, 0x09, 0xc5, 0xde, 0x28, 0x93, 0x7b, 0x03, + 0x2a, 0x9e, 0x38, 0xd6, 0x72, 0x6f, 0x1c, 0xec, 0x05, 0x45, 0x16, 0x48, 0x4f, 0x7c, 0xa1, 0x3f, + 0x55, 0x42, 0xb5, 0x4b, 0xdc, 0x67, 0xdf, 0x98, 0x92, 0x5e, 0x0c, 0x64, 0x1f, 0xe3, 0xfe, 0x47, + 0x85, 0xe9, 0xf1, 0x07, 0x05, 0xed, 0x5d, 0xf6, 0xa9, 0x94, 0x20, 0xc9, 0x9a, 0xe8, 0xda, 0x2e, + 0xc3, 0xff, 0x89, 0x41, 0x31, 0xe1, 0x27, 0x0e, 0x19, 0x31, 0x0b, 0xf0, 0x2f, 0xc2, 0x8c, 0x4d, + 0x5a, 0x04, 0x1b, 0x57, 0x98, 0x5f, 0x60, 0x5a, 0x9f, 0xb6, 0xc9, 0x4b, 0xb6, 0xd6, 0xb6, 0x60, + 0xe1, 0x00, 0x47, 0x4f, 0x35, 0xfb, 0x83, 0x9b, 0x57, 0x60, 0x2c, 0xbc, 0xf3, 0x98, 0x6d, 0x69, + 0x07, 0x30, 0x3b, 0x64, 0x3f, 0x64, 0x4b, 0x13, 0x2c, 0x20, 0x82, 0x2b, 0xa9, 0xb1, 0xa6, 0x8f, + 0x1e, 0xe1, 0x8a, 0xda, 0x09, 0x3c, 0x8a, 0x55, 0x45, 0x50, 0x2d, 0xc7, 0x98, 0x7a, 0xb6, 0x49, + 0xf6, 0xce, 0xe9, 0xe0, 0x02, 0xf1, 0xa1, 0xac, 0x24, 0x86, 0xb2, 0xf6, 0x47, 0x21, 0x51, 0xf8, + 0x72, 0x8b, 0x02, 0xf2, 0x37, 0xf1, 0xaa, 0x6d, 0xde, 0x52, 0xb5, 0x59, 0xd6, 0x12, 0xd5, 0xfb, + 0x0c, 0xfe, 0x1f, 0x1e, 0xd8, 0x3f, 0x3f, 0x77, 0x3d, 0xfa, 0x05, 0xe7, 0x0e, 0x08, 0x0a, 0x97, + 0xb6, 0x63, 0x89, 0x1b, 0xb0, 0xdf, 0x3e, 0xfb, 0xbb, 0x89, 0x92, 0x0d, 0xb1, 0x52, 0xff, 0x56, + 0xa0, 0x18, 0x41, 0x90, 0xb7, 0x11, 0x36, 0xa0, 0x12, 0x5e, 0xa2, 0x45, 0xed, 0x4e, 0xc0, 0xed, + 0xca, 0xa1, 0xf4, 0xd4, 0xee, 0x60, 0xf4, 0x93, 0x02, 0xd5, 0x81, 0x1e, 0x66, 0x20, 0x5b, 0xdc, + 0x73, 0x30, 0x41, 0x5f, 0xdc, 0x27, 0x24, 0xd2, 0xfb, 0xeb, 0xf3, 0x58, 0x26, 0x26, 0xea, 0x1b, + 0x25, 0xec, 0xf7, 0xdb, 0x93, 0x8d, 0x2e, 0xa1, 0x14, 0xb9, 0x33, 0xe7, 0x48, 0xc5, 0xc6, 0xc1, + 0x7d, 0xe0, 0x46, 0xc7, 0xde, 0x90, 0xf1, 0xc6, 0x6f, 0x65, 0x28, 0x85, 0x67, 0xf7, 0x9e, 0x1f, + 0xa1, 0x3d, 0x28, 0xf8, 0xaf, 0x13, 0xb4, 0x18, 0xf7, 0x17, 0x79, 0xc2, 0xa8, 0x4b, 0xf2, 0x4d, + 0x51, 0x7d, 0x0e, 0xcc, 0x4a, 0x5e, 0x1f, 0xe8, 0x91, 0xe4, 0x06, 0x29, 0xaf, 0x1e, 0x75, 0x2b, + 0x97, 0xae, 0xf0, 0x77, 0x03, 0xf3, 0xf2, 0xa7, 0x02, 0x7a, 0x1c, 0x37, 0x93, 0xf9, 0x88, 0x51, + 0x6b, 0x79, 0xd5, 0x85, 0xe3, 0x57, 0x30, 0x27, 0x63, 0xbf, 0x68, 0x2b, 0xdf, 0x23, 0x81, 0x3b, + 0xdd, 0x1e, 0xe5, 0x45, 0x21, 0x5c, 0x26, 0x68, 0x8c, 0xd4, 0x65, 0x1a, 0x8d, 0x56, 0x47, 0x62, + 0x46, 0xa8, 0x2f, 0xe7, 0xe4, 0x82, 0x3d, 0xa0, 0x5b, 0x8c, 0x0d, 0x93, 0x8c, 0x11, 0x5d, 0x7f, + 0xaf, 0xc0, 0x8a, 0x94, 0x01, 0x86, 0xa3, 0x1e, 0xd5, 0xb3, 0x0d, 0x26, 0x48, 0x81, 0xfa, 0x38, + 0x0f, 0x82, 0x41, 0xc0, 0x7f, 0x50, 0xd8, 0xf3, 0x3c, 0x65, 0xc4, 0xa3, 0x27, 0xf9, 0xe9, 0x40, + 0x00, 0xa0, 0x31, 0xca, 0x11, 0x81, 0xe2, 0x67, 0x25, 0x8b, 0x2f, 0x06, 0xa9, 0x78, 0x2f, 0xbf, + 0xe5, 0x58, 0x5a, 0xee, 0x82, 0xe9, 0x8d, 0x02, 0x6f, 0xe5, 0x61, 0x63, 0xe8, 0xe9, 0x08, 0x94, + 0x29, 0x91, 0xae, 0x9d, 0x3b, 0xf0, 0x2d, 0xd1, 0x25, 0x09, 0xa2, 0x21, 0xed, 0x92, 0x34, 0x62, + 0x24, 0x2d, 0xd5, 0x74, 0xee, 0x72, 0xc1, 0x5c, 0x26, 0x58, 0x8a, 0xd4, 0x65, 0x1a, 0x97, 0x51, + 0xd7, 0xe3, 0xca, 0x32, 0x3e, 0x62, 0x01, 0x4a, 0x72, 0x1a, 0xf4, 0xb6, 0xc4, 0x8f, 0x9c, 0xf7, + 0xe4, 0xf3, 0xf2, 0x6b, 0x92, 0x20, 0xcb, 0x46, 0x0c, 0xda, 0xbd, 0xd3, 0x5c, 0xe2, 0x40, 0x9e, + 0xde, 0x63, 0xa6, 0x35, 0x75, 0x58, 0x76, 0xbd, 0x76, 0xcd, 0x75, 0x98, 0x0d, 0xf6, 0x9f, 0xb6, + 0xb3, 0xde, 0xf9, 0xc0, 0xd8, 0x57, 0x4f, 0xda, 0x36, 0xbd, 0xe8, 0x9d, 0xd5, 0x4c, 0xb7, 0x53, + 0xe7, 0x5a, 0x75, 0xf6, 0x27, 0x50, 0xad, 0xb7, 0xdd, 0xfa, 0xf0, 0x3f, 0x11, 0xcf, 0x26, 0xd9, + 0xde, 0xce, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x50, 0xdd, 0xc8, 0xeb, 0x5d, 0x14, 0x00, 0x00, } diff --git a/protobuf/go/flow/execution/execution_grpc.pb.go b/protobuf/go/flow/execution/execution_grpc.pb.go index 49846e80c..7cec5def6 100644 --- a/protobuf/go/flow/execution/execution_grpc.pb.go +++ b/protobuf/go/flow/execution/execution_grpc.pb.go @@ -32,6 +32,7 @@ const ( ExecutionAPI_GetRegisterAtBlockID_FullMethodName = "/flow.execution.ExecutionAPI/GetRegisterAtBlockID" ExecutionAPI_GetLatestBlockHeader_FullMethodName = "/flow.execution.ExecutionAPI/GetLatestBlockHeader" ExecutionAPI_GetBlockHeaderByID_FullMethodName = "/flow.execution.ExecutionAPI/GetBlockHeaderByID" + ExecutionAPI_GetTransactionExecutionMetricsAfter_FullMethodName = "/flow.execution.ExecutionAPI/GetTransactionExecutionMetricsAfter" ) // ExecutionAPIClient is the client API for ExecutionAPI service. @@ -55,12 +56,14 @@ type ExecutionAPIClient interface { // GetTransactionResultByIndex gets the results of all transactions in the // block ordered by transaction index. GetTransactionResultsByBlockID(ctx context.Context, in *GetTransactionsByBlockIDRequest, opts ...grpc.CallOption) (*GetTransactionResultsResponse, error) - // GetTransactionErrorMessage gets the error messages of a failed transaction by id. + // GetTransactionErrorMessage gets the error messages of a failed transaction + // by id. GetTransactionErrorMessage(ctx context.Context, in *GetTransactionErrorMessageRequest, opts ...grpc.CallOption) (*GetTransactionErrorMessageResponse, error) - // GetTransactionErrorMessageByIndex gets the error messages of a failed transaction at the index. + // GetTransactionErrorMessageByIndex gets the error messages of a failed + // transaction at the index. GetTransactionErrorMessageByIndex(ctx context.Context, in *GetTransactionErrorMessageByIndexRequest, opts ...grpc.CallOption) (*GetTransactionErrorMessageResponse, error) - // GetTransactionErrorMessagesByBlockID gets the error messages of all failed transactions in the - // block ordered by transaction index. + // GetTransactionErrorMessagesByBlockID gets the error messages of all failed + // transactions in the block ordered by transaction index. GetTransactionErrorMessagesByBlockID(ctx context.Context, in *GetTransactionErrorMessagesByBlockIDRequest, opts ...grpc.CallOption) (*GetTransactionErrorMessagesResponse, error) // GetRegisterAtBlockID collects a register at the block with the given ID (if // available). @@ -69,6 +72,17 @@ type ExecutionAPIClient interface { GetLatestBlockHeader(ctx context.Context, in *GetLatestBlockHeaderRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) // GetBlockHeaderByID gets a block header by ID. GetBlockHeaderByID(ctx context.Context, in *GetBlockHeaderByIDRequest, opts ...grpc.CallOption) (*BlockHeaderResponse, error) + // GetTransactionExecutionMetricsAfter gets the transaction execution metrics + // for blocks after the given block height. The blocks will be sorted by + // descending block height. + // If no data is available for the given block height, the response will be + // empty. The execution node will only store metrics for a limited number of + // blocks,  so the request may return an empty response if the requested + // block height is too far in the past. + // + // Errors: + // - No errors are expected. + GetTransactionExecutionMetricsAfter(ctx context.Context, in *GetTransactionExecutionMetricsAfterRequest, opts ...grpc.CallOption) (*GetTransactionExecutionMetricsAfterResponse, error) } type executionAPIClient struct { @@ -196,6 +210,15 @@ func (c *executionAPIClient) GetBlockHeaderByID(ctx context.Context, in *GetBloc return out, nil } +func (c *executionAPIClient) GetTransactionExecutionMetricsAfter(ctx context.Context, in *GetTransactionExecutionMetricsAfterRequest, opts ...grpc.CallOption) (*GetTransactionExecutionMetricsAfterResponse, error) { + out := new(GetTransactionExecutionMetricsAfterResponse) + err := c.cc.Invoke(ctx, ExecutionAPI_GetTransactionExecutionMetricsAfter_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ExecutionAPIServer is the server API for ExecutionAPI service. // All implementations should embed UnimplementedExecutionAPIServer // for forward compatibility @@ -217,12 +240,14 @@ type ExecutionAPIServer interface { // GetTransactionResultByIndex gets the results of all transactions in the // block ordered by transaction index. GetTransactionResultsByBlockID(context.Context, *GetTransactionsByBlockIDRequest) (*GetTransactionResultsResponse, error) - // GetTransactionErrorMessage gets the error messages of a failed transaction by id. + // GetTransactionErrorMessage gets the error messages of a failed transaction + // by id. GetTransactionErrorMessage(context.Context, *GetTransactionErrorMessageRequest) (*GetTransactionErrorMessageResponse, error) - // GetTransactionErrorMessageByIndex gets the error messages of a failed transaction at the index. + // GetTransactionErrorMessageByIndex gets the error messages of a failed + // transaction at the index. GetTransactionErrorMessageByIndex(context.Context, *GetTransactionErrorMessageByIndexRequest) (*GetTransactionErrorMessageResponse, error) - // GetTransactionErrorMessagesByBlockID gets the error messages of all failed transactions in the - // block ordered by transaction index. + // GetTransactionErrorMessagesByBlockID gets the error messages of all failed + // transactions in the block ordered by transaction index. GetTransactionErrorMessagesByBlockID(context.Context, *GetTransactionErrorMessagesByBlockIDRequest) (*GetTransactionErrorMessagesResponse, error) // GetRegisterAtBlockID collects a register at the block with the given ID (if // available). @@ -231,6 +256,17 @@ type ExecutionAPIServer interface { GetLatestBlockHeader(context.Context, *GetLatestBlockHeaderRequest) (*BlockHeaderResponse, error) // GetBlockHeaderByID gets a block header by ID. GetBlockHeaderByID(context.Context, *GetBlockHeaderByIDRequest) (*BlockHeaderResponse, error) + // GetTransactionExecutionMetricsAfter gets the transaction execution metrics + // for blocks after the given block height. The blocks will be sorted by + // descending block height. + // If no data is available for the given block height, the response will be + // empty. The execution node will only store metrics for a limited number of + // blocks,  so the request may return an empty response if the requested + // block height is too far in the past. + // + // Errors: + // - No errors are expected. + GetTransactionExecutionMetricsAfter(context.Context, *GetTransactionExecutionMetricsAfterRequest) (*GetTransactionExecutionMetricsAfterResponse, error) } // UnimplementedExecutionAPIServer should be embedded to have forward compatible implementations. @@ -276,6 +312,9 @@ func (UnimplementedExecutionAPIServer) GetLatestBlockHeader(context.Context, *Ge func (UnimplementedExecutionAPIServer) GetBlockHeaderByID(context.Context, *GetBlockHeaderByIDRequest) (*BlockHeaderResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetBlockHeaderByID not implemented") } +func (UnimplementedExecutionAPIServer) GetTransactionExecutionMetricsAfter(context.Context, *GetTransactionExecutionMetricsAfterRequest) (*GetTransactionExecutionMetricsAfterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetTransactionExecutionMetricsAfter not implemented") +} // UnsafeExecutionAPIServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ExecutionAPIServer will @@ -522,6 +561,24 @@ func _ExecutionAPI_GetBlockHeaderByID_Handler(srv interface{}, ctx context.Conte return interceptor(ctx, in, info, handler) } +func _ExecutionAPI_GetTransactionExecutionMetricsAfter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetTransactionExecutionMetricsAfterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ExecutionAPIServer).GetTransactionExecutionMetricsAfter(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ExecutionAPI_GetTransactionExecutionMetricsAfter_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ExecutionAPIServer).GetTransactionExecutionMetricsAfter(ctx, req.(*GetTransactionExecutionMetricsAfterRequest)) + } + return interceptor(ctx, in, info, handler) +} + // ExecutionAPI_ServiceDesc is the grpc.ServiceDesc for ExecutionAPI service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -581,6 +638,10 @@ var ExecutionAPI_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetBlockHeaderByID", Handler: _ExecutionAPI_GetBlockHeaderByID_Handler, }, + { + MethodName: "GetTransactionExecutionMetricsAfter", + Handler: _ExecutionAPI_GetTransactionExecutionMetricsAfter_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "flow/execution/execution.proto", From 7101680e417449402486c59d079764476049a128 Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Wed, 4 Sep 2024 11:33:47 -0700 Subject: [PATCH 502/626] Update sporks.json for mainnet25 --- sporks.json | 55 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 8 deletions(-) diff --git a/sporks.json b/sporks.json index f35485917..8abccab4c 100644 --- a/sporks.json +++ b/sporks.json @@ -1,9 +1,52 @@ { "networks": { "mainnet": { + "mainnet25": { + "id": 25, + "live": true, + "name": "Mainnet-25", + "sporkTime": "2024-09-04T12:00:00Z", + "rootHeight": "85981135", + "rootParentId": "bc16d37060cb408163a04afe406b9c9398a31663c839de35b92e3c3b10bcf834", + "rootStateCommitment": "dead79e8f86d20ea3214735d4247b7fac1b4408e93e9b092fe0566cf40cecb9e", + "gitCommitHash": "feabd3a4f9baaa5d7770a312e5b8dc1bd94b1edb", + "stateArtefacts": { + "gcp": { + "rootCheckpointFile": "https://storage.googleapis.com/flow-genesis-bootstrap/mainnet-25-execution/public-root-information/root.checkpoint", + "rootProtocolStateSnapshot": "https://storage.googleapis.com/flow-genesis-bootstrap/mainnet-25-execution/public-root-information/root-protocol-state-snapshot.json", + "rootProtocolStateSnapshotSignature": "https://storage.googleapis.com/flow-genesis-bootstrap/mainnet-25-execution/public-root-information/root-protocol-state-snapshot.json.asc", + "nodeInfo": "https://storage.googleapis.com/flow-genesis-bootstrap/mainnet-25-execution/public-root-information/node-infos.pub.json", + "executionStateBucket": "flow_public_mainnet25_execution_state" + }, + "s3": { + "rootCheckpointFile": "", + "rootProtocolStateSnapshot": "", + "nodeInfo": "", + "executionStateBucket": "flow-public-mainnet25-execution-state" + } + }, + "tags": { + "flow-go": "v0.37.10", + "cadence": "v1.0.0-preview.52", + "docker": "v0.37.10" + }, + "seedNodes": [ + { + "address": "access-007.mainnet25.nodes.onflow.org:3570", + "key": "28a0d9edd0de3f15866dfe4aea1560c4504fe313fc6ca3f63a63e4f98d0e295144692a58ebe7f7894349198613f65b2d960abf99ec2625e247b1c78ba5bf2eae" + }, + { + "address": "access-008.mainnet25.nodes.onflow.org:3570", + "key": "11742552d21ac93da37ccda09661792977e2ca548a3b26d05f22a51ae1d99b9b75c8a9b3b40b38206b38951e98e4d145f0010f8942fd82ddf0fb1d670202264a" + } + ], + "accessNodes": [ + "access.mainnet.nodes.onflow.org:9000" + ] + }, "mainnet24": { "id": 24, - "live": true, + "live": false, "name": "Mainnet-24", "sporkTime": "2023-11-08T16:00:00Z", "rootHeight": "65264619", @@ -33,16 +76,12 @@ }, "seedNodes": [ { - "address": "access-007.mainnet24.nodes.onflow.org:3570", - "key": "28a0d9edd0de3f15866dfe4aea1560c4504fe313fc6ca3f63a63e4f98d0e295144692a58ebe7f7894349198613f65b2d960abf99ec2625e247b1c78ba5bf2eae" - }, - { - "address": "access-008.mainnet24.nodes.onflow.org:3570", - "key": "11742552d21ac93da37ccda09661792977e2ca548a3b26d05f22a51ae1d99b9b75c8a9b3b40b38206b38951e98e4d145f0010f8942fd82ddf0fb1d670202264a" + "address": "access-001.mainnet24.nodes.onflow.org:3570", + "key": "ba530d6e593947d1dd2d7f8afcf122efac9070043ce7ffdc62b4c4be9899f9a3b7e57c4c975d484386b4c5ad25a2ede097cbd497942a759a6391ba9cf724f6d9" } ], "accessNodes": [ - "access.mainnet.nodes.onflow.org:9000" + "access-001.mainnet24.nodes.onflow.org:9000" ] }, "mainnet23": { From 0137ae66562e92c5b0149877cc91b7b7d0d3d257 Mon Sep 17 00:00:00 2001 From: Bernat Date: Wed, 11 Sep 2024 14:03:11 +0200 Subject: [PATCH 503/626] Add Firstset node to NO list --- nodeoperators/NodeOperatorList.md | 1 + 1 file changed, 1 insertion(+) diff --git a/nodeoperators/NodeOperatorList.md b/nodeoperators/NodeOperatorList.md index 784f1db96..e803cf459 100644 --- a/nodeoperators/NodeOperatorList.md +++ b/nodeoperators/NodeOperatorList.md @@ -92,6 +92,7 @@ | Figment | Consensus | f07d945cbfc720d000a8fbb216b77cf0143f6e2b9d2568bc9af56802d45e75cf | | Figment | Consensus | f6fe4e61b17b6e45ba64690fa83ca0b4a3898d2f3732c8c60a985c85f7295a88 | | Figment | Consensus | fc16709e4a2d04ddc27ad6ecbe9411c0962beaf749c03d667187b9c394e13237 | +| Firstset | Verification | 7055e6d5f9f64d2decd195775711cb1575ac8aec0eb8dddbeba92444068c9d50 | | Flipside | Collection | 581525fa93d8fe4b334c179698c6e72baccb802593e55e40da61d24e589d85be | | Google | Execution | a58b8447337b73dc58d1095dfe0a71a50097969377c6c86b68ec63bee1358ace | | Hasquark | Verification | 55069e7e8926867bee8094bd31786f8f6b65c8c3bde468ae2275f33dc1245dc1 | From 34c2c61b62c9e49f72af06e44153a86d537086b2 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 12 Sep 2024 09:55:50 -0700 Subject: [PATCH 504/626] Add sprint kickoff doc --- .../2024-09-13-Flow-Sprint-Kickoff.md | 370 ++++++++++++++++++ 1 file changed, 370 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..6ee6aa1a0 --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -0,0 +1,370 @@ +# Overview + +### Team Wins 🎉 + +- Crescendo is LAUNCHED! 🎉💥 +- + + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (08/30/24 to 09/13/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.956% | 43.7% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +[YTD SLA: 99.922%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) + +## Incidents + +None + +(Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) + +### Key Release Dates & Breaking Changes +- Next Mainnet/Testnet network upgrade (spork): + - Testnet: Tues 17th Sept + - Mainnet: Wed 18th Sept + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 8 | 7 | 0 | 7 | **22** | +| Proposed | 1 | 2 | 3 | 0 | **6** | +| Accepted | 2 | 1 | 2 | 2 | **7** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 | 25 | 1 | 0 | **29** | +| Released | 4 | 0 | 4 | 6 | **14** | +| Total | **18** | **35** | **11** | **15** | **79** | + +**No New FLIPs** + +**REMINDER - FLIPs that need to be reassigned immediately:** + +**- Application** + - Interaction Templates (Paul Gebheim) + - Application - Pool-Based DEX Swap Standard (Satyam A.) + +**- Cadence** + - Type Removal In Contract Updates (Daniel Sainati) + - Optional References to Indexed Accesses (Daniel Sainati) + - Mutability Restrictions (Daniel Sainati) + - Cadence Storage API Improvements (Daniel Sainati) + - Reference Creation Semantics (Daniel Sainati) + - View Functions (Daniel Sainati) + - Entitlements (Daniel Sainati) + - New behavior for attachments with entitlements (Daniel Sainati) + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + + +**This sprint** + +- Objective 1, KR5: Mainnet Upgrade to Crescendo Release + - Investigate and fix any high/critical severity issues reported on Crescendo on TN ([Crescendo launch on Mainnet tasklist](https://github.com/onflow/cadence/issues/2642)) + - Investigate / Fix any security report incoming from bug bounty. + +- Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN + - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +- Cadence Execution + - Continue: [Add support for storage health check of EVM registers](https://github.com/onflow/flow-go/issues/6393) + - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) + +- EVM + - Continue monitoring EVM GW stability + - Continue work on [local state index](https://github.com/onflow/flow-evm-gateway/issues/322) + - KROK + - EVM Gateway benchmarking + +- EVM Gateway + - continue work on [Benchmarking](https://github.com/onflow/flow-evm-gateway/issues/19) + +- Badger -> Pebble Investigation/POC + - Continue work on [Protocol State Migration POC](https://github.com/onflow/flow-go/issues/6137) -> changing interface to batch write from transaction to make the future switch to Pebble easier. + +**Completed OKRs** + * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades + * All breaking released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + * Objective 1, KR4: Testnet Upgrade to Crescendo Release + * Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind + * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +**On Hold** + + - Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs + * Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +- Other + * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + * Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [IN PROGRESS] +* Reduce CPU usage on Execution node by 30% [DONE] +* Translate crypto performance improvements to consensus block rate increase [DONE] +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + +**This sprint** + +* EFM Recovery + - DKG smart contract updates (cont.) + - Final feedback and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440) PR + - Address feedback [EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164), [PR](https://github.com/onflow/flow-go/pull/6424) + - EFM Ejected node integration test https://github.com/onflow/flow-go/issues/6331 + - Allowing DKG key-sets to be re-used to recover from Epoch Fallback Mode, even if nodes are dropping out ([PR #6338](https://github.com/onflow/flow-go/pull/6338) ongoing) + +* Data Availability: + - ProtocolDB pruning design + - KROK Team + - Add StopControl for access nodes ([Issue #5790](https://github.com/onflow/flow-go/issues/5790) - In review) + - Add support pruning pebble exec data db ([Issue #6260](https://github.com/onflow/flow-go/issues/6260) - In review) + - Expand on payer balance checks ([Issue #6129](https://github.com/onflow/flow-go/issues/6129) - In review, [Issue #6139](https://github.com/onflow/flow-go/issues/6139) - In review) + - Start registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) + - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302)) + - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357)) + - Test execution data pruning on testnet ([Issue #6358](https://github.com/onflow/flow-go/issues/6358)) + - Documentation improvements ([Issue #815](https://github.com/onflow/docs/issues/815), [Issue #727](https://github.com/onflow/docs/issues/727) - In review) + - Wrap up rosetta integration test improvements ([Issue #57](https://github.com/onflow/rosetta/issues/57)) + +* Cryptography: + - State proofs: performance estimations of some VC/set accumulator constructions + - Pick up SPoCK aggregation related reads if time permits + +* Misc other + - Ongoing Pebble migration PR reviews + +**On Hold** +* Implement BFT mitigations to enable 20 permissionless ANs + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- EVM partner onboarding +- Deliver Axelar bridge + +**Done last sprint** + +**This sprint** + * Continue supporting Celer, Axelar and other key partners + * Complete remaining JVM-SDK examples + +**On Hold** + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity +- Update developer docs to remove previewn net and added new documentation for EVM data indexers + +**Done last sprint** + +**Crescendo Rewards** + +Contracts +- [Replace AccrualModel.getWeightedAPR() with .getBoost()](https://github.com/onflow/crescendo-rewards-sc/issues/66) +- [Respond to review findings](https://github.com/onflow/crescendo-rewards-sc/issues/67) +- [Add svg render](https://github.com/onflow/crescendo-rewards-sc/pull/69) +- [Finalize naming conventions & refactor](https://github.com/onflow/crescendo-rewards-sc/issues/70) +- [Mainnet deployment](https://github.com/onflow/crescendo-rewards-sc/issues/77) + +Backend + +- [Fix @onflow/types error in logs](https://github.com/onflow/crescendo-rewards-be/issues/157) +- [Fix Blocto Login](https://github.com/onflow/crescendo-rewards-be/issues/155) +- [Secure referrals api routes using address in referral code](https://github.com/onflow/crescendo-rewards-be/issues/141) +- [Move address validation into middleware](https://github.com/onflow/crescendo-rewards-be/issues/140) +- [Setup cors with correct urls](https://github.com/onflow/crescendo-rewards-be/issues/137) +- [Add referral verification route](https://github.com/onflow/crescendo-rewards-be/issues/122) +- [Rewards APIs](https://github.com/onflow/crescendo-rewards-be/issues/114) +- [Add user signature fallback for /verify](https://github.com/onflow/crescendo-rewards-be/issues/112) +- [Setup production environment](https://github.com/onflow/crescendo-rewards-be/issues/108) +- [add scripts for cadence 1.0](https://github.com/onflow/crescendo-rewards-be/issues/99) +- [Deploy contracts to migrationnet](https://github.com/onflow/crescendo-rewards-be/issues/86) +- [Hook up to testnet](https://github.com/onflow/crescendo-rewards-be/issues/85) +- [Get job running on staging](https://github.com/onflow/crescendo-rewards-be/issues/84) +- [Setup ratelimiting with redis](https://github.com/onflow/crescendo-rewards-be/issues/83) +- [Secure any routes that need to be protected](https://github.com/onflow/crescendo-rewards-be/issues/60) +- [Create referrals schema and helpers](https://github.com/onflow/crescendo-rewards-be/issues/45) +- [Switch job runner from mock scripts to real on chain data](https://github.com/onflow/crescendo-rewards-be/issues/34) + +Frontend + +- [Round leaderboard entries to nearest $FLOW](https://github.com/onflow/crescendo-rewards/issues/282) +- [Add formatter for referral codes](https://github.com/onflow/crescendo-rewards/issues/280) +- [Add more slides to carousel](https://github.com/onflow/crescendo-rewards/issues/238) +- [Increase boost precision](https://github.com/onflow/crescendo-rewards/issues/226) +- [Error displayed after logging in](https://github.com/onflow/crescendo-rewards/issues/196) +- [Use SWR for activity hook](https://github.com/onflow/crescendo-rewards/issues/194) +- [Verify referral code in form](https://github.com/onflow/crescendo-rewards/issues/182) +- [Add lock period countdown](https://github.com/onflow/crescendo-rewards/issues/140) +- [Setup WalletConnect](https://github.com/onflow/crescendo-rewards/issues/137) +- [Link to block explorer](https://github.com/onflow/crescendo-rewards/issues/275) +- [Add logic for minting a new nft even if you have an existing one](https://github.com/onflow/crescendo-rewards/issues/274) +- [Coming soon partner page](https://github.com/onflow/crescendo-rewards/issues/219) +- [Get account balance in hook](https://github.com/onflow/crescendo-rewards/issues/206) +- [[FEATURE] Add 25%, 50%, and MAX buttons for Lock Input](https://github.com/onflow/crescendo-rewards/issues/205) +- [[FEATURE] Improve Layout For Mobile](https://github.com/onflow/crescendo-rewards/issues/192) +- [Make total value locked use animated component when increment when changed](https://github.com/onflow/crescendo-rewards/issues/191) +- [Maintenence Mode from Env Var](https://github.com/onflow/crescendo-rewards/issues/189) +- [Add boost to subheader](https://github.com/onflow/crescendo-rewards/issues/185) +- [Animated value component](https://github.com/onflow/crescendo-rewards/issues/177) +- [Distribution lock period, pre lock countdown, and other countdown card logic](https://github.com/onflow/crescendo-rewards/issues/172) +- [Update partner card to match mock](https://github.com/onflow/crescendo-rewards/issues/129) +- [Add jwt to account route](https://github.com/onflow/crescendo-rewards/issues/112) +- [Remove dapper auth and show modal instead](https://github.com/onflow/crescendo-rewards/issues/107) +- [Add rules dialogs](https://github.com/onflow/crescendo-rewards/issues/106) +- [Non connected wallet state on lock page](https://github.com/onflow/crescendo-rewards/issues/100) + +X-Chain Axelar Bridge +- [Flow Bridge App Epic](https://github.com/onflow/flow-bridge-app/issues/1) +Waiting for Axelar contract deployment to testnet + +FCL Discovery +- Shipped FCL Discovery V2 Improvements +- [Don't show install links for unsupported browsers](https://github.com/onflow/fcl-discovery/issues/259) +- [[V2] Milestone 2 - UI Completeness](https://github.com/onflow/fcl-discovery/issues/210) + +FCL +- [Allow FCL Discovery to Display WalletConnect QR Codes while open](https://github.com/onflow/fcl-js/issues/1923) +- [Allow FCL Discovery to Execute Extension While Open](https://github.com/onflow/fcl-js/issues/1924) +- [[BUG] Dapper Wallet problems with Newer Releases](https://github.com/onflow/fcl-js/issues/1818) + +Flow CLI +- [Include EVM stdlib in staging update validator](https://github.com/onflow/flow-cli/pull/1697) + +Public Key Indexer +- [Update for Cadence v1](https://github.com/onflow/flow-public-key-indexer/issues/17) + +**This sprint** +**Sprint goal Crescendo Readiness / Flow Axelar Cross-chain Bridge / Documentation Updates, Crescendo Rewards, Lost and Found (Integration - Flow Port, Flow Wallet)** + +- [EPIC] Crescendo Rewards Portal + - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) + - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) + - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) +- [EPIC FCL WalletConnect + Discovery Improvements](https://github.com/onflow/fcl-js/issues/1872) +- [EPIC Solving Initialization/Storage Issues - Lost and Found FLIP and Port integration](https://github.com/onflow/flow-port/issues/292) +- [EPIC - EVM Bridge - bridge.flow.com](https://github.com/onflow/flow-bridge-app/issues/1) + +**On Hold** + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +**This sprint** + + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Prepare flow.com, onflow.org & nodes.onflow.org domains for CloudFlare account migration +- Prepare to spork FF & DL nodes + +**Done last sprint** + +**This sprint** + +Rewards platform tracker [link](https://github.com/orgs/onflow/projects/65/views/1) +- Drive updates for 09/04 - design, copy, legal changes, revise FAQs, migration downtime +- For Season 1 (10/01 launch) + - Unblock eng on reward distribution part of the product + - Drive final decisions on points system, referral bonus, raffles, etc + - Drive partner discussions - defilama, auditor, anti-sybil, etc. + - Drive design and copy per the rebranding plan (tbd) +- Continue working with Dete on stable state tokenomics +- Discuss with a16z their node consolidation strategy + +**On Hold** + + +**Active Epics** + +- N/A From 8281c05199b00a63dbfdb330c989f696e0e76942 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 13 Sep 2024 04:45:24 +0530 Subject: [PATCH 505/626] Update 2024-09-13-Flow-Sprint-Kickoff.md No new flips From 9e98b4dd42c2d4c14a9b908c437364548b4ce9ca Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:16:18 -0700 Subject: [PATCH 506/626] Update 2024-09-13-Flow-Sprint-Kickoff.md --- .../2024-09-13-Flow-Sprint-Kickoff.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 6ee6aa1a0..94b3aef01 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -17,19 +17,22 @@ | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| -| Collection Finalization | 99.9% | 100% | 0% | -| Block Finalization | 99.9% | 100% | 0% | -| Transaction Execution | 99.9% | 100% | 0% | -| Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.956% | 43.7% | +| Collection Finalization | 99.9% | 100% | 1964% | +| Block Finalization | 99.9% | 100% | 1964% | +| Transaction Execution | 99.9% | 100% | 1964% | +| Block Sealing | 99.9% | 100% | 1964% | +| Access API Liveness | 99.9% | 99.956% | 1964% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) -[YTD SLA: 99.922%](https://app.metrika.co/flow/dashboard/slas?tr=YTD) +~~[YTD SLA: 99.922%](https://app.metrika.co/flow/dashboard/slas?tr=YTD)~~ Metrika dashboard is deprecated. An alternate dashboard will be set up. ## Incidents -None +### Mainnet +Post network upgrade incidents - +1. EVM Gateway issue ✔️resolved. +2. Network in Epoch Fallback mode - will be resolved after the next network upgrade. (Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) From 1fb9f909f437c8ef1072e427e5a26019fe4a2c23 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:30:10 -0700 Subject: [PATCH 507/626] Update 2024-09-13-Flow-Sprint-Kickoff.md --- .../2024-09-13-Flow-Sprint-Kickoff.md | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 94b3aef01..f9abf581e 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -17,15 +17,24 @@ | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| -| Collection Finalization | 99.9% | 100% | 1964% | -| Block Finalization | 99.9% | 100% | 1964% | -| Transaction Execution | 99.9% | 100% | 1964% | -| Block Sealing | 99.9% | 100% | 1964% | -| Access API Liveness | 99.9% | 99.956% | 1964% | +| Collection Finalization | 99.9% | 98.04% | 1964% | +| Block Finalization | 99.9% | 98.04% | 1964% | +| Transaction Execution | 99.9% | 98.04% | 1964% | +| Block Sealing | 99.9% | 98.04% | 1964% | +| Access API Liveness | 99.9% | 98.04% | 1964% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) -~~[YTD SLA: 99.922%](https://app.metrika.co/flow/dashboard/slas?tr=YTD)~~ Metrika dashboard is deprecated. An alternate dashboard will be set up. +YTD SLA: 99.89% + - Metrika dashboard is deprecated. An alternate dashboard will be set up. + +#### SLA situation + +- Goal: EOY 99.9% SLA +- [Permissible downtime annually](https://uptime.is/99.9): 8h 41m +- Downtime due to Crescendo upgrade: 6h 36m +- Downtime due to previous HCUs in this year: ~20m (5m per HCU, 4 HCUs so far) +- Remaining budget to hit EOY goal of 99.9%: 1hr 45m ## Incidents From 71f41a3e78c480969724be33c927f69a93d228f4 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:30:53 -0700 Subject: [PATCH 508/626] Update 2024-09-13-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index f9abf581e..79087ee45 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -47,8 +47,8 @@ Post network upgrade incidents - ### Key Release Dates & Breaking Changes - Next Mainnet/Testnet network upgrade (spork): - - Testnet: Tues 17th Sept - - Mainnet: Wed 18th Sept + - Testnet: Wed 18th Sept + - Mainnet: Wed 25th Sept --- From b9f933b1bb53968c93923966a20cd20eab0ebe16 Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:47:15 -0700 Subject: [PATCH 509/626] update data availability sprint 2024-09-13 --- .../2024-09-13-Flow-Sprint-Kickoff.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 79087ee45..6fe5fd5b0 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -153,6 +153,11 @@ Cycle Objective(s): **Done last Sprint:** +* Data Availability: + - KROK Team + - Add StopControl for access nodes ([PR #6202](https://github.com/onflow/flow-go/pull/) - In review) + + **This sprint** * EFM Recovery @@ -163,17 +168,13 @@ Cycle Objective(s): - Allowing DKG key-sets to be re-used to recover from Epoch Fallback Mode, even if nodes are dropping out ([PR #6338](https://github.com/onflow/flow-go/pull/6338) ongoing) * Data Availability: - - ProtocolDB pruning design - KROK Team - - Add StopControl for access nodes ([Issue #5790](https://github.com/onflow/flow-go/issues/5790) - In review) - - Add support pruning pebble exec data db ([Issue #6260](https://github.com/onflow/flow-go/issues/6260) - In review) - Expand on payer balance checks ([Issue #6129](https://github.com/onflow/flow-go/issues/6129) - In review, [Issue #6139](https://github.com/onflow/flow-go/issues/6139) - In review) - - Start registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) - - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302)) - - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357)) - - Test execution data pruning on testnet ([Issue #6358](https://github.com/onflow/flow-go/issues/6358)) - - Documentation improvements ([Issue #815](https://github.com/onflow/docs/issues/815), [Issue #727](https://github.com/onflow/docs/issues/727) - In review) - - Wrap up rosetta integration test improvements ([Issue #57](https://github.com/onflow/rosetta/issues/57)) + - Registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) + - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302) - In progress) + - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357) - In progress) + - Documentation improvements ([Issue #815](https://github.com/onflow/docs/issues/815) - In review, [Issue #727](https://github.com/onflow/docs/issues/727) - In review) + - Access API / Go SDK alignment ([Issue #735](https://github.com/onflow/flow-go-sdk/issues/735)) * Cryptography: - State proofs: performance estimations of some VC/set accumulator constructions From e6392f888c57fb45793fe91a2241263df7e0f797 Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:50:12 -0700 Subject: [PATCH 510/626] update data availability sprint 2024-09-13 - part 2 --- agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 6fe5fd5b0..5635697c6 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -155,7 +155,7 @@ Cycle Objective(s): * Data Availability: - KROK Team - - Add StopControl for access nodes ([PR #6202](https://github.com/onflow/flow-go/pull/) - In review) + - Add StopControl for access nodes ([PR #6202](https://github.com/onflow/flow-go/pull/6202)) **This sprint** From 26630bef8c1a03e6b22741177b287acfc4ec0124 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 12 Sep 2024 21:20:44 -0700 Subject: [PATCH 511/626] Cadenc wg update --- .../2024-09-13-Flow-Sprint-Kickoff.md | 78 ++++++++++++++++++- 1 file changed, 77 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 6ee6aa1a0..7af825557 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -3,7 +3,6 @@ ### Team Wins 🎉 - Crescendo is LAUNCHED! 🎉💥 -- ### General updates @@ -87,6 +86,83 @@ Cycle Objective(s): **Done last sprint** +**Cadence Language** +- Security fix: [1](https://github.com/dapperlabs/cadence-internal/pull/244), [2](https://github.com/dapperlabs/cadence-internal/pull/243) +- Bugfix + - [Handle unmigrated path capabilities and path links in Account.capabilities functions](https://github.com/onflow/cadence/pull/3562) + - [Fix cadence-parser npm package](https://github.com/onflow/cadence/pull/3555) +- Improvement + - [Improve address decoding error](https://github.com/onflow/cadence/pull/3560) +- Tooling + - [Fix CI: Flow CLI is 1.0 now](https://github.com/onflow/cadence/pull/3573) + - version bump - [Fix the version update check](https://github.com/onflow/cadence/pull/3572) + - [Fix storage explorer: Update dependencies, update API usage](https://github.com/onflow/cadence/pull/3566) +- Tests + - [Add tests for exporting interface type](https://github.com/onflow/cadence/pull/3576) + - [Add test for modifying events during contract updates](https://github.com/onflow/cadence/pull/3561) + - [Add contract-update test for removing a field from nested resource](https://github.com/onflow/cadence/pull/3559) +- Docs + - [Update example on front page to 1.0](https://github.com/onflow/cadence-lang.org/pull/143) + - [Fix description](https://github.com/onflow/cadence-lang.org/pull/144) + - [Default to current, i.e. 1.0](https://github.com/onflow/cadence-lang.org/pull/142) + - [Document valid changes for events during contract-updates](https://github.com/onflow/cadence-lang.org/pull/139) + +**Cadence Execution** +- Bugfix + - [Fix metering invalidation](https://github.com/onflow/flow-go/pull/6377) + - [v0.37 - Fix metering invalidation](https://github.com/onflow/flow-go/pull/6461) +- Spork-related + - migration bugfixes + - [v0.37 - Recover validation error pretty printing panic](https://github.com/onflow/flow-go/pull/6434) + - [Cadence 1.0 migration - Add EVM storage account creation migration](https://github.com/onflow/flow-go/pull/6422) + - [Service account Fee changes](https://github.com/onflow/service-account/pull/320) + - Flow hosting + - [fix path in download checkpoint](https://github.com/dapperlabs/dapper-flow-hosting/pull/1599) + - Network recovery - [disable peer score](https://github.com/dapperlabs/dapper-flow-hosting/pull/1597) + - Improvements + - [Verification - Adding block id and height in verified approvals](https://github.com/onflow/flow-go/pull/6402) +- Execution effort estimation + - [Save initial parameters](https://github.com/onflow/flow-execution-effort-estimation/pull/4) + - [Add grpc endpoint to EN for transaction execution metrics](https://github.com/onflow/flow-go/pull/6172) +- Util improvements + - [Check checkpoint file exists when running state extraction](https://github.com/onflow/flow-go/pull/6459) + - [Add support for storage health check of EVM registers](https://github.com/onflow/flow-go/issues/6393) + - [Add command to debug a script](https://github.com/onflow/flow-go/pull/6425) +- Tooling + - [Flow batch-scan](https://github.com/onflow/flow-batch-scan) - tool to scan all addresses on chain, [updated to Cadence 1.0](https://github.com/onflow/flow-batch-scan/pull/39) + - TPS Benchmark - [Change TPS dataset](https://github.com/onflow/flow-go/pull/6429) +- Docs + - [update sha256sum for boot-tools of v0.37](https://github.com/onflow/docs/pull/876) + +**EVM Core** +- Docs - [add a sample code for cadence arch call](https://github.com/onflow/docs/pull/885) + +**EVM Gateway** +- Bugfix + - [Block 910 has a hash different then the one reported from evm-testnet.flowscan](https://github.com/onflow/flow-evm-gateway/issues/509) + - [Bugfix locking on logs filters](https://github.com/onflow/flow-evm-gateway/pull/506) + - [Receipts for deployments with COAs have both `contractAddress` and `to` fields present](https://github.com/onflow/flow-evm-gateway/pull/535) + - [Response returned from `eth_getBlockReceipts` endpoint is not properly marshalled](https://github.com/onflow/flow-evm-gateway/pull/533) + - [Crasher on validation of args](https://github.com/onflow/flow-evm-gateway/issues/525) + - [Incorrect hash value for empty `sha3Uncles` block field](https://github.com/onflow/flow-evm-gateway/pull/504) + - [The `height` in some log lines is displayed as a byte-array instead of numeric value](https://github.com/onflow/flow-evm-gateway/pull/497) +- Improvements + - [Debug log all errors](https://github.com/onflow/flow-evm-gateway/pull/528) + - [Increase trace download retry limit](https://github.com/onflow/flow-evm-gateway/pull/523) + - [EVM script execution caching](https://github.com/onflow/flow-evm-gateway/pull/521) + - [Improve Cadence scripts](https://github.com/onflow/flow-evm-gateway/pull/522) + - [Fix display of duplicate logs](https://github.com/onflow/flow-evm-gateway/pull/516) + - [Filter out errors for missing endpoints as they are not really relevant](https://github.com/onflow/flow-evm-gateway/pull/507) + - [Increase `batchRequestLimit` and `batchResponseMaxSize` constants](https://github.com/onflow/flow-evm-gateway/pull/505) + - [Support more signing algorithms for COA key](https://github.com/onflow/flow-evm-gateway/pull/501) + - [Improve COA creation transaction to gracefully handle existing COA in storage](https://github.com/onflow/flow-evm-gateway/pull/500) + - [Handle `ErrHeightOutOfRange` errors in `EstimateGas`](https://github.com/onflow/flow-evm-gateway/pull/498) +- Testing + - [Improve network test with blockchain traverse](https://github.com/onflow/flow-evm-gateway/pull/517) + - [Update the `storage` solidity contract](https://github.com/onflow/flow-evm-gateway/pull/536) + - [Fix flaky E2E test for EVM state building](https://github.com/onflow/flow-evm-gateway/pull/532) + - [Add an E2E test for filling the EVM state with blocks & transactions](https://github.com/onflow/flow-evm-gateway/pull/526) + - [Add test cases for endpoint of the `PullAPI`](https://github.com/onflow/flow-evm-gateway/pull/510) **This sprint** From 21cede46e2e01708627c7f322b6373e6d7424c0f Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 12 Sep 2024 21:29:42 -0700 Subject: [PATCH 512/626] Cadence wg update 2 --- .../2024-09-13-Flow-Sprint-Kickoff.md | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 7af825557..77e9f5757 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -166,30 +166,25 @@ Cycle Objective(s): **This sprint** -- Objective 1, KR5: Mainnet Upgrade to Crescendo Release - - Investigate and fix any high/critical severity issues reported on Crescendo on TN ([Crescendo launch on Mainnet tasklist](https://github.com/onflow/cadence/issues/2642)) - - Investigate / Fix any security report incoming from bug bounty. +- Complete Cadence deployment cleanup (requires one more spork) - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) - Cadence Execution - - Continue: [Add support for storage health check of EVM registers](https://github.com/onflow/flow-go/issues/6393) + - Badger -> Pebble Investigation/POC + - Continue work on [Protocol State Migration POC](https://github.com/onflow/flow-go/issues/6137) -> changing interface to batch write from transaction to make the future switch to Pebble easier. + - Complete [util to export stats about execution state](https://github.com/onflow/flow-go/issues/6361) - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) -- EVM - - Continue monitoring EVM GW stability - - Continue work on [local state index](https://github.com/onflow/flow-evm-gateway/issues/322) - - KROK - - EVM Gateway benchmarking - - EVM Gateway + - Continue monitoring / improving EVM GW stability + - Add tracing endpoint to unblock Alchemy + - Complete [local state index](https://github.com/onflow/flow-evm-gateway/issues/322) - continue work on [Benchmarking](https://github.com/onflow/flow-evm-gateway/issues/19) -- Badger -> Pebble Investigation/POC - - Continue work on [Protocol State Migration POC](https://github.com/onflow/flow-go/issues/6137) -> changing interface to batch write from transaction to make the future switch to Pebble easier. - **Completed OKRs** + * Objective 1, KR5: Mainnet Upgrade to Crescendo Release * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades * All breaking released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 * Objective 1, KR4: Testnet Upgrade to Crescendo Release From 71fa44fc81472ae776ecdd9bec91c1101efdab88 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 13 Sep 2024 08:46:56 -0600 Subject: [PATCH 513/626] Create infra section --- .../2024-09-13-Flow-Sprint-Kickoff.md | 39 +++++++++++++------ 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 6ee86986d..3833d25d2 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -3,6 +3,7 @@ ### Team Wins 🎉 - Crescendo is LAUNCHED! 🎉💥 +- CloudFlare account migration executed with all zones migrated (JP) ### General updates @@ -431,22 +432,38 @@ Cycle Objective(s): Cycle Objective(s): - Prepare flow.com, onflow.org & nodes.onflow.org domains for CloudFlare account migration - Prepare to spork FF & DL nodes +- Clean up infra following spork **Done last sprint** -**This sprint** +**Spork** +- Assisted in spork execution and triage -Rewards platform tracker [link](https://github.com/orgs/onflow/projects/65/views/1) -- Drive updates for 09/04 - design, copy, legal changes, revise FAQs, migration downtime -- For Season 1 (10/01 launch) - - Unblock eng on reward distribution part of the product - - Drive final decisions on points system, referral bonus, raffles, etc - - Drive partner discussions - defilama, auditor, anti-sybil, etc. - - Drive design and copy per the rebranding plan (tbd) -- Continue working with Dete on stable state tokenomics -- Discuss with a16z their node consolidation strategy +**CloudFlare** +- Migrate onflow.org from DL account to FF account +- Migrate nodes.onflow.org from DL account to FF account +- [Clean Up orphaned records](https://github.com/dapperlabs/terraform/pull/4387) -**On Hold** +**EVM Gateway** +- [Update ANs used for EVM GW](https://github.com/dapperlabs/dapper-flow-hosting/pull/1591) +- [Create inventory for MN EVM GW](https://github.com/dapperlabs/dapper-flow-hosting/pull/1568) + +**Spork Cleanup** +- Delete Previewnet infra +- Delete Migration Testnet infra +- [Delete Mainnet24 infra](https://github.com/dapperlabs/terraform/pull/4378) + +**Node Hosting** +- [Update node.env for GO memlimits](https://github.com/dapperlabs/dapper-flow-hosting/pull/1584) +- [Update playbooks for configuring DL nodes](https://github.com/dapperlabs/dapper-flow-hosting/pull/1587) +- [Execute HCU on DL nodes](https://github.com/dapperlabs/dapper-flow-hosting/pull/1596) + +**This Sprint** +- Finish merging & cleaning up old CF resources +- Create infrastructure for DL & FF nodes +- Spork Mainnet +- Cleanup all infra used for spork prep +- Assist with EVM GW observability **Active Epics** From 0b49b6c791e21e8ee15321c7b29ba3281f91d3dd Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 13 Sep 2024 09:26:23 -0700 Subject: [PATCH 514/626] 4DUX Updates 2024-09-13 --- .../2024-09-13-Flow-Sprint-Kickoff.md | 113 +++++++----------- 1 file changed, 41 insertions(+), 72 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 3833d25d2..563f6c004 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -4,6 +4,9 @@ - Crescendo is LAUNCHED! 🎉💥 - CloudFlare account migration executed with all zones migrated (JP) +- Flow Community Rewards successfully upgraded and running strong with 19,450,958 Total Locked FLOW +- Cadence Playground running Cadence 1.0 + ### General updates @@ -286,103 +289,69 @@ Cycle Objective(s): Cycle Objective(s): -- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort - Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network -- Use the Crescendo Release grow Flow's developer base and network activity -- Update developer docs to remove previewn net and added new documentation for EVM data indexers +- Add Documentation and smooth rough edges to improve DX for EVM on Flow +- Build Flow Community Rewards (RAIN) and Points Program **Done last sprint** -**Crescendo Rewards** +**Crescendo Rewards** Contracts -- [Replace AccrualModel.getWeightedAPR() with .getBoost()](https://github.com/onflow/crescendo-rewards-sc/issues/66) -- [Respond to review findings](https://github.com/onflow/crescendo-rewards-sc/issues/67) -- [Add svg render](https://github.com/onflow/crescendo-rewards-sc/pull/69) -- [Finalize naming conventions & refactor](https://github.com/onflow/crescendo-rewards-sc/issues/70) -- [Mainnet deployment](https://github.com/onflow/crescendo-rewards-sc/issues/77) +- [Add scripts for any NFT image resolution #354](https://github.com/onflow/crescendo-rewards/pull/354) +- [Add Flow image to FlowToken storage #12](https://github.com/onflow/dx-internal/issues/12) +- [Bridge - Prepare a Mainnet account & deploy 0.42 dependency contracts](https://github.com/onflow/flow-evm-bridge/issues/108) +- [Bridge - Enhance escrow interface for metadata resolution from escrowed NFTs & FT Vaults](https://github.com/onflow/flow-evm-bridge/issues/112) +- [Bridge - Fix displays on bridged NFT & Token templates](https://github.com/onflow/flow-evm-bridge/issues/114) +- [Bridge - Add the ability to update symbols in bridged ERC20/721 contracts](https://github.com/onflow/flow-evm-bridge/pull/118) +- [Rewards - Set distribution period](https://github.com/onflow/crescendo-rewards-sc/issues/83) +- [Rewards - Enable NFT Display retrieval by NFT ID](https://github.com/onflow/crescendo-rewards-sc/issues/87) Backend - -- [Fix @onflow/types error in logs](https://github.com/onflow/crescendo-rewards-be/issues/157) -- [Fix Blocto Login](https://github.com/onflow/crescendo-rewards-be/issues/155) -- [Secure referrals api routes using address in referral code](https://github.com/onflow/crescendo-rewards-be/issues/141) -- [Move address validation into middleware](https://github.com/onflow/crescendo-rewards-be/issues/140) -- [Setup cors with correct urls](https://github.com/onflow/crescendo-rewards-be/issues/137) -- [Add referral verification route](https://github.com/onflow/crescendo-rewards-be/issues/122) -- [Rewards APIs](https://github.com/onflow/crescendo-rewards-be/issues/114) -- [Add user signature fallback for /verify](https://github.com/onflow/crescendo-rewards-be/issues/112) -- [Setup production environment](https://github.com/onflow/crescendo-rewards-be/issues/108) -- [add scripts for cadence 1.0](https://github.com/onflow/crescendo-rewards-be/issues/99) -- [Deploy contracts to migrationnet](https://github.com/onflow/crescendo-rewards-be/issues/86) -- [Hook up to testnet](https://github.com/onflow/crescendo-rewards-be/issues/85) -- [Get job running on staging](https://github.com/onflow/crescendo-rewards-be/issues/84) -- [Setup ratelimiting with redis](https://github.com/onflow/crescendo-rewards-be/issues/83) -- [Secure any routes that need to be protected](https://github.com/onflow/crescendo-rewards-be/issues/60) -- [Create referrals schema and helpers](https://github.com/onflow/crescendo-rewards-be/issues/45) -- [Switch job runner from mock scripts to real on chain data](https://github.com/onflow/crescendo-rewards-be/issues/34) +- Frontend +- [Add redemption page and period switch logic #350](https://github.com/onflow/crescendo-rewards/issues/350) +- [Add emojis to leaderboard #338](https://github.com/onflow/crescendo-rewards/issues/338) -- [Round leaderboard entries to nearest $FLOW](https://github.com/onflow/crescendo-rewards/issues/282) -- [Add formatter for referral codes](https://github.com/onflow/crescendo-rewards/issues/280) -- [Add more slides to carousel](https://github.com/onflow/crescendo-rewards/issues/238) -- [Increase boost precision](https://github.com/onflow/crescendo-rewards/issues/226) -- [Error displayed after logging in](https://github.com/onflow/crescendo-rewards/issues/196) -- [Use SWR for activity hook](https://github.com/onflow/crescendo-rewards/issues/194) -- [Verify referral code in form](https://github.com/onflow/crescendo-rewards/issues/182) -- [Add lock period countdown](https://github.com/onflow/crescendo-rewards/issues/140) -- [Setup WalletConnect](https://github.com/onflow/crescendo-rewards/issues/137) -- [Link to block explorer](https://github.com/onflow/crescendo-rewards/issues/275) -- [Add logic for minting a new nft even if you have an existing one](https://github.com/onflow/crescendo-rewards/issues/274) -- [Coming soon partner page](https://github.com/onflow/crescendo-rewards/issues/219) -- [Get account balance in hook](https://github.com/onflow/crescendo-rewards/issues/206) -- [[FEATURE] Add 25%, 50%, and MAX buttons for Lock Input](https://github.com/onflow/crescendo-rewards/issues/205) -- [[FEATURE] Improve Layout For Mobile](https://github.com/onflow/crescendo-rewards/issues/192) -- [Make total value locked use animated component when increment when changed](https://github.com/onflow/crescendo-rewards/issues/191) -- [Maintenence Mode from Env Var](https://github.com/onflow/crescendo-rewards/issues/189) -- [Add boost to subheader](https://github.com/onflow/crescendo-rewards/issues/185) -- [Animated value component](https://github.com/onflow/crescendo-rewards/issues/177) -- [Distribution lock period, pre lock countdown, and other countdown card logic](https://github.com/onflow/crescendo-rewards/issues/172) -- [Update partner card to match mock](https://github.com/onflow/crescendo-rewards/issues/129) -- [Add jwt to account route](https://github.com/onflow/crescendo-rewards/issues/112) -- [Remove dapper auth and show modal instead](https://github.com/onflow/crescendo-rewards/issues/107) -- [Add rules dialogs](https://github.com/onflow/crescendo-rewards/issues/106) -- [Non connected wallet state on lock page](https://github.com/onflow/crescendo-rewards/issues/100) - -X-Chain Axelar Bridge -- [Flow Bridge App Epic](https://github.com/onflow/flow-bridge-app/issues/1) -Waiting for Axelar contract deployment to testnet +**Cadence Playground** +- [Update Playground to support Cadence 1.0 #760](https://github.com/onflow/flow-playground/issues/760) + +Public Key Indexer +- [Update for Cadence v1](https://github.com/onflow/flow-public-key-indexer/issues/17) -FCL Discovery -- Shipped FCL Discovery V2 Improvements -- [Don't show install links for unsupported browsers](https://github.com/onflow/fcl-discovery/issues/259) -- [[V2] Milestone 2 - UI Completeness](https://github.com/onflow/fcl-discovery/issues/210) +**FCL/DISCOVERY** +- [Remove Shadow From Discovery #254](https://github.com/onflow/fcl-discovery/issues/254) +- [Add clipboard check #262](https://github.com/onflow/fcl-discovery/pull/262) +- [Add clipboard-write Access to FCL IFRAME](https://github.com/onflow/fcl-js/issues/1946) +- [fcl.payer argument type is incorrect](https://github.com/onflow/fcl-js/issues/1936) +- [fcl.authenticate should be a promise](https://github.com/onflow/fcl-js/issues/1934) +- [AppUtils verifyUserSignatures should return a Promise](https://github.com/onflow/fcl-js/issues/1933) -FCL -- [Allow FCL Discovery to Display WalletConnect QR Codes while open](https://github.com/onflow/fcl-js/issues/1923) -- [Allow FCL Discovery to Execute Extension While Open](https://github.com/onflow/fcl-js/issues/1924) -- [[BUG] Dapper Wallet problems with Newer Releases](https://github.com/onflow/fcl-js/issues/1818) +**Flow CLI** +[CLI Hangs with certain commands](https://github.com/onflow/flow-cli/issues/1731) +[Remove Cadence 1.0 Migration Features](https://github.com/onflow/flow-cli/issues/1726) -Flow CLI -- [Include EVM stdlib in staging update validator](https://github.com/onflow/flow-cli/pull/1697) +**Flow Go SDK** +[Remove Previewnet](https://github.com/onflow/flow-go-sdk/issues/739) -Public Key Indexer -- [Update for Cadence v1](https://github.com/onflow/flow-public-key-indexer/issues/17) +**Flowkit** +[Remove Previewnet](https://github.com/onflow/flowkit/issues/73) **This sprint** -**Sprint goal Crescendo Readiness / Flow Axelar Cross-chain Bridge / Documentation Updates, Crescendo Rewards, Lost and Found (Integration - Flow Port, Flow Wallet)** +**Sprint Goal: Launch Rewards Redemption and Points Integration / Launch bridge.flow.com / Lost and Found (Integration - Flow Port, Flow Wallet)** -- [EPIC] Crescendo Rewards Portal +- [EPIC] Flow Rewards (RAIN) - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) -- [EPIC FCL WalletConnect + Discovery Improvements](https://github.com/onflow/fcl-js/issues/1872) - [EPIC Solving Initialization/Storage Issues - Lost and Found FLIP and Port integration](https://github.com/onflow/flow-port/issues/292) -- [EPIC - EVM Bridge - bridge.flow.com](https://github.com/onflow/flow-bridge-app/issues/1) +- [Flow Bridge App Epic](https://github.com/onflow/flow-bridge-app/issues/1) **On Hold** +- bridge.flow.com + --- ### **Wallet** \[Jeff] From 67b05ce0944ab314c6d95de4a9e25276ab61b25d Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 13 Sep 2024 09:40:59 -0700 Subject: [PATCH 515/626] Add protocol updated --- .../2024-09-13-Flow-Sprint-Kickoff.md | 40 +++++++++++++------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 3833d25d2..9456c040e 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -225,21 +225,39 @@ Cycle Objective(s): **Done last Sprint:** +* Crescendo upgrade + - Peter, Khalil and Jordan supported Crescendo upgrade and follow on operational issues + - Tarak: fix build on private repo + * Data Availability: - KROK Team - Add StopControl for access nodes ([PR #6202](https://github.com/onflow/flow-go/pull/6202)) - +* EFM Recovery + - Addressing PR reviews + - [DKG smart contract data model update](https://github.com/onflow/flow-go/issues/6213) + - [Protocol updates for DKG IndexMap](https://github.com/onflow/flow-go/pull/6338) + - [Consensus updates to block signing](https://github.com/onflow/flow-go/issues/6389) + +* Cryptography + - Last part of state proofs: performance estimations of VC and set accumulator-based state trees: + - SAGE scripts for operation bench + - New designs covered (Catalono - Pedersen IPA - Nguyen) + - IPA bench from cloning Ethereum go implementation - document IPA high level design + - Bench summary presented. + - Randomness: update docs and review implementation + **This sprint** -* EFM Recovery - - DKG smart contract updates (cont.) - - Final feedback and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440) PR - - Address feedback [EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164), [PR](https://github.com/onflow/flow-go/pull/6424) - - EFM Ejected node integration test https://github.com/onflow/flow-go/issues/6331 - - Allowing DKG key-sets to be re-used to recover from Epoch Fallback Mode, even if nodes are dropping out ([PR #6338](https://github.com/onflow/flow-go/pull/6338) ongoing) +* Crescendo upgrade + - Continue benchnet testing libp2p peer gater and add peer gater to flow-go -* Data Availability: +* EFM Recovery + - [Continue DKG smart contract data model update](https://github.com/onflow/flow-go/issues/6213) + - Protocol updates for DKG changes [https://github.com/onflow/flow-go/issues/6214] + - Finish up and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440), EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164), [EFM Integration Test Part 2](https://github.com/onflow/flow-go/pull/6424) + +* Data Availability - KROK Team - Expand on payer balance checks ([Issue #6129](https://github.com/onflow/flow-go/issues/6129) - In review, [Issue #6139](https://github.com/onflow/flow-go/issues/6139) - In review) - Registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) @@ -248,15 +266,13 @@ Cycle Objective(s): - Documentation improvements ([Issue #815](https://github.com/onflow/docs/issues/815) - In review, [Issue #727](https://github.com/onflow/docs/issues/727) - In review) - Access API / Go SDK alignment ([Issue #735](https://github.com/onflow/flow-go-sdk/issues/735)) -* Cryptography: - - State proofs: performance estimations of some VC/set accumulator constructions - - Pick up SPoCK aggregation related reads if time permits +* Cryptography + - Get back to SPoCK aggregation related reads * Misc other - Ongoing Pebble migration PR reviews **On Hold** -* Implement BFT mitigations to enable 20 permissionless ANs --- From 13a95e6d059e7cd440c251e00e41dc7487b9f8c0 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 13 Sep 2024 09:52:45 -0700 Subject: [PATCH 516/626] 4DUX Update 2024-09-13 (2) --- .../2024-09-13-Flow-Sprint-Kickoff.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 5d84c2d3e..56758a12c 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -324,11 +324,25 @@ Contracts - [Rewards - Enable NFT Display retrieval by NFT ID](https://github.com/onflow/crescendo-rewards-sc/issues/87) Backend -- +- [Add improved messaging to referral code validation](https://github.com/onflow/crescendo-rewards-be/pull/161) Frontend - [Add redemption page and period switch logic #350](https://github.com/onflow/crescendo-rewards/issues/350) - [Add emojis to leaderboard #338](https://github.com/onflow/crescendo-rewards/issues/338) +- [Don’t render layout in app down mode](https://github.com/onflow/crescendo-rewards/pull/306 ) +- [Remove referral from search params after successful lockup](https://github.com/onflow/crescendo-rewards/pull/308 ) +- [Disable referral code validation when not authenticated](https://github.com/onflow/crescendo-rewards/pull/307 ) +- [Add NFT FAQ](https://github.com/onflow/crescendo-rewards/pull/309 ) +- [Fix pill not rendering](https://github.com/onflow/crescendo-rewards/pull/318 ) +- [Trigger form when logged in](https://github.com/onflow/crescendo-rewards/pull/325 ) +- [Remove characters from balance](https://github.com/onflow/crescendo-rewards/pull/327 ) +- [Switch useAccount to use AN from FE](https://github.com/onflow/crescendo-rewards/pull/328 ) +- [Add emojis to number patterns](https://github.com/onflow/crescendo-rewards/issues/338 ) +- [Make leaderboard an activity titles same size](https://github.com/onflow/crescendo-rewards/pull/340 ) +- [Add flow to partners coming soon page](https://github.com/onflow/crescendo-rewards/pull/341 ) +- [Fix usePeriod hook logic](https://github.com/onflow/crescendo-rewards/issues/348 ) +- [Add redemption page with period switch logic](https://github.com/onflow/crescendo-rewards/issues/350 ) +- [Setup NFT Selector for redemption page](https://github.com/onflow/crescendo-rewards/issues/352 ) **Cadence Playground** - [Update Playground to support Cadence 1.0 #760](https://github.com/onflow/flow-playground/issues/760) From a6fa4a6e19202144eaca466a8bfc1eb391dc0a77 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 13 Sep 2024 09:55:52 -0700 Subject: [PATCH 517/626] Add DeFi updates --- .../2024-09-13-Flow-Sprint-Kickoff.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 5d84c2d3e..568e48330 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -6,8 +6,9 @@ - CloudFlare account migration executed with all zones migrated (JP) - Flow Community Rewards successfully upgraded and running strong with 19,450,958 Total Locked FLOW - Cadence Playground running Cadence 1.0 - - +- Celer deployed mainnet contracts this week and liquidity was opened today +- Kittypunch launched EVM DEX on mainnet https://swap.kittypunch.xyz/#/swap +- GNOSIS Safe.Global Ethereum Vult for tresury multi-sig launched on mainnet https://safe.flow.com ### General updates @@ -286,10 +287,15 @@ Cycle Objective(s): - Deliver Axelar bridge **Done last sprint** + * Supporting Ankr, Moralis, Axelar on EVM issues and node operations + * Celer deployed mainnet contracts this week and liquidity was opened today + * Kittypunch launched EVM DEX on mainnet https://swap.kittypunch.xyz/#/swap + * GNOSIS Safe.Global Ethereum Vult for tresury multi-sig launched on mainnet https://safe.flow.com + **This sprint** - * Continue supporting Celer, Axelar and other key partners - * Complete remaining JVM-SDK examples + * Contnue supporting Ankr, Axelar and other node operators + * Launch Axelar cross-chain bridge and axlUSDC once all vaidators are onboarded and critical mass is reached **On Hold** From 0771b85fe0a480c0ce00bde68dda0323e3a3d529 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 13 Sep 2024 09:56:44 -0700 Subject: [PATCH 518/626] Fix typo --- agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 0985a880c..f3c1a5b31 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -8,7 +8,7 @@ - Cadence Playground running Cadence 1.0 - Celer deployed mainnet contracts this week and liquidity was opened today - Kittypunch launched EVM DEX on mainnet https://swap.kittypunch.xyz/#/swap -- GNOSIS Safe.Global Ethereum Vult for tresury multi-sig launched on mainnet https://safe.flow.com +- GNOSIS Safe.Global Ethereum Vault for tresury multi-sig launched on mainnet https://safe.flow.com ### General updates @@ -290,7 +290,7 @@ Cycle Objective(s): * Supporting Ankr, Moralis, Axelar on EVM issues and node operations * Celer deployed mainnet contracts this week and liquidity was opened today * Kittypunch launched EVM DEX on mainnet https://swap.kittypunch.xyz/#/swap - * GNOSIS Safe.Global Ethereum Vult for tresury multi-sig launched on mainnet https://safe.flow.com + * GNOSIS Safe.Global Ethereum Vault for tresury multi-sig launched on mainnet https://safe.flow.com **This sprint** From a0b1236d6bf40da362f64d4dd76ac38ec7b7d44e Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Tue, 24 Sep 2024 08:45:53 -0700 Subject: [PATCH 519/626] Update sporks.json for testnet52 --- sporks.json | 60 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 49 insertions(+), 11 deletions(-) diff --git a/sporks.json b/sporks.json index 8abccab4c..b3f313954 100644 --- a/sporks.json +++ b/sporks.json @@ -1301,9 +1301,47 @@ } }, "testnet": { - "testnet51": { - "id": 51, + "testnet52": { + "id": 52, "live": true, + "name": "Testnet52", + "sporkTime": "2024-09-24T15:00:00Z", + "rootHeight": "218215349", + "rootParentId": "20dd925a750399493cf7455f199c32c952e8010a6c0b4424dba00a193fa18e44", + "rootStateCommitment": "b0498700398cdc8c0c9368cc2f82fde62e8fe4b06e9c8af6c9bb619ab499e6c3", + "gitCommitHash": "25d9c2a9b89bac8fa003ca67928eb79b1427ea17", + "stateArtefacts": { + "gcp": { + "rootCheckpointFile": "https://storage.googleapis.com/flow-genesis-bootstrap/testnet-52-execution/public-root-information/root.checkpoint", + "rootProtocolStateSnapshot": "https://storage.googleapis.com/flow-genesis-bootstrap/testnet-52/public-root-information/root-protocol-state-snapshot.json", + "rootProtocolStateSnapshotSignature": "https://storage.googleapis.com/flow-genesis-bootstrap/testnet-52/public-root-information/root-protocol-state-snapshot.json.asc", + "nodeInfo": "https://storage.googleapis.com/flow-genesis-bootstrap/testnet-52/public-root-information/node-infos.pub.json" + }, + "s3": { + "rootCheckpointFile": "", + "rootProtocolStateSnapshot": "", + "nodeInfo": "", + "executionStateBucket": "" + } + }, + "tags": { + "flow-go-tag": "v0.37.16-patch.1", + "cadence-tag": "v1.0.0-preview.52-patch.3", + "docker-tag": "v0.37.16-patch.1" + }, + "accessNodes": [ + "access.devnet.nodes.onflow.org:9000" + ], + "seedNodes": [ + { + "address": "access-003.devnet52.nodes.onflow.org:3570", + "key": "b662102f4184fc1caeb2933cf87bba75cdd37758926584c0ce8a90549bb12ee0f9115111bbbb6acc2b889461208533369a91e8321eaf6bcb871a788ddd6bfbf7" + } + ] + }, + "testnet51": { + "id": 51, + "live": false, "name": "Testnet51", "sporkTime": "2024-08-14T15:00:00Z", "rootHeight": "211176670", @@ -1331,12 +1369,12 @@ "docker-tag": "v0.37.1" }, "accessNodes": [ - "access.devnet.nodes.onflow.org:9000" + "access-001.devnet51.nodes.onflow.org:9000" ], "seedNodes": [ { - "address": "access-003.devnet51.nodes.onflow.org:3570", - "key": "b662102f4184fc1caeb2933cf87bba75cdd37758926584c0ce8a90549bb12ee0f9115111bbbb6acc2b889461208533369a91e8321eaf6bcb871a788ddd6bfbf7" + "address": "access-001.devnet51.nodes.onflow.org:3570", + "key": "ba69f7d2e82b9edf25b103c195cd371cf0cc047ef8884a9bbe331e62982d46daeebf836f7445a2ac16741013b192959d8ad26998aff12f2adc67a99e1eb2988d" } ] }, @@ -1375,7 +1413,7 @@ "seedNodes": [ { "address": "access-001.devnet50.nodes.onflow.org:3570", - "key": "b662102f4184fc1caeb2933cf87bba75cdd37758926584c0ce8a90549bb12ee0f9115111bbbb6acc2b889461208533369a91e8321eaf6bcb871a788ddd6bfbf7" + "key": "ba69f7d2e82b9edf25b103c195cd371cf0cc047ef8884a9bbe331e62982d46daeebf836f7445a2ac16741013b192959d8ad26998aff12f2adc67a99e1eb2988d" } ] }, @@ -1409,12 +1447,12 @@ "docker-tag": "v0.32.6-patch.1" }, "accessNodes": [ - "access.devnet.nodes.onflow.org:9000" + "access-001.devnet49.nodes.onflow.org:9000" ], "seedNodes": [ { - "address": "access-003.devnet49.nodes.onflow.org:3570", - "key": "b662102f4184fc1caeb2933cf87bba75cdd37758926584c0ce8a90549bb12ee0f9115111bbbb6acc2b889461208533369a91e8321eaf6bcb871a788ddd6bfbf7" + "address": "access-001.devnet49.nodes.onflow.org:3570", + "key": "ba69f7d2e82b9edf25b103c195cd371cf0cc047ef8884a9bbe331e62982d46daeebf836f7445a2ac16741013b192959d8ad26998aff12f2adc67a99e1eb2988d" } ] }, @@ -1452,8 +1490,8 @@ ], "seedNodes": [ { - "address": "access-003.devnet48.nodes.onflow.org:3570", - "key": "b662102f4184fc1caeb2933cf87bba75cdd37758926584c0ce8a90549bb12ee0f9115111bbbb6acc2b889461208533369a91e8321eaf6bcb871a788ddd6bfbf7" + "address": "access-001.devnet48.nodes.onflow.org:3570", + "key": "ba69f7d2e82b9edf25b103c195cd371cf0cc047ef8884a9bbe331e62982d46daeebf836f7445a2ac16741013b192959d8ad26998aff12f2adc67a99e1eb2988d" } ] }, From 930c4c3e73c7925b0b8667aad94a3ae6014e368c Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Wed, 25 Sep 2024 09:40:13 -0700 Subject: [PATCH 520/626] Update sporks.json for mainnet26 --- sporks.json | 55 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 8 deletions(-) diff --git a/sporks.json b/sporks.json index b3f313954..85a024d75 100644 --- a/sporks.json +++ b/sporks.json @@ -1,9 +1,52 @@ { "networks": { "mainnet": { + "mainnet26": { + "id": 26, + "live": true, + "name": "Mainnet-26", + "sporkTime": "2024-09-25T15:00:00Z", + "rootHeight": "88226267", + "rootParentId": "71052eb6e774ae5065b31c604a85af47fa16d5c53e54b9a992581c1ecf0ecfac", + "rootStateCommitment": "3bba639062a723af1b44b1dfe07e795d158482f02f807f1df0b7c39edd6a8cca", + "gitCommitHash": "25d9c2a9b89bac8fa003ca67928eb79b1427ea17", + "stateArtefacts": { + "gcp": { + "rootCheckpointFile": "https://storage.googleapis.com/flow-genesis-bootstrap/mainnet-26-execution/public-root-information/root.checkpoint", + "rootProtocolStateSnapshot": "https://storage.googleapis.com/flow-genesis-bootstrap/mainnet-26-execution/public-root-information/root-protocol-state-snapshot.json", + "rootProtocolStateSnapshotSignature": "https://storage.googleapis.com/flow-genesis-bootstrap/mainnet-26-execution/public-root-information/root-protocol-state-snapshot.json.asc", + "nodeInfo": "https://storage.googleapis.com/flow-genesis-bootstrap/mainnet-26-execution/public-root-information/node-infos.pub.json", + "executionStateBucket": "flow_public_mainnet26_execution_state" + }, + "s3": { + "rootCheckpointFile": "", + "rootProtocolStateSnapshot": "", + "nodeInfo": "", + "executionStateBucket": "flow-public-mainnet26-execution-state" + } + }, + "tags": { + "flow-go-tag": "v0.37.16-patch.1", + "cadence-tag": "v1.0.0-preview.52-patch.3", + "docker-tag": "v0.37.16-patch.1" + }, + "seedNodes": [ + { + "address": "access-007.mainnet26.nodes.onflow.org:3570", + "key": "28a0d9edd0de3f15866dfe4aea1560c4504fe313fc6ca3f63a63e4f98d0e295144692a58ebe7f7894349198613f65b2d960abf99ec2625e247b1c78ba5bf2eae" + }, + { + "address": "access-008.mainnet25.nodes.onflow.org:3570", + "key": "11742552d21ac93da37ccda09661792977e2ca548a3b26d05f22a51ae1d99b9b75c8a9b3b40b38206b38951e98e4d145f0010f8942fd82ddf0fb1d670202264a" + } + ], + "accessNodes": [ + "access.mainnet.nodes.onflow.org:9000" + ] + }, "mainnet25": { "id": 25, - "live": true, + "live": false, "name": "Mainnet-25", "sporkTime": "2024-09-04T12:00:00Z", "rootHeight": "85981135", @@ -32,16 +75,12 @@ }, "seedNodes": [ { - "address": "access-007.mainnet25.nodes.onflow.org:3570", - "key": "28a0d9edd0de3f15866dfe4aea1560c4504fe313fc6ca3f63a63e4f98d0e295144692a58ebe7f7894349198613f65b2d960abf99ec2625e247b1c78ba5bf2eae" - }, - { - "address": "access-008.mainnet25.nodes.onflow.org:3570", - "key": "11742552d21ac93da37ccda09661792977e2ca548a3b26d05f22a51ae1d99b9b75c8a9b3b40b38206b38951e98e4d145f0010f8942fd82ddf0fb1d670202264a" + "address": "access-001.mainnet25.nodes.onflow.org:3570", + "key": "ba530d6e593947d1dd2d7f8afcf122efac9070043ce7ffdc62b4c4be9899f9a3b7e57c4c975d484386b4c5ad25a2ede097cbd497942a759a6391ba9cf724f6d9" } ], "accessNodes": [ - "access.mainnet.nodes.onflow.org:9000" + "access-001.mainnet25.nodes.onflow.org:9000" ] }, "mainnet24": { From 8edf43fa96773f6ddec3522f928cd153ced527c7 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 26 Sep 2024 11:02:18 -0700 Subject: [PATCH 521/626] Create 2024-09-27-Flow-Sprint-Kickoff.md --- .../2024-09-27-Flow-Sprint-Kickoff.md | 283 ++++++++++++++++++ 1 file changed, 283 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..57b4d7bb0 --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -0,0 +1,283 @@ +# Overview + +### Team Wins 🎉 + +- + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (09/14/24 to 09/26/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 98.04% | 1964% | +| Block Finalization | 99.9% | 98.04% | 1964% | +| Transaction Execution | 99.9% | 98.04% | 1964% | +| Block Sealing | 99.9% | 98.04% | 1964% | +| Access API Liveness | 99.9% | 98.04% | 1964% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +YTD SLA: 99.89% + - Metrika dashboard is deprecated. An alternate dashboard will be set up. + +#### SLA situation + +- Goal: EOY 99.9% SLA + + +## Incidents + + + +(Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) + +### Key Release Dates & Breaking Changes +- Next Mainnet/Testnet network upgrade (spork): + - TBD + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 8 | 7 | 0 | 7 | **22** | +| Proposed | 1 | 2 | 3 | 0 | **6** | +| Accepted | 2 | 1 | 2 | 2 | **7** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 | 25 | 1 | 0 | **29** | +| Released | 4 | 0 | 4 | 6 | **14** | +| Total | **18** | **35** | **11** | **15** | **79** | + +**No New FLIPs** + +**REMINDER - FLIPs that need to be reassigned immediately:** + +**- Application** + - Interaction Templates (Paul Gebheim) + - Application - Pool-Based DEX Swap Standard (Satyam A.) + +**- Cadence** + - Type Removal In Contract Updates (Daniel Sainati) + - Optional References to Indexed Accesses (Daniel Sainati) + - Mutability Restrictions (Daniel Sainati) + - Cadence Storage API Improvements (Daniel Sainati) + - Reference Creation Semantics (Daniel Sainati) + - View Functions (Daniel Sainati) + - Entitlements (Daniel Sainati) + - New behavior for attachments with entitlements (Daniel Sainati) + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + + +**This sprint** + +- Complete Cadence deployment cleanup (requires one more spork) + +- Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN + - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +- Cadence Execution + - Badger -> Pebble Investigation/POC + - Continue work on [Protocol State Migration POC](https://github.com/onflow/flow-go/issues/6137) -> changing interface to batch write from transaction to make the future switch to Pebble easier. + - Complete [util to export stats about execution state](https://github.com/onflow/flow-go/issues/6361) + - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) + +- EVM Gateway + - Continue monitoring / improving EVM GW stability + - Add tracing endpoint to unblock Alchemy + - Complete [local state index](https://github.com/onflow/flow-evm-gateway/issues/322) + - continue work on [Benchmarking](https://github.com/onflow/flow-evm-gateway/issues/19) + +**Completed OKRs** + * Objective 1, KR5: Mainnet Upgrade to Crescendo Release + * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades + * All breaking released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + * Objective 1, KR4: Testnet Upgrade to Crescendo Release + * Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind + * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +**On Hold** + + - Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs + * Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. + +- Other + * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + * Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [IN PROGRESS] +* Reduce CPU usage on Execution node by 30% [DONE] +* Translate crypto performance improvements to consensus block rate increase [DONE] +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + +**This sprint** + +* Crescendo upgrade + - Continue benchnet testing libp2p peer gater and add peer gater to flow-go + +* EFM Recovery + - [Continue DKG smart contract data model update](https://github.com/onflow/flow-go/issues/6213) + - Protocol updates for DKG changes [https://github.com/onflow/flow-go/issues/6214] + - Finish up and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440), EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164), [EFM Integration Test Part 2](https://github.com/onflow/flow-go/pull/6424) + +* Data Availability + - KROK Team + - Expand on payer balance checks ([Issue #6129](https://github.com/onflow/flow-go/issues/6129) - In review, [Issue #6139](https://github.com/onflow/flow-go/issues/6139) - In review) + - Registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) + - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302) - In progress) + - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357) - In progress) + - Documentation improvements ([Issue #815](https://github.com/onflow/docs/issues/815) - In review, [Issue #727](https://github.com/onflow/docs/issues/727) - In review) + - Access API / Go SDK alignment ([Issue #735](https://github.com/onflow/flow-go-sdk/issues/735)) + +* Cryptography + - Get back to SPoCK aggregation related reads + +* Misc other + - Ongoing Pebble migration PR reviews + +**On Hold** + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- EVM partner onboarding +- Deliver Axelar bridge + +**Done last sprint** + + +**This sprint** + * Contnue supporting Ankr, Axelar and other node operators + * Launch Axelar cross-chain bridge and axlUSDC once all vaidators are onboarded and critical mass is reached + +**On Hold** + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Add Documentation and smooth rough edges to improve DX for EVM on Flow +- Build Flow Community Rewards (RAIN) and Points Program + +**Done last sprint** + +**This sprint** +**Sprint Goal: Launch Rewards Redemption and Points Integration / Launch bridge.flow.com / Lost and Found (Integration - Flow Port, Flow Wallet)** + +- [EPIC] Flow Rewards (RAIN) + - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) + - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) + - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) +- [EPIC Solving Initialization/Storage Issues - Lost and Found FLIP and Port integration](https://github.com/onflow/flow-port/issues/292) +- [Flow Bridge App Epic](https://github.com/onflow/flow-bridge-app/issues/1) + +**On Hold** + +- bridge.flow.com + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +**This sprint** + + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Prepare flow.com, onflow.org & nodes.onflow.org domains for CloudFlare account migration +- Prepare to spork FF & DL nodes +- Clean up infra following spork + +**Done last sprint** + + + +**This Sprint** +- Finish merging & cleaning up old CF resources +- Create infrastructure for DL & FF nodes +- Spork Mainnet +- Cleanup all infra used for spork prep +- Assist with EVM GW observability + + +**Active Epics** + +- N/A From 0befc4bc000fa3559505b01e0face6f5565fde53 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 27 Sep 2024 04:25:15 +0530 Subject: [PATCH 522/626] Update 2024-09-27-Flow-Sprint-Kickoff.md Flip tracker update --- .../2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index 57b4d7bb0..91780289a 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -47,15 +47,16 @@ YTD SLA: 99.89% | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 7 | 0 | 7 | **22** | +| Drafted | 8 | 8 (+1) | 0 | 7 | **23** (+1) | | Proposed | 1 | 2 | 3 | 0 | **6** | | Accepted | 2 | 1 | 2 | 2 | **7** | | Rejected | 0 | 0 | 1 | 0 | **1** | | Implemented | 3 | 25 | 1 | 0 | **29** | | Released | 4 | 0 | 4 | 6 | **14** | -| Total | **18** | **35** | **11** | **15** | **79** | +| Total | **18** | **36** (+1) | **11** | **15** | **80** (+1) | -**No New FLIPs** +**New FLIPs** +Cadence FLIP 288 (Draft Stage): Simple String Interpolation (to provide support for the use of identifiers in string interpolation) - by Raymond Zhang **REMINDER - FLIPs that need to be reassigned immediately:** From 14e27aece5b83a220a2920ab86fc5045fbd74397 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 27 Sep 2024 04:26:25 +0530 Subject: [PATCH 523/626] Update 2024-09-27-Flow-Sprint-Kickoff.md FLIP tracker edit --- agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index 91780289a..303c5dbac 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -56,7 +56,7 @@ YTD SLA: 99.89% | Total | **18** | **36** (+1) | **11** | **15** | **80** (+1) | **New FLIPs** -Cadence FLIP 288 (Draft Stage): Simple String Interpolation (to provide support for the use of identifiers in string interpolation) - by Raymond Zhang +- Cadence FLIP 288 (Draft Stage): Simple String Interpolation (to provide support for the use of identifiers in string interpolation) - by Raymond Zhang **REMINDER - FLIPs that need to be reassigned immediately:** From 6182946805b6201218bc00e960cd62f9c9d04634 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 26 Sep 2024 16:06:55 -0700 Subject: [PATCH 524/626] Update 2024-09-27-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index 303c5dbac..ab27c37b9 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -2,7 +2,7 @@ ### Team Wins 🎉 -- +- Mainnet is now out of EFM. ### General updates From de4ca9b15fdf722f27deb6898a212b0a71653191 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 26 Sep 2024 16:24:52 -0700 Subject: [PATCH 525/626] Update 2024-09-27-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index ab27c37b9..fa11a5fa8 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -2,7 +2,7 @@ ### Team Wins 🎉 -- Mainnet is now out of EFM. +- Mainnet is now out of Epoch Fallback Mode and automatic epoch transition has resumed. ### General updates @@ -15,11 +15,11 @@ | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| -| Collection Finalization | 99.9% | 98.04% | 1964% | -| Block Finalization | 99.9% | 98.04% | 1964% | -| Transaction Execution | 99.9% | 98.04% | 1964% | -| Block Sealing | 99.9% | 98.04% | 1964% | -| Access API Liveness | 99.9% | 98.04% | 1964% | +| Collection Finalization | 99.9% | 99.26% | 744.05% | +| Block Finalization | 99.9% | 99.26% | 744.05% | +| Transaction Execution | 99.9% | 99.26% | 744.05% | +| Block Sealing | 99.9% | 99.26% | 744.05% | +| Access API Liveness | 99.9% | 98.04% | 1190.48% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) From 681a0ed192039fa515869dc3bdb7c85ec7e45d7d Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 26 Sep 2024 16:46:17 -0700 Subject: [PATCH 526/626] Cadence WG update --- .../2024-09-27-Flow-Sprint-Kickoff.md | 96 ++++++++++++++++--- 1 file changed, 82 insertions(+), 14 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index 57b4d7bb0..153372b14 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -2,7 +2,10 @@ ### Team Wins 🎉 -- +- [Joe](https://github.com/jsproz) joined the Cadence team this week! +- Mainnet 26 upgrade went smoothly for the protocol team - the security fix discovered shortly after Crescendo release is now fixed and validated. +- [Cadence 1.0 release](https://flow-foundation.slack.com/archives/C05RYHG0KEY/p1727390039557029)! +- Update of the execution storage layer from release-candidate to [Atree v0.8.0](https://github.com/onflow/cadence/pull/3583) - this verison passed through 1034 hours of smoke tests and numerous storage health-checks on execution state snapshots before and after network upgrade to Crescendo release. ### General updates @@ -90,25 +93,89 @@ Cycle Objective(s): **Done last sprint** +**Cadence Language** +- Bugfixes: + - [Improve contract update error printing positions](https://github.com/onflow/cadence/issues/3574) + - [Refactor user errors in lexer from panics to error return values](https://github.com/onflow/cadence/issues/3428) +- Public ports of security fixes: + - [Fix runtime type of Account_Inbox_claim() function](https://github.com/onflow/cadence/pull/3592) + - [Fix interpreting default functions](https://github.com/onflow/cadence/pull/3591) + - [Allow validation of `Account.capabilities.get/borrow/publish`](https://github.com/onflow/cadence/pull/3590) +- 1.0 Release chores: [1](https://github.com/onflow/flow-go-sdk/pull/776), [2](https://github.com/onflow/cadence/pull/3593) +- Testing: + - [Add test for circular resources](https://github.com/onflow/cadence/pull/3586) +- Docs updates: + - [Add examples for publishing and claiming capability](https://github.com/onflow/cadence-lang.org/pull/156) + - [Add section for revocation of capability](https://github.com/onflow/cadence-lang.org/pull/155) + - [Fix links to locked tokens contract](https://github.com/onflow/cadence-lang.org/pull/154) + - [Fix mentions of PublicAccount and AuthAccount](https://github.com/onflow/cadence-lang.org/pull/153) + - [Update account capabilities type definitions](https://github.com/onflow/cadence-lang.org/pull/152) + - [Bring back subset of migration guide](https://github.com/onflow/cadence-lang.org/pull/150) + +**Cadence Execution** +- Network upgrade preparation chores & improvements: [1](https://github.com/dapperlabs/dapper-flow-hosting/pull/1614), [2](https://github.com/dapperlabs/dapper-flow-hosting/pull/1610), [3](https://github.com/dapperlabs/flow-go/pull/6980), [4](https://github.com/dapperlabs/flow-go/pull/6979), [5](https://github.com/dapperlabs/flow-go/pull/6973), [6](https://github.com/dapperlabs/dapper-flow-hosting/pull/1608), [7](https://github.com/onflow/flow-go/pull/6472), [8](https://github.com/dapperlabs/flow-go/pull/6971), [9](https://github.com/dapperlabs/flow-go/pull/6967), [10](https://github.com/dapperlabs/dapper-flow-hosting/pull/1592), [11](https://github.com/dapperlabs/dapper-flow-hosting/pull/1560) +- Update of the execution storage layer from release-candidate to [Atree v0.8.0](https://github.com/onflow/cadence/pull/3583) +- Switching Badger -> Pebble DB + - [Making indexing approval concurrent-safe](https://github.com/onflow/flow-go/pull/6374) + - [Making finalization concurrent safe](https://github.com/onflow/flow-go/pull/6373) + - [Refactor indexing new blocks](https://github.com/onflow/flow-go/pull/6360) + - [Make indexing own receipts concurrent safe](https://github.com/onflow/flow-go/pull/6354) + - [Refactor key iteration] +- Docs update: + - [update sha256sum for boot-tools](https://github.com/onflow/docs/pull/911) + +**EVM Core** +- Bugfixes: + - [patch evm debug tracer] +- Local state index: + - [adding state update checksum to transaction execution events](https://github.com/onflow/flow-go/pull/6456) + - [adding commitment over state updates](https://github.com/onflow/flow-go/pull/6451) + +**EVM Gateway** +- Alchemy blocker (ongoing): [Add support for debug_traceCall to EVM GW API](https://github.com/onflow/flow-evm-gateway/issues/530) + - [Run tracing hooks OnTxStart, OnTxEnd for DryRunTransaction](https://github.com/onflow/flow-go/pull/6491) +Improvements: + - [Handling of UInt,Int Cadence types for EVM ABI encoding/decoding](https://github.com/onflow/flow-go/pull/6480) + - follow-up: [Add boundary checks](https://github.com/onflow/flow-go/pull/6486) + - Equivalence with geth behaviour: [eth_getFilterLogs returns null result instead of empty array](https://github.com/onflow/flow-evm-gateway/issues/545) + - [Check data integrity for EVM events](https://github.com/onflow/flow-evm-gateway/pull/529) +- Bugfix: + - [Update constant for block gas limit](https://github.com/onflow/flow-evm-gateway/pull/564) + - [Fix error handling for transaction traces](https://github.com/onflow/flow-evm-gateway/pull/560) + - [Fix format for block traces on debug API](https://github.com/onflow/flow-evm-gateway/pull/557) + - [Block endpoints with many transactions fail with rate limit error](https://github.com/onflow/flow-evm-gateway/issues/547) +- Local state index + - [Improve client result compare](https://github.com/onflow/flow-evm-gateway/pull/561) + - [Improve error handling on the local state](https://github.com/onflow/flow-evm-gateway/pull/559) + - [Make state index more robust and able to sync](https://github.com/onflow/flow-evm-gateway/pull/556) + - [Event recovery from a missing block](https://github.com/onflow/flow-evm-gateway/pull/554) + - [Local index register validator](https://github.com/onflow/flow-evm-gateway/pull/550) + - [Reuse client for storage query](https://github.com/onflow/flow-evm-gateway/pull/542) + - [Add history support to state index](https://github.com/onflow/flow-evm-gateway/pull/540) + - [Local state index engine](https://github.com/onflow/flow-evm-gateway/pull/537) +- Tech debt / improvements + - [Remove obsolete config flags & keys files](https://github.com/onflow/flow-evm-gateway/pull/593) +- Testing: + - [Add test cases utilizing Cadence arch calls](https://github.com/onflow/flow-evm-gateway/pull/538) **This sprint** -- Complete Cadence deployment cleanup (requires one more spork) +- OKR planning -- Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN - - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) +- EVM Gateway + - Unblock [Alchemy tracing](https://github.com/onflow/flow-evm-gateway/issues/530) + - improve [stability](https://github.com/onflow/flow-evm-gateway/issues/590) + +- Cadence Language + - Tech Debt + - Content + - Resume work on the compiler POC - Cadence Execution + - Continue work on [optimization for Cadence domain storage](https://github.com/onflow/cadence/issues/3584) (expected 30% execution state memory usage reduction when deployed) - Badger -> Pebble Investigation/POC - Continue work on [Protocol State Migration POC](https://github.com/onflow/flow-go/issues/6137) -> changing interface to batch write from transaction to make the future switch to Pebble easier. - Complete [util to export stats about execution state](https://github.com/onflow/flow-go/issues/6361) - - Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) - -- EVM Gateway - - Continue monitoring / improving EVM GW stability - - Add tracing endpoint to unblock Alchemy - - Complete [local state index](https://github.com/onflow/flow-evm-gateway/issues/322) - - continue work on [Benchmarking](https://github.com/onflow/flow-evm-gateway/issues/19) **Completed OKRs** * Objective 1, KR5: Mainnet Upgrade to Crescendo Release @@ -120,12 +187,13 @@ Cycle Objective(s): **On Hold** - - Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs - * Continue work on making [Make TPS loader input more flexible](https://github.com/onflow/flow-go/issues/5490) for better analysis and tracking of performance data. - +- Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN + - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + - Other * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) * Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) + * Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) --- From 11163afb9772f730b6afd072c726a5ba84459a7d Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Thu, 26 Sep 2024 20:03:59 -0700 Subject: [PATCH 527/626] update data availability sprint 2024-09-26 --- .../2024-09-27-Flow-Sprint-Kickoff.md | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index 91355802d..537f64226 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -209,6 +209,20 @@ Cycle Objective(s): **Done last Sprint:** +* Data Availability + - KROK Team + - Documentation improvements ([PR #896](https://github.com/onflow/docs/pull/896), [PR #877](https://github.com/onflow/docs/pull/877)) + - SDK alignment + - [GetAccountBalance](https://github.com/onflow/flow-go-sdk/pull/742) + - [GetAccountKeys](https://github.com/onflow/flow-go-sdk/pull/753) + - [GetFullCollectionById](https://github.com/onflow/flow-go-sdk/pull/754) + - [GetExecutionResultByID](https://github.com/onflow/flow-go-sdk/pull/757) + - [GetSystemTransactionResult](https://github.com/onflow/flow-go-sdk/pull/756) + - [Add computation usage to GetTransactionResult](https://github.com/onflow/flow-go-sdk/pull/774) + +* Misc other + - Add peer gater to lib2p gossipsub [PR #6479](https://github.com/onflow/flow-go/pull/6479) + **This sprint** * Crescendo upgrade @@ -223,10 +237,10 @@ Cycle Objective(s): - KROK Team - Expand on payer balance checks ([Issue #6129](https://github.com/onflow/flow-go/issues/6129) - In review, [Issue #6139](https://github.com/onflow/flow-go/issues/6139) - In review) - Registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) - - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302) - In progress) + - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302) - In review, [Issue #6413](https://github.com/onflow/flow-go/issues/6413) - In progress) - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357) - In progress) - - Documentation improvements ([Issue #815](https://github.com/onflow/docs/issues/815) - In review, [Issue #727](https://github.com/onflow/docs/issues/727) - In review) - - Access API / Go SDK alignment ([Issue #735](https://github.com/onflow/flow-go-sdk/issues/735)) + - Access API / Go SDK alignment ([Issue #735](https://github.com/onflow/flow-go-sdk/issues/735), [Issue #749](https://github.com/onflow/flow-go-sdk/issues/749), [Issue #746](https://github.com/onflow/flow-go-sdk/issues/746), [Issue #761](https://github.com/onflow/flow-go-sdk/issues/761), [Issue #745](https://github.com/onflow/flow-go-sdk/issues/745), [Issue #747](https://github.com/onflow/flow-go-sdk/issues/747), [Issue #763](https://github.com/onflow/flow-go-sdk/issues/763)) + - Add Time To Seal metric ([Issue #6448](https://github.com/onflow/flow-go/issues/6448)) * Cryptography - Get back to SPoCK aggregation related reads From d6f0efd1c960e231f16504c707edc8e1bdd57ee5 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 26 Sep 2024 21:12:37 -0700 Subject: [PATCH 528/626] Update 2024-09-13-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index f3c1a5b31..1a70c5c04 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -32,13 +32,13 @@ YTD SLA: 99.89% - Metrika dashboard is deprecated. An alternate dashboard will be set up. -#### SLA situation +#### SLA situation [Updated on 9/26] - Goal: EOY 99.9% SLA - [Permissible downtime annually](https://uptime.is/99.9): 8h 41m -- Downtime due to Crescendo upgrade: 6h 36m +- Downtime due to Crescendo upgrade: ~~6h 36m~~ 19h 23m - Downtime due to previous HCUs in this year: ~20m (5m per HCU, 4 HCUs so far) -- Remaining budget to hit EOY goal of 99.9%: 1hr 45m +- ~~Remaining budget to hit EOY goal of 99.9%: 1hr 45m~~ SLO budget has been exhausted for EOY Goal ## Incidents From 640f1cc78a32e3ded0002ff0218e6d31758de7c4 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 26 Sep 2024 21:22:31 -0700 Subject: [PATCH 529/626] Update 2024-09-27-Flow-Sprint-Kickoff.md --- .../2024-09-27-Flow-Sprint-Kickoff.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index 537f64226..24759bcac 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -27,16 +27,23 @@ [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) -YTD SLA: 99.89% - - Metrika dashboard is deprecated. An alternate dashboard will be set up. +YTD SLA: 99.52% + #### SLA situation -- Goal: EOY 99.9% SLA +- Updated downtime reported during the last sprint kickoff. see last sprint's [SLA section](https://github.com/onflow/flow/blob/master/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md#sla-situation-updated-on-926) +- Total downtime YTD - + 1. 4 HCUs 20 mins + 2. Mainnet25(Crescendo) upgrade: 19h23m + 3. P0 incident after mainnet25: 7h30m + 4. Mainnet26: 3h48m + + Total: 31h ## Incidents - +- P1 - Sept 24th - EVM Transactions stopped. [slack thread](https://flow-foundation.slack.com/archives/C014WBGR1J9/p1727227388238869) (Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) From b5c3b6a6a81cce9ae89fc6522c692e5df03aceb3 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 26 Sep 2024 21:23:55 -0700 Subject: [PATCH 530/626] Update 2024-09-27-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index 24759bcac..e805710bd 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -35,15 +35,15 @@ YTD SLA: 99.52% - Updated downtime reported during the last sprint kickoff. see last sprint's [SLA section](https://github.com/onflow/flow/blob/master/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md#sla-situation-updated-on-926) - Total downtime YTD - 1. 4 HCUs 20 mins - 2. Mainnet25(Crescendo) upgrade: 19h23m - 3. P0 incident after mainnet25: 7h30m - 4. Mainnet26: 3h48m + 2. Sept 4th - Mainnet25(Crescendo) upgrade: 19h23m + 3. Sept 5th - P0 incident after mainnet25: 7h30m + 4. Sept 25th - Mainnet26: 3h48m Total: 31h ## Incidents -- P1 - Sept 24th - EVM Transactions stopped. [slack thread](https://flow-foundation.slack.com/archives/C014WBGR1J9/p1727227388238869) +- Sept 24th - P1 incident: EVM Transactions stopped. [slack thread](https://flow-foundation.slack.com/archives/C014WBGR1J9/p1727227388238869) (Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) From 20150c89b81a854f2accffe0851871a995e7e968 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 26 Sep 2024 17:20:14 -0600 Subject: [PATCH 531/626] Add infra section --- .../2024-09-27-Flow-Sprint-Kickoff.md | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index e805710bd..b6f2b041e 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -353,20 +353,33 @@ Cycle Objective(s): ### **Infra - JP** Cycle Objective(s): -- Prepare flow.com, onflow.org & nodes.onflow.org domains for CloudFlare account migration - Prepare to spork FF & DL nodes - Clean up infra following spork **Done last sprint** - +**Observability** +- Evaluate Grafana commit & usage +- Consolidate synthetics to use k6 to save on commit +- Create Grafana usage alerts +- [Create more alerts for monitoring EVM Gateway](https://flowfoundation.grafana.net/alerting/list?view=list&search=EVM) +- [Create documentation for EVM Gateway triage](https://www.notion.so/flowfoundation/Triaging-EVM-GW-issues-1071aee123248027878bd1e0761c6c69?pvs=25) +- [Create documentation for Grafana billing monitoring](https://www.notion.so/flowfoundation/Grafana-Billing-Monitoring-1051aee123248072b123cb054dbf2f91) + +**Spork** +- [Create Devnet52 Infra](https://github.com/dapperlabs/terraform/pull/4388) +- [Create Mainnet26 FF Infra](https://github.com/dapperlabs/terraform/pull/4389) +- [Create Mainnet26 DL Infra](https://github.com/dapperlabs/dapper-flow-nodes-infrastructure/pull/28) +- [Delete Mainnet25 DL Infra](https://github.com/dapperlabs/dapper-flow-nodes-infrastructure/pull/30) +- [Scale down Devnet51 Infra](https://github.com/dapperlabs/terraform/pull/4398) +- [Scale down Mainnet25 FF Infra](https://github.com/dapperlabs/terraform/pull/4401) +- [Delete Migration Mainnet Infra](https://github.com/dapperlabs/terraform/pull/4403) +- [Update DNS records](https://github.com/dapperlabs/terraform/pull/4400) +- [Create Ansible configuration for DL & FF](https://github.com/dapperlabs/dapper-flow-hosting/pull/1603) **This Sprint** -- Finish merging & cleaning up old CF resources -- Create infrastructure for DL & FF nodes -- Spork Mainnet -- Cleanup all infra used for spork prep -- Assist with EVM GW observability +- Improve external monitoring with synthetics +- Evaluate remaining infra migration tasks **Active Epics** From cf83ad09ea42908d53ad6f8aab84299470172331 Mon Sep 17 00:00:00 2001 From: Faye Amacker <33205765+fxamacker@users.noreply.github.com> Date: Fri, 27 Sep 2024 10:46:48 -0500 Subject: [PATCH 532/626] Update URL for atree v0.8.0 --- agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index b6f2b041e..9b639445a 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -6,7 +6,7 @@ - [Joe](https://github.com/jsproz) joined the Cadence team this week! - Mainnet 26 upgrade went smoothly for the protocol team - the security fix discovered shortly after Crescendo release is now fixed and validated. - [Cadence 1.0 release](https://flow-foundation.slack.com/archives/C05RYHG0KEY/p1727390039557029)! -- Update of the execution storage layer from release-candidate to [Atree v0.8.0](https://github.com/onflow/cadence/pull/3583) - this verison passed through 1034 hours of smoke tests and numerous storage health-checks on execution state snapshots before and after network upgrade to Crescendo release. +- Update of the execution storage layer from release-candidate to [Atree v0.8.0](https://github.com/onflow/atree/releases/tag/v0.8.0) - this verison passed through 1034 hours of smoke tests and numerous storage health-checks on execution state snapshots before and after network upgrade to Crescendo release. ### General updates From f461835877cd5e5464d6bc59feaf0fd6638ebbda Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 27 Sep 2024 08:58:54 -0700 Subject: [PATCH 533/626] Updates for protocol and DeFi --- .../2024-09-27-Flow-Sprint-Kickoff.md | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index b6f2b041e..d57bbca83 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -4,9 +4,11 @@ - Mainnet is now out of Epoch Fallback Mode and automatic epoch transition has resumed. - [Joe](https://github.com/jsproz) joined the Cadence team this week! -- Mainnet 26 upgrade went smoothly for the protocol team - the security fix discovered shortly after Crescendo release is now fixed and validated. +- Mainnet 26 upgrade went smoothly for the protocol team + - Security fix discovered shortly after Crescendo release is now fixed and validated. + - Libp2p message flood mitigation was released and all but 5 external VNs are back on the entwork - [Cadence 1.0 release](https://flow-foundation.slack.com/archives/C05RYHG0KEY/p1727390039557029)! -- Update of the execution storage layer from release-candidate to [Atree v0.8.0](https://github.com/onflow/cadence/pull/3583) - this verison passed through 1034 hours of smoke tests and numerous storage health-checks on execution state snapshots before and after network upgrade to Crescendo release. +- Update of the execution storage layer from release-candidate to [Atree v0.8.0](https://github.com/onflow/cadence/pull/3583) - this version passed through 1034 hours of smoke tests and numerous storage health-checks on execution state snapshots before and after network upgrade to Crescendo release. ### General updates @@ -227,16 +229,27 @@ Cycle Objective(s): - [GetSystemTransactionResult](https://github.com/onflow/flow-go-sdk/pull/756) - [Add computation usage to GetTransactionResult](https://github.com/onflow/flow-go-sdk/pull/774) -* Misc other +* Post Crescendo upgrade stabilization + - Finished benchnet testing adding libp2p peer gater to flow-go - Add peer gater to lib2p gossipsub [PR #6479](https://github.com/onflow/flow-go/pull/6479) + - Networking documentation (in progress will be done today) +* EFM Recovery + - [Implemented signing of own proposal by SafetyRules](https://github.com/onflow/flow-go/pull/6463) + - [DKG engine submit valid Index Map](https://github.com/onflow/flow-go/pull/6490) + - [Cadence to Go type conversion for EpochCommit](https://github.com/onflow/flow-go/pull/6490) + - [Cadence to Go type conversion for EpochRecover](https://github.com/onflow/flow-go/pull/6506) + - [Integration tests maintainance](https://github.com/onflow/flow-go/pull/6496) + - Wrapping final PRs https://github.com/onflow/flow-core-contracts/pull/440, https://github.com/onflow/flow-go/pull/6424 + - Added support for DKGIndexMapping to both PRs + **This sprint** -* Crescendo upgrade - - Continue benchnet testing libp2p peer gater and add peer gater to flow-go - * EFM Recovery - - [Continue DKG smart contract data model update](https://github.com/onflow/flow-go/issues/6213) + - Wrap up previously created PRs + - [Implement an integration test for EFM and DKG IndexMap](https://github.com/onflow/flow-go/issues/6331) + + [Continue DKG smart contract data model update](https://github.com/onflow/flow-go/issues/6213) - Protocol updates for DKG changes [https://github.com/onflow/flow-go/issues/6214] - Finish up and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440), EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164), [EFM Integration Test Part 2](https://github.com/onflow/flow-go/pull/6424) @@ -266,11 +279,14 @@ Cycle Objective(s): - Deliver Axelar bridge **Done last sprint** + * Worked with numerous Axelar node partners to get their nodes staked and added to testnet and mainnet + * Support Trado, Kittypunch, and Ankr through various integration and teething issues + * Updated Axelar node operator doc and hosted two office hours for node operators - **This sprint** - * Contnue supporting Ankr, Axelar and other node operators - * Launch Axelar cross-chain bridge and axlUSDC once all vaidators are onboarded and critical mass is reached + * Focus remains on launch for Axelar cross-chain bridge and axlUSDC, once all vaidators are onboarded and critical mass is reached + * Update Flow node operations docs to include latest EVM Gateway details + * Keep helping partner and node operators **On Hold** From 901a748b92fabb6c4bcd9758fdd7902648ae9ef1 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 27 Sep 2024 09:10:25 -0700 Subject: [PATCH 534/626] Crypto and misc other updates --- .../2024-09-27-Flow-Sprint-Kickoff.md | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index d57bbca83..88e75ab06 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -6,7 +6,7 @@ - [Joe](https://github.com/jsproz) joined the Cadence team this week! - Mainnet 26 upgrade went smoothly for the protocol team - Security fix discovered shortly after Crescendo release is now fixed and validated. - - Libp2p message flood mitigation was released and all but 5 external VNs are back on the entwork + - Libp2p message flood mitigation was released and all but 5 external VNs are back on the network - [Cadence 1.0 release](https://flow-foundation.slack.com/archives/C05RYHG0KEY/p1727390039557029)! - Update of the execution storage layer from release-candidate to [Atree v0.8.0](https://github.com/onflow/cadence/pull/3583) - this version passed through 1034 hours of smoke tests and numerous storage health-checks on execution state snapshots before and after network upgrade to Crescendo release. @@ -228,6 +228,7 @@ Cycle Objective(s): - [GetExecutionResultByID](https://github.com/onflow/flow-go-sdk/pull/757) - [GetSystemTransactionResult](https://github.com/onflow/flow-go-sdk/pull/756) - [Add computation usage to GetTransactionResult](https://github.com/onflow/flow-go-sdk/pull/774) + - [Add GetProtocolStateSnapshotByBlockID and GetProtocolStateSnapshotByHeight endpoints](https://github.com/onflow/flow-go-sdk/issues/749) * Post Crescendo upgrade stabilization - Finished benchnet testing adding libp2p peer gater to flow-go @@ -242,16 +243,21 @@ Cycle Objective(s): - [Integration tests maintainance](https://github.com/onflow/flow-go/pull/6496) - Wrapping final PRs https://github.com/onflow/flow-core-contracts/pull/440, https://github.com/onflow/flow-go/pull/6424 - Added support for DKGIndexMapping to both PRs + +* Cryptography + - State proofs: minor update to the Pedersen-IPA docs and numbers (code update and bench run) - notes and bench summary updated + - Randomness: review of EVM doc and new examples + - Proof of Possession of the staking key: vaccuumlabs knowledge transfer - rebased the PoP contract PR (ready for Ledger work) + - Random Beacon: quantify the current bias from Hotstuff based on computational indistinguishability (needs to be documented) + - SPoCK aggregation: progress on the definitions of multi-verifications - get the requirement from the Flow sealing design. +identified new optimizations in the crypto lib **This sprint** * EFM Recovery - Wrap up previously created PRs - [Implement an integration test for EFM and DKG IndexMap](https://github.com/onflow/flow-go/issues/6331) - - [Continue DKG smart contract data model update](https://github.com/onflow/flow-go/issues/6213) - Protocol updates for DKG changes [https://github.com/onflow/flow-go/issues/6214] - - Finish up and merge [EFM Recovery transaction](https://github.com/onflow/flow-core-contracts/pull/440), EFM integration test part 2](https://github.com/onflow/flow-go/issues/6164), [EFM Integration Test Part 2](https://github.com/onflow/flow-go/pull/6424) * Data Availability - KROK Team @@ -259,11 +265,18 @@ Cycle Objective(s): - Registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302) - In review, [Issue #6413](https://github.com/onflow/flow-go/issues/6413) - In progress) - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357) - In progress) - - Access API / Go SDK alignment ([Issue #735](https://github.com/onflow/flow-go-sdk/issues/735), [Issue #749](https://github.com/onflow/flow-go-sdk/issues/749), [Issue #746](https://github.com/onflow/flow-go-sdk/issues/746), [Issue #761](https://github.com/onflow/flow-go-sdk/issues/761), [Issue #745](https://github.com/onflow/flow-go-sdk/issues/745), [Issue #747](https://github.com/onflow/flow-go-sdk/issues/747), [Issue #763](https://github.com/onflow/flow-go-sdk/issues/763)) + - Epic [Access API / Go SDK alignment](https://github.com/onflow/flow-go-sdk/issues/735) + - [Add SubscribeBlocks*, SubscribeBlockHeaders*, and SubscribeBlockDigests* endpoints](https://github.com/onflow/flow-go-sdk/issues/746) + - [Update GetNodeVersionInfo response object](https://github.com/onflow/flow-go-sdk/issues/761) + - [Add SendAndSubscribeTransactionStatuses endpoint](https://github.com/onflow/flow-go-sdk/issues/745) + - [Add SubscribeAccountStatuses* endpoints](https://github.com/onflow/flow-go-sdk/issues/747) + - [Unify streaming endpoints code duplication](https://github.com/onflow/flow-go-sdk/issues/763) - Add Time To Seal metric ([Issue #6448](https://github.com/onflow/flow-go/issues/6448)) * Cryptography - - Get back to SPoCK aggregation related reads + - SPoCK aggregation + - Document the random beacon bias findings + - Remaining PoP work planning * Misc other - Ongoing Pebble migration PR reviews @@ -281,12 +294,12 @@ Cycle Objective(s): **Done last sprint** * Worked with numerous Axelar node partners to get their nodes staked and added to testnet and mainnet * Support Trado, Kittypunch, and Ankr through various integration and teething issues - * Updated Axelar node operator doc and hosted two office hours for node operators + * Updated Axelar node operator docs and hosted two office hours for new node operators having issues **This sprint** * Focus remains on launch for Axelar cross-chain bridge and axlUSDC, once all vaidators are onboarded and critical mass is reached * Update Flow node operations docs to include latest EVM Gateway details - * Keep helping partner and node operators + * Keep helping partners and node operators **On Hold** From a95302409a0ffdb9523d82db711602e9b5af814d Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 27 Sep 2024 09:16:41 -0700 Subject: [PATCH 535/626] Misc edits --- .../2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index 88e75ab06..9d5cfc68f 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -211,7 +211,7 @@ Improvements: ### **Core Protocol** \[Jerome] Cycle Objective(s): -* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [IN PROGRESS] +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [DONE] * Reduce CPU usage on Execution node by 30% [DONE] * Translate crypto performance improvements to consensus block rate increase [DONE] * Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] @@ -232,7 +232,8 @@ Cycle Objective(s): * Post Crescendo upgrade stabilization - Finished benchnet testing adding libp2p peer gater to flow-go - - Add peer gater to lib2p gossipsub [PR #6479](https://github.com/onflow/flow-go/pull/6479) + - [Add peer gater to lib2p gossipsub](https://github.com/onflow/flow-go/pull/6479) + - [Removing observation bias for Cruise Control for small consensus committees](https://github.com/onflow/flow-go/pull/6392) - Networking documentation (in progress will be done today) * EFM Recovery From 64ef5f75e0226a22d468cbb4d0b89e617d6f0d76 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 27 Sep 2024 09:32:21 -0700 Subject: [PATCH 536/626] 4D Updates 2024-09-27 --- .../2024-09-27-Flow-Sprint-Kickoff.md | 41 ++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index 9d5cfc68f..856dd7e38 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -9,6 +9,10 @@ - Libp2p message flood mitigation was released and all but 5 external VNs are back on the network - [Cadence 1.0 release](https://flow-foundation.slack.com/archives/C05RYHG0KEY/p1727390039557029)! - Update of the execution storage layer from release-candidate to [Atree v0.8.0](https://github.com/onflow/cadence/pull/3583) - this version passed through 1034 hours of smoke tests and numerous storage health-checks on execution state snapshots before and after network upgrade to Crescendo release. +- Flow Community Rewards running strong with 29,318,979 Total Locked FLOW +- Cadence Playground running Cadence 1.0 +- Restored NFT catalog to former glory + ### General updates @@ -322,8 +326,43 @@ Cycle Objective(s): **Done last sprint** +**Rewards** +- Redemption +- Boxes and Keys airdrop and integration + +**Dev Docs** +- Error messages guide +- [Create and Test Playground Links for Cadence 1.0 Tutorials #799](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=66080152) + +**Playground** +- Updated all tutorials to Cadence 1.0 +- Fix broken playground links +- Fix for Playground API + +**Smart Contracts** +- Fix Staking Contract Bug +- Update NFT Error messages to be more descriptive +- Update FT Error messages to be more descriptive +- [Add evm onboarding blocklist functionality #123](https://github.com/onflow/flow-evm-bridge/pull/123) +- [Add EVM contract onboarding blocklist #122](https://github.com/onflow/flow-evm-bridge/issues/122) +- [Add base & implementation solidity contracts to demo secure randomness #20](https://github.com/onflow/random-coin-toss/pull/20) + +**CLI** +- [Generalize & refactor project generator utility #1774](https://github.com/onflow/flow-cli/issues/1774) +- [`flow generate` transaction generates a script #1763](https://github.com/onflow/flow-cli/issues/1763) +- [Add flow generate test command #1760](https://github.com/onflow/flow-cli/issues/1760) +- [Add aliases for Core Contracts in Dependency Manager #1753](https://github.com/onflow/flow-cli/issues/1753) +- [Flow CLI warns of new version that's actually older #1747](https://github.com/onflow/flow-cli/issues/1747) +- [Remove previewnet from init #1745](https://github.com/onflow/flow-cli/issues/1745) + +**Faucet** +- [Update Flow Faucet to be Funding by Default #907](https://github.com/onflow/docs/issues/907) + +**FCL/Discovery** +- [Unofficially installed extensions not showing in Discovery API #265](https://github.com/onflow/fcl-discovery/issues/265) + **This sprint** -**Sprint Goal: Launch Rewards Redemption and Points Integration / Launch bridge.flow.com / Lost and Found (Integration - Flow Port, Flow Wallet)** +**Sprint Goal: Launch Rewards Redemption and Points Integration and Season 1 / Lost and Found (Integration - Flow Port, Flow Wallet)** - [EPIC] Flow Rewards (RAIN) - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) From ae2f1896dbc56ce739708ff1421072f02cf8ac2f Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 27 Sep 2024 09:33:42 -0700 Subject: [PATCH 537/626] Minor fix --- agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index 856dd7e38..ada0aa947 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -215,7 +215,7 @@ Improvements: ### **Core Protocol** \[Jerome] Cycle Objective(s): -* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [DONE] +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [IN PROGRESS] * Reduce CPU usage on Execution node by 30% [DONE] * Translate crypto performance improvements to consensus block rate increase [DONE] * Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] From e6dc153f7a1d97bcf9a1717df8ec01682090f566 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 27 Sep 2024 09:34:46 -0700 Subject: [PATCH 538/626] Minor edit --- agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index ada0aa947..c35ab8db5 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -298,7 +298,7 @@ Cycle Objective(s): **Done last sprint** * Worked with numerous Axelar node partners to get their nodes staked and added to testnet and mainnet - * Support Trado, Kittypunch, and Ankr through various integration and teething issues + * Support Trado and Ankr through various integration and teething issues * Updated Axelar node operator docs and hosted two office hours for new node operators having issues **This sprint** From 2cfdc9bf615a0d2df0827300f40e6fa545ff8ac4 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 27 Sep 2024 09:36:07 -0700 Subject: [PATCH 539/626] 4D Updates 2 2024-09-27 --- agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index c35ab8db5..de7d4412d 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -327,7 +327,7 @@ Cycle Objective(s): **Done last sprint** **Rewards** -- Redemption +- [Redemption [EPIC] Claiming #358](https://github.com/onflow/crescendo-rewards/issues/358) - Boxes and Keys airdrop and integration **Dev Docs** From 6242e62b5fab59f90b42fda3d585f2a021483696 Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Sun, 6 Oct 2024 01:48:24 +0800 Subject: [PATCH 540/626] Bump version --- protobuf/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index 5d137472f..187114921 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -9,7 +9,7 @@ fun getProp(name: String, defaultValue: String? = null): String? { // configuration variables val defaultGroupId = "org.onflow" -val defaultVersion = "1.0.0" +val defaultVersion = "1.1.0" group = getProp("groupId", defaultGroupId)!! version = when { From b104fb841c66fed775db389d84d77fb79299275c Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Sun, 6 Oct 2024 01:53:45 +0800 Subject: [PATCH 541/626] Bump version --- protobuf/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protobuf/README.md b/protobuf/README.md index ab3c45222..9214c6221 100644 --- a/protobuf/README.md +++ b/protobuf/README.md @@ -29,7 +29,7 @@ JVM support is in the alpha stage; many steps require manual intervention. ### Publishing with GitHub Actions -The "com.vanniktech.maven.publish" plugin is used to automate Maven releases for JVM protobuf generation. More information on the release process can be found here [here](https://vanniktech.github.io/gradle-maven-publish-plugin/central/). +The "com.vanniktech.maven.publish" plugin is used to automate Maven releases for JVM protobuf generation. More information on the release process can be found [here](https://vanniktech.github.io/gradle-maven-publish-plugin/central/). There are two GitHub Actions configured to run on the master branch: From 9ec47e2d7e329d7fedfc16775d5fc358b92e3fb7 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Fri, 11 Oct 2024 17:02:23 -0600 Subject: [PATCH 542/626] Add infra section --- .../2024-09-27-Flow-Sprint-Kickoff.md | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md index de7d4412d..cde487c16 100644 --- a/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-27-Flow-Sprint-Kickoff.md @@ -422,33 +422,31 @@ Cycle Objective(s): ### **Infra - JP** Cycle Objective(s): -- Prepare to spork FF & DL nodes -- Clean up infra following spork **Done last sprint** +**Spork Clean Up** +- [Add TN historical node configuration](https://github.com/dapperlabs/dapper-flow-hosting/pull/1618) +- [Create historical snapshots & delete unnecessary nodes](https://github.com/dapperlabs/terraform/pull/4413) +- [Delete MN25 VN lingering from spork](https://github.com/dapperlabs/terraform/pull/4409) +- [Remove unnecessary operational nodes and resize historical node](https://github.com/dapperlabs/terraform/pull/4410) +- Worked with engineers to clean up remaining infra from Crescendo spork + +**Support** +- [Add new DNS records for Safe](https://github.com/dapperlabs/terraform/pull/4408) + **Observability** -- Evaluate Grafana commit & usage -- Consolidate synthetics to use k6 to save on commit -- Create Grafana usage alerts -- [Create more alerts for monitoring EVM Gateway](https://flowfoundation.grafana.net/alerting/list?view=list&search=EVM) -- [Create documentation for EVM Gateway triage](https://www.notion.so/flowfoundation/Triaging-EVM-GW-issues-1071aee123248027878bd1e0761c6c69?pvs=25) -- [Create documentation for Grafana billing monitoring](https://www.notion.so/flowfoundation/Grafana-Billing-Monitoring-1051aee123248072b123cb054dbf2f91) - -**Spork** -- [Create Devnet52 Infra](https://github.com/dapperlabs/terraform/pull/4388) -- [Create Mainnet26 FF Infra](https://github.com/dapperlabs/terraform/pull/4389) -- [Create Mainnet26 DL Infra](https://github.com/dapperlabs/dapper-flow-nodes-infrastructure/pull/28) -- [Delete Mainnet25 DL Infra](https://github.com/dapperlabs/dapper-flow-nodes-infrastructure/pull/30) -- [Scale down Devnet51 Infra](https://github.com/dapperlabs/terraform/pull/4398) -- [Scale down Mainnet25 FF Infra](https://github.com/dapperlabs/terraform/pull/4401) -- [Delete Migration Mainnet Infra](https://github.com/dapperlabs/terraform/pull/4403) -- [Update DNS records](https://github.com/dapperlabs/terraform/pull/4400) -- [Create Ansible configuration for DL & FF](https://github.com/dapperlabs/dapper-flow-hosting/pull/1603) +- Fix broken routing of Grafana alerts +- [Create documentation for routing alerts from DL to FF engineers](https://www.notion.so/flowfoundation/Routing-DL-Flow-Node-Alerts-1191aee12324807fb53fee4664155de4) + +**New Hire** +- [Develop interview prep for open SRE role](https://www.notion.so/flowfoundation/Flow-SRE-Interview-Questions-11a1aee1232480eab5e0f4188f8eec8b) +- Start initial SRE onboarding documentation **This Sprint** -- Improve external monitoring with synthetics -- Evaluate remaining infra migration tasks +- Begin interviewing for SRE role +- Start work to deploy dedicated FF Atlantis for Terraform +- Finish importing Grafana resources into Terraform and add documentation **Active Epics** From 17f133ff4067447d463dea50cce71b44e2b29f8e Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 16 Oct 2024 14:48:16 -0700 Subject: [PATCH 543/626] Create 2024-10-18-Flow-Sprint-Kickoff.md --- .../2024-10-18-Flow-Sprint-Kickoff.md | 290 ++++++++++++++++++ 1 file changed, 290 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..06b6981e3 --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -0,0 +1,290 @@ +# Overview + +### Team Wins 🎉 + +- + + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (09/21/24 to 10/17/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 99.26% | 744.05% | +| Block Finalization | 99.9% | 99.26% | 744.05% | +| Transaction Execution | 99.9% | 99.26% | 744.05% | +| Block Sealing | 99.9% | 99.26% | 744.05% | +| Access API Liveness | 99.9% | 98.04% | 1190.48% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +YTD SLA: 99.52% + + +#### SLA situation + +- Updated downtime reported during the last sprint kickoff. see last sprint's [SLA section](https://github.com/onflow/flow/blob/master/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md#sla-situation-updated-on-926) +- Total downtime YTD - + 1. 4 HCUs 20 mins + 2. Sept 4th - Mainnet25(Crescendo) upgrade: 19h23m + 3. Sept 5th - P0 incident after mainnet25: 7h30m + 4. Sept 25th - Mainnet26: 3h48m + + Total: 31h + + +## Incidents +- + +(Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) + +### Key Release Dates & Breaking Changes +- Next Mainnet/Testnet network upgrade (spork): + - TBD + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 8 | 8 (+1) | 0 | 7 | **23** (+1) | +| Proposed | 1 | 2 | 3 | 0 | **6** | +| Accepted | 2 | 1 | 2 | 2 | **7** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 | 25 | 1 | 0 | **29** | +| Released | 4 | 0 | 4 | 6 | **14** | +| Total | **18** | **36** (+1) | **11** | **15** | **80** (+1) | + +**New FLIPs** +- Cadence FLIP 288 (Draft Stage): Simple String Interpolation (to provide support for the use of identifiers in string interpolation) - by Raymond Zhang + +**REMINDER - FLIPs that need to be reassigned immediately:** + +**- Application** + - Interaction Templates (Paul Gebheim) + - Application - Pool-Based DEX Swap Standard (Satyam A.) + +**- Cadence** + - Type Removal In Contract Updates (Daniel Sainati) + - Optional References to Indexed Accesses (Daniel Sainati) + - Mutability Restrictions (Daniel Sainati) + - Cadence Storage API Improvements (Daniel Sainati) + - Reference Creation Semantics (Daniel Sainati) + - View Functions (Daniel Sainati) + - Entitlements (Daniel Sainati) + - New behavior for attachments with entitlements (Daniel Sainati) + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + +**This sprint** + +- OKR planning + +- EVM Gateway + - Unblock [Alchemy tracing](https://github.com/onflow/flow-evm-gateway/issues/530) + - improve [stability](https://github.com/onflow/flow-evm-gateway/issues/590) + +- Cadence Language + - Tech Debt + - Content + - Resume work on the compiler POC + +- Cadence Execution + - Continue work on [optimization for Cadence domain storage](https://github.com/onflow/cadence/issues/3584) (expected 30% execution state memory usage reduction when deployed) + - Badger -> Pebble Investigation/POC + - Continue work on [Protocol State Migration POC](https://github.com/onflow/flow-go/issues/6137) -> changing interface to batch write from transaction to make the future switch to Pebble easier. + - Complete [util to export stats about execution state](https://github.com/onflow/flow-go/issues/6361) + +**Completed OKRs** + * Objective 1, KR5: Mainnet Upgrade to Crescendo Release + * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades + * All breaking released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 + * Objective 1, KR4: Testnet Upgrade to Crescendo Release + * Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind + * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) + +**On Hold** + +- Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN + - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +- Other + * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + * Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) + * Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node [IN PROGRESS] +* Reduce CPU usage on Execution node by 30% [DONE] +* Translate crypto performance improvements to consensus block rate increase [DONE] +* Continue design and implementation of Sporkless Epoch Fallback Recovery solution [DONE] + +**Done last Sprint:** + + +**This sprint** + +* EFM Recovery + - Wrap up previously created PRs + - [Implement an integration test for EFM and DKG IndexMap](https://github.com/onflow/flow-go/issues/6331) + - Protocol updates for DKG changes [https://github.com/onflow/flow-go/issues/6214] + +* Data Availability + - KROK Team + - Expand on payer balance checks ([Issue #6129](https://github.com/onflow/flow-go/issues/6129) - In review, [Issue #6139](https://github.com/onflow/flow-go/issues/6139) - In review) + - Registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) + - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302) - In review, [Issue #6413](https://github.com/onflow/flow-go/issues/6413) - In progress) + - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357) - In progress) + - Epic [Access API / Go SDK alignment](https://github.com/onflow/flow-go-sdk/issues/735) + - [Add SubscribeBlocks*, SubscribeBlockHeaders*, and SubscribeBlockDigests* endpoints](https://github.com/onflow/flow-go-sdk/issues/746) + - [Update GetNodeVersionInfo response object](https://github.com/onflow/flow-go-sdk/issues/761) + - [Add SendAndSubscribeTransactionStatuses endpoint](https://github.com/onflow/flow-go-sdk/issues/745) + - [Add SubscribeAccountStatuses* endpoints](https://github.com/onflow/flow-go-sdk/issues/747) + - [Unify streaming endpoints code duplication](https://github.com/onflow/flow-go-sdk/issues/763) + - Add Time To Seal metric ([Issue #6448](https://github.com/onflow/flow-go/issues/6448)) + +* Cryptography + - SPoCK aggregation + - Document the random beacon bias findings + - Remaining PoP work planning + +* Misc other + - Ongoing Pebble migration PR reviews + +**On Hold** + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- EVM partner onboarding +- Deliver Axelar bridge + +**Done last sprint** + +**This sprint** + * Focus remains on launch for Axelar cross-chain bridge and axlUSDC, once all vaidators are onboarded and critical mass is reached + * Update Flow node operations docs to include latest EVM Gateway details + * Keep helping partners and node operators + +**On Hold** + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Add Documentation and smooth rough edges to improve DX for EVM on Flow +- Build Flow Community Rewards (RAIN) and Points Program + +**Done last sprint** + + +**This sprint** +**Sprint Goal: Launch Rewards Redemption and Points Integration and Season 1 / Lost and Found (Integration - Flow Port, Flow Wallet)** + +- [EPIC] Flow Rewards (RAIN) + - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) + - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) + - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) +- [EPIC Solving Initialization/Storage Issues - Lost and Found FLIP and Port integration](https://github.com/onflow/flow-port/issues/292) +- [Flow Bridge App Epic](https://github.com/onflow/flow-bridge-app/issues/1) + +**On Hold** + +- bridge.flow.com + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +**This sprint** + + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): + +**Done last sprint** + +**This Sprint** +- Begin interviewing for SRE role +- Start work to deploy dedicated FF Atlantis for Terraform +- Finish importing Grafana resources into Terraform and add documentation + + +**Active Epics** + +- N/A From 0f8731aff1417f7058aa758f2714cbaf45b68397 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:22:02 -0700 Subject: [PATCH 544/626] Update 2024-09-13-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md index 1a70c5c04..ffb63dc6c 100644 --- a/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md @@ -29,14 +29,14 @@ [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) -YTD SLA: 99.89% +YTD SLA: 99.43% - Metrika dashboard is deprecated. An alternate dashboard will be set up. #### SLA situation [Updated on 9/26] - Goal: EOY 99.9% SLA - [Permissible downtime annually](https://uptime.is/99.9): 8h 41m -- Downtime due to Crescendo upgrade: ~~6h 36m~~ 19h 23m +- Downtime due to Crescendo upgrade: ~~6h 36m~~ ~~19h 23m~~ **30h30m** - Downtime due to previous HCUs in this year: ~20m (5m per HCU, 4 HCUs so far) - ~~Remaining budget to hit EOY goal of 99.9%: 1hr 45m~~ SLO budget has been exhausted for EOY Goal From ed18011f2be656e7f3f7f47c2e974c540a6ed34f Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 17 Oct 2024 13:36:16 -0700 Subject: [PATCH 545/626] Update 2024-10-18-Flow-Sprint-Kickoff.md --- .../2024-10-18-Flow-Sprint-Kickoff.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index 06b6981e3..bb6e8a34b 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -16,15 +16,15 @@ | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| -| Collection Finalization | 99.9% | 99.26% | 744.05% | -| Block Finalization | 99.9% | 99.26% | 744.05% | -| Transaction Execution | 99.9% | 99.26% | 744.05% | -| Block Sealing | 99.9% | 99.26% | 744.05% | -| Access API Liveness | 99.9% | 98.04% | 1190.48% | +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 99.95% | 49.6% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 100% | 0% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) -YTD SLA: 99.52% +YTD SLA: 99.50% #### SLA situation @@ -35,8 +35,7 @@ YTD SLA: 99.52% 2. Sept 4th - Mainnet25(Crescendo) upgrade: 19h23m 3. Sept 5th - P0 incident after mainnet25: 7h30m 4. Sept 25th - Mainnet26: 3h48m - - Total: 31h + 5. Oct 8th - HCU: 5m ## Incidents From a141cebad40b558ab14579152fd01dc34acd4f85 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 17 Oct 2024 14:24:25 -0700 Subject: [PATCH 546/626] Update 2024-10-18-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index bb6e8a34b..ce7b433c5 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -39,7 +39,7 @@ YTD SLA: 99.50% ## Incidents -- +Monday, 2024-10-14 18:46:30 Pacific: Sev-3 - EVM Gateway 2 stopped processing EVM Blocks ([slack thread](https://flow-foundation.slack.com/archives/CUU2KQL4A/p1728959386019689?thread_ts=1728959285.639699&cid=CUU2KQL4A)) (Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) From 0b0946dbb2683cec184522b0e3e88246b076a2dc Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 17 Oct 2024 18:13:43 -0600 Subject: [PATCH 547/626] Add infra section --- .../2024-10-18-Flow-Sprint-Kickoff.md | 32 +++++++++++++++---- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index ce7b433c5..12c3b2d6a 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -278,12 +278,32 @@ Cycle Objective(s): **Done last sprint** +**Spork Clean Up** +- [Add TN historical node configuration](https://github.com/dapperlabs/dapper-flow-hosting/pull/1618) +- [Create historical snapshots & delete unnecessary nodes](https://github.com/dapperlabs/terraform/pull/4413) +- [Delete MN25 VN lingering from spork](https://github.com/dapperlabs/terraform/pull/4409) +- [Remove unnecessary operational nodes and resize historical node](https://github.com/dapperlabs/terraform/pull/4410) +- Worked with engineers to clean up remaining infra from Crescendo spork + +**Support** +- [Add new DNS records for Safe](https://github.com/dapperlabs/terraform/pull/4408) + +**Observability** +- Fix broken routing of Grafana alerts +- [Create documentation for routing alerts from DL to FF engineers](https://www.notion.so/flowfoundation/Routing-DL-Flow-Node-Alerts-1191aee12324807fb53fee4664155de4) + +**New Hire** +- [Develop interview prep for open SRE role](https://www.notion.so/flowfoundation/Flow-SRE-Interview-Questions-11a1aee1232480eab5e0f4188f8eec8b) +- Start initial SRE onboarding documentation + +**Atlantis Migration** +- Evaluate & document tasks for Atlantis Migration +- [Identify all repos, modules, and config to be migrated](https://www.notion.so/flowfoundation/Terraform-Configuration-Migration-1211aee1232480b9b414f727a27a1a0e) +- [Create new GCP project for dedicated Atlantis](https://github.com/orgs/onflow/projects/79/views/1?pane=issue&itemId=83525564&issue=onflow%7Cff-sre-infrastructure%7C5) +- [Create & configure infra repos in onflow GH org](https://github.com/onflow/ff-sre-infrastructure/issues/16) + **This Sprint** - Begin interviewing for SRE role -- Start work to deploy dedicated FF Atlantis for Terraform -- Finish importing Grafana resources into Terraform and add documentation - +- Continue work to migrate to dedicated FF Atlantis +- Execute GCP IAM migration to Flow Foundation groups -**Active Epics** - -- N/A From 873584b02f4a4776cb7975a62409c934fd881def Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 17 Oct 2024 18:07:58 -0700 Subject: [PATCH 548/626] Cadence wg update --- .../2024-10-18-Flow-Sprint-Kickoff.md | 84 ++++++++++++++----- 1 file changed, 63 insertions(+), 21 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index 12c3b2d6a..81a049b08 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -2,7 +2,9 @@ ### Team Wins 🎉 -- +- Cadence security fix ([disclosure](https://forum.flow.com/t/fixed-vulnerable-accounts-2024-10-01/6604)) and EVM contract fixes deployed. +- Completed new util command 'checkpoint-collect-stats' that can be used to gain insights about current execution state as well as changes between any two checkpoints. +- Planing first zero-downtime Cadence fix deployment. ### General updates @@ -97,33 +99,73 @@ Cycle Objective(s): **Done last sprint** -**This sprint** +Cadence Language +- Feture + - Extending Type by 2 new fields, removin the need for manual extraction: [Add Type.address and Type.contractName](https://github.com/onflow/cadence/pull/3570) +- Security updates: [1](https://github.com/dapperlabs/cadence-internal/pull/271), [2](https://github.com/dapperlabs/cadence-internal/pull/269), [3](https://github.com/dapperlabs/cadence-internal/pull/268), [4](https://github.com/dapperlabs/cadence-internal/issues/265), [5](https://github.com/dapperlabs/cadence-internal/pull/266), [6](https://github.com/dapperlabs/cadence-internal/issues/262), [7](https://github.com/dapperlabs/cadence-internal/issues/260), [8](https://github.com/dapperlabs/cadence-internal/issues/248), [9](https://github.com/dapperlabs/flow-go/pull/6971), [10](https://github.com/onflow/flow-go/pull/6500), [11](https://github.com/dapperlabs/cadence-internal/issues/187) +- Tech-debt removal + - [Explain the reason for support parsing legacy restricted types](https://github.com/onflow/cadence/pull/3614) + - [Split runtime/interpreter/value.go into multiple files](https://github.com/onflow/cadence/issues/2566) +- Porting of intenral Bugfixes to public repo + - [Prevent leaving unreferenced slabs in storage while updating dictionary with enum key (port internal fix)](https://github.com/onflow/cadence/issues/3508) + - [Fix invocation boxing](https://github.com/onflow/cadence/pull/3601) + - [Port bug fixes from internal repo](https://github.com/onflow/cadence/pull/3600) +- bugfix + - [Prevent migration tests from using out-of-sync data](https://github.com/onflow/cadence/pull/3597) +- Dependency updates: [1](https://github.com/onflow/flow-go/pull/6556), [2](https://github.com/onflow/flow-emulator/pull/758), [3](https://github.com/onflow/cadence-tools/pull/432) +- Docs + - [Example code for demonstrating nested resources incorrectly shows a value for a constant](https://github.com/onflow/cadence-lang.org/issues/159) + - [Using result as a variable name causes a checker error](https://github.com/onflow/cadence/issues/774) + +Cadence Execution +- New util: [report stats about execution state](https://github.com/onflow/flow-go/issues/6361) + - [Update `checkpoint-collect-stats` command to support payloads file and state commitment](https://github.com/onflow/flow-go/pull/6478) +- Security updates: [COA ownership proof fix](https://github.com/dapperlabs/flow-go/pull/6985) +- Improvements + - [Requester engine - Remove duplicated debug logs](https://github.com/onflow/flow-go/pull/6514) + - [Bootstrap - Fix duplication detection in root block finalization](https://github.com/onflow/flow-go/pull/6484) +- HCU prep + - [make newPreRelease string required for HCU](https://github.com/onflow/flow-core-contracts/pull/453), [2](https://github.com/dapperlabs/dapper-flow-hosting/pull/1616), [3](https://github.com/dapperlabs/flow-go/pull/6983) + +EVM Core +- Dry-run + - [Offchain package - part 1](https://github.com/onflow/flow-go/pull/6544) + - [adding a new encoding type for captured precompiled calls](https://github.com/onflow/flow-go/pull/6488) + - [Adding commitment over state update](https://github.com/onflow/flow-go/pull/6476) + - [add state update checksum to tx executed events](https://github.com/onflow/flow-go/pull/6477) + +EVM Gateway +- Dependency updates: [1](https://github.com/onflow/flow-evm-gateway/pull/612) +- Bugfix + - [Fix `Genesis` block hash calculation for `Testnet` network](https://github.com/onflow/flow-evm-gateway/pull/566) +- Improvements (EVM Hardening) + - code de-duplication: [extract trace block common logic](https://github.com/onflow/flow-evm-gateway/pull/608) + - [Add generics to subscriber and publisher and fix potential deadlock](https://github.com/onflow/flow-evm-gateway/pull/602) + - [Refactor engine status](https://github.com/onflow/flow-evm-gateway/pull/600) + - [Add goimports linter](https://github.com/onflow/flow-evm-gateway/pull/599) + - [Add engine type to startup logs](https://github.com/onflow/flow-evm-gateway/pull/597) + - [Update the list of valid JSON-RPC methods](https://github.com/onflow/flow-evm-gateway/pull/613) + - [Avoid logging debug info for invalid JSON-RPC methods](https://github.com/onflow/flow-evm-gateway/pull/611) + - [Add the EVM GW version to log lines](https://github.com/onflow/flow-evm-gateway/pull/596) + - [Use the released tag version to identify newly-created docker images](https://github.com/onflow/flow-evm-gateway/pull/592) -- OKR planning +**This sprint** -- EVM Gateway - - Unblock [Alchemy tracing](https://github.com/onflow/flow-evm-gateway/issues/530) - - improve [stability](https://github.com/onflow/flow-evm-gateway/issues/590) +- Continue work on [EVM Gateway Hardening](https://github.com/onflow/flow-go/issues/6539) - Cadence Language - - Tech Debt - - Content - - Resume work on the compiler POC + - Continue addressing [Tech Debt](https://github.com/onflow/cadence/issues/3595) + - Start work on Content for [commuity outreach](https://github.com/onflow/cadence/issues/3596) + - Maybe resume work on the [Cadence compiler POC](https://github.com/onflow/cadence/issues/3612) + - Continue work on [Cadence language Specification](https://github.com/onflow/cadence/issues/3599) + - [Updating Source compatibility suite for C1.0](https://github.com/onflow/cadence/issues/3608) - Cadence Execution - - Continue work on [optimization for Cadence domain storage](https://github.com/onflow/cadence/issues/3584) (expected 30% execution state memory usage reduction when deployed) - - Badger -> Pebble Investigation/POC - - Continue work on [Protocol State Migration POC](https://github.com/onflow/flow-go/issues/6137) -> changing interface to batch write from transaction to make the future switch to Pebble easier. - - Complete [util to export stats about execution state](https://github.com/onflow/flow-go/issues/6361) - + - Continue work on [optimization for Cadence domain storage](https://github.com/onflow/cadence/issues/3584) + - Badger -> Pebble migration:continue work on [Chunk Data pack Pruner](https://github.com/onflow/flow-go/issues/6516) + **Completed OKRs** - * Objective 1, KR5: Mainnet Upgrade to Crescendo Release - * Objective 1, KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades - * All breaking released in a new CLI: v1.18.0-cadence-v1.0.0-preview.26 - * Objective 1, KR4: Testnet Upgrade to Crescendo Release - * Objective 4, KR1: Execution node handles restart from spork root block reguardless of how many blocks it is behind - * Completed refactoring of Ingestion engine to [prevent EN entering crash loop](https://github.com/onflow/flow-go/issues/5298) - + **On Hold** - Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN From b9e5e079da2d15c2f27b5e2faebc4b25dcd3e6cd Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 17 Oct 2024 18:20:16 -0700 Subject: [PATCH 549/626] Cadence wg update --- .../sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index 81a049b08..14b45f214 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -85,17 +85,11 @@ Monday, 2024-10-14 18:46:30 Pacific: Sev-3 - EVM Gateway 2 stopped processing EV # Working Group Updates ### **Cadence and Virtual Machine** \[Jan] -Cycle Objective(s): -1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow -2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. -3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. +**Cycle Objectives** -* Stretch-goals: -4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data -5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. -6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) -7) Improve execution performance to mitigate the impact of adding metadata to token standards +[Cadence Language](https://github.com/onflow/cadence/issues/3623) +[Cadence VM (execution environment)](https://github.com/onflow/flow-go/issues/6577) **Done last sprint** From 107486237beb553b4e07e137e285f700ad7008a6 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 17 Oct 2024 18:21:06 -0700 Subject: [PATCH 550/626] Cadence wg update --- agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index 14b45f214..734c6c238 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -89,6 +89,7 @@ Monday, 2024-10-14 18:46:30 Pacific: Sev-3 - EVM Gateway 2 stopped processing EV **Cycle Objectives** [Cadence Language](https://github.com/onflow/cadence/issues/3623) + [Cadence VM (execution environment)](https://github.com/onflow/flow-go/issues/6577) **Done last sprint** From 538c2df2e163e1db075227b788501d7f5e879c31 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 18 Oct 2024 21:10:26 +0530 Subject: [PATCH 551/626] Update 2024-10-18-Flow-Sprint-Kickoff.md flip tracker updates --- .../2024-10-18-Flow-Sprint-Kickoff.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index 734c6c238..cecb44d88 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -55,16 +55,19 @@ Monday, 2024-10-14 18:46:30 Pacific: Sev-3 - EVM Gateway 2 stopped processing EV | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 8 (+1) | 0 | 7 | **23** (+1) | -| Proposed | 1 | 2 | 3 | 0 | **6** | +| Drafted | 7 (-1) | 6 (-2) | 1 (+1) | 7 | **21** (-2) | +| Proposed | 1 | 4 (+2) | 3 | 0 | **8** (+2) | | Accepted | 2 | 1 | 2 | 2 | **7** | | Rejected | 0 | 0 | 1 | 0 | **1** | | Implemented | 3 | 25 | 1 | 0 | **29** | | Released | 4 | 0 | 4 | 6 | **14** | -| Total | **18** | **36** (+1) | **11** | **15** | **80** (+1) | +| Total | **17** (-1) | **36** | **12** (+1) | **15** | **80** | -**New FLIPs** -- Cadence FLIP 288 (Draft Stage): Simple String Interpolation (to provide support for the use of identifiers in string interpolation) - by Raymond Zhang +**Summary** + +* No new FLIPs +* Cadence - Simple String Interpolation (Raymond) moved from drafted to proposed +* Governance - removal of decommissioned nodes from the approved list **REMINDER - FLIPs that need to be reassigned immediately:** From 3a8e1d7d651f86aef4c3303abb769c5fcf51ffa2 Mon Sep 17 00:00:00 2001 From: Kshitij Chaudhary <78124453+KshitijChaudhary666@users.noreply.github.com> Date: Fri, 18 Oct 2024 21:15:07 +0530 Subject: [PATCH 552/626] Update 2024-10-18-Flow-Sprint-Kickoff.md flips tracker update --- .../sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index cecb44d88..65558efa1 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -55,19 +55,18 @@ Monday, 2024-10-14 18:46:30 Pacific: Sev-3 - EVM Gateway 2 stopped processing EV | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 7 (-1) | 6 (-2) | 1 (+1) | 7 | **21** (-2) | +| Drafted | 8 | 6 (-2) | 1 (+1) | 7 | **22** (-1) | | Proposed | 1 | 4 (+2) | 3 | 0 | **8** (+2) | | Accepted | 2 | 1 | 2 | 2 | **7** | | Rejected | 0 | 0 | 1 | 0 | **1** | | Implemented | 3 | 25 | 1 | 0 | **29** | | Released | 4 | 0 | 4 | 6 | **14** | -| Total | **17** (-1) | **36** | **12** (+1) | **15** | **80** | +| Total | **18** | **36** | **12** (+1) | **15** | **81** (+1) | **Summary** -* No new FLIPs -* Cadence - Simple String Interpolation (Raymond) moved from drafted to proposed -* Governance - removal of decommissioned nodes from the approved list +* Overall 1 new FLIP - [Governance] - removal of decommissioned nodes from the approved list +* Movement of two cadence flips from draft to proposed (Simple String Interpolation by Raymond was one) **REMINDER - FLIPs that need to be reassigned immediately:** From 1f44a19c294e66531fd2a363247a54427dcbf85d Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 18 Oct 2024 09:20:03 -0700 Subject: [PATCH 553/626] update data availability sprint 2024-10-18 --- .../2024-10-18-Flow-Sprint-Kickoff.md | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index 65558efa1..c5ac1e3b9 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -185,6 +185,18 @@ Cycle Objective(s): **Done last Sprint:** +* Data Availability + - Add support for compatible versions during HCU ([PR #6535](https://github.com/onflow/flow-go/pull/6535)) + - KROK Team + - Expand on payer balance checks ([PR #6297](https://github.com/onflow/flow-go/pull/6297), [PR #6292](https://github.com/onflow/flow-go/pull/6292)) + - Enforce register pruning threshold ([PR #6345](https://github.com/onflow/flow-go/pull/6345)) + - SDK alignment + - [SubscribeAccountStatuses](https://github.com/onflow/flow-go-sdk/pull/762) + - [SubscribeBlockHeaders](https://github.com/onflow/flow-go-sdk/pull/760) + - [SubscribeBlocks](https://github.com/onflow/flow-go-sdk/pull/758) + - [SubscribeBlockDigests](https://github.com/onflow/flow-go-sdk/pull/764) + - [SendAndSubscribeTransactionStatuses](https://github.com/onflow/flow-go-sdk/pull/772) + - [Update GetNodeVersionInfo](https://github.com/onflow/flow-go-sdk/pull/773) **This sprint** @@ -195,17 +207,15 @@ Cycle Objective(s): * Data Availability - KROK Team - - Expand on payer balance checks ([Issue #6129](https://github.com/onflow/flow-go/issues/6129) - In review, [Issue #6139](https://github.com/onflow/flow-go/issues/6139) - In review) - - Registers db pruning ([Issue #6066](https://github.com/onflow/flow-go/issues/6066) - In review, [Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) - - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302) - In review, [Issue #6413](https://github.com/onflow/flow-go/issues/6413) - In progress) + - Websockets redesign ([Epic #6163](https://github.com/onflow/flow-go/issues/6163)) + - Initial design ([Issue #6508](https://github.com/onflow/flow-go/issues/6508)) + - Registers db pruning ([Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) + - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302) - In review, [Issue #6413](https://github.com/onflow/flow-go/issues/6413) - In review) - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357) - In progress) - - Epic [Access API / Go SDK alignment](https://github.com/onflow/flow-go-sdk/issues/735) - - [Add SubscribeBlocks*, SubscribeBlockHeaders*, and SubscribeBlockDigests* endpoints](https://github.com/onflow/flow-go-sdk/issues/746) - - [Update GetNodeVersionInfo response object](https://github.com/onflow/flow-go-sdk/issues/761) - - [Add SendAndSubscribeTransactionStatuses endpoint](https://github.com/onflow/flow-go-sdk/issues/745) - - [Add SubscribeAccountStatuses* endpoints](https://github.com/onflow/flow-go-sdk/issues/747) - - [Unify streaming endpoints code duplication](https://github.com/onflow/flow-go-sdk/issues/763) - - Add Time To Seal metric ([Issue #6448](https://github.com/onflow/flow-go/issues/6448)) + - Add Time To Seal metric ([Issue #6448](https://github.com/onflow/flow-go/issues/6448) - In review) + - Access API / Go SDK alignment ([Epic #735](https://github.com/onflow/flow-go-sdk/issues/735)) + - Unify streaming endpoints code duplication ([Issue #763](https://github.com/onflow/flow-go-sdk/issues/763) - In review) + - Other endpoint improvements [1](https://github.com/onflow/flow-go-sdk/issues/765), [2](https://github.com/onflow/flow-go-sdk/issues/768), [3](https://github.com/onflow/flow-go-sdk/issues/766) * Cryptography - SPoCK aggregation From 23f174ad66bf5696456adacc6a9695d93ab8dad6 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 18 Oct 2024 09:34:51 -0700 Subject: [PATCH 554/626] Protocol and defi updates --- .../2024-10-18-Flow-Sprint-Kickoff.md | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index 65558efa1..d2281306e 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -185,13 +185,23 @@ Cycle Objective(s): **Done last Sprint:** +* EFM Recovery + * [Updated type conversion of EpochCommit](https://github.com/onflow/flow-go/pull/6494) + * [Update DKG engine to submit a valid DKG index map](https://github.com/onflow/flow-go/pull/6490) + +* Cryptography + - SPoCK aggregation + - Document the random beacon bias findings + - Remaining PoP work planning + +* Misc other + - Updated networking docs https://www.notion.so/flowfoundation/Flow-Networking-Layer-Developer-Guide-67bae4ab28d84e36975b2ae918e2e48b + **This sprint** * EFM Recovery - - Wrap up previously created PRs - [Implement an integration test for EFM and DKG IndexMap](https://github.com/onflow/flow-go/issues/6331) - - Protocol updates for DKG changes [https://github.com/onflow/flow-go/issues/6214] * Data Availability - KROK Team @@ -209,8 +219,6 @@ Cycle Objective(s): * Cryptography - SPoCK aggregation - - Document the random beacon bias findings - - Remaining PoP work planning * Misc other - Ongoing Pebble migration PR reviews @@ -226,10 +234,13 @@ Cycle Objective(s): - Deliver Axelar bridge **Done last sprint** + * Supported devdock, Ankr, Trado, and Moralis who were variously blocked or had quesitons + * Completed Axelar pool funding test run on EVM testnet + * **This sprint** - * Focus remains on launch for Axelar cross-chain bridge and axlUSDC, once all vaidators are onboarded and critical mass is reached - * Update Flow node operations docs to include latest EVM Gateway details + * Fund Axelar pools and confirm critical mass of validators for bridge activation + * Bug report for Trado on Flow Wallet * Keep helping partners and node operators **On Hold** From 8fa2c11a0c23c7081ab7a085455e5b2b9e4b71d5 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 18 Oct 2024 09:44:26 -0700 Subject: [PATCH 555/626] 4D Update 2024-10-18 --- .../2024-10-18-Flow-Sprint-Kickoff.md | 42 ++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index 6b2b955ff..54897063c 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -5,6 +5,10 @@ - Cadence security fix ([disclosure](https://forum.flow.com/t/fixed-vulnerable-accounts-2024-10-01/6604)) and EVM contract fixes deployed. - Completed new util command 'checkpoint-collect-stats' that can be used to gain insights about current execution state as well as changes between any two checkpoints. - Planing first zero-downtime Cadence fix deployment. +- DOCS - Added GitHub Codeblocks For Snippets +- Flow Community Rewards - Boxes Unlocking Launch +- Migrated Mixpanel, Sentry to FF, Added Hotjar to developers.flow.com + ### General updates @@ -273,10 +277,46 @@ Cycle Objective(s): **Done last sprint** +- Metrics + - Migrated Mixpanel and Sentry Projects from DL to FF + - Added Hotjar Analytics to developers.flow.com +- Crescendo Rewards + - Contracts + - [Fix claim transactions for large rewards collections #103](https://github.com/onflow/crescendo-rewards-sc/pull/103) + - Frontend + - [FEATURE Unlock boxes to get points #466](https://github.com/onflow/crescendo-rewards/issues/466 ) + - Add param linking to specific FAQ tabs (https://github.com/onflow/crescendo-rewards/issues/469) + - Add boxes/keys icons (https://github.com/onflow/crescendo-rewards/issues/462) + - Add util for interacting with boxes/keys endpoint (https://github.com/onflow/crescendo-rewards/pull/460) +- Smart Contracts + - [Add Cadence random in range & commit-reveal helper contract + Cadence tests #23](https://github.com/onflow/random-coin-toss/pull/23) +- VM Bridge + - [Fix cases of underflow in event of storage decrease #129](https://github.com/onflow/flow-evm-bridge/pull/129) + - [Update Cross-VM bridge docs #930](https://github.com/onflow/docs/pull/930) +- FCL + - [BUG subscribeEvents block timestamp is undefined #1964](https://github.com/onflow/fcl-js/issues/1964) + - Deep Linking Improvements (alpha) +- Flow Port + - [EPIC Flow Port Asset Bridge #284](https://github.com/onflow/flow-port/issues/284) +- Docs + - Added [GitHub Codeblocks](https://github.com/christian-bromann/docusaurus-theme-github-codeblock) + - [Add foundry contract verification command #929](https://github.com/onflow/docs/pull/929/files) + - [Update EVM Randomness docs #927](https://github.com/onflow/docs/pull/927) + - [Update Account Linking Docs for Cadence 1.0 and better error messages #924](https://github.com/onflow/docs/issues/924) + - Wrote blog post about recovering broken collection(https://github.com/onflow/dx-internal/issues/17) + - Cadence learning workshop for 4D team (https://github.com/onflow/dx-internal/issues/14) +- Flow CLI + - Remove flow dev command + - [Add _test suffix when generating test files #1786](https://github.com/onflow/flow-cli/issues/1786) +- NFT Catalog + - [Deprecation plan and forum post](https://forum.flow.com/t/replacing-nft-catalog-with-a-decentralized-alternative-proposal/6723) + + **This sprint** -**Sprint Goal: Launch Rewards Redemption and Points Integration and Season 1 / Lost and Found (Integration - Flow Port, Flow Wallet)** +**Sprint Goal: Cycle Kickoff - Refine and Assign OKR Initiatives and Drivers / Rewards Handoff / Lost and Found (Integration - Flow Port, Flow Wallet)** +- [EPIC] Verify Completion of Commitments for EVM Launch Partners #25 - [EPIC] Flow Rewards (RAIN) - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) From 54336e20ed10f389f751f5c5eadbd03542673cea Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 18 Oct 2024 09:51:05 -0700 Subject: [PATCH 556/626] More protocol updates --- .../2024-10-18-Flow-Sprint-Kickoff.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index 6b2b955ff..f84a86c41 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -187,16 +187,19 @@ Cycle Objective(s): * EFM Recovery * [Updated type conversion of EpochCommit](https://github.com/onflow/flow-go/pull/6494) + * [Updated type conversion of EpochRecover](https://github.com/onflow/flow-go/pull/6506) * [Update DKG engine to submit a valid DKG index map](https://github.com/onflow/flow-go/pull/6490) + * [Refactoring of model.Proposal](https://github.com/onflow/flow-go/pull/6526) + * [Implementing integration test for Epoch Recovery](https://github.com/onflow/flow-go/pull/6424) + * [Enable previously disabled EFM tests](https://github.com/onflow/flow-go/pull/6496) + * [Completed DKG index mapping smart contract changes](https://github.com/onflow/flow-core-contracts/pull/441) + * [Preparing main EFM recovery logic for review](https://github.com/onflow/flow-core-contracts/pull/440) * Cryptography - SPoCK aggregation - Document the random beacon bias findings - Remaining PoP work planning -* Misc other - - Updated networking docs https://www.notion.so/flowfoundation/Flow-Networking-Layer-Developer-Guide-67bae4ab28d84e36975b2ae918e2e48b - * Data Availability - Add support for compatible versions during HCU ([PR #6535](https://github.com/onflow/flow-go/pull/6535)) - KROK Team @@ -210,10 +213,18 @@ Cycle Objective(s): - [SendAndSubscribeTransactionStatuses](https://github.com/onflow/flow-go-sdk/pull/772) - [Update GetNodeVersionInfo](https://github.com/onflow/flow-go-sdk/pull/773) +* Misc other + - Updated networking docs https://www.notion.so/flowfoundation/Flow-Networking-Layer-Developer-Guide-67bae4ab28d84e36975b2ae918e2e48b + - Ongoing Pebble migration PR reviews + **This sprint** * EFM Recovery - [Implement an integration test for EFM and DKG IndexMap](https://github.com/onflow/flow-go/issues/6331) + - Complete main EFM recovery logic PR + - [Merge Protocol version upgrade PR](https://github.com/onflow/flow-core-contracts/pull/419) + - Merge open PRs that are under review + - Finish integration test and related DKG issue * Data Availability - KROK Team From 1d704594126a9d73ce268135ac81b57d945056c4 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Fri, 18 Oct 2024 10:02:14 -0700 Subject: [PATCH 557/626] Update 2024-10-18-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index ea3e257e8..339558b0d 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -5,6 +5,7 @@ - Cadence security fix ([disclosure](https://forum.flow.com/t/fixed-vulnerable-accounts-2024-10-01/6604)) and EVM contract fixes deployed. - Completed new util command 'checkpoint-collect-stats' that can be used to gain insights about current execution state as well as changes between any two checkpoints. - Planing first zero-downtime Cadence fix deployment. +- Firt draft of [Cadence language spec](https://github.com/onflow/cadence/pull/3618)! - DOCS - Added GitHub Codeblocks For Snippets - Flow Community Rewards - Boxes Unlocking Launch - Migrated Mixpanel, Sentry to FF, Added Hotjar to developers.flow.com From 2e19a7b365b36d4b01569168fe187a9db632da6f Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 18 Oct 2024 10:04:50 -0700 Subject: [PATCH 558/626] Crypto updates --- .../2024-10-18-Flow-Sprint-Kickoff.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md index 339558b0d..b58ce1d6a 100644 --- a/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-10-18-Flow-Sprint-Kickoff.md @@ -201,9 +201,11 @@ Cycle Objective(s): * [Preparing main EFM recovery logic for review](https://github.com/onflow/flow-core-contracts/pull/440) * Cryptography - - SPoCK aggregation - - Document the random beacon bias findings - - Remaining PoP work planning + - Randomness: continued review of EVM doc and examples + - Proof of Possession of the staking key: + - Random Beacon: documentation of the current computational indistinguishability bias + - SPoCK aggregation: progress on the multi verification definitions - reading of Boldireva's security proof of BLS multi-sig (KOSK based) (to be continued) + - reading of Pippenger's method to optimize some steps in the crypto lib (to be continued) * Data Availability - Add support for compatible versions during HCU ([PR #6535](https://github.com/onflow/flow-go/pull/6535)) @@ -244,7 +246,11 @@ Cycle Objective(s): - Other endpoint improvements [1](https://github.com/onflow/flow-go-sdk/issues/765), [2](https://github.com/onflow/flow-go-sdk/issues/768), [3](https://github.com/onflow/flow-go-sdk/issues/766) * Cryptography - - SPoCK aggregation + - Passkeys reading (understanding the standard) + - PoP: + - Polish the contract - Ledger backward compatibility + - Setup the Ledger environment to build Ledger apps + - SPoCK aggregation: continue reading the KOSK-based proof * Misc other - Ongoing Pebble migration PR reviews From a0165affeaa6a456d9c52462d8138415a8a58a76 Mon Sep 17 00:00:00 2001 From: Andrii Date: Mon, 28 Oct 2024 17:03:53 +0200 Subject: [PATCH 559/626] Fixed go doc for endpoints with msg index to start at 0 --- protobuf/flow/executiondata/executiondata.proto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/protobuf/flow/executiondata/executiondata.proto b/protobuf/flow/executiondata/executiondata.proto index 67b2fef79..69d541155 100644 --- a/protobuf/flow/executiondata/executiondata.proto +++ b/protobuf/flow/executiondata/executiondata.proto @@ -466,7 +466,7 @@ message SubscribeEventsResponse { // Timestamp from the block containing the events. google.protobuf.Timestamp block_timestamp = 4; - // The message index of the response message. Used by the client to ensure they received all messages. Starts from "1". + // The message index of the response message. Used by the client to ensure they received all messages. Starts from "0". uint64 message_index = 5; } @@ -618,7 +618,7 @@ message SubscribeAccountStatusesResponse { // Block height of the block containing the events. uint64 block_height = 2; - // The message index of the response message. Used by the client to ensure they received all messages. Starts from "1". + // The message index of the response message. Used by the client to ensure they received all messages. Starts from "0". uint64 message_index = 3; message Result { From 062c3bac352907dd9c4e53f39cead78a0c2e4280 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 30 Oct 2024 20:48:26 -0700 Subject: [PATCH 560/626] Create 2024-11-1-Flow-Sprint-Kickoff.md --- .../2024-11-1-Flow-Sprint-Kickoff.md | 265 ++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..7c4885d5b --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -0,0 +1,265 @@ +# Overview + +### Team Wins 🎉 + +- Trado bugs blocking Flow Wallet fixed +- Hyperlane validators needed for BTC bridge now stood up and being tested +- Unblocked DevDock to use FCL w native Cadence for primary integration (AI domain partner builder) +- Offer for Tim accepted as Protocol Eng I, starting Nov 18th +- + +### General updates + +### OOO +- [Full List](https://www.notion.so/flowfoundation/de89aa4e79364216a665888335a1cdee?v=4de18b26f60d4bae8f62724dddcce260) + +--- + +### Mainnet Uptime - Last 14 days (10/18/24 to 10/31/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 99.95% | 49.6% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 100% | 0% | + +[SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) + +YTD SLA: 99.50% + + +#### SLA situation + +- Updated downtime reported during the last sprint kickoff. see last sprint's [SLA section](https://github.com/onflow/flow/blob/master/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md#sla-situation-updated-on-926) +- Total downtime YTD - + 1. 4 HCUs 20 mins + 2. Sept 4th - Mainnet25(Crescendo) upgrade: 19h23m + 3. Sept 5th - P0 incident after mainnet25: 7h30m + 4. Sept 25th - Mainnet26: 3h48m + 5. Oct 8th - HCU: 5m + + +## Incidents +Monday, 2024-10-14 18:46:30 Pacific: Sev-3 - EVM Gateway 2 stopped processing EVM Blocks ([slack thread](https://flow-foundation.slack.com/archives/CUU2KQL4A/p1728959386019689?thread_ts=1728959285.639699&cid=CUU2KQL4A)) + +(Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) + +### Key Release Dates & Breaking Changes +- Next Mainnet/Testnet network upgrade (spork): + - TBD + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 8 | 6 (-2) | 1 (+1) | 7 | **22** (-1) | +| Proposed | 1 | 4 (+2) | 3 | 0 | **8** (+2) | +| Accepted | 2 | 1 | 2 | 2 | **7** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 3 | 25 | 1 | 0 | **29** | +| Released | 4 | 0 | 4 | 6 | **14** | +| Total | **18** | **36** | **12** (+1) | **15** | **81** (+1) | + +**Summary** + +* Overall 1 new FLIP - [Governance] - removal of decommissioned nodes from the approved list +* Movement of two cadence flips from draft to proposed (Simple String Interpolation by Raymond was one) + +**REMINDER - FLIPs that need to be reassigned immediately:** + +**- Application** + - Interaction Templates (Paul Gebheim) + - Application - Pool-Based DEX Swap Standard (Satyam A.) + +**- Cadence** + - Type Removal In Contract Updates (Daniel Sainati) + - Optional References to Indexed Accesses (Daniel Sainati) + - Mutability Restrictions (Daniel Sainati) + - Cadence Storage API Improvements (Daniel Sainati) + - Reference Creation Semantics (Daniel Sainati) + - View Functions (Daniel Sainati) + - Entitlements (Daniel Sainati) + - New behavior for attachments with entitlements (Daniel Sainati) + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] + +**Cycle Objectives** + +[Cadence Language](https://github.com/onflow/cadence/issues/3623) + +[Cadence VM (execution environment)](https://github.com/onflow/flow-go/issues/6577) + +**Done last sprint** + + +**This sprint** + +- Continue work on [EVM Gateway Hardening](https://github.com/onflow/flow-go/issues/6539) + +- Cadence Language + - Continue addressing [Tech Debt](https://github.com/onflow/cadence/issues/3595) + - Start work on Content for [commuity outreach](https://github.com/onflow/cadence/issues/3596) + - Maybe resume work on the [Cadence compiler POC](https://github.com/onflow/cadence/issues/3612) + - Continue work on [Cadence language Specification](https://github.com/onflow/cadence/issues/3599) + - [Updating Source compatibility suite for C1.0](https://github.com/onflow/cadence/issues/3608) + +- Cadence Execution + - Continue work on [optimization for Cadence domain storage](https://github.com/onflow/cadence/issues/3584) + - Badger -> Pebble migration:continue work on [Chunk Data pack Pruner](https://github.com/onflow/flow-go/issues/6516) + +**Completed OKRs** + +**On Hold** + +- Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN + - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) + +- Other + * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + * Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) + * Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Restore Flow protocol eng team to required critical mass [IN PROGRESS] +* Faster transaction results to improve user experience [IN PROGRESS] +* Address vectors which risk network downtime [KR1: Protocol level HCU, KR2: Operationalize EFM Recovery] [IN PROGRESS] +* Add passkey support: Protocol design and scoping [NOT STARTED] +* Furthering permissionless participation [KR1: Proof of Possession, KR2: SPoCK Research] [IN PROGRESS] + +**Done last Sprint:** + * Offer for Tim accepted as Protocol Eng I, starting Nov 18th + * + +* EFM Recovery + +* Cryptography + +* Data Availability + +* Misc other + - Ongoing Pebble migration PR reviews + +**This sprint** + +* EFM Recovery + - [Implement an integration test for EFM and DKG IndexMap](https://github.com/onflow/flow-go/issues/6331) + - Complete main EFM recovery logic PR + - [Merge Protocol version upgrade PR](https://github.com/onflow/flow-core-contracts/pull/419) + - Merge open PRs that are under review + - Finish integration test and related DKG issue + +* Data Availability + - KROK Team + - Websockets redesign ([Epic #6163](https://github.com/onflow/flow-go/issues/6163)) + - Initial design ([Issue #6508](https://github.com/onflow/flow-go/issues/6508)) + - Registers db pruning ([Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) + - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302) - In review, [Issue #6413](https://github.com/onflow/flow-go/issues/6413) - In review) + - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357) - In progress) + - Add Time To Seal metric ([Issue #6448](https://github.com/onflow/flow-go/issues/6448) - In review) + - Access API / Go SDK alignment ([Epic #735](https://github.com/onflow/flow-go-sdk/issues/735)) + - Unify streaming endpoints code duplication ([Issue #763](https://github.com/onflow/flow-go-sdk/issues/763) - In review) + - Other endpoint improvements [1](https://github.com/onflow/flow-go-sdk/issues/765), [2](https://github.com/onflow/flow-go-sdk/issues/768), [3](https://github.com/onflow/flow-go-sdk/issues/766) + +* Cryptography + - Passkeys reading (understanding the standard) + - PoP: + - Polish the contract - Ledger backward compatibility + - Setup the Ledger environment to build Ledger apps + - SPoCK aggregation: continue reading the KOSK-based proof + +* Misc other + - Ongoing Pebble migration PR reviews + +**On Hold** + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Close gaps in Defi/Liquidity infrastructure post-Cadence 1.0 +- Bring liquidity and and kick start ecosystem effects + +**Done last sprint** + * Supported Hyperlane to get validator nodes setup for BTC bridge + * Unblocked DevDock to use FCL w native Cadence for primary integration (AI domain partner builder) + * Funded Axelar pools (nearly) critical mass of validators for bridge activation + * Trado bugs blocking Flow Wallet fixed + * Continuing merging update to JVM SDK to reach Go SDK parity + +**This sprint** + * Resolve 2x Axelar nodes activation issues to unblock bridge + * Keep helping partners and node operators + * Review/merge upcoming JVM SDK PRs to get to Go SDK parity + * Soft launch Hyperlane BTC bridge (hopefully) + * Kick off Credora (off to on chain credit scoring) and Ethereum Attestion Service integration + +**On Hold** + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): + - [Please enter cycle objectives for Q4 2024] + +**Done last sprint** + +**This sprint** +**Sprint Goal: Cycle Kickoff - Refine and Assign OKR Initiatives and Drivers / Rewards Handoff / Lost and Found (Integration - Flow Port, Flow Wallet)** + +- [EPIC] Verify Completion of Commitments for EVM Launch Partners #25 +- [EPIC] Flow Rewards (RAIN) + - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) + - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) + - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) +- [EPIC Solving Initialization/Storage Issues - Lost and Found FLIP and Port integration](https://github.com/onflow/flow-port/issues/292) +- [Flow Bridge App Epic](https://github.com/onflow/flow-bridge-app/issues/1) + +**On Hold** + +- bridge.flow.com + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- [Please enter cycle objectives for Q4 2024] + +**Done last sprint** + +**This sprint** + + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- [Please enter cycle objectives for Q4 2024] + +**Done last sprint** + +**This Sprint** +- Begin interviewing for SRE role +- Continue work to migrate to dedicated FF Atlantis +- Execute GCP IAM migration to Flow Foundation groups From d221489005ac7250bdd1bfbb44b253572ee8e379 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Wed, 30 Oct 2024 20:51:05 -0700 Subject: [PATCH 561/626] Minor restructure --- .../2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index 7c4885d5b..ec336eb2c 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -132,9 +132,13 @@ Cycle Objective(s): * Restore Flow protocol eng team to required critical mass [IN PROGRESS] * Faster transaction results to improve user experience [IN PROGRESS] -* Address vectors which risk network downtime [KR1: Protocol level HCU, KR2: Operationalize EFM Recovery] [IN PROGRESS] +* Address vectors which risk network downtime + 1. Protocol level HCU] [IN PROGRESS] + 2. Operationalize EFM Recovery [NOT STARTED] * Add passkey support: Protocol design and scoping [NOT STARTED] -* Furthering permissionless participation [KR1: Proof of Possession, KR2: SPoCK Research] [IN PROGRESS] +* Furthering permissionless participation + 1. Proof of Possession [IN PROGRESS] + 2. KR2: SPoCK Research **Done last Sprint:** * Offer for Tim accepted as Protocol Eng I, starting Nov 18th From 552efba92c2644a9634606798dcf53ba979cea91 Mon Sep 17 00:00:00 2001 From: Jordan Schalm Date: Thu, 31 Oct 2024 10:01:51 -0700 Subject: [PATCH 562/626] Update 2024-11-1-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index ec336eb2c..84ca5697d 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -6,7 +6,7 @@ - Hyperlane validators needed for BTC bridge now stood up and being tested - Unblocked DevDock to use FCL w native Cadence for primary integration (AI domain partner builder) - Offer for Tim accepted as Protocol Eng I, starting Nov 18th -- +- Integration test Emulator dependency removed ### General updates From 8d74a5932a8062dcfe4caa83b856d03ac9215d6a Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 31 Oct 2024 14:35:11 -0700 Subject: [PATCH 563/626] Update 2024-11-1-Flow-Sprint-Kickoff.md --- .../2024-11-1-Flow-Sprint-Kickoff.md | 20 ++++--------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index 84ca5697d..5091c66a5 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -22,27 +22,15 @@ | Collection Finalization | 99.9% | 100% | 0% | | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 99.95% | 49.6% | -| Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 99.96% | 24.8% | +| Access API Liveness | 99.9% | 99.31% | 694.44% | [SLO dashboards](https://flowfoundation.grafana.net/d/hgW3l-m4k/slo-dashboard?orgId=1&from=now-2w&to=now) -YTD SLA: 99.50% - - -#### SLA situation - -- Updated downtime reported during the last sprint kickoff. see last sprint's [SLA section](https://github.com/onflow/flow/blob/master/agendas/2024/sprint-kickoff/2024-09-13-Flow-Sprint-Kickoff.md#sla-situation-updated-on-926) -- Total downtime YTD - - 1. 4 HCUs 20 mins - 2. Sept 4th - Mainnet25(Crescendo) upgrade: 19h23m - 3. Sept 5th - P0 incident after mainnet25: 7h30m - 4. Sept 25th - Mainnet26: 3h48m - 5. Oct 8th - HCU: 5m - +YTD SLA: 99.52% ## Incidents -Monday, 2024-10-14 18:46:30 Pacific: Sev-3 - EVM Gateway 2 stopped processing EVM Blocks ([slack thread](https://flow-foundation.slack.com/archives/CUU2KQL4A/p1728959386019689?thread_ts=1728959285.639699&cid=CUU2KQL4A)) +1. Oct 30th 8:40 PM to 11:00 PM Pacific Sev 1 - `onflow.org` domain expired and failed to auto-renew ([slack thread](https://flow-foundation.slack.com/archives/CUU2KQL4A/p1730347480604789)) (Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) From 694a9eb498ae61da1925f181b6b43d9e3b2dc21f Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 31 Oct 2024 14:35:37 -0700 Subject: [PATCH 564/626] Update 2024-11-1-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index 5091c66a5..dd25d673f 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -15,7 +15,7 @@ --- -### Mainnet Uptime - Last 14 days (10/18/24 to 10/31/24) \[Vishal] +### Mainnet Uptime - Last 14 days (10/18/24 to 10/31/24) \[JP] | | Target | Current Score | Error budget used | |:------------------------|:------:|:-------------:|:-----------------:| From 21b39740c6e3df26b3da39df719474bc65a52552 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 31 Oct 2024 14:58:36 -0700 Subject: [PATCH 565/626] Update 2024-11-1-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index dd25d673f..b656083a6 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -30,7 +30,7 @@ YTD SLA: 99.52% ## Incidents -1. Oct 30th 8:40 PM to 11:00 PM Pacific Sev 1 - `onflow.org` domain expired and failed to auto-renew ([slack thread](https://flow-foundation.slack.com/archives/CUU2KQL4A/p1730347480604789)) +1. Oct 30th 8:40 PM to 11:00 PM Pacific Sev 1 - `onflow.org` domain expired and failed to auto-renew ([Incident Response](https://www.notion.so/flowfoundation/Flow-onflow-org-domain-expiry-resulting-in-platform-wide-outages-10-30-2024-1301aee123248053b0d1d325ea99a809)) (Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) From 3d66312706fd5d40dbc65989c49343797ff31799 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 31 Oct 2024 14:59:21 -0700 Subject: [PATCH 566/626] Update 2024-11-1-Flow-Sprint-Kickoff.md --- .../2024-11-1-Flow-Sprint-Kickoff.md | 32 ------------------- 1 file changed, 32 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index b656083a6..1e814b211 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -40,38 +40,6 @@ YTD SLA: 99.52% --- -### FLIPs Tracker \[Kshitij] - -| | Application | Cadence | Governance | Protocol | Total | -|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 6 (-2) | 1 (+1) | 7 | **22** (-1) | -| Proposed | 1 | 4 (+2) | 3 | 0 | **8** (+2) | -| Accepted | 2 | 1 | 2 | 2 | **7** | -| Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 3 | 25 | 1 | 0 | **29** | -| Released | 4 | 0 | 4 | 6 | **14** | -| Total | **18** | **36** | **12** (+1) | **15** | **81** (+1) | - -**Summary** - -* Overall 1 new FLIP - [Governance] - removal of decommissioned nodes from the approved list -* Movement of two cadence flips from draft to proposed (Simple String Interpolation by Raymond was one) - -**REMINDER - FLIPs that need to be reassigned immediately:** - -**- Application** - - Interaction Templates (Paul Gebheim) - - Application - Pool-Based DEX Swap Standard (Satyam A.) - -**- Cadence** - - Type Removal In Contract Updates (Daniel Sainati) - - Optional References to Indexed Accesses (Daniel Sainati) - - Mutability Restrictions (Daniel Sainati) - - Cadence Storage API Improvements (Daniel Sainati) - - Reference Creation Semantics (Daniel Sainati) - - View Functions (Daniel Sainati) - - Entitlements (Daniel Sainati) - - New behavior for attachments with entitlements (Daniel Sainati) # Working Group Updates From 1b8512ddd9c09489dffbec6c47fc1a5c93fc13e5 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 31 Oct 2024 16:43:45 -0700 Subject: [PATCH 567/626] Cadence WG updates --- .../2024-11-1-Flow-Sprint-Kickoff.md | 107 ++++++++++++++++-- 1 file changed, 95 insertions(+), 12 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index 1e814b211..158342ecc 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -7,6 +7,11 @@ - Unblocked DevDock to use FCL w native Cadence for primary integration (AI domain partner builder) - Offer for Tim accepted as Protocol Eng I, starting Nov 18th - Integration test Emulator dependency removed +- All reported Cadence security issues fixed & deployed +- Deployed FVM feature that enables no-downtime Cadence update (short-term using version beacon, will be updated to use dynamic protocol state) +- Cadence Source compatibility suite update - we now run unit tests on community repos to validate new Cadence versions & expaneded the suite to run tests using Cadence Testing Framework. +- Validated Pebble DB releases data during pruning - we were able to prune the Data chunk pack DB from GBs after few days of running to ~6MB. +- Cadence working group - Reviewed 8 open FLIPS, 3 approved, 1 ice-boxed ([#41](https://github.com/onflow/flips/pull/41)), 1 remains open for community contribution ([245](https://github.com/onflow/flips/pull/245)), 3 require follow-up ([198](https://github.com/onflow/flips/pull/198), [256](https://github.com/onflow/flips/pull/256), [295](https://github.com/onflow/flips/pull/295)). ### General updates @@ -53,33 +58,111 @@ YTD SLA: 99.52% **Done last sprint** +**Cadence Language** +- Feature: + - Community request: [Add string formatting function](https://github.com/onflow/cadence/issues/3579) + - [FLIP 275](https://github.com/onflow/flips/blob/aff797600512cf1432474659035ee5a0b5ea195f/cadence/20240604-cadence-type-removal.md) implementation: [Allow removing type declarations from contracts](https://github.com/onflow/cadence/issues/3210) + - [Add a WebAssembly API](https://github.com/onflow/cadence/issues/2853) + - [Add meter method which returns remaining computation for given computation kind](https://github.com/onflow/flow-go/pull/6215) + - [Updating Source compatibility suite for C1.0](https://github.com/onflow/cadence/issues/3608) +- Contribute to Cadence learning app POC: + - [Add first version of GoldStar contract](https://github.com/onflow/gold-star/pull/1) + - [Add a "deployed a contract" challenge](https://github.com/onflow/gold-star/pull/3) + - [Add a "no-op" challenge](https://github.com/onflow/gold-star/pull/2) +- Bugfix: + - [Port security fixes](https://github.com/onflow/cadence/pull/3654) + - [v1.0 Port security fixes](https://github.com/onflow/cadence/pull/3653) + - security fixes: [1](https://github.com/onflow/cadence-internal/pull/273), [2](https://github.com/onflow/cadence-internal/pull/272) +- Tech-debt removal: + - [Refactor and update struct stringer tests](https://github.com/onflow/cadence/pull/3661) + - [Refactor test utils](https://github.com/onflow/cadence/pull/3652) + - [Refactor tests](https://github.com/onflow/cadence/pull/3651) + - [Move architecture diagram to contributor documentation directory](https://github.com/onflow/cadence/pull/3650) + - [Update old uses of pub and priv](https://github.com/onflow/cadence/pull/3647) + - [Source Compatibility Suite update - enable tests using Cadence Testing Framework](https://github.com/onflow/cadence/pull/3644) - also added [green-goo-dao](https://github.com/green-goo-dao) community repo. + - [Update source compatibility suite for latest cadence v1.0.1](https://github.com/onflow/cadence/pull/3616) + - [Fix and improve CCF CDDL in comments](https://github.com/onflow/cadence/pull/3643) + - [Remove attachments enabling flag](https://github.com/onflow/cadence/pull/3642) + - [Move the crypto contract outside of cadence](https://github.com/onflow/cadence/issues/3135) + - [Resolve location of imported values](https://github.com/onflow/cadence/pull/3634) + - [Update contracts-compatibility-checker](https://github.com/onflow/cadence/pull/3631) to always use latest Cadence version. + - [Cleanup outdated FT/NFT related contract codes and tests](https://github.com/onflow/cadence/pull/3630) + - [Fix storage explorer tool](https://github.com/onflow/cadence/pull/3627) + - [Reorganize repository](https://github.com/onflow/cadence/issues/526) +- FLIPs: + - approved [FLIP 275: Removal of Types in Contract Updates](https://github.com/onflow/flips/pull/276) + - approved [FLIP 293: StructStringer interface](https://github.com/onflow/flips/pull/294) + - approved [FLIP 288: Simple String Interpolation](https://github.com/onflow/flips/pull/289) +- Chores: + - [Add a GitHub Action to get all contracts](https://github.com/onflow/cadence/pull/3663) + - [Update the config of the update tool](https://github.com/onflow/cadence/pull/3641) + - [Re-enable and update the Source Compatiblity Suite GitHub action](https://github.com/onflow/cadence/pull/3632) +- Docs + - [Document Go patterns used in the codebase](https://github.com/onflow/cadence/pull/3649) + - [Remove details about unavailable type-removal pragma](https://github.com/onflow/cadence-lang.org/pull/167) + - [Remove Callout and Admonition mapping](https://github.com/onflow/cadence-lang.org/pull/165) + - [Update release docs with a section for versioning strategy](https://github.com/onflow/cadence/pull/3629) + +**Cadence Execution** +- Feature + - Storage optimization: [Combine non-atree domain payloads into atree payloads](https://github.com/onflow/cadence/issues/3584) + - [Add function to check if address has unsaved changes in storage](https://github.com/onflow/atree/pull/450) + - Enabling No-downtime Cadence update: [Expose minimum required version to cadence interface +](https://github.com/onflow/cadence/pull/3616) +- Tech-debt + - [Remove deprecated ingestion engine](https://github.com/onflow/flow-go/pull/6510) + - [Remove Cadence 1.0 / Crescendo migrations](https://github.com/onflow/flow-go/pull/6572) +- Dependency updates: [1](https://github.com/onflow/flow-go/pull/6608), [2](https://github.com/onflow/flow-go-sdk/pull/796), [3](https://github.com/onflow/flow-go/pull/6607), [4](https://github.com/onflow/flow-go-internal/pull/6990), [5](https://github.com/onflow/flow-go-internal/pull/6989), [6](https://github.com/onflow/flow-go-internal/pull/6988), [7](https://github.com/onflow/flow-evm-gateway/pull/623), [8](https://github.com/onflow/flixkit-go/pull/83), [9](https://github.com/onflow/cadence-tools/pull/441), [9](https://github.com/onflow/flowkit/pull/77), [10](https://github.com/onflow/cadence-tools/pull/440), [11](https://github.com/onflow/cadence-tools/pull/439), [12](https://github.com/onflow/flow-emulator/pull/765), [13](https://github.com/onflow/flow-go-sdk/pull/788), [14](https://github.com/onflow/flow-go-sdk/pull/787), [15](https://github.com/onflow/flow-go/pull/6581), [16](https://github.com/onflow/flow-go-sdk/pull/786) + +**EVM Core** +- Package for Gateway dry-run feature: + - [Offchain package - part 2](https://github.com/onflow/flow-go/pull/6545) + - [Offchain package - part 3](https://github.com/onflow/flow-go/pull/6546) +- bugfix: + - [Fix COA ownership proof](https://github.com/onflow/flow-go/pull/6550) +- Improvements: + - enables concurrent use of emulator: [Make chain config concurrency safe](https://github.com/onflow/flow-go/pull/6578) +- Util: + - New methods to test EVM Tx replayability: [adding event collection and verification utilities](https://github.com/onflow/flow-go/pull/6582) + - [add utility command to export EVM state](https://github.com/onflow/flow-go/pull/6561) + - [Adding account/slot/code iterators to the base storage](https://github.com/onflow/flow-go/pull/6555) + +**EVM Gateway** +- Dry-run feature: + - [Remove traces downloader](https://github.com/onflow/flow-evm-gateway/pull/639) +- Stabilization: + - [Fix block ingestion stalls](https://github.com/onflow/flow-go/issues/6609) +- Bugfix: + - [Broken Chain in JSON rpc nodes with Flow-Testnet](https://github.com/onflow/flow-evm-gateway/issues/534) +- Improvements: + - [Add the EVM GW version to log lines](https://github.com/onflow/flow-evm-gateway/pull/596) + - [Use the released tag version to identify newly-created docker images](https://github.com/onflow/flow-evm-gateway/pull/592) +- API updates & improvements + - [Avoid logging debug info for invalid JSON-RPC methods](https://github.com/onflow/flow-evm-gateway/pull/611) + - [Update the list of valid JSON-RPC methods](https://github.com/onflow/flow-evm-gateway/pull/613) **This sprint** - Continue work on [EVM Gateway Hardening](https://github.com/onflow/flow-go/issues/6539) - Cadence Language - - Continue addressing [Tech Debt](https://github.com/onflow/cadence/issues/3595) - - Start work on Content for [commuity outreach](https://github.com/onflow/cadence/issues/3596) - - Maybe resume work on the [Cadence compiler POC](https://github.com/onflow/cadence/issues/3612) + - Complete remaining Tech-debt [Tech Debt](https://github.com/onflow/cadence/issues/3595) + - Continue work on Content for [commuity outreach](https://github.com/onflow/cadence/issues/3596) + - Continue work on the [Cadence compiler POC](https://github.com/onflow/cadence/issues/3612) - Continue work on [Cadence language Specification](https://github.com/onflow/cadence/issues/3599) - - [Updating Source compatibility suite for C1.0](https://github.com/onflow/cadence/issues/3608) - Cadence Execution - Continue work on [optimization for Cadence domain storage](https://github.com/onflow/cadence/issues/3584) - - Badger -> Pebble migration:continue work on [Chunk Data pack Pruner](https://github.com/onflow/flow-go/issues/6516) + - Badger -> Pebble migration: continue work on [Chunk Data pack Pruner](https://github.com/onflow/flow-go/issues/6516) **Completed OKRs** **On Hold** -- Objective 2, KR 1: Update transaction fees weights for the execution operations on TN and MN - - Continue work on [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) - -- Other - * Start Atree optimization: [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) - * Evaluate fixing [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) - * Continue: [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) +- [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) +- [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) +- [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) +- [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) --- From d7a9578e0cd5029368e42c75d6ed5804be87668e Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 31 Oct 2024 16:47:16 -0700 Subject: [PATCH 568/626] Cadence WG updates 2 --- agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index 158342ecc..50856dc32 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -11,7 +11,7 @@ - Deployed FVM feature that enables no-downtime Cadence update (short-term using version beacon, will be updated to use dynamic protocol state) - Cadence Source compatibility suite update - we now run unit tests on community repos to validate new Cadence versions & expaneded the suite to run tests using Cadence Testing Framework. - Validated Pebble DB releases data during pruning - we were able to prune the Data chunk pack DB from GBs after few days of running to ~6MB. -- Cadence working group - Reviewed 8 open FLIPS, 3 approved, 1 ice-boxed ([#41](https://github.com/onflow/flips/pull/41)), 1 remains open for community contribution ([245](https://github.com/onflow/flips/pull/245)), 3 require follow-up ([198](https://github.com/onflow/flips/pull/198), [256](https://github.com/onflow/flips/pull/256), [295](https://github.com/onflow/flips/pull/295)). +- Cadence working group - Reviewed 8 open FLIPS, 3 approved ([275](https://github.com/onflow/flips/pull/276), [288](https://github.com/onflow/flips/pull/289), [293](https://github.com/onflow/flips/pull/294)), 1 ice-boxed ([#41](https://github.com/onflow/flips/pull/41)), 1 remains open for community contribution ([251](https://github.com/onflow/flips/pull/245)), 3 require follow-up ([198](https://github.com/onflow/flips/pull/198), [255](https://github.com/onflow/flips/pull/256), [295](https://github.com/onflow/flips/pull/295)). ### General updates From 3f90ec5f1e4cfe1cfe1ac2e2cdd49adaaeb77cd0 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 31 Oct 2024 17:55:13 -0600 Subject: [PATCH 569/626] Add infra section --- .../2024-11-1-Flow-Sprint-Kickoff.md | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index 50856dc32..b0ccca129 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -297,12 +297,30 @@ Cycle Objective(s): --- ### **Infra - JP** -Cycle Objective(s): -- [Please enter cycle objectives for Q4 2024] - **Done last sprint** +**BTC Bridge Integration** +- Created new network & observability infra for hyperlane validators +- Created configuration & infra for hyperlane nodes + +**Atlantis Migration** +- Coordinated creation of Atlantis App in onflow Org +- Created new atlantis infrastructure in FF SRE project +- Created new GH teams in onflow org to match FF +- Created production SRE project +- Migrated infra repos to onflow org +- Reconfigured IAM to infra repos in onflow org +- Migrated secrets for atlantis to FF SRE project +- Migrated & rebuilt terraform modules to only include FF modules & code + +**IAM Group Migration** +- Created FF IAM Google groups +- Added FF members to groups + +**Support** +- Created DNS record for new subdomain + **This Sprint** -- Begin interviewing for SRE role -- Continue work to migrate to dedicated FF Atlantis -- Execute GCP IAM migration to Flow Foundation groups +- Complete GCP IAM migration to Flow Foundation groups +- Assist in fixing workflows with GH repo migration +- Assist in improving integration test execution From 7810fd3d54ab1dee202c6aa1a65dc8a68aeae5bf Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 1 Nov 2024 07:47:07 -0700 Subject: [PATCH 570/626] update data availability sprint 2024-11-1 --- .../2024-11-1-Flow-Sprint-Kickoff.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index b0ccca129..fb70d347a 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -188,6 +188,12 @@ Cycle Objective(s): * Cryptography * Data Availability + - KROK Team + - Websockets initial design complete + - Add Time To Seal metric ([PR #6512](https://github.com/onflow/flow-go/pull/6512), [PR #6605](https://github.com/onflow/flow-go/pull/6605)) + - Store tx result error messages in database ([PR #6468](https://github.com/onflow/flow-go/pull/6468)) + - SDK alignment [1](https://github.com/onflow/flow-go-sdk/pull/778), [2](https://github.com/onflow/flow-go-sdk/pull/779), [3](https://github.com/onflow/flow-go-sdk/pull/780), [4](https://github.com/onflow/flow-go-sdk/pull/790) + - Address tech debt [1](https://github.com/onflow/flow-go/pull/6547), [2](https://github.com/onflow/flow-go/pull/6554) * Misc other - Ongoing Pebble migration PR reviews @@ -204,14 +210,15 @@ Cycle Objective(s): * Data Availability - KROK Team - Websockets redesign ([Epic #6163](https://github.com/onflow/flow-go/issues/6163)) - - Initial design ([Issue #6508](https://github.com/onflow/flow-go/issues/6508)) + - Implement router ([Issue #6593](https://github.com/onflow/flow-go/issues/6593) - In review, [Issue #6583](https://github.com/onflow/flow-go/issues/6583) - In progress, [Issue #6584](https://github.com/onflow/flow-go/issues/6584) - In progress) + - Improvements to tx result streaming endpoint ([Issue #6573](https://github.com/onflow/flow-go/issues/6573), [Issue #6574](https://github.com/onflow/flow-go/issues/6574), [Issue #6575](https://github.com/onflow/flow-go/issues/6575), [Issue #6604](https://github.com/onflow/flow-go/issues/6604)) - Registers db pruning ([Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) - - Store Tx Result in database ([Issue #6302](https://github.com/onflow/flow-go/issues/6302) - In review, [Issue #6413](https://github.com/onflow/flow-go/issues/6413) - In review) + - Backfill tool for tx result errors ([Issue #6413](https://github.com/onflow/flow-go/issues/6413) - In review) - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357) - In progress) - - Add Time To Seal metric ([Issue #6448](https://github.com/onflow/flow-go/issues/6448) - In review) - Access API / Go SDK alignment ([Epic #735](https://github.com/onflow/flow-go-sdk/issues/735)) - Unify streaming endpoints code duplication ([Issue #763](https://github.com/onflow/flow-go-sdk/issues/763) - In review) - - Other endpoint improvements [1](https://github.com/onflow/flow-go-sdk/issues/765), [2](https://github.com/onflow/flow-go-sdk/issues/768), [3](https://github.com/onflow/flow-go-sdk/issues/766) + - Fixes/Improvements [1](https://github.com/onflow/flow-go-sdk/issues/783), [2](https://github.com/onflow/flow-go-sdk/issues/784), [3](https://github.com/onflow/flow-go-sdk/issues/767) + - Tech debt [1](https://github.com/onflow/flow-go/issues/6564), [2](https://github.com/onflow/flow-go/issues/6566), [3](https://github.com/onflow/flow-go/issues/6497) * Cryptography - Passkeys reading (understanding the standard) From 41a7abbd97955b287aba28cf773610ea5de2474c Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 1 Nov 2024 08:54:54 -0700 Subject: [PATCH 571/626] 4D Update Wins 2024-11-1 --- .../2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index fb70d347a..c5836b516 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -12,6 +12,12 @@ - Cadence Source compatibility suite update - we now run unit tests on community repos to validate new Cadence versions & expaneded the suite to run tests using Cadence Testing Framework. - Validated Pebble DB releases data during pruning - we were able to prune the Data chunk pack DB from GBs after few days of running to ~6MB. - Cadence working group - Reviewed 8 open FLIPS, 3 approved ([275](https://github.com/onflow/flips/pull/276), [288](https://github.com/onflow/flips/pull/289), [293](https://github.com/onflow/flips/pull/294)), 1 ice-boxed ([#41](https://github.com/onflow/flips/pull/41)), 1 remains open for community contribution ([251](https://github.com/onflow/flips/pull/245)), 3 require follow-up ([198](https://github.com/onflow/flips/pull/198), [255](https://github.com/onflow/flips/pull/256), [295](https://github.com/onflow/flips/pull/295)). +- Flow AI added to Docs +- Docs: Reduced steps in getting started and refocused docs home page focus from EVM to Cadence +- Worked with community (Deniz) to optimize Cadence NFT serialization en route to EVM +- Highest ever weekly FCL downloads besides v1.0 release +- FCL-JS fully compatible with Telegram Apps + ### General updates From 21479abfaa4920be4418106c73de6c2dd3200aca Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 1 Nov 2024 09:08:58 -0700 Subject: [PATCH 572/626] 4D Update 2024-11-1 --- .../2024-11-1-Flow-Sprint-Kickoff.md | 67 ++++++++++++++++++- 1 file changed, 64 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index c5836b516..9c1dabc92 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -267,21 +267,82 @@ Cycle Objective(s): ### **User Experience** \[Greg] Cycle Objective(s): - - [Please enter cycle objectives for Q4 2024] + - Improve Quality of Life, Level Up Dev Documentation and Learning Path, Supercharge EVMxCadence, Inspire and Excite Wave of New Flow Devs **Done last sprint** +**Crescendo Rewards** +- Update Cryptoys image (https://github.com/onflow/crescendo-rewards/issues/483 ) +- Update Terms of Service (https://github.com/onflow/crescendo-rewards/issues/487 ) +- Remove claim section and move points box (https://github.com/onflow/crescendo-rewards/issues/489 ) +- Add store banner (https://github.com/onflow/crescendo-rewards/issues/491 ) +**Smart Contracts** +- Deploy and test Crypto contract on testnet and mainnet +- Updated LockedTokens to help reclaim leases +- Upgraded FlowStakingCollection with better error messages +- Blog post for broken Crescendo contracts +**VM Bridge** +- Fix cases of underflow in event of storage decrease +- Update display type serialization +- Optimize serialization +- X-Chain Axelar Bridge (bridge.flow.com +**FCL Discovery** +- [[FEATURE] Capture SWR errors with Sentry](https://github.com/onflow/fcl-discovery/issues/271) +FCL +- [[FEATURE] Improved Cadence Error Reporting](https://github.com/onflow/fcl-js/issues/1891) +- [[BUG] Mobile wallets deeplink during both authn & authz phase](https://github.com/onflow/fcl-js/issues/1971) +- [[BUG] Mobile deep linking generates extra blank tab & doesnt work with in-app browsers](https://github.com/onflow/fcl-js/issues/1972) +- [[TS] Provider type is missing fields](https://github.com/onflow/fcl-js/issues/1973) +- [[Tech Debt] Update development dependencies (bunding dependencies, plugins, jest, typescript)](https://github.com/onflow/fcl-js/issues/1974) +- [[FEATURE] Decrease transaction polling interval](https://github.com/onflow/fcl-js/issues/1988) +- [[FEATURE] Add a check to prevent major version bumps](https://github.com/onflow/fcl-js/issues/1992) +- [Restore FCL-WC deeplinking during authz request when initiated by non-WC/RPC pre-authz](https://github.com/onflow/fcl-js/issues/1998) +**Flow Port** +- Add Fungible Token list view +Ledger Specific: +- Fixed bug, Tell user they need to update Flow Ledger App (https://github.com/onflow/fcl-ledger-web/issues/79) +- Updated fcl-ledger-web to use public key indexer for account discovery +- Updated fcl-ledger-web to use proxy to future proof against spamming hardware-wallet-api account creation. (https://github.com/onflow/fcl-ledger-web/issues/80) +**Docs** +- Rewrite Step One Getting Started Page (https://github.com/onflow/docs/issues/947) +- Change focus of home page to Cadence (https://github.com/onflow/docs/issues/948 ) +- [Bug] part 1 autoscrolls to iframe on first load (https://github.com/onflow/docs/issues/954 ) +- Move flow runner output to right panel (https://github.com/onflow/docs/issues/955 ) +- Embedded runner in getting started should have code pre-populated (https://github.com/onflow/docs/issues/960 ) +- Fix any old references to flow setup (https://github.com/onflow/docs/issues/972 ) +- Consolidate Flow CLI instructions that are duplicated (https://github.com/onflow/docs/issues/974 ) +**Flow Go SDK** +- [Fix Cadence examples #793](https://github.com/onflow/flow-go-sdk/pull/793) +**Public Key Indexer** +- Added isReverted, signing/hash algo +**Cadence VSCode Extension** +- [Button to create flow.json file fails](https://github.com/onflow/vscode-cadence/issues/697) +- [[LS] import Crypto no longer available](https://github.com/onflow/cadence-tools/issues/443) **This sprint** -**Sprint Goal: Cycle Kickoff - Refine and Assign OKR Initiatives and Drivers / Rewards Handoff / Lost and Found (Integration - Flow Port, Flow Wallet)** +**Sprint Goal: Improve Quality of Life, Dev Documentation and Learning Path, Supercharge EVMxCadence, Rewards Handoff, Lost and Found (Integration - Flow Port, Flow Wallet)** +- [EPIC] Dev Docs - Crucial Guides and Improvments [#745](https://github.com/onflow/docs/issues/745) +- [EPIC] Streamline Mobile Wallet Support [#1976](https://github.com/onflow/fcl-js/issues/1976) +- [EPIC] Improve Quality of Life and Reduce Technical Debt [#29](https://github.com/onflow/dx-internal/issues/29) - [EPIC] Verify Completion of Commitments for EVM Launch Partners #25 - [EPIC] Flow Rewards (RAIN) - [FE](https://github.com/onflow/crescendo-rewards/issues/1 ) - [BE](https://github.com/onflow/crescendo-rewards-be/issues/1) - - [SC](https://github.com/onflow/crescendo-rewards-sc/issues/7) - [EPIC Solving Initialization/Storage Issues - Lost and Found FLIP and Port integration](https://github.com/onflow/flow-port/issues/292) - [Flow Bridge App Epic](https://github.com/onflow/flow-bridge-app/issues/1) +Issues +- Docs Improvements https://github.com/onflow/docs/issues/745 +- Slack Issue Bot +- Deprecation of js-testing +- Transaction Management Guide +- Cadence X EVM Examples (SC) +- L&F integration (Flow Port) +- Snag Handoff (Site domain, Auto Unlock, API Update for Flipside) +- Flow Wallet Chrome Extension support and improvements +- EVM Apps Using Cadence (Supercharge Example) + + **On Hold** - bridge.flow.com From 9999c61e71661f68a2d6a77142edbfd154d9a3f0 Mon Sep 17 00:00:00 2001 From: Greg Santos Date: Fri, 1 Nov 2024 09:10:33 -0700 Subject: [PATCH 573/626] 4D Update 2 2024-11-1 --- agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index 9c1dabc92..23bf7f2dc 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -334,7 +334,7 @@ Ledger Specific: Issues - Docs Improvements https://github.com/onflow/docs/issues/745 - Slack Issue Bot -- Deprecation of js-testing +- [IMPROVEMENT] Replace js tests with cadence tests [#105](https://github.com/onflow/nft-storefront/issues/105) - Transaction Management Guide - Cadence X EVM Examples (SC) - L&F integration (Flow Port) From 477e7facf10596706c308b9e51c67eca9ef8e04c Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 1 Nov 2024 09:21:08 -0700 Subject: [PATCH 574/626] Add protocol updates --- .../2024-11-1-Flow-Sprint-Kickoff.md | 57 +++++++++++++------ 1 file changed, 41 insertions(+), 16 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index fb70d347a..e6466e30e 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -11,7 +11,19 @@ - Deployed FVM feature that enables no-downtime Cadence update (short-term using version beacon, will be updated to use dynamic protocol state) - Cadence Source compatibility suite update - we now run unit tests on community repos to validate new Cadence versions & expaneded the suite to run tests using Cadence Testing Framework. - Validated Pebble DB releases data during pruning - we were able to prune the Data chunk pack DB from GBs after few days of running to ~6MB. -- Cadence working group - Reviewed 8 open FLIPS, 3 approved ([275](https://github.com/onflow/flips/pull/276), [288](https://github.com/onflow/flips/pull/289), [293](https://github.com/onflow/flips/pull/294)), 1 ice-boxed ([#41](https://github.com/onflow/flips/pull/41)), 1 remains open for community contribution ([251](https://github.com/onflow/flips/pull/245)), 3 require follow-up ([198](https://github.com/onflow/flips/pull/198), [255](https://github.com/onflow/flips/pull/256), [295](https://github.com/onflow/flips/pull/295)). +- Cadence working group - Reviewed 8 open FLIPS + - Approved + - [275](https://github.com/onflow/flips/pull/276) + - [288](https://github.com/onflow/flips/pull/289) + - [293](https://github.com/onflow/flips/pull/294) + - Ice-boxed + - [#41](https://github.com/onflow/flips/pull/41) + - Keeping open for community contribution + - [251](https://github.com/onflow/flips/pull/245) + - Require follow-up + - [198](https://github.com/onflow/flips/pull/198) + - [255](https://github.com/onflow/flips/pull/256) + - [295](https://github.com/onflow/flips/pull/295) ### General updates @@ -36,6 +48,7 @@ YTD SLA: 99.52% ## Incidents 1. Oct 30th 8:40 PM to 11:00 PM Pacific Sev 1 - `onflow.org` domain expired and failed to auto-renew ([Incident Response](https://www.notion.so/flowfoundation/Flow-onflow-org-domain-expiry-resulting-in-platform-wide-outages-10-30-2024-1301aee123248053b0d1d325ea99a809)) + - A post-mortem review is being scheduled (Sev [definition](https://www.notion.so/flowfoundation/Incident-Priorities-Severity-Levels-1-e811b352feff4928b69a7e99df724c6a)) @@ -172,20 +185,30 @@ Cycle Objective(s): * Restore Flow protocol eng team to required critical mass [IN PROGRESS] * Faster transaction results to improve user experience [IN PROGRESS] * Address vectors which risk network downtime - 1. Protocol level HCU] [IN PROGRESS] - 2. Operationalize EFM Recovery [NOT STARTED] + 1. Operationalize EFM Recovery [IN PROGRESS] + 2. Protocol level HCU [NOT STARTED] * Add passkey support: Protocol design and scoping [NOT STARTED] * Furthering permissionless participation 1. Proof of Possession [IN PROGRESS] - 2. KR2: SPoCK Research + 2. KR2: SPoCK Research [PAUSED] **Done last Sprint:** - * Offer for Tim accepted as Protocol Eng I, starting Nov 18th - * - * EFM Recovery + * All smart contract changes for EFM recovery are completed and ready for deployment + * Finalized and merged a bunch of open PRs from last sprint: + * [Model.Proposal refactoring](https://github.com/onflow/flow-go/pull/6526) + * [EFM recovery new types cadence conversion](https://github.com/onflow/flow-go/pull/6506) + * [Finalized and prepared for review EFM integration test and all needed changes to make it work](https://github.com/onflow/flow-go/pull/6424) * Cryptography + * Proof Of Possession: + * Update the contract - add new transaction for Ledger backward compatibility + * Setup the Ledger dev environment + * Started Ledger app update - fixing integration tests + * Reviewed account creation PR + * Update account key crypto constraints in core-contract repo and related documentation + * Review new "crypto" core-contract - tried to update the e2e repo but left GH issues + * Passkeys light reading * Data Availability - KROK Team @@ -196,16 +219,18 @@ Cycle Objective(s): - Address tech debt [1](https://github.com/onflow/flow-go/pull/6547), [2](https://github.com/onflow/flow-go/pull/6554) * Misc other + - Offer for Tim accepted as Protocol Eng I, starting Nov 18th + - Merged Bluesign's Mini-Emulator to remove our flow-emulator dependency - Ongoing Pebble migration PR reviews **This sprint** * EFM Recovery - - [Implement an integration test for EFM and DKG IndexMap](https://github.com/onflow/flow-go/issues/6331) - - Complete main EFM recovery logic PR - - [Merge Protocol version upgrade PR](https://github.com/onflow/flow-core-contracts/pull/419) - - Merge open PRs that are under review - - Finish integration test and related DKG issue + - EFM Recovery Benchnet testing + - Address comments and merge [EFM Integration Test Part 2](https://github.com/onflow/flow-go/pull/6424) + - Look into potential deployment of EFM recovery using protocol upgrade. + - Tie loose ends in EFM + * Data Availability - KROK Team @@ -221,11 +246,11 @@ Cycle Objective(s): - Tech debt [1](https://github.com/onflow/flow-go/issues/6564), [2](https://github.com/onflow/flow-go/issues/6566), [3](https://github.com/onflow/flow-go/issues/6497) * Cryptography - - Passkeys reading (understanding the standard) - PoP: - - Polish the contract - Ledger backward compatibility - - Setup the Ledger environment to build Ledger apps - - SPoCK aggregation: continue reading the KOSK-based proof + * Continue Ledger app dev + * Fix remaining tests + * Fix js tests + - Continue passkeys research * Misc other - Ongoing Pebble migration PR reviews From 78dd057c8d7e3471df28a34c66d92139956ef24a Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 1 Nov 2024 09:22:52 -0700 Subject: [PATCH 575/626] Update 2024-11-1-Flow-Sprint-Kickoff.md --- .../2024-11-1-Flow-Sprint-Kickoff.md | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index b13170e65..efd79161c 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -12,18 +12,10 @@ - Cadence Source compatibility suite update - we now run unit tests on community repos to validate new Cadence versions & expaneded the suite to run tests using Cadence Testing Framework. - Validated Pebble DB releases data during pruning - we were able to prune the Data chunk pack DB from GBs after few days of running to ~6MB. - Cadence working group - Reviewed 8 open FLIPS - - Approved - - [275](https://github.com/onflow/flips/pull/276) - - [288](https://github.com/onflow/flips/pull/289) - - [293](https://github.com/onflow/flips/pull/294) - - Ice-boxed - - [#41](https://github.com/onflow/flips/pull/41) - - Keeping open for community contribution - - [251](https://github.com/onflow/flips/pull/245) - - Require follow-up - - [198](https://github.com/onflow/flips/pull/198) - - [255](https://github.com/onflow/flips/pull/256) - - [295](https://github.com/onflow/flips/pull/295) + - Approved: [275](https://github.com/onflow/flips/pull/276), [288](https://github.com/onflow/flips/pull/289), [293](https://github.com/onflow/flips/pull/294) + - Ice-boxed: [#41](https://github.com/onflow/flips/pull/41) + - Keeping open for community contribution: [251](https://github.com/onflow/flips/pull/245) + - Require follow-up: [198](https://github.com/onflow/flips/pull/198), [255](https://github.com/onflow/flips/pull/256), [295](https://github.com/onflow/flips/pull/295) - Flow AI added to Docs - Docs: Reduced steps in getting started and refocused docs home page focus from EVM to Cadence - Worked with community (Deniz) to optimize Cadence NFT serialization en route to EVM From 6ca542e80ab4527c7bc773328748664147437f57 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 1 Nov 2024 09:23:08 -0700 Subject: [PATCH 576/626] typo --- agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index efd79161c..1bae042a0 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -13,7 +13,7 @@ - Validated Pebble DB releases data during pruning - we were able to prune the Data chunk pack DB from GBs after few days of running to ~6MB. - Cadence working group - Reviewed 8 open FLIPS - Approved: [275](https://github.com/onflow/flips/pull/276), [288](https://github.com/onflow/flips/pull/289), [293](https://github.com/onflow/flips/pull/294) - - Ice-boxed: [#41](https://github.com/onflow/flips/pull/41) + - Ice-boxed: [41](https://github.com/onflow/flips/pull/41) - Keeping open for community contribution: [251](https://github.com/onflow/flips/pull/245) - Require follow-up: [198](https://github.com/onflow/flips/pull/198), [255](https://github.com/onflow/flips/pull/256), [295](https://github.com/onflow/flips/pull/295) - Flow AI added to Docs From f537e2e5fe554d46ba0c099dae867b9c5735785a Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 1 Nov 2024 09:25:02 -0700 Subject: [PATCH 577/626] Perhaps not certain --- agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index 1bae042a0..b5b1c4197 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -273,9 +273,7 @@ Cycle Objective(s): * Resolve 2x Axelar nodes activation issues to unblock bridge * Keep helping partners and node operators * Review/merge upcoming JVM SDK PRs to get to Go SDK parity - * Soft launch Hyperlane BTC bridge (hopefully) - * Kick off Credora (off to on chain credit scoring) and Ethereum Attestion Service integration - + **On Hold** --- From ecc6863c40d977be4ab5074b82861ff9632e525c Mon Sep 17 00:00:00 2001 From: Kan Zhang Date: Fri, 1 Nov 2024 10:51:28 -0600 Subject: [PATCH 578/626] Update 2024-11-1-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index b5b1c4197..0f027b3dd 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -367,10 +367,11 @@ Issues Cycle Objective(s): -- [Please enter cycle objectives for Q4 2024] +- [Objective: Enable safe self-custody of assets on Flow with Flow Wallet](https://github.com/orgs/onflow/projects/66/views/1?filterQuery=wallet&pane=issue&itemId=82980989&issue=onflow%7Cflow-okrs%7C61) **Done last sprint** + **This sprint** From c87fc8275b0cdea8e2fd4b20198da89eda36018f Mon Sep 17 00:00:00 2001 From: Lea Lobanov Date: Tue, 5 Nov 2024 23:31:22 +0900 Subject: [PATCH 579/626] Bump libraries with detected vulnerabilities --- protobuf/build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/protobuf/build.gradle.kts b/protobuf/build.gradle.kts index 187114921..ac6902dfb 100644 --- a/protobuf/build.gradle.kts +++ b/protobuf/build.gradle.kts @@ -9,7 +9,7 @@ fun getProp(name: String, defaultValue: String? = null): String? { // configuration variables val defaultGroupId = "org.onflow" -val defaultVersion = "1.1.0" +val defaultVersion = "1.1.1" group = getProp("groupId", defaultGroupId)!! version = when { @@ -28,8 +28,8 @@ plugins { id ("com.vanniktech.maven.publish") version "0.28.0" } -val protobufVersion = "3.14.0" -val grpcVersion = "1.35.0" +val protobufVersion = "4.26.0" +val grpcVersion = "1.68.1" dependencies { api("com.google.protobuf:protobuf-java:$protobufVersion") From 7234611447f02734bee7b890c9ddfefff6beb4fd Mon Sep 17 00:00:00 2001 From: Daniel Ichshuk <45372041+danielimkk@users.noreply.github.com> Date: Wed, 13 Nov 2024 16:40:43 +0500 Subject: [PATCH 580/626] Update NodeOperatorList.md --- nodeoperators/NodeOperatorList.md | 1 + 1 file changed, 1 insertion(+) diff --git a/nodeoperators/NodeOperatorList.md b/nodeoperators/NodeOperatorList.md index e803cf459..e61a30f6b 100644 --- a/nodeoperators/NodeOperatorList.md +++ b/nodeoperators/NodeOperatorList.md @@ -16,6 +16,7 @@ | Node Operator | Node Type | Node ID | | :---------------------:| :-----------:| :---------------------------------------------------------------:| | Alxo | Verification | f7422f2d3296ede4d1efb36ec55e3fd93702c061f7ee627881f0b3007beff2ed | +| Ankr | Verification | f441ce06e155367c05c941b68fdb1bb3f0cb9efe0d8cc9a9932d7d1dbfd13f2c | | Binance Staking | Verification | 7c589e6cc38508b27545d052073ab3aa84a35425bd2881205d778cca95f10a7b | | Bitcoin Louie | Verification | fffba108a52e4ca8f5d30658c3f03f47ad1cc13a0995435c0532336236813218 | | Block Daemon | Verification | 1cf032dd5b3cf9a63943e1f04472bb57cc1240d5cdd86c5fde05b4dabf8b1e7a | From 46310a3bc256e684cc7b3514320799b911924d82 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 14 Nov 2024 12:44:01 -0800 Subject: [PATCH 581/626] Create 2024-11-15-Flow-Sprint-Kickoff.md --- .../2024-11-15-Flow-Sprint-Kickoff.md | 265 ++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..01b60efda --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -0,0 +1,265 @@ +# Overview + + ### Team Wins 🎉 + + * + +--- + +### Mainnet Uptime - Last 14 days (11/4/24 to 11/15/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.97% | 32.2% | + +#### Incidents +* + +--- + +### FLIPs Tracker \[Kshitij] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 7 | 6 | 0 | 5 | **18** | +| Proposed | 3 | 1 | 2 | 1 | **7** | +| Accepted | 2 | 1 | 1 | 2 | **6** | +| Rejected | 0 | 0 | 1 | 0 | **1** | +| Implemented | 1 | 19 | 1 | 0 | **21** | +| Released | 4 | 0 | 2 | 4 | **10** | +| Total | **17** | **27** | **7** | **12** | **63** | + +- Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) +- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. +(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): End of Feb - Crescendo update, Testnet and mainnet sporks TBD. +- Next Mainnet/Testnet HCU: Testnet HCU - Monday, 5th Feb, Mainnet HCU - Wednesday, 7th Feb. +- End of Cycle: + +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + +* + +**This sprint** + +* + +**On Hold** + +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) + + +**Active Epics** + +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR2: Launch Cadence 1.0 on Crescendo Testnet +- KR3: Launch EVM on Crescendo Testnet +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Translate crypto performance improvements to consensus block rate increase +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue BFT mitigations to enable 10 permissionless ANs +* Continue design of Dynamic Protocol + +**Done last sprint** + +* + +**This sprint** + +* + +**On Hold** +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- DEX Prep - IncrementFi +- Bridge Prep - Axelar + +**Done last sprint** + +* + +**This sprint** + +* + +**On Hold** +- N/A + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + +* + +**This sprint** + +**Sprint goal focusing on adding docs and tool support for Crescendo network and Cadence 1.0** + +- [Add Crescendo network support to FCL Discovery](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50332654) +- [Add Crescendo Network to CLI (config, cmds, docs, etc)](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50297186) +- [Add/Publish Initial EVM Docs](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952883) +- [Docs Revamp v3](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49327073) +- [Add C1.0 Rules to Cadence Linter](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952640) +- [Update Playground to support Cadence 1.0](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49844013) +- [Stable Cadence Installation Workflow](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51951905) + + +**On Hold** + +- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +- N/A + +**This sprint** + +- Begin creating developer documentation highlighting FlowEVM +- Updating cadence transactions / scripts for Cadence 1.0 +- Begin executing on FlowEVM updates to Flow Wallet +- Scheduled calls with MetaMask and Coinbase Wallet teams to intro FlowEVM and gather their requirements. + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Migrate Flow metrics & logs to Flow Foundation grafana account to reduce cost on DapperLabs + +**Done last sprint** + +* + +**This sprint** + +**Goal of Sprint is to migrate from DapperLabs account to FlowFoundation account** + +* + +**On Hold** +**Active Epics** + +--- + +### **Governance and Tokenomics** \[Vishal] +Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. + +**Done last sprint** + +* + +**This sprint** + +- Research transaction fees on other L1s +- Research Transaction fees for Flow EVM. + + +**On Hold** + +- N/A + + +**Active Epics** + +- N/A From 717e263fd335a40960d4b2550ad76a180cade7d7 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 14 Nov 2024 13:02:18 -0800 Subject: [PATCH 582/626] Update 2024-11-15-Flow-Sprint-Kickoff.md --- .../2024-11-15-Flow-Sprint-Kickoff.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 01b60efda..cd26d81de 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -21,17 +21,17 @@ --- -### FLIPs Tracker \[Kshitij] +### FLIPs Tracker \[Vishal] | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 7 | 6 | 0 | 5 | **18** | -| Proposed | 3 | 1 | 2 | 1 | **7** | -| Accepted | 2 | 1 | 1 | 2 | **6** | +| Drafted | 8 | 6 | 0 | 8 | **22** | +| Proposed | 3 | 1 | 3 | 0 | **7** | +| Accepted | 2 | 1 | 2 | 2 | **7** | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 1 | 19 | 1 | 0 | **21** | -| Released | 4 | 0 | 2 | 4 | **10** | -| Total | **17** | **27** | **7** | **12** | **63** | +| Implemented | 3 | 28 | 1 | 0 | **32** | +| Released | 4 | 0 | 5 | 6 | **15** | +| Total | **20** | **36** | **12** | **16** | **84** | - Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) - Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. From d20095b5f9031f158cfaa8d1ade781185664962a Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 14 Nov 2024 13:13:19 -0800 Subject: [PATCH 583/626] Update 2024-11-15-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index cd26d81de..6ff19add3 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -25,15 +25,15 @@ | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 6 | 0 | 8 | **22** | -| Proposed | 3 | 1 | 3 | 0 | **7** | +| Drafted | 8 | 6 | 0 (-1) | 8 (+1) | **22** | +| Proposed | 3 (+2) | 1 (-3) | 3 | 0 | **7** | | Accepted | 2 | 1 | 2 | 2 | **7** | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 3 | 28 | 1 | 0 | **32** | -| Released | 4 | 0 | 5 | 6 | **15** | -| Total | **20** | **36** | **12** | **16** | **84** | +| Implemented | 3 | 28 (+3) | 1 | 0 | **32** | +| Released | 4 | 0 | 5 (+1) | 6 | **15** | +| Total | **20** (+2) | **36** | **12** | **16** (+1) | **84** (+3) | -- Overall FLIPs went up by 4 vis-a-vis last month (2 new application FLIP was drafted, while 2 moved from proposed status) +- Overall FLIPs went up by 3 as compared to last month - Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) From 7308c3cc226eef50f61d418299b814c5d1375eb6 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 14 Nov 2024 13:57:48 -0800 Subject: [PATCH 584/626] Update 2024-11-15-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 6ff19add3..3066af50f 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -25,15 +25,15 @@ | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 6 | 0 (-1) | 8 (+1) | **22** | -| Proposed | 3 (+2) | 1 (-3) | 3 | 0 | **7** | +| Drafted | 8 | 6 | 0 (-1) | 8 (+1) | **22** | +| Proposed | 1 | 2 (-2) | 3 | 0 | **6** (-2) | | Accepted | 2 | 1 | 2 | 2 | **7** | | Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 3 | 28 (+3) | 1 | 0 | **32** | -| Released | 4 | 0 | 5 (+1) | 6 | **15** | -| Total | **20** (+2) | **36** | **12** | **16** (+1) | **84** (+3) | +| Implemented | 3 | 28 (+3) | 1 | 0 | **32** (+3) | +| Released | 4 | 0 | 5 (+1) | 6 | **15** (+1) | +| Total | **18** | **37** (+1) | **12** | **16** (+1) | **83** (+2) | -- Overall FLIPs went up by 3 as compared to last month +- Overall FLIPs went up by 2 as compared to last month - Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) From f03d69dc310cdc5c1fa186e5159e632cb55fca7c Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 14 Nov 2024 13:58:44 -0800 Subject: [PATCH 585/626] Update 2024-11-15-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 3066af50f..4085dfa02 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -34,7 +34,8 @@ | Total | **18** | **37** (+1) | **12** | **16** (+1) | **83** (+2) | - Overall FLIPs went up by 2 as compared to last month -- Some FLIPs are still not reflected in the project tracker. **Remember**: FLIP process starts with an issue creation. +- Some FLIPs are still not reflected in the project tracker. +- **Reminder**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) ### Key Release Dates & Breaking Changes From ef78656b91c60a23df3408617a593030b7652617 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 14 Nov 2024 14:25:34 -0800 Subject: [PATCH 586/626] Update 2024-11-15-Flow-Sprint-Kickoff.md --- .../2024-11-15-Flow-Sprint-Kickoff.md | 25 +------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 4085dfa02..5af9bc82e 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -40,9 +40,7 @@ ### Key Release Dates & Breaking Changes -- Next Mainnet/Testnet network upgrade (spork): End of Feb - Crescendo update, Testnet and mainnet sporks TBD. -- Next Mainnet/Testnet HCU: Testnet HCU - Monday, 5th Feb, Mainnet HCU - Wednesday, 7th Feb. -- End of Cycle: +- Next Mainnet/Testnet network upgrade (spork): TBD --- @@ -243,24 +241,3 @@ Cycle Objective(s): --- -### **Governance and Tokenomics** \[Vishal] -Cycle Objective(s): Transaction fees on EVM, increasing transaction fees and inflation reduction plan. - -**Done last sprint** - -* - -**This sprint** - -- Research transaction fees on other L1s -- Research Transaction fees for Flow EVM. - - -**On Hold** - -- N/A - - -**Active Epics** - -- N/A From 8cd085b5c98a9fdacad99eec25df0d223e1464a3 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Thu, 14 Nov 2024 16:53:33 -0700 Subject: [PATCH 587/626] Add infra section --- .../2024-11-15-Flow-Sprint-Kickoff.md | 32 ++++++++++++++----- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 5af9bc82e..8d38eb4ac 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -223,21 +223,37 @@ Cycle Objective(s): --- ### **Infra - JP** -Cycle Objective(s): -- Migrate Flow metrics & logs to Flow Foundation grafana account to reduce cost on DapperLabs **Done last sprint** -* +**Repo Migration** +* [Fix BN2 Workflows in new repo](https://github.com/onflow/flow-go-internal/pull/6996) +* Add support for new repo to reach BN2 cluster -**This sprint** +**IAM Migration** +* Add access for new FF groups in BN2 +* Worked with engineers to validate initial FF group changes -**Goal of Sprint is to migrate from DapperLabs account to FlowFoundation account** +**Automation** +* [Created documentation for standardizing EN snapshots to benchmark project](https://www.notion.so/flowfoundation/Create-Disks-from-EN-Snapshots-1311aee123248034a8d6e6c7bda17dde) +* [Created infrastructure for batch proccess execution](https://github.com/onflow/ff-sre-infrastructure/pull/55) +* [Create automation for standardizing batch process execution with snapshot data](https://github.com/onflow/ff-sre-automation/pull/1) +* [Add support for batch process timeouts](https://github.com/onflow/ff-sre-automation/pull/2) +* [Document Batch Process Execution and Extension](https://www.notion.so/flowfoundation/Batch-Job-Execution-13d1aee1232480d18f03e61f2d4b1f2b) +* Update integration & unit tests to support private cadence builds -* +**Hyperlane Deployment** +* Deleted unnecessary validators +* Updated hyperlane images & validated requirements -**On Hold** -**Active Epics** +**EVM GW** +* Created new TN & MN EVM GW endpoints for preview testing + +**This sprint** +* Finish FF IAM Group migration +* Scope work to migrate domain registrars +* Continue evaluating SRE candidates +* Identify & document key SRE processes for the protocol team --- From 6b82aa04ef77f90bc61ed1a76fa60c62311b524a Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Thu, 14 Nov 2024 16:07:05 -0800 Subject: [PATCH 588/626] Cadence WG update --- .../2024-11-15-Flow-Sprint-Kickoff.md | 85 +++++++++++++------ 1 file changed, 61 insertions(+), 24 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 5af9bc82e..d1be105c1 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -44,45 +44,82 @@ --- - # Working Group Updates ### **Cadence and Virtual Machine** \[Jan] -Cycle Objective(s): -1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow -2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. -3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. +**Cycle Objectives** + +[Cadence Language](https://github.com/onflow/cadence/issues/3623) -* Stretch-goals: -4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data -5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. -6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) -7) Improve execution performance to mitigate the impact of adding metadata to token standards +[Cadence VM (execution environment)](https://github.com/onflow/flow-go/issues/6577) **Done last sprint** -* +**Cadence Language** +- Feature: + - [Add string formatting function](https://github.com/onflow/cadence/issues/3579) +- Tech debt removal: + - [Remove unused Identifier() function from structs implementing atree.TypeInfo](https://github.com/onflow/cadence/issues/3674) +- Collaboration on Cadence learning app (GoldStar): + - [Add challenge paths](https://github.com/onflow/gold-star/pull/6) + - [Add challenge which must be manually evaluated](https://github.com/onflow/gold-star/pull/5) + - [Refactor profile submissions and socials, add function and script to allow updating socials](https://github.com/onflow/gold-star/pull/4) +- Tools improvements: + - Language server - [Update access modifiers to Cadence 1.0](https://github.com/onflow/cadence-tools/pull/445) + +**Cadence Execution** +- Storage optimization: [Combine non-atree domain payloads into atree payloads](https://github.com/onflow/cadence/issues/3584) + - [Replace domain string with enum for AccountStorageMap key](https://github.com/onflow/cadence/pull/3677) + - [Refactor storage domains to prevent import cycles and simplify maintenance](https://github.com/onflow/cadence/pull/3673) + - [Combine domain payloads and provide on-the-fly migration](https://github.com/onflow/cadence/pull/3664) +- Compiler POC - Move VM benchmarking: + - [Update to aptos-core](https://github.com/RZhang05/cadence_movevm/pull/1) +- Minor improvement - [Print log when checks the executed block matches the sealed result](https://github.com/onflow/flow-go/pull/6559) + +**EVM Core** +- Bugfix: + - [Move tracing reset to `OnTxEnd` hook](https://github.com/onflow/flow-go/pull/6627) + +**EVM Gateway** +- Dry-run feature: + - [Ingestion Performance improvements](https://github.com/onflow/flow-evm-gateway/pull/653) + - [Storage fixes](https://github.com/onflow/flow-evm-gateway/pull/652) + - [Use batch to init blocks](https://github.com/onflow/flow-evm-gateway/pull/650) + - [Changed evm height in requester to uint](https://github.com/onflow/flow-evm-gateway/pull/649) + - [Special evm height handling](https://github.com/onflow/flow-evm-gateway/pull/645) + - [Add register storage](https://github.com/onflow/flow-evm-gateway/pull/640) + - [Integrate & incorporate flow-go's `onchain` package](https://github.com/onflow/flow-evm-gateway/pull/635) + - [Simplify usage of FixedHash field on Block type](https://github.com/onflow/flow-evm-gateway/pull/520) +- ERC-4337 integration: + - [Add support for ethapi.StateOverride in relevant JSON-RPC endpoints](https://github.com/onflow/flow-evm-gateway/issues/655) +- Bugfix: + - [Hardhat ignition deployments fail on testnet & mainnet](https://github.com/onflow/flow-evm-gateway/issues/647) +- Testing: + - [Split out cadence arch and traces tests](https://github.com/onflow/flow-evm-gateway/pull/646) **This sprint** -* - -**On Hold** +- Complete [EVM Gateway Hardening](https://github.com/onflow/flow-go/issues/6539) -Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption -- KR1: Update weights for the execution operations on TN and MN - - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) +- Cadence Language + - Security report + - Complete remaining Tech-debt [Tech Debt](https://github.com/onflow/cadence/issues/3595) + - Continue work on Content for [commuity outreach](https://github.com/onflow/cadence/issues/3596) + - Continue work on the [Cadence compiler POC](https://github.com/onflow/cadence/issues/3612) + - Continue work on [Cadence language Specification](https://github.com/onflow/cadence/issues/3599) +- Cadence Execution + - Complete [optimization for Cadence domain storage](https://github.com/onflow/cadence/issues/3584) + - Start new Trie research + - Evaluate / Start [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + - Badger -> Pebble migration: continue work on [Chunk Data pack Pruner](https://github.com/onflow/flow-go/issues/6516) -**Active Epics** +**On Hold** -Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow -- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades -- KR2: Launch Cadence 1.0 on Crescendo Testnet -- KR3: Launch EVM on Crescendo Testnet -Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs -- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency +- [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) +- [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) +- [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) --- From fe7ce8910dc920daf2921e28bce0f3836b5abe84 Mon Sep 17 00:00:00 2001 From: Peter Argue <89119817+peterargue@users.noreply.github.com> Date: Fri, 15 Nov 2024 07:24:07 +0700 Subject: [PATCH 589/626] update data availability sprint 2024-11-15 --- .../2024-11-1-Flow-Sprint-Kickoff.md | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md index 0f027b3dd..8c2e271e5 100644 --- a/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-1-Flow-Sprint-Kickoff.md @@ -209,11 +209,14 @@ Cycle Objective(s): * Data Availability - KROK Team - - Websockets initial design complete - - Add Time To Seal metric ([PR #6512](https://github.com/onflow/flow-go/pull/6512), [PR #6605](https://github.com/onflow/flow-go/pull/6605)) - - Store tx result error messages in database ([PR #6468](https://github.com/onflow/flow-go/pull/6468)) - - SDK alignment [1](https://github.com/onflow/flow-go-sdk/pull/778), [2](https://github.com/onflow/flow-go-sdk/pull/779), [3](https://github.com/onflow/flow-go-sdk/pull/780), [4](https://github.com/onflow/flow-go-sdk/pull/790) - - Address tech debt [1](https://github.com/onflow/flow-go/pull/6547), [2](https://github.com/onflow/flow-go/pull/6554) + - Backport payer balance checking PRs ([PR #6549](https://github.com/onflow/flow-go/pull/6549)) + - Refactor REST package for websockets ([PR #6616](https://github.com/onflow/flow-go/pull/6616)) + - Add tx error message backfill util ([PR #6525](https://github.com/onflow/flow-go/pull/6525)) + - Refactor EN picking logic for tx result API ([PR #6499](https://github.com/onflow/flow-go/pull/6499)) + - Update SendAndSubscribe to use 0 offset for MessageIndex ([PR #6598](https://github.com/onflow/flow-go/pull/6598)) + - Fix bug in TTS metric ([PR #6624](https://github.com/onflow/flow-go/pull/6624)) + - Security improvements ([PR #6621](https://github.com/onflow/flow-go/pull/6621), [PR #6596](https://github.com/onflow/flow-go/pull/6596), [PR #6567](https://github.com/onflow/flow-go/pull/6567)) + - SDK alignment [1](https://github.com/onflow/flow-go-sdk/pull/794), [2](https://github.com/onflow/flow-go-sdk/pull/789), [3](https://github.com/onflow/flow-go-sdk/pull/792), [4](https://github.com/onflow/flow-go-sdk/pull/781) * Misc other - Offer for Tim accepted as Protocol Eng I, starting Nov 18th @@ -232,15 +235,10 @@ Cycle Objective(s): * Data Availability - KROK Team - Websockets redesign ([Epic #6163](https://github.com/onflow/flow-go/issues/6163)) - - Implement router ([Issue #6593](https://github.com/onflow/flow-go/issues/6593) - In review, [Issue #6583](https://github.com/onflow/flow-go/issues/6583) - In progress, [Issue #6584](https://github.com/onflow/flow-go/issues/6584) - In progress) - - Improvements to tx result streaming endpoint ([Issue #6573](https://github.com/onflow/flow-go/issues/6573), [Issue #6574](https://github.com/onflow/flow-go/issues/6574), [Issue #6575](https://github.com/onflow/flow-go/issues/6575), [Issue #6604](https://github.com/onflow/flow-go/issues/6604)) + - Implement router ([Issue #6593](https://github.com/onflow/flow-go/issues/6593) - In review, [Issue #6583](https://github.com/onflow/flow-go/issues/6583) - In review, [Issue #6584](https://github.com/onflow/flow-go/issues/6584) - In review) + - Improvements to tx result streaming endpoint ([Issue #6573](https://github.com/onflow/flow-go/issues/6573), [Issue #6574](https://github.com/onflow/flow-go/issues/6574), [Issue #6604](https://github.com/onflow/flow-go/issues/6604)) - Registers db pruning ([Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) - - Backfill tool for tx result errors ([Issue #6413](https://github.com/onflow/flow-go/issues/6413) - In review) - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357) - In progress) - - Access API / Go SDK alignment ([Epic #735](https://github.com/onflow/flow-go-sdk/issues/735)) - - Unify streaming endpoints code duplication ([Issue #763](https://github.com/onflow/flow-go-sdk/issues/763) - In review) - - Fixes/Improvements [1](https://github.com/onflow/flow-go-sdk/issues/783), [2](https://github.com/onflow/flow-go-sdk/issues/784), [3](https://github.com/onflow/flow-go-sdk/issues/767) - - Tech debt [1](https://github.com/onflow/flow-go/issues/6564), [2](https://github.com/onflow/flow-go/issues/6566), [3](https://github.com/onflow/flow-go/issues/6497) * Cryptography - PoP: From 25b1c810ee1d509c3cee3460680a5c86f8b02dad Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 14 Nov 2024 16:36:54 -0800 Subject: [PATCH 590/626] Update 2024-11-15-Flow-Sprint-Kickoff.md --- .../2024-11-15-Flow-Sprint-Kickoff.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 0ec6c7ef2..ba712fdd3 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -26,15 +26,15 @@ | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| | Drafted | 8 | 6 | 0 (-1) | 8 (+1) | **22** | -| Proposed | 1 | 2 (-2) | 3 | 0 | **6** (-2) | -| Accepted | 2 | 1 | 2 | 2 | **7** | -| Rejected | 0 | 0 | 1 | 0 | **1** | -| Implemented | 3 | 28 (+3) | 1 | 0 | **32** (+3) | +| Proposed | 1 | 2 (-2) | 3 | 0 | **6** (-2) | +| Accepted | 2 | 2 (+1) | 2 | 2 | **8** (+1) | +| Rejected | 0 | 1 (+1) | 1 | 0 | **2** (+1) | +| Implemented | 3 | 38 (+13) | 1 | 0 | **42** (+13) | | Released | 4 | 0 | 5 (+1) | 6 | **15** (+1) | -| Total | **18** | **37** (+1) | **12** | **16** (+1) | **83** (+2) | +| Total | **18** | **49** (+13) | **12** | **16** (+1) | **95** (+14) | -- Overall FLIPs went up by 2 as compared to last month -- Some FLIPs are still not reflected in the project tracker. +- 1 new FLIP was added last month and 13 untracked FLIPS are now being tracked. +~~- Some FLIPs are still not reflected in the project tracker.~~ - **Reminder**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) From 24dfe3d9c3b7083c2adaf97e932ae4955b82ada9 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 14 Nov 2024 16:38:40 -0800 Subject: [PATCH 591/626] Update 2024-11-15-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index ba712fdd3..4916a19db 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -34,7 +34,7 @@ | Total | **18** | **49** (+13) | **12** | **16** (+1) | **95** (+14) | - 1 new FLIP was added last month and 13 untracked FLIPS are now being tracked. -~~- Some FLIPs are still not reflected in the project tracker.~~ +- ~~Some FLIPs are still not reflected in the project tracker.~~ - **Reminder**: FLIP process starts with an issue creation. (https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) From b437fdf83ade58f6c860006c67246b9a9bd09c0d Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Thu, 14 Nov 2024 16:45:30 -0800 Subject: [PATCH 592/626] Update 2024-11-15-Flow-Sprint-Kickoff.md --- .../2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 4916a19db..aeb349b4d 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -14,10 +14,12 @@ | Block Finalization | 99.9% | 100% | 0% | | Transaction Execution | 99.9% | 100% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | 99.97% | 32.2% | +| Access API Liveness | 99.9% | ? | ? | + +YTD SLA: 99.54% #### Incidents -* +* None --- From 192437697d6d9165cdeac3aaa30f7bae53623cb3 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Nov 2024 14:26:13 +0100 Subject: [PATCH 593/626] Add cryptography updates --- .../2024-11-15-Flow-Sprint-Kickoff.md | 40 +++++++++++++++++-- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index aeb349b4d..82bc304ea 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -136,10 +136,46 @@ Cycle Objective(s): **Done last sprint** -* +* EFM Recovery + - EFM Recovery Benchnet testing + - Address comments and merge [EFM Integration Test Part 2](https://github.com/onflow/flow-go/pull/6424) + - Look into potential deployment of EFM recovery using protocol upgrade. + - Tie loose ends in EFM + + +* Data Availability + - KROK Team + - Websockets redesign ([Epic #6163](https://github.com/onflow/flow-go/issues/6163)) + - Implement router ([Issue #6593](https://github.com/onflow/flow-go/issues/6593) - In review, [Issue #6583](https://github.com/onflow/flow-go/issues/6583) - In review, [Issue #6584](https://github.com/onflow/flow-go/issues/6584) - In review) + - Improvements to tx result streaming endpoint ([Issue #6573](https://github.com/onflow/flow-go/issues/6573), [Issue #6574](https://github.com/onflow/flow-go/issues/6574), [Issue #6604](https://github.com/onflow/flow-go/issues/6604)) + - Registers db pruning ([Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) + - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357) - In progress) + +* Cryptography + - PoP: + - Finished Ledger app code updates + Ledger JS client + - Fixed tests for Ledger app on simulator + js client tests + - However, simulator STAX device tests are broken - likely because of a recent Ledger test framework breaking change (checking with Vacuumlabs) + - Started tests on a real device (nanoS) + Tom has been working on a flow-port test version (debugging still ongoing) + - Brainstorm at erasure codes to optimize the networking layer messaging + - Eth global + - Hackathon prep : play with wallets - EVM - CLI + - Attending main and side events + +* Misc other + - Ongoing Pebble migration PR reviews **This sprint** +* EFM Recovery + + +* Data Availability + +* Cryptography + - PoP: + - Continue investigating the testing breaking change STAX issue with VacuumLabs + - Continue working on a real device and flow-port test (with Tom's support) * **On Hold** @@ -159,8 +195,6 @@ Cycle Objective(s): ### **DeFi** \[Jerome] Cycle Objective(s): -- Resolving Circle's existing engineering improvements for USDC on Flow -- DEX Prep - IncrementFi - Bridge Prep - Axelar **Done last sprint** From 89500bb7507dae01e63b6c0365a5025cc73ec1f1 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Nov 2024 14:28:21 +0100 Subject: [PATCH 594/626] Correct Protocol cycle objectives --- .../2024-11-15-Flow-Sprint-Kickoff.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 82bc304ea..43b4c41cb 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -128,11 +128,15 @@ YTD SLA: 99.54% ### **Core Protocol** \[Jerome] Cycle Objective(s): -* Translate crypto performance improvements to consensus block rate increase -* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node -* Reduce CPU usage on Execution node by 30% -* Continue BFT mitigations to enable 10 permissionless ANs -* Continue design of Dynamic Protocol +* Restore Flow protocol eng team to required critical mass [IN PROGRESS] +* Faster transaction results to improve user experience [IN PROGRESS] +* Address vectors which risk network downtime + 1. Operationalize EFM Recovery [IN PROGRESS] + 2. Protocol level HCU [NOT STARTED] +* Add passkey support: Protocol design and scoping [NOT STARTED] +* Furthering permissionless participation + 1. Proof of Possession [IN PROGRESS] + 2. KR2: SPoCK Research [PAUSED] **Done last sprint** From 1ddc888cf8f11a74f5520c0ef21147c2ab1f759c Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Nov 2024 14:33:32 +0100 Subject: [PATCH 595/626] Misc updates to bring doc up to date --- .../2024-11-15-Flow-Sprint-Kickoff.md | 60 +++---------------- 1 file changed, 8 insertions(+), 52 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 43b4c41cb..44cfeea9a 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -183,24 +183,16 @@ Cycle Objective(s): * **On Hold** -* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. -**Active Epics** - -- Reinforcing Flow’s commitment to full protocol autonomy and scalability -- Improve network performance -- Improve network availability -- Simplify community contributions to core protocol and maintainability -- Improve network reliability and data availability for dApp developers -- Data-driven Prioritization and Scaling Engineering --- ### **DeFi** \[Jerome] Cycle Objective(s): -- Bridge Prep - Axelar - +- Close gaps in Defi/Liquidity infrastructure post-Cadence 1.0 +- Bring liquidity and and kick start ecosystem effects + **Done last sprint** * @@ -220,64 +212,28 @@ Cycle Objective(s): --- -### **User Experience** \[Greg] +### **User Experience** \[Kan] Cycle Objective(s): -- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort -- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network -- Use the Crescendo Release grow Flow's developer base and network activity - + - Improve Quality of Life, Level Up Dev Documentation and Learning Path, Supercharge EVMxCadence, Inspire and Excite Wave of New Flow Devs + **Done last sprint** * **This sprint** -**Sprint goal focusing on adding docs and tool support for Crescendo network and Cadence 1.0** - -- [Add Crescendo network support to FCL Discovery](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50332654) -- [Add Crescendo Network to CLI (config, cmds, docs, etc)](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50297186) -- [Add/Publish Initial EVM Docs](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952883) -- [Docs Revamp v3](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49327073) -- [Add C1.0 Rules to Cadence Linter](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952640) -- [Update Playground to support Cadence 1.0](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49844013) -- [Stable Cadence Installation Workflow](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51951905) - **On Hold** -- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) - +- bridge.flow.com + --- ### **Wallet** \[Jeff] Cycle Objective(s): -- Ensure there exists a wallet ecosystem supports FlowEVM - - Release version 2.2 of Flow Wallet which supports FlowEVM - - Support Authn / Authz / User Sign with Web3.js and WalletConnect - - Support FT and NFT management cross VMs - - FlowEVM onboarding and COA creation - - Ensure commitments from key EVM wallet providers to support FlowEVM - - Secure FlowEVM as an option in the network selector list for MetaMask. - - Reach out to Coinbase wallet for a commitment to support FlowEVM - - Ensure commitments from key EVM wallet providers to support FlowEVM - - Reach out to Privy for a commitment to support FlowEVM - - Reach out to Bastion for a commitment to support FlowEVM - - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM - - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. - - Reach out to Blocto for a commitment to support FlowEVM - - Reach out to Shadow wallet for a commitment to support FlowEVM - - Reach out to Magic for a commitment to support FlowEVM - -- Promote safe, human readable transaction authorization on Flow - - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. - - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. - -- Modernize and improve FCL Discovery - - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. - **Done last sprint** - N/A From 9b51467200c799fd4140c529b7c3aa794e1cf17d Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Nov 2024 14:37:30 +0100 Subject: [PATCH 596/626] Added DeFi updates --- .../sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 44cfeea9a..36f9945bd 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -194,13 +194,14 @@ Cycle Objective(s): - Bring liquidity and and kick start ecosystem effects **Done last sprint** - -* +* Update Hyperlane valdiators to latest version and confirmed path to launch +* Wrapping up last remaining JVM SDK PRs to reach Go SDK parity **This sprint** - -* - +* Finalize multi-sign approach for Hyperlane and launch cbBTC bridge +* Merge final two JVM SDK PRs to reach Go SDK parity and cur a release to Maven artifacts +* Start onboarding Paradex and Layerzero + **On Hold** - N/A From 29e342dac2bd95490a2c91b07bff973d7dbadf57 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Nov 2024 14:45:09 +0100 Subject: [PATCH 597/626] Added various DeFi updates --- agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 36f9945bd..2db6c6689 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -196,10 +196,13 @@ Cycle Objective(s): **Done last sprint** * Update Hyperlane valdiators to latest version and confirmed path to launch * Wrapping up last remaining JVM SDK PRs to reach Go SDK parity +* Diagnosed rate limit issue that was affecting ThirdWeb issue that had been blocking Snag **This sprint** * Finalize multi-sign approach for Hyperlane and launch cbBTC bridge * Merge final two JVM SDK PRs to reach Go SDK parity and cur a release to Maven artifacts +* Validate KittyPunch are unblocked once EMV GW local state index is released +* Support Thirdweb in w RPC Edge service using their own dedicated ANs (QuickNode) * Start onboarding Paradex and Layerzero **On Hold** From afddc5ee18b0479390acdb13b7f00b03808776ab Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Nov 2024 14:45:56 +0100 Subject: [PATCH 598/626] Fix typo --- agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 2db6c6689..4088d0557 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -196,7 +196,7 @@ Cycle Objective(s): **Done last sprint** * Update Hyperlane valdiators to latest version and confirmed path to launch * Wrapping up last remaining JVM SDK PRs to reach Go SDK parity -* Diagnosed rate limit issue that was affecting ThirdWeb issue that had been blocking Snag +* Diagnosed rate limit issue that was blocking Snag when using Flow EVM **This sprint** * Finalize multi-sign approach for Hyperlane and launch cbBTC bridge From 73581a67341552b78affc8849cee6c0822baa9e8 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Nov 2024 14:54:11 +0100 Subject: [PATCH 599/626] Fix typos --- .../sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 4088d0557..2140630ba 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -141,7 +141,6 @@ Cycle Objective(s): **Done last sprint** * EFM Recovery - - EFM Recovery Benchnet testing - Address comments and merge [EFM Integration Test Part 2](https://github.com/onflow/flow-go/pull/6424) - Look into potential deployment of EFM recovery using protocol upgrade. - Tie loose ends in EFM @@ -194,15 +193,15 @@ Cycle Objective(s): - Bring liquidity and and kick start ecosystem effects **Done last sprint** -* Update Hyperlane valdiators to latest version and confirmed path to launch +* Update Hyperlane validators to latest version and confirmed path to launch * Wrapping up last remaining JVM SDK PRs to reach Go SDK parity * Diagnosed rate limit issue that was blocking Snag when using Flow EVM **This sprint** * Finalize multi-sign approach for Hyperlane and launch cbBTC bridge -* Merge final two JVM SDK PRs to reach Go SDK parity and cur a release to Maven artifacts -* Validate KittyPunch are unblocked once EMV GW local state index is released -* Support Thirdweb in w RPC Edge service using their own dedicated ANs (QuickNode) +* Merge final two JVM SDK PRs to reach Go SDK parity and publish release +* Validate KittyPunch are unblocked once EVM GW local state index is released +* Support Thirdweb w RPC Edge service standup using dedicated QuickNode ANs * Start onboarding Paradex and Layerzero **On Hold** From 064e60dd7dabce8727c8e9399d7bd20cda509399 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Nov 2024 15:03:47 +0100 Subject: [PATCH 600/626] More protocol updates --- .../sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 2140630ba..374e6526f 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -141,10 +141,10 @@ Cycle Objective(s): **Done last sprint** * EFM Recovery - - Address comments and merge [EFM Integration Test Part 2](https://github.com/onflow/flow-go/pull/6424) - - Look into potential deployment of EFM recovery using protocol upgrade. - - Tie loose ends in EFM - + - Continue working on different integration tests and recovery scenarios for EFM + - [EFM Integration Test Part 2 ](https://github.com/onflow/flow-go/pull/6424) + - [Node ejected before epoch recovery](https://github.com/onflow/flow-go/pull/6632) + - [Create integration test where DKG and consensus committees form a symmetric difference](https://github.com/onflow/flow-go/issues/6645) * Data Availability - KROK Team @@ -171,7 +171,8 @@ Cycle Objective(s): **This sprint** * EFM Recovery - + - Wrap up outstanding PRs currently under review + - [Implement last planned integration test](https://github.com/onflow/flow-go/issues/6645) * Data Availability From 789daef6d5e123e1e5576ac84317d9227296faac Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Nov 2024 15:13:45 +0100 Subject: [PATCH 601/626] Move JVM-SDK updates into 4D --- .../2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 374e6526f..a516ab7e4 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -195,12 +195,10 @@ Cycle Objective(s): **Done last sprint** * Update Hyperlane validators to latest version and confirmed path to launch -* Wrapping up last remaining JVM SDK PRs to reach Go SDK parity * Diagnosed rate limit issue that was blocking Snag when using Flow EVM **This sprint** * Finalize multi-sign approach for Hyperlane and launch cbBTC bridge -* Merge final two JVM SDK PRs to reach Go SDK parity and publish release * Validate KittyPunch are unblocked once EVM GW local state index is released * Support Thirdweb w RPC Edge service standup using dedicated QuickNode ANs * Start onboarding Paradex and Layerzero @@ -223,10 +221,12 @@ Cycle Objective(s): **Done last sprint** -* +* Wrapping up last remaining JVM SDK PRs to reach Go SDK parity + **This sprint** +* Merge final two JVM SDK PRs to reach Go SDK parity and publish release **On Hold** From fa8f2d4cfc1cc9f7f014d844175e47ca6c319f00 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Nov 2024 15:14:44 +0100 Subject: [PATCH 602/626] nit --- agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index a516ab7e4..b5899cbe2 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -199,7 +199,7 @@ Cycle Objective(s): **This sprint** * Finalize multi-sign approach for Hyperlane and launch cbBTC bridge -* Validate KittyPunch are unblocked once EVM GW local state index is released +* Validate KittyPunch update unblocked once EVM GW local state index is released * Support Thirdweb w RPC Edge service standup using dedicated QuickNode ANs * Start onboarding Paradex and Layerzero From ffae8e766da9af43e5d17baf3401b5eb686ecd61 Mon Sep 17 00:00:00 2001 From: Kan Zhang Date: Fri, 15 Nov 2024 08:53:06 -0800 Subject: [PATCH 603/626] Update 2024-11-15-Flow-Sprint-Kickoff.md --- .../2024-11-15-Flow-Sprint-Kickoff.md | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index b5899cbe2..18866bb7b 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -2,7 +2,14 @@ ### Team Wins 🎉 - * + * Slack Bot + * Rewards auto combining boxes and keys + * Rewards store is live + * Deprecated nft-catalog, flow-js-testing + * Updated starters + * Created EVM Interoperability Challenges Draft Document + * The new Getting Started documentation sections have been rewritten to connect all the tools, providing developers with a comprehensive understanding of how they work together. (PR In Review) + --- @@ -222,11 +229,41 @@ Cycle Objective(s): **Done last sprint** * Wrapping up last remaining JVM SDK PRs to reach Go SDK parity +* Rewards + - [Setup claim section for auto-merging of points](https://github.com/onflow/crescendo-rewards/issues/502 ) + - [Fix error handling in authentication challenge](https://github.com/onflow/crescendo-rewards-be/pull/236) + - Tease out tentative ask from Snag about point history log +* CLI + - [Simplify and fix the Counter transaction generated with init](https://github.com/onflow/flow-cli/pull/1818 , https://github.com/onflow/flow-cli/issues/1817) + - [Improve init default project README with how to run the code](https://github.com/onflow/flow-cli/issues/1830 ) + - [Upgrade FCL Next Scaffold](https://github.com/onflow/flow-cli/issues/1829 ) +* Docs + - [Rewrite Getting Started guides feature all tools with linked flow](https://github.com/onflow/docs/issues/970) + - [Published a guide on using Testnet Faucet for Cadence & EVM addresses](https://github.com/onflow/docs/issues/978) + - [Update FCL Discovery Service List](https://github.com/onflow/docs/issues/985) +* Contracts + - [Create Flow solidity utilities repository](https://github.com/onflow/flow-sol-utils/issues/1) + - [Package solidity utilities for use in hardhat](https://github.com/onflow/flow-sol-utils/issues/2) + - [Update random coin toss example to use new sol utils repo](https://github.com/onflow/random-coin-toss/issues/26) + - [Code complete on Cadence X EVM batched execution example](https://github.com/onflow/batched-evm-exec-example/issues/1) +* FCL + - [Default to Local Storage](https://github.com/onflow/fcl-js/issues/2002) + - [[BUG] fcl.mutate does not use the correct currentUser configuration](https://github.com/onflow/fcl-js/issues/2005) **This sprint** * Merge final two JVM SDK PRs to reach Go SDK parity and publish release +* Docs + - Complete Cadence x EVM batched transactions walkthrough & blog post + - Continue on OKR: https://github.com/onflow/dx-internal/issues/33 +* Smart Contracts + - Enhance HybridCustody transactions to better support NFT transfers from child accounts + - Begin work on VM bridge refinements +* Miscellaneous Tools/Apps + - [Ledger support Register Node with Proof of Possession](https://github.com/onflow/flow-port/issues/364) + - [Lost and Found integration with Flow Port](https://github.com/onflow/flow-port/issues/366) + **On Hold** From 7dcd36765b1e8b7e16cbc90de708614ec3348535 Mon Sep 17 00:00:00 2001 From: Kan Zhang Date: Fri, 15 Nov 2024 09:17:04 -0800 Subject: [PATCH 604/626] Update 2024-11-15-Flow-Sprint-Kickoff.md --- .../2024-11-15-Flow-Sprint-Kickoff.md | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 18866bb7b..667f324f7 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -277,14 +277,31 @@ Cycle Objective(s): **Done last sprint** -- N/A +* News + - [News notifications extension frontend](https://github.com/Outblock/FRW-Extension/issues/141) + - [Add News by remote config](https://github.com/Outblock/FRW-Extension/issues/83) + - [Implement Conditional Display Logic for News Notifications](https://github.com/Outblock/FRW-Extension/issues/155) +* Storage + - [Storage Alert (Storage Card)](https://github.com/Outblock/FRW-Extension/issues/145) + - [Low on storage warning](https://github.com/Outblock/FRW-Extension/issues/170) + - [Handle failed transactions due to storage](https://github.com/Outblock/FRW-Extension/issues/169) +* General + - [Improve code formatting and linting](https://github.com/Outblock/FRW-Extension/issues/144) + - [Handle generic transaction failures in listenTransaction](https://github.com/Outblock/FRW-Extension/issues/168) + - [[BUG] Fix in app browser security issue](https://github.com/Outblock/FRW-iOS/issues/485) + - [[BUG] The button doesn't respond after switching account/network](https://github.com/Outblock/FRW-iOS/issues/343) + **This sprint** -- Begin creating developer documentation highlighting FlowEVM -- Updating cadence transactions / scripts for Cadence 1.0 -- Begin executing on FlowEVM updates to Flow Wallet -- Scheduled calls with MetaMask and Coinbase Wallet teams to intro FlowEVM and gather their requirements. +- Continue squishing P0 + P1 bugs +- Continue [Account storage improvements](https://github.com/Outblock/FRW/issues/61) +- Continue [News panel improvements](https://github.com/Outblock/FRW-Extension/issues/163) +- General + - [Add mixpanel event tracking](https://github.com/Outblock/FRW-Extension/issues/94) + - [Upgrade Node.js version from 16 to 20](https://github.com/Outblock/FRW-Extension/issues/111) + - [Add Crowdin integration](https://github.com/Outblock/FRW-Extension/issues/60) + - **On Hold** @@ -292,7 +309,7 @@ Cycle Objective(s): **Active Epics** -- TBD +- [Account storage improvements](https://github.com/Outblock/FRW/issues/61) --- From d40dedc28e51a1a0e830a8bc6783ccfb129c34d8 Mon Sep 17 00:00:00 2001 From: Andrii Slisarchuk Date: Fri, 15 Nov 2024 19:50:11 +0200 Subject: [PATCH 605/626] Added the K.R.O.K progress and plans to 2024-11-15-Flow-Sprint-Kickoff.md --- .../2024-11-15-Flow-Sprint-Kickoff.md | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index b5899cbe2..30890c88b 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -149,10 +149,18 @@ Cycle Objective(s): * Data Availability - KROK Team - Websockets redesign ([Epic #6163](https://github.com/onflow/flow-go/issues/6163)) - - Implement router ([Issue #6593](https://github.com/onflow/flow-go/issues/6593) - In review, [Issue #6583](https://github.com/onflow/flow-go/issues/6583) - In review, [Issue #6584](https://github.com/onflow/flow-go/issues/6584) - In review) - - Improvements to tx result streaming endpoint ([Issue #6573](https://github.com/onflow/flow-go/issues/6573), [Issue #6574](https://github.com/onflow/flow-go/issues/6574), [Issue #6604](https://github.com/onflow/flow-go/issues/6604)) + - Implement controller and data providers ([Issue #6593](https://github.com/onflow/flow-go/issues/6593) - In review, [Issue #6583](https://github.com/onflow/flow-go/issues/6583) - In review, [Issue #6584](https://github.com/onflow/flow-go/issues/6584) - In review, [Issue #6617](https://github.com/onflow/flow-go/issues/6617) - In review) + - Improvements to tx result streaming endpoint ([Issue #6574](https://github.com/onflow/flow-go/issues/6574) - In progress, [Issue #6573](https://github.com/onflow/flow-go/issues/6573) - In progress) + - Refactor REST Routes Package ([Issue #6615](https://github.com/onflow/flow-go/issues/6615)- Merged) - Registers db pruning ([Issue #6068](https://github.com/onflow/flow-go/issues/6068) - In review) - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357) - In progress) + - Flow SDK([Epic #735]([https://github.com/onflow/flow-go-sdk](https://github.com/onflow/flow-go-sdk/issues/735))) + - Align SDK with latest Access API ([Issue #763](https://github.com/onflow/flow-go-sdk/issues/763) - Merged, [Issue #767](https://github.com/onflow/flow-go-sdk/issues/767) - Merged, [Issue #783](https://github.com/onflow/flow-go-sdk/issues/783) - Merged, [Issue #784](https://github.com/onflow/flow-go-sdk/issues/784) - Merged) + - Fixed issues where time-to-seal was NaN([Issue #6448](https://github.com/onflow/flow-go/issues/6448) - Merged) + - Ignore invalid peers([Issue #6565](https://github.com/onflow/flow-go/issues/6565) - Merged) + - Make REST message size limit configurable ([Issue #6566](https://github.com/onflow/flow-go/issues/6566) - Merged) + - Add util command to backfill tx error messages db([Issue #6413](https://github.com/onflow/flow-go/issues/6413) - Merged) + - Malleability: Design meetings, investigation, tasks scope preparation - done * Cryptography - PoP: @@ -175,6 +183,14 @@ Cycle Objective(s): - [Implement last planned integration test](https://github.com/onflow/flow-go/issues/6645) * Data Availability + - KROK Team + - Websockets redesign ([Epic #6163](https://github.com/onflow/flow-go/issues/6163)) + - Implement controller and data providers ([Issue #6593](https://github.com/onflow/flow-go/issues/6593), [Issue #6583](https://github.com/onflow/flow-go/issues/6583), [Issue #6584](https://github.com/onflow/flow-go/issues/6584), [Issue #6617](https://github.com/onflow/flow-go/issues/6617)) + - Improvements to tx result streaming endpoint ([Issue #6604](https://github.com/onflow/flow-go/issues/6604), [Issue #6574](https://github.com/onflow/flow-go/issues/6574), [Issue #6573](https://github.com/onflow/flow-go/issues/6573)) + - Registers db pruning ([Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357)) + - Log error when unable to connect to bootstrap node([Issue #6576](https://github.com/onflow/flow-go/issues/6576)) + - Malleability: Tasks descriptions, scope discussions * Cryptography - PoP: From 0057b622167c6d1e6b0feec6ed00dfa862067996 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Nov 2024 18:53:10 +0100 Subject: [PATCH 606/626] Last protocol updates --- .../2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 667f324f7..8beeb2c49 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -152,6 +152,9 @@ Cycle Objective(s): - [EFM Integration Test Part 2 ](https://github.com/onflow/flow-go/pull/6424) - [Node ejected before epoch recovery](https://github.com/onflow/flow-go/pull/6632) - [Create integration test where DKG and consensus committees form a symmetric difference](https://github.com/onflow/flow-go/issues/6645) + - [Benchnet testing EFM recovery](https://github.com/onflow/flow-go/issues/5945) + - [Investigating service event verification bug revealed by Benchnet testing](https://github.com/onflow/flow-go/issues/6622) + - Finding a resolution which is low-enough effort and also compatible with HCU upgrade * Data Availability - KROK Team @@ -180,6 +183,8 @@ Cycle Objective(s): * EFM Recovery - Wrap up outstanding PRs currently under review - [Implement last planned integration test](https://github.com/onflow/flow-go/issues/6645) + - Resolving the VN events chunk verification [bug](https://github.com/onflow/flow-go/issues/6622). Still some uncertainly on which approach we will take. + - Resume Benchnet testing * Data Availability @@ -202,7 +207,7 @@ Cycle Objective(s): **Done last sprint** * Update Hyperlane validators to latest version and confirmed path to launch -* Diagnosed rate limit issue that was blocking Snag when using Flow EVM +* Diagnosed rate limit issue that was blocking Snag when using Flow EVM via Thirdweb **This sprint** * Finalize multi-sign approach for Hyperlane and launch cbBTC bridge From ab4964d2b64d9af1c2e2f558f89657918d184920 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 15 Nov 2024 18:56:30 +0100 Subject: [PATCH 607/626] Clear redundant bullet --- agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index af7fed2e1..4d4446349 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -207,8 +207,7 @@ Cycle Objective(s): * Cryptography - PoP: - Continue investigating the testing breaking change STAX issue with VacuumLabs - - Continue working on a real device and flow-port test (with Tom's support) -* + - Continue working on a real device and flow-port test (with Tom's support) **On Hold** From da5724cc5b65f3e7f62baf4bbb6756291d624f5b Mon Sep 17 00:00:00 2001 From: Kan Zhang Date: Fri, 15 Nov 2024 10:11:00 -0800 Subject: [PATCH 608/626] Update 2024-11-15-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md index 4d4446349..4aec6f757 100644 --- a/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-15-Flow-Sprint-Kickoff.md @@ -9,6 +9,7 @@ * Updated starters * Created EVM Interoperability Challenges Draft Document * The new Getting Started documentation sections have been rewritten to connect all the tools, providing developers with a comprehensive understanding of how they work together. (PR In Review) + * Time to Seal metric, now on our dashboards --- From efc6abf02713b2d8be7f5b2218dbdc164aa4926f Mon Sep 17 00:00:00 2001 From: j pimmel Date: Thu, 28 Nov 2024 19:30:31 -0800 Subject: [PATCH 609/626] Create 2024-11-29-Flow-Sprint-Kickoff.md --- .../2024-11-29-Flow-Sprint-Kickoff.md | 220 ++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..52d67c5d9 --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -0,0 +1,220 @@ +# Overview + + ### Team Wins 🎉 + + * + +--- + +### Mainnet Uptime - Last 14 days (11/16/24 to 11/28/24) \[Vishal] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | ? | ? | + +YTD SLA: 99.54% + +#### Incidents +* None + +--- + +### FLIPs Tracker \[Vishal] + +| | Application | Cadence | Governance | Protocol | Total | +|:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| +| Drafted | 8 | 6 | 0 (-1) | 8 (+1) | **22** | +| Proposed | 1 | 2 (-2) | 3 | 0 | **6** (-2) | +| Accepted | 2 | 2 (+1) | 2 | 2 | **8** (+1) | +| Rejected | 0 | 1 (+1) | 1 | 0 | **2** (+1) | +| Implemented | 3 | 38 (+13) | 1 | 0 | **42** (+13) | +| Released | 4 | 0 | 5 (+1) | 6 | **15** (+1) | +| Total | **18** | **49** (+13) | **12** | **16** (+1) | **95** (+14) | + +- 1 new FLIP was added last month and 13 untracked FLIPS are now being tracked. +- ~~Some FLIPs are still not reflected in the project tracker.~~ +- **Reminder**: FLIP process starts with an issue creation. +(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) + +### Key Release Dates & Breaking Changes + +- Next Mainnet/Testnet network upgrade (spork): TBD + +--- + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] + +**Cycle Objectives** + +[Cadence Language](https://github.com/onflow/cadence/issues/3623) + +[Cadence VM (execution environment)](https://github.com/onflow/flow-go/issues/6577) + +**Done last sprint** + + +**This sprint** + +- Complete [EVM Gateway Hardening](https://github.com/onflow/flow-go/issues/6539) + +- Cadence Language + - Security report + - Complete remaining Tech-debt [Tech Debt](https://github.com/onflow/cadence/issues/3595) + - Continue work on Content for [commuity outreach](https://github.com/onflow/cadence/issues/3596) + - Continue work on the [Cadence compiler POC](https://github.com/onflow/cadence/issues/3612) + - Continue work on [Cadence language Specification](https://github.com/onflow/cadence/issues/3599) + +- Cadence Execution + - Complete [optimization for Cadence domain storage](https://github.com/onflow/cadence/issues/3584) + - Start new Trie research + - Evaluate / Start [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) + - Badger -> Pebble migration: continue work on [Chunk Data pack Pruner](https://github.com/onflow/flow-go/issues/6516) + +**On Hold** + +- [Execution Effort Calibration](https://github.com/onflow/flow-go/issues/5598) +- [Random beacon history taking more space on chain than expected](https://github.com/onflow/flow-go/issues/5550) +- [Provide immutable settings for each CCF format](https://github.com/onflow/cadence/issues/3448) + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Restore Flow protocol eng team to required critical mass [IN PROGRESS] +* Faster transaction results to improve user experience [IN PROGRESS] +* Address vectors which risk network downtime + 1. Operationalize EFM Recovery [IN PROGRESS] + 2. Protocol level HCU [NOT STARTED] +* Add passkey support: Protocol design and scoping [NOT STARTED] +* Furthering permissionless participation + 1. Proof of Possession [IN PROGRESS] + 2. KR2: SPoCK Research [PAUSED] + +**Done last sprint** + +**This sprint** + +* EFM Recovery + - Wrap up outstanding PRs currently under review + - [Implement last planned integration test](https://github.com/onflow/flow-go/issues/6645) + - Resolving the VN events chunk verification [bug](https://github.com/onflow/flow-go/issues/6622). Still some uncertainly on which approach we will take. + - Resume Benchnet testing + +* Data Availability + - KROK Team + - Websockets redesign ([Epic #6163](https://github.com/onflow/flow-go/issues/6163)) + - Implement controller and data providers ([Issue #6593](https://github.com/onflow/flow-go/issues/6593), [Issue #6583](https://github.com/onflow/flow-go/issues/6583), [Issue #6584](https://github.com/onflow/flow-go/issues/6584), [Issue #6617](https://github.com/onflow/flow-go/issues/6617)) + - Improvements to tx result streaming endpoint ([Issue #6604](https://github.com/onflow/flow-go/issues/6604), [Issue #6574](https://github.com/onflow/flow-go/issues/6574), [Issue #6573](https://github.com/onflow/flow-go/issues/6573)) + - Registers db pruning ([Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357)) + - Log error when unable to connect to bootstrap node([Issue #6576](https://github.com/onflow/flow-go/issues/6576)) + - Malleability: Tasks descriptions, scope discussions + +* Cryptography + - PoP: + - Continue investigating the testing breaking change STAX issue with VacuumLabs + - Continue working on a real device and flow-port test (with Tom's support) + +**On Hold** + + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Close gaps in Defi/Liquidity infrastructure post-Cadence 1.0 +- Bring liquidity and and kick start ecosystem effects + +**Done last sprint** + +**This sprint** +* Finalize multi-sign approach for Hyperlane and launch cbBTC bridge +* Validate KittyPunch update unblocked once EVM GW local state index is released +* Support Thirdweb w RPC Edge service standup using dedicated QuickNode ANs +* Start onboarding Paradex and Layerzero + +**On Hold** +- N/A + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Kan] + +Cycle Objective(s): + - Improve Quality of Life, Level Up Dev Documentation and Learning Path, Supercharge EVMxCadence, Inspire and Excite Wave of New Flow Devs + +**Done last sprint** + +**This sprint** + +* Merge final two JVM SDK PRs to reach Go SDK parity and publish release +* Docs + - Complete Cadence x EVM batched transactions walkthrough & blog post + - Continue on OKR: https://github.com/onflow/dx-internal/issues/33 +* Smart Contracts + - Enhance HybridCustody transactions to better support NFT transfers from child accounts + - Begin work on VM bridge refinements +* Miscellaneous Tools/Apps + - [Ledger support Register Node with Proof of Possession](https://github.com/onflow/flow-port/issues/364) + - [Lost and Found integration with Flow Port](https://github.com/onflow/flow-port/issues/366) + + +**On Hold** + +- bridge.flow.com + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +**Done last sprint** + + +**This sprint** + +- Continue squishing P0 + P1 bugs +- Continue [Account storage improvements](https://github.com/Outblock/FRW/issues/61) +- Continue [News panel improvements](https://github.com/Outblock/FRW-Extension/issues/163) +- General + - [Add mixpanel event tracking](https://github.com/Outblock/FRW-Extension/issues/94) + - [Upgrade Node.js version from 16 to 20](https://github.com/Outblock/FRW-Extension/issues/111) + - [Add Crowdin integration](https://github.com/Outblock/FRW-Extension/issues/60) + - + +**On Hold** + +- N/A + +**Active Epics** + +- [Account storage improvements](https://github.com/Outblock/FRW/issues/61) + +--- + +### **Infra - JP** + +**Done last sprint** + +**This sprint** +* Finish FF IAM Group migration +* Scope work to migrate domain registrars +* Continue evaluating SRE candidates +* Identify & document key SRE processes for the protocol team + +--- From 3201bbefad7b124cda01781208d7ce3ae559570b Mon Sep 17 00:00:00 2001 From: Andrii Slisarchuk Date: Fri, 29 Nov 2024 14:22:49 +0200 Subject: [PATCH 610/626] Updates from the Krok team --- .../2024-11-29-Flow-Sprint-Kickoff.md | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index 52d67c5d9..30d0ee4a8 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -99,6 +99,16 @@ Cycle Objective(s): **Done last sprint** +* Data Availability + - KROK Team + - Websockets redesign ([Epic #6163](https://github.com/onflow/flow-go/issues/6163)) + - Implement controller and data providers ([Issue #6593](https://github.com/onflow/flow-go/issues/6593), [Issue #6583](https://github.com/onflow/flow-go/issues/6583), [Issue #6584](https://github.com/onflow/flow-go/issues/6584), [Issue #6617](https://github.com/onflow/flow-go/issues/6617), [Issue #6588](https://github.com/onflow/flow-go/issues/6588), [Issue #6638](https://github.com/onflow/flow-go/issues/6638), [Issue #6585](https://github.com/onflow/flow-go/issues/6585), [Issue #6635](https://github.com/onflow/flow-go/issues/6635), [Issue #6639](https://github.com/onflow/flow-go/issues/6639)) + - Improvements to tx result streaming endpoint ([Issue #6604](https://github.com/onflow/flow-go/issues/6604), [Issue #6574](https://github.com/onflow/flow-go/issues/6574), [Issue #6573](https://github.com/onflow/flow-go/issues/6573)) + - Registers db pruning ([Issue #6068](https://github.com/onflow/flow-go/issues/6068)) + - Test pebble execution data db on mainnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357)) + - Log error when unable to connect to bootstrap node([Issue #6576](https://github.com/onflow/flow-go/issues/6576)) + - Malleability: Tasks descriptions, scope discussions + **This sprint** * EFM Recovery @@ -109,13 +119,9 @@ Cycle Objective(s): * Data Availability - KROK Team - - Websockets redesign ([Epic #6163](https://github.com/onflow/flow-go/issues/6163)) - - Implement controller and data providers ([Issue #6593](https://github.com/onflow/flow-go/issues/6593), [Issue #6583](https://github.com/onflow/flow-go/issues/6583), [Issue #6584](https://github.com/onflow/flow-go/issues/6584), [Issue #6617](https://github.com/onflow/flow-go/issues/6617)) - - Improvements to tx result streaming endpoint ([Issue #6604](https://github.com/onflow/flow-go/issues/6604), [Issue #6574](https://github.com/onflow/flow-go/issues/6574), [Issue #6573](https://github.com/onflow/flow-go/issues/6573)) - - Registers db pruning ([Issue #6068](https://github.com/onflow/flow-go/issues/6068)) - - Test pebble execution data db on testnet ([Issue #6357](https://github.com/onflow/flow-go/issues/6357)) - - Log error when unable to connect to bootstrap node([Issue #6576](https://github.com/onflow/flow-go/issues/6576)) - - Malleability: Tasks descriptions, scope discussions + - WebSockets redesign ([Epic #6163](https://github.com/onflow/flow-go/issues/6163)) + - Continue to implement WebSockets controller, data providers and WebSockets controller error handling([Issue #6642](https://github.com/onflow/flow-go/issues/6642), [Issue #6640](https://github.com/onflow/flow-go/issues/6640), [Issue #6587](https://github.com/onflow/flow-go/issues/6587), [Issue #6637](https://github.com/onflow/flow-go/issues/6637), [Issue #6586](https://github.com/onflow/flow-go/issues/6586), [Issue #6641](https://github.com/onflow/flow-go/issues/6641)) + - Improvements to tx result streaming endpoint ([Issue #6767](https://github.com/onflow/flow-go/issues/6767)) * Cryptography - PoP: From e72ee72d14347afbbf01d1b5127ae3db90c1e8fc Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 29 Nov 2024 10:02:09 -0800 Subject: [PATCH 611/626] Update 2024-11-29-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index 30d0ee4a8..1dbc3c5cc 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -12,12 +12,15 @@ |:------------------------|:------:|:-------------:|:-----------------:| | Collection Finalization | 99.9% | 100% | 0% | | Block Finalization | 99.9% | 100% | 0% | -| Transaction Execution | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 99.975% | 0% | | Block Sealing | 99.9% | 100% | 0% | -| Access API Liveness | 99.9% | ? | ? | +| Access API Liveness | 99.9% | 99.96% | 0% | -YTD SLA: 99.54% +YTD SLA: 99.53% +#### HCU +1. Nov 21st to roll out Cadence security fix and EVM core changes. + #### Incidents * None From 3ac754a24e028ad2c50516b4e7a9e16a729711b6 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 29 Nov 2024 10:34:43 -0800 Subject: [PATCH 612/626] Update 2024-11-29-Flow-Sprint-Kickoff.md --- .../sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index 1dbc3c5cc..cef746289 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -30,13 +30,13 @@ YTD SLA: 99.53% | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 8 | 6 | 0 (-1) | 8 (+1) | **22** | -| Proposed | 1 | 2 (-2) | 3 | 0 | **6** (-2) | -| Accepted | 2 | 2 (+1) | 2 | 2 | **8** (+1) | +| Drafted | 7 (-1) | 6 | 0 | 8 | **21** | +| Proposed | 1 | 2 | 3 | 0 | **6** (-2) | +| Accepted | 2 | 1 (-1) | 2 | 2 | **8** (+1) | | Rejected | 0 | 1 (+1) | 1 | 0 | **2** (+1) | -| Implemented | 3 | 38 (+13) | 1 | 0 | **42** (+13) | -| Released | 4 | 0 | 5 (+1) | 6 | **15** (+1) | -| Total | **18** | **49** (+13) | **12** | **16** (+1) | **95** (+14) | +| Implemented | 3 | 5 (-33) | 1 | 0 | **42** (+13) | +| Released | 4 | 34 | 7 (+2) | 6 | **15** (+1) | +| Total | **17** | **49** | **14** (+2) | **16** | **96** (+2) | - 1 new FLIP was added last month and 13 untracked FLIPS are now being tracked. - ~~Some FLIPs are still not reflected in the project tracker.~~ From c3371baf8c8056cd424962290222d3043faac9be Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 29 Nov 2024 10:41:42 -0800 Subject: [PATCH 613/626] Update 2024-11-29-Flow-Sprint-Kickoff.md --- .../2024-11-29-Flow-Sprint-Kickoff.md | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index cef746289..75aa3c282 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -30,18 +30,15 @@ YTD SLA: 99.53% | | Application | Cadence | Governance | Protocol | Total | |:------------------------|:------:|:-------------:|:-----------------:|:-----------------:|:-----------------:| -| Drafted | 7 (-1) | 6 | 0 | 8 | **21** | -| Proposed | 1 | 2 | 3 | 0 | **6** (-2) | -| Accepted | 2 | 1 (-1) | 2 | 2 | **8** (+1) | -| Rejected | 0 | 1 (+1) | 1 | 0 | **2** (+1) | -| Implemented | 3 | 5 (-33) | 1 | 0 | **42** (+13) | -| Released | 4 | 34 | 7 (+2) | 6 | **15** (+1) | -| Total | **17** | **49** | **14** (+2) | **16** | **96** (+2) | - -- 1 new FLIP was added last month and 13 untracked FLIPS are now being tracked. -- ~~Some FLIPs are still not reflected in the project tracker.~~ -- **Reminder**: FLIP process starts with an issue creation. -(https://github.com/onflow/flips?tab=readme-ov-file#submitting-the-flip) +| Drafted | 7 (-1) | 6 | 0 | 8 | **21** (-1) | +| Proposed | 1 | 2 | 3 | 0 | **6** | +| Accepted | 2 | 1 (-1) | 2 | 2 | **7** (-1) | +| Rejected | 0 | 1 | 1 | 0 | **2** | +| Implemented | 3 | 5 (-33) | 1 | 0 | **9** (-33) | +| Released | 4 | 34 (+34) | 7 (+2) | 6 | **51** (+36) | +| Total | **17** (-1)| **49** | **14** (+2) | **16** | **96** (+1) | + +- 2 new FLIPs were added in the last two weeks (one test issue was removed from tracking) ### Key Release Dates & Breaking Changes From d8c8977d203425a443fabcde35e5e72607e3a55c Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 29 Nov 2024 11:55:13 -0800 Subject: [PATCH 614/626] Update 2024-11-29-Flow-Sprint-Kickoff.md --- .../2024-11-29-Flow-Sprint-Kickoff.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index 75aa3c282..3d72bab38 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -224,3 +224,26 @@ Cycle Objective(s): * Identify & document key SRE processes for the protocol team --- + +### **Governance - Vishal** + +Cycle Objective(s): +1. Ensure the multisign process for Flow is efficient with effective community participation +2. Maintain long-term decentralization of Flow consensus nodes by ensuring no operator controls 1/3rd or more of the network's consensus nodes +3. Continue building a well-structured Flow Tokenomics framework to enhance community understanding, improve perception, and articulate a clear long-term vision +4. Build and ship a new dashboard to provide node operators with real-time access to staking, epoch-related and other relevant data. + +**Done last sprint** +* Reached out to all inactive multi-signers +* Implemented FLIPS to remove two signers who no longer wished to continue as signers. +* Discussed potential node operator lease to Dorahacks and Alchemy. +* Synced with T-systems on various topics - node operations, self-custody instead of using a custodian etc. +* Requested FindLabs for additional REST API to enable grafana alerting on node counts. +* Time to finality discussion with Chainspect.app. + +**This sprint** +* Lease account setup for Coinage/DAIC (new node operator) +* Send out the lease contract for Dorahacks. +* Setup alerting on node counts if FindLabs API is ready + +--- From 0821627657ecae5072fed10b3ac808fccaab3ad3 Mon Sep 17 00:00:00 2001 From: Vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Fri, 29 Nov 2024 11:56:25 -0800 Subject: [PATCH 615/626] Update 2024-11-29-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index 3d72bab38..dbb69888c 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -2,7 +2,7 @@ ### Team Wins 🎉 - * + * Flow has been added to [chainspect.app](https://chainspect.app/dashboard) (Vishal) --- From 992927eac30c6e75e5d88002c27b6478f980ea14 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 29 Nov 2024 14:34:22 -0800 Subject: [PATCH 616/626] Added protocol and defi updates --- .../2024-11-29-Flow-Sprint-Kickoff.md | 40 +++++++++++++------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index dbb69888c..6ee5f4365 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -3,6 +3,8 @@ ### Team Wins 🎉 * Flow has been added to [chainspect.app](https://chainspect.app/dashboard) (Vishal) + * Hyperlane cbBTC bridge tested and live for mainnet but not yet announced. Can do so after domain name for bridge URL is live + * --- @@ -92,13 +94,24 @@ Cycle Objective(s): * Address vectors which risk network downtime 1. Operationalize EFM Recovery [IN PROGRESS] 2. Protocol level HCU [NOT STARTED] -* Add passkey support: Protocol design and scoping [NOT STARTED] +* Add passkey support: Protocol design and scoping [IN PROGRESS] * Furthering permissionless participation 1. Proof of Possession [IN PROGRESS] 2. KR2: SPoCK Research [PAUSED] **Done last sprint** +* EFM Recovery + - Addressed comments and finalized [large integration test PR](https://github.com/onflow/flow-go/pull/6424) + - [Refactored usage of DKG in bootstrapping](https://github.com/onflow/flow-go/pull/6745) + - Started [implementation of a state machine for handling beacon key](https://github.com/onflow/flow-go/issues/6725) + - Continued Service Event Verification Bug + - Exploring strategies for modifying data models in backward-compatible way, for upcoming and future Protocol HCUs + - Integration test for the upgrade, validating [bug fix](https://github.com/onflow/flow-go/pull/6752) + - A working fix is complete - revisions from feedback to simplify backward-compatibility are ongoing + - Started [Upgrade Plan for EFM Recovery & Protocol HCU](https://flowfoundation.notion.site/EFM-Recovery-Release-Upgrade-Plan-14d1aee1232480228a87e43933815285?pvs=4) + - wip: documenting steps for deploying first Protocol HCU + * Data Availability - KROK Team - Websockets redesign ([Epic #6163](https://github.com/onflow/flow-go/issues/6163)) @@ -109,13 +122,19 @@ Cycle Objective(s): - Log error when unable to connect to bootstrap node([Issue #6576](https://github.com/onflow/flow-go/issues/6576)) - Malleability: Tasks descriptions, scope discussions +* Cryptography + - Short sprint because of time off + - PR reviews (randomness - linear codes) + - PoP: got back to debugging flow-port integration + - Started looking at docs for Passkeys + **This sprint** * EFM Recovery - - Wrap up outstanding PRs currently under review - - [Implement last planned integration test](https://github.com/onflow/flow-go/issues/6645) - - Resolving the VN events chunk verification [bug](https://github.com/onflow/flow-go/issues/6622). Still some uncertainly on which approach we will take. - - Resume Benchnet testing + - Continue Service Event Verification Bug + - Continue upgrade planning for EFM Recovery & Protocol HCU + - Finish [implementation of state machine for handling beacon key](https://github.com/onflow/flow-go/issues/6725) + - Address comments and finalize additional [integration tests](https://github.com/onflow/flow-go/pull/6632) * Data Availability - KROK Team @@ -124,13 +143,11 @@ Cycle Objective(s): - Improvements to tx result streaming endpoint ([Issue #6767](https://github.com/onflow/flow-go/issues/6767)) * Cryptography - - PoP: - - Continue investigating the testing breaking change STAX issue with VacuumLabs - - Continue working on a real device and flow-port test (with Tom's support) + - Passkeys: research and docs: fido2 specs + - PoP: continue fixing tests in the background - follow up with VL **On Hold** - --- ### **DeFi** \[Jerome] @@ -140,12 +157,11 @@ Cycle Objective(s): - Bring liquidity and and kick start ecosystem effects **Done last sprint** +* Hyperlane cbBTC bridge tested and live for mainnet but not yet announced. Can do so after domain name for bridge URL is live **This sprint** -* Finalize multi-sign approach for Hyperlane and launch cbBTC bridge * Validate KittyPunch update unblocked once EVM GW local state index is released -* Support Thirdweb w RPC Edge service standup using dedicated QuickNode ANs -* Start onboarding Paradex and Layerzero +* Start onboarding Paradex and Layerzero when they are ready **On Hold** - N/A From acb673126aac7c4c8fe69d3c6196ff94dd0b00b0 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Fri, 29 Nov 2024 14:35:21 -0800 Subject: [PATCH 617/626] Minor tweak --- agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index 6ee5f4365..a9e7942ce 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -160,6 +160,7 @@ Cycle Objective(s): * Hyperlane cbBTC bridge tested and live for mainnet but not yet announced. Can do so after domain name for bridge URL is live **This sprint** +* Create cbBTC bridge DNS and announce * Validate KittyPunch update unblocked once EVM GW local state index is released * Start onboarding Paradex and Layerzero when they are ready From 01e2e84b4345fd980629ba87ce1b312fe70b843f Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Sat, 30 Nov 2024 13:45:10 -0800 Subject: [PATCH 618/626] Cadence wg updates --- .../2024-11-29-Flow-Sprint-Kickoff.md | 74 ++++++++++++++++++- 1 file changed, 70 insertions(+), 4 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index a9e7942ce..b2c3ec23a 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -4,7 +4,12 @@ * Flow has been added to [chainspect.app](https://chainspect.app/dashboard) (Vishal) * Hyperlane cbBTC bridge tested and live for mainnet but not yet announced. Can do so after domain name for bridge URL is live - * + * Deployed EVM GW with dry-run enabled on TN - enbales more flexibility in configuring EVM traces and reduces load on ANs. + * Deployed last remaining Cadence security report. + * Great Cadence team mini-onsite, discussed Cadence compiler workstream and aligned on next steps. + * Discussed and agreed on the trigger mechanism for firs ton-the-fly migration (to be used for non-atree domain register inlining). + * Completed all Cadence language tech-debt removal tasks planned for this cycle. + * Completed first Cadence compiler + VM OKR - benchmarking removed Move VM as potential candidate for runtime for performance reasons. --- @@ -60,16 +65,76 @@ YTD SLA: 99.53% **Done last sprint** +**Cadence Language** +- [Security fix port](https://github.com/onflow/cadence/pull/3690) +- Cadence compiler + - Custom VM + - [Improve and test instruction printer](https://github.com/onflow/cadence/pull/3706) + - [Optimize function calls](https://github.com/onflow/cadence/pull/3704) + - [Standardize internal error messages](https://github.com/onflow/cadence/issues/3688) + - [Add some benchmark programs](https://github.com/onflow/cadence/pull/3702) + - [Remove the old compiler and VM PoC](https://github.com/onflow/cadence/pull/3705) + - [Composite benchmarking](https://github.com/RZhang05/cadence_movevm/pull/2) +- Tech-debt removal: + - [Source Compatibility Suite: Switch to main Green Goo Dao repo](https://github.com/onflow/cadence/pull/3682) +- Docs + - [Docusaurus Build fails](https://github.com/onflow/cadence-lang.org/issues/176) + +**Cadence Execution** +- Storage optimization: [Combine non-atree domain payloads into atree payloads](https://github.com/onflow/cadence/issues/3584) + - [[Account Storage Maps] Add more tests for register reads for GetDomainStorageMap()](https://github.com/onflow/cadence/pull/3694) + - [Add Storage.AccountStorageFormat()](https://github.com/onflow/cadence/pull/3701) + - [[Account Storage Maps] Bump atree version to v0.8.1](https://github.com/onflow/cadence/pull/3699) + - [[Account Storage Maps] Add return value to account migration scheduling functions](https://github.com/onflow/cadence/pull/3695) + - [[Account Storage Maps] Reduce storage register reads when using `StorageFormatV2Enabled`](https://github.com/onflow/cadence/pull/3683) + - [[Account Storage Maps] Refactor migration](https://github.com/onflow/cadence/pull/3680) + - [[Account Storage Maps] Refactor storage into V1 and V2](https://github.com/onflow/cadence/pull/3678) +- HCU-related chores & updates: [1](https://github.com/onflow/flow-go/pull/6753), [2](https://github.com/onflow/flow-go-internal/pull/7014) + +**EVM Core** +- Bugfix blocking dry-run feature on GW: + - [Copy slice when setting block hash list](https://github.com/onflow/flow-go/pull/6734) + - v0.37 port: [Copy slice when setting block hash list](https://github.com/onflow/flow-go/pull/6740) +- Bugfix for incorrectly labeled trace files: [Move trace ID generation outside the concurrent path](https://github.com/onflow/flow-go/pull/6626) +- Minor improvement + - [update height in comment](https://github.com/onflow/flow-go/pull/6743)] + +**EVM Gateway** +- Dry-run feature (local state index) + - [Use offchain package to create block context](https://github.com/onflow/flow-evm-gateway/pull/670) + - [Add offchain block context creation method](https://github.com/onflow/flow-go/pull/6751) + - [Add testcase for offchain evm backward compatibilities](https://github.com/onflow/flow-go/pull/6749) + - [Fix testnet EVM replay](https://github.com/onflow/flow-go/pull/6759) + - [Fix wrong block hash value for the 1st EVM block with `PrevRandao`](https://github.com/onflow/flow-evm-gateway/pull/666) + - [Handle ingestion of missing `EVM.BlockExecuted` event in backfill process](https://github.com/onflow/flow-evm-gateway/pull/664) + - [Handle missing EVM block event in backfill](https://github.com/onflow/flow-evm-gateway/pull/661) + - [Refactor re-execution](https://github.com/onflow/flow-evm-gateway/pull/658) +- bugfix + - [eth_syncing returns incorrect start height](https://github.com/onflow/flow-evm-gateway/issues/644) +- GW hardening / Improvements + - [Improve gas estimation logic for `eth_estimateGas`](https://github.com/onflow/flow-evm-gateway/pull/671) + - [Add debug_flowHeight API endpoint](https://github.com/onflow/flow-evm-gateway/pull/669) + - performance - [Remove redundant transactions mutex](https://github.com/onflow/flow-evm-gateway/pull/668) + - [Use instance of config instead of reference](https://github.com/onflow/flow-evm-gateway/pull/681) + - Rafactoring of startup/shudown handling to switch to node builder: + - temporary bugfix: [Fix closing channel twice](https://github.com/onflow/flow-evm-gateway/pull/680) + - [Close the AN clients on shutdown](https://github.com/onflow/flow-evm-gateway/pull/678) + - [Cleanup run cmd](https://github.com/onflow/flow-evm-gateway/pull/675) + - [Seperate creating and closing pebbleDB from storage](https://github.com/onflow/flow-evm-gateway/pull/677) + - coinbase for the EVM fees is now configurable + - [Remove transaction for COA resource creation](https://github.com/onflow/flow-evm-gateway/pull/674) + - [Run without coa account ](https://github.com/onflow/flow-evm-gateway/pull/667) + - Performance [Make EVM transaction submission non-blocking](https://github.com/onflow/flow-evm-gateway/issues/654) + - [Use a constant backoff retry strategy for retrieving the Flow transaction result](https://github.com/onflow/flow-evm-gateway/pull/672) **This sprint** - Complete [EVM Gateway Hardening](https://github.com/onflow/flow-go/issues/6539) + - Deploy dry-run on MN, productive more robust state-mismatch detection. - Cadence Language - - Security report - - Complete remaining Tech-debt [Tech Debt](https://github.com/onflow/cadence/issues/3595) - Continue work on Content for [commuity outreach](https://github.com/onflow/cadence/issues/3596) - - Continue work on the [Cadence compiler POC](https://github.com/onflow/cadence/issues/3612) + - Continue work on the [Cadence compiler POC - Phase 2](https://github.com/onflow/cadence/issues/3692) - Continue work on [Cadence language Specification](https://github.com/onflow/cadence/issues/3599) - Cadence Execution @@ -77,6 +142,7 @@ YTD SLA: 99.53% - Start new Trie research - Evaluate / Start [Adding support for lazy decoding of registers](https://github.com/onflow/atree/issues/341) - Badger -> Pebble migration: continue work on [Chunk Data pack Pruner](https://github.com/onflow/flow-go/issues/6516) + - Start work on [FVM Programs cache invalidation](https://github.com/onflow/flow-go/issues/6507) **On Hold** From 61557f360780f6129d7540176ab9d0671309a985 Mon Sep 17 00:00:00 2001 From: sjonpaulbrown Date: Mon, 2 Dec 2024 09:44:26 -0700 Subject: [PATCH 619/626] Add infra section to doc --- .../2024-11-29-Flow-Sprint-Kickoff.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index b2c3ec23a..4a54b7d9b 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -300,11 +300,23 @@ Cycle Objective(s): **Done last sprint** +**Automation** +- [Add support for private registry builds](https://github.com/onflow/flow-go/pull/6742) +- [Add cron schedule for checkpoint extraction](https://github.com/onflow/ff-sre-automation/pull/4) +- [Update write access to private registry](https://github.com/onflow/ff-sre-infrastructure/pull/64) +- [Create private container registry for builds](https://github.com/onflow/ff-sre-infrastructure/pull/63) + +**Node Hosting** +- [Increase AN Disk Space](https://github.com/onflow/ff-sre-infrastructure/pull/66) + +**Support** +- [Create DNS Record for BlueSky Validation](https://github.com/onflow/ff-sre-infrastructure/pull/65) + **This sprint** * Finish FF IAM Group migration +* Continue evaluating SRE candidates * Scope work to migrate domain registrars -* Continue evaluating SRE candidates -* Identify & document key SRE processes for the protocol team +* Scope work to migrate to artifact registry --- From 51a837c10cf2903b92457835a3a0d60b9f4b6e37 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Mon, 2 Dec 2024 09:28:22 -0800 Subject: [PATCH 620/626] Last protocol updates --- agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index 4a54b7d9b..ca846aa91 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -193,6 +193,10 @@ Cycle Objective(s): - PR reviews (randomness - linear codes) - PoP: got back to debugging flow-port integration - Started looking at docs for Passkeys + +* Misc other + - Progress on trie research: detailed requirements completed + - Continued discussion on Dynamic Protocol State for Version Beacon (coordinating upgrades of the Execution Stack): https://github.com/onflow/flips/pull/296 **This sprint** From 189b5e04e373bec9d3991d4b3107f04c167b5eb7 Mon Sep 17 00:00:00 2001 From: j pimmel Date: Mon, 2 Dec 2024 09:29:46 -0800 Subject: [PATCH 621/626] Minor update to defi --- .../2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index ca846aa91..015df7b0c 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -3,7 +3,7 @@ ### Team Wins 🎉 * Flow has been added to [chainspect.app](https://chainspect.app/dashboard) (Vishal) - * Hyperlane cbBTC bridge tested and live for mainnet but not yet announced. Can do so after domain name for bridge URL is live + * Hyperlane cbBTC bridge tested and live for mainnet but not yet announced * Deployed EVM GW with dry-run enabled on TN - enbales more flexibility in configuring EVM traces and reduces load on ANs. * Deployed last remaining Cadence security report. * Great Cadence team mini-onsite, discussed Cadence compiler workstream and aligned on next steps. @@ -227,10 +227,9 @@ Cycle Objective(s): - Bring liquidity and and kick start ecosystem effects **Done last sprint** -* Hyperlane cbBTC bridge tested and live for mainnet but not yet announced. Can do so after domain name for bridge URL is live +* Hyperlane cbBTC bridge tested and live for mainnet but not yet announced **This sprint** -* Create cbBTC bridge DNS and announce * Validate KittyPunch update unblocked once EVM GW local state index is released * Start onboarding Paradex and Layerzero when they are ready From ba830f0accc4f76092e95f5475de9a7c2d7e526c Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Mon, 2 Dec 2024 10:00:39 -0800 Subject: [PATCH 622/626] Update 2024-11-29-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index 015df7b0c..e88c4e371 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -4,7 +4,7 @@ * Flow has been added to [chainspect.app](https://chainspect.app/dashboard) (Vishal) * Hyperlane cbBTC bridge tested and live for mainnet but not yet announced - * Deployed EVM GW with dry-run enabled on TN - enbales more flexibility in configuring EVM traces and reduces load on ANs. + * Deployed EVM GW with dry-run feature on TN - enables more flexibility in configuring EVM traces and reduces load on ANs. * Deployed last remaining Cadence security report. * Great Cadence team mini-onsite, discussed Cadence compiler workstream and aligned on next steps. * Discussed and agreed on the trigger mechanism for firs ton-the-fly migration (to be used for non-atree domain register inlining). From 61996c2e5913889237c47176812f3dc898e85c7b Mon Sep 17 00:00:00 2001 From: Kan Zhang Date: Mon, 2 Dec 2024 10:01:10 -0800 Subject: [PATCH 623/626] Update 2024-11-29-Flow-Sprint-Kickoff.md (#1530) --- .../2024-11-29-Flow-Sprint-Kickoff.md | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index e88c4e371..78cd5a2c7 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -251,19 +251,30 @@ Cycle Objective(s): **Done last sprint** -**This sprint** - -* Merge final two JVM SDK PRs to reach Go SDK parity and publish release * Docs - Complete Cadence x EVM batched transactions walkthrough & blog post - - Continue on OKR: https://github.com/onflow/dx-internal/issues/33 -* Smart Contracts - - Enhance HybridCustody transactions to better support NFT transfers from child accounts - - Begin work on VM bridge refinements + - [Add FlowEVM to Rainbow support docs](https://github.com/onflow/docs/issues/1005) + - [Improve network configuration guide](https://github.com/onflow/docs/issues/1008) + - [Update readme commands](https://github.com/onflow/flow-cli/issues/1847) + - [Add snipit parsing](https://github.com/onflow/docs/issues/1016) +* Steaming API Integration + - [Changes to fcl to support the new streaming API](https://github.com/onflow/flow-okrs/issues/80) + - [Create transport-http SubscriptionManager](https://github.com/onflow/fcl-js/issues/2015) * Miscellaneous Tools/Apps - - [Ledger support Register Node with Proof of Possession](https://github.com/onflow/flow-port/issues/364) + - [Fix Nu-Fi wallet not working with newlines in user message](https://github.com/onflow/crescendo-rewards/issues/507) - [Lost and Found integration with Flow Port](https://github.com/onflow/flow-port/issues/366) +**This sprint** + +* Docs + - Continue on OKR: https://github.com/onflow/dx-internal/issues/33 +* Smart Contracts +* Discovery phase on VM bridge refinements +* Finalize and merge Streaming API integration +* Continue Partner support + - Focus on Gelator + + **On Hold** From 539c440acb8571b8b9bc079b757d6e3f6fb705d2 Mon Sep 17 00:00:00 2001 From: Jan Bernatik Date: Mon, 2 Dec 2024 10:01:54 -0800 Subject: [PATCH 624/626] Update 2024-11-29-Flow-Sprint-Kickoff.md --- agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index 78cd5a2c7..e051d45a1 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -7,7 +7,7 @@ * Deployed EVM GW with dry-run feature on TN - enables more flexibility in configuring EVM traces and reduces load on ANs. * Deployed last remaining Cadence security report. * Great Cadence team mini-onsite, discussed Cadence compiler workstream and aligned on next steps. - * Discussed and agreed on the trigger mechanism for firs ton-the-fly migration (to be used for non-atree domain register inlining). + * Discussed and agreed on the trigger mechanism for first on-the-fly migration (to be used for non-atree domain register inlining). * Completed all Cadence language tech-debt removal tasks planned for this cycle. * Completed first Cadence compiler + VM OKR - benchmarking removed Move VM as potential candidate for runtime for performance reasons. From a7449aa6d6aed4ce02c81c668b71039438bbccab Mon Sep 17 00:00:00 2001 From: j pimmel Date: Mon, 2 Dec 2024 10:13:56 -0800 Subject: [PATCH 625/626] Minor update --- agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md | 1 + 1 file changed, 1 insertion(+) diff --git a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md index e051d45a1..998578f17 100644 --- a/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md +++ b/agendas/2024/sprint-kickoff/2024-11-29-Flow-Sprint-Kickoff.md @@ -197,6 +197,7 @@ Cycle Objective(s): * Misc other - Progress on trie research: detailed requirements completed - Continued discussion on Dynamic Protocol State for Version Beacon (coordinating upgrades of the Execution Stack): https://github.com/onflow/flips/pull/296 + - Continued Passkeys reading/research **This sprint** From f27a41d1173f42e4c302574db44d9092e7a4148c Mon Sep 17 00:00:00 2001 From: vishal <1117327+vishalchangrani@users.noreply.github.com> Date: Tue, 10 Dec 2024 16:09:53 -0800 Subject: [PATCH 626/626] adding sprint kick off doc for 12/13/2024 --- .../2024-12-13-Flow-Sprint-Kickoff.md | 220 ++++++++++++++++++ 1 file changed, 220 insertions(+) create mode 100644 agendas/2024/sprint-kickoff/2024-12-13-Flow-Sprint-Kickoff.md diff --git a/agendas/2024/sprint-kickoff/2024-12-13-Flow-Sprint-Kickoff.md b/agendas/2024/sprint-kickoff/2024-12-13-Flow-Sprint-Kickoff.md new file mode 100644 index 000000000..9b57e333c --- /dev/null +++ b/agendas/2024/sprint-kickoff/2024-12-13-Flow-Sprint-Kickoff.md @@ -0,0 +1,220 @@ +# Overview + + ### Team Wins 🎉 + + * + +--- + +### Mainnet Uptime - Last 14 days (11/30/24 to 12/13/24) \[JP] + +| | Target | Current Score | Error budget used | +|:------------------------|:------:|:-------------:|:-----------------:| +| Collection Finalization | 99.9% | 100% | 0% | +| Block Finalization | 99.9% | 100% | 0% | +| Transaction Execution | 99.9% | 100% | 0% | +| Block Sealing | 99.9% | 100% | 0% | +| Access API Liveness | 99.9% | 99.97% | 32.2% | + +#### Incidents +* + + +--- + + +# Working Group Updates + +### **Cadence and Virtual Machine** \[Jan] +Cycle Objective(s): + +1) Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +2) Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption. +3) Analyze execution runtime trends and risks to plan next set of scalability OKRs. + +* Stretch-goals: +4) Expand testing capability of storehouse so that we can validate execution correctness and benchmark performance on Mainnet data +5) Design a new Trie to improve performance of update operation, reduce memory usage and size of proofs and to support more flexible proof queries. +6) Enable Concurrent Execution on one EN on Mainnet to validate correctness of the implementation (Detect execution forks) +7) Improve execution performance to mitigate the impact of adding metadata to token standards + +**Done last sprint** + +* + +**This sprint** + +* + +**On Hold** + +Objective 2: Calibrate Transaction fees so that they accurately reflect resource usage during execution and deploy as part of Crescendo to avoid future disruption +- KR1: Update weights for the execution operations on TN and MN + - [Execution effort recalibration - data collection](https://github.com/onflow/flow-go/issues/5026) + + +**Active Epics** + +Objective 1: Upgrade Mainnet to Crescendo Release with minimal impact on developers, to lower the barrier for cross chain liquidity on Flow +- KR1: Enable Developers and the Flow Foundation to simulate Cadence 1.0 Contract upgrades +- KR2: Launch Cadence 1.0 on Crescendo Testnet +- KR3: Launch EVM on Crescendo Testnet +Objective 3: Analyze execution runtime trends and risks to plan next set of scalability OKRs +- KR1: Measure execution state growth trends, identify future bottlenecks and prioritize by urgency + +--- + +### **Core Protocol** \[Jerome] +Cycle Objective(s): + +* Translate crypto performance improvements to consensus block rate increase +* Provide developers secure and non-rate limited way to access all of chain data (transactions, blocks, account balance, events, account balance etc) by locally running an access or an observer node +* Reduce CPU usage on Execution node by 30% +* Continue BFT mitigations to enable 10 permissionless ANs +* Continue design of Dynamic Protocol + +**Done last sprint** + +* + +**This sprint** + +* + +**On Hold** +* Deliver public roadmap & vision for technical protocol decentralization focusing on current challenges and upcoming updates for permissionless consensus on Flow. + +**Active Epics** + +- Reinforcing Flow’s commitment to full protocol autonomy and scalability +- Improve network performance +- Improve network availability +- Simplify community contributions to core protocol and maintainability +- Improve network reliability and data availability for dApp developers +- Data-driven Prioritization and Scaling Engineering + +--- + +### **DeFi** \[Jerome] + +Cycle Objective(s): +- Resolving Circle's existing engineering improvements for USDC on Flow +- DEX Prep - IncrementFi +- Bridge Prep - Axelar + +**Done last sprint** + +* + +**This sprint** + +* + +**On Hold** +- N/A + +**Active Epics** + +- Establish Defi/Liquidity infrastructure for Cadence 1.0 update +- Ensure Flow has best-in-class on- and off-ramps for USDC liquidity across DeFi ecosystem +- Expand Flow DeFi ecosystem primitives and protocols + +--- + +### **User Experience** \[Greg] + +Cycle Objective(s): +- Bring Cadence 1.0 to market as part of the Crescendo release to minimize customer impact and developer effort +- Bring EVM on Flow to Market as part of the Crescendo release to increase liquidity and bring top-tier developer platforms to our network +- Use the Crescendo Release grow Flow's developer base and network activity + +**Done last sprint** + +* + +**This sprint** + +**Sprint goal focusing on adding docs and tool support for Crescendo network and Cadence 1.0** + +- [Add Crescendo network support to FCL Discovery](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50332654) +- [Add Crescendo Network to CLI (config, cmds, docs, etc)](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=50297186) +- [Add/Publish Initial EVM Docs](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952883) +- [Docs Revamp v3](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49327073) +- [Add C1.0 Rules to Cadence Linter](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51952640) +- [Update Playground to support Cadence 1.0](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=49844013) +- [Stable Cadence Installation Workflow](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51951905) + + +**On Hold** + +- [Update Flowport for Cadence Crescendo instance](https://github.com/orgs/onflow/projects/13/views/85?pane=issue&itemId=51960824) + +--- + +### **Wallet** \[Jeff] + +Cycle Objective(s): + +- Ensure there exists a wallet ecosystem supports FlowEVM + - Release version 2.2 of Flow Wallet which supports FlowEVM + - Support Authn / Authz / User Sign with Web3.js and WalletConnect + - Support FT and NFT management cross VMs + - FlowEVM onboarding and COA creation + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Secure FlowEVM as an option in the network selector list for MetaMask. + - Reach out to Coinbase wallet for a commitment to support FlowEVM + - Ensure commitments from key EVM wallet providers to support FlowEVM + - Reach out to Privy for a commitment to support FlowEVM + - Reach out to Bastion for a commitment to support FlowEVM + - Ensure awareness for existing Cadence aware wallet (aside from Flow Wallet) to support FlowEVM + - Provide a design document outlining the steps existing Cadence aware wallets can take to support FlowEVM. + - Reach out to Blocto for a commitment to support FlowEVM + - Reach out to Shadow wallet for a commitment to support FlowEVM + - Reach out to Magic for a commitment to support FlowEVM + +- Promote safe, human readable transaction authorization on Flow + - Secure a partnership with Blockaid to integrate their transaction simulation and security platform with FlowEVM. + - Ensure the existing MetaMask Blockaid integration is compatible with FlowEVM. + +- Modernize and improve FCL Discovery + - Create a PRD and associated community bounty/grant for UI/UX improvements and analytics additions to FCL Discovery. + +**Done last sprint** + +- N/A + +**This sprint** + +- Begin creating developer documentation highlighting FlowEVM +- Updating cadence transactions / scripts for Cadence 1.0 +- Begin executing on FlowEVM updates to Flow Wallet +- Scheduled calls with MetaMask and Coinbase Wallet teams to intro FlowEVM and gather their requirements. + +**On Hold** + +- N/A + +**Active Epics** + +- TBD + +--- + +### **Infra - JP** +Cycle Objective(s): +- Migrate Flow metrics & logs to Flow Foundation grafana account to reduce cost on DapperLabs + +**Done last sprint** + +* + +**This sprint** + +**Goal of Sprint is to migrate from DapperLabs account to FlowFoundation account** + +* + +**On Hold** +**Active Epics** + +---