From f288b74b935936089152ea94a6b348c4761d7a07 Mon Sep 17 00:00:00 2001 From: Oliver Townsend Date: Thu, 18 Sep 2025 08:42:39 -0700 Subject: [PATCH 1/3] Update DefaultAccessor GetFeeQuoterTokenUpdates --- chains/evm/deployment/go.mod | 6 +- chains/evm/deployment/go.sum | 12 +- go.mod | 6 +- go.sum | 12 +- .../ccipocr3/chain_accessor.go | 31 +- pkg/chainaccessor/default_price_reader.go | 37 +- .../v1/ocrtypecodecpb/ocrtypes.pb.go | 2546 +++++------------ pkg/reader/price_reader.go | 13 +- 8 files changed, 768 insertions(+), 1895 deletions(-) diff --git a/chains/evm/deployment/go.mod b/chains/evm/deployment/go.mod index 94c947248f..bb76d23450 100644 --- a/chains/evm/deployment/go.mod +++ b/chains/evm/deployment/go.mod @@ -16,7 +16,7 @@ require ( github.com/Masterminds/semver/v3 v3.4.0 github.com/ethereum/go-ethereum v1.16.2 github.com/smartcontractkit/chainlink-ccip v0.0.0-20250320090719-315440f5b0a7 - github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3 + github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 github.com/smartcontractkit/chainlink-deployments-framework v0.37.1 github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20250808121824-2c3544aab8f3 github.com/smartcontractkit/mcms v0.21.1 @@ -218,8 +218,8 @@ require ( github.com/smartcontractkit/chainlink-aptos v0.0.0-20250414155853-651b4e583ee9 // indirect github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250805210128-7f8a0f403c3a // indirect github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250805210128-7f8a0f403c3a // indirect - github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1 // indirect - github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250905211734-167560f092c1 // indirect + github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 // indirect + github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250911124514-5874cc6d62b2 // indirect github.com/smartcontractkit/chainlink-protos/job-distributor v0.12.0 // indirect github.com/smartcontractkit/chainlink-testing-framework/framework v0.10.15 // indirect github.com/smartcontractkit/chainlink-testing-framework/seth v1.51.2 // indirect diff --git a/chains/evm/deployment/go.sum b/chains/evm/deployment/go.sum index 0b217ff585..0d9d969aaa 100644 --- a/chains/evm/deployment/go.sum +++ b/chains/evm/deployment/go.sum @@ -664,16 +664,16 @@ github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250805210128-7 github.com/smartcontractkit/chainlink-ccip/chains/solana v0.0.0-20250805210128-7f8a0f403c3a/go.mod h1:Ve1xD71bl193YIZQEoJMmBqLGQJdNs29bwbuObwvbhQ= github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250805210128-7f8a0f403c3a h1:38dAlTPRUQHZus5dCnBnQyf/V4oYn0p2svWlbPgHDQ4= github.com/smartcontractkit/chainlink-ccip/chains/solana/gobindings v0.0.0-20250805210128-7f8a0f403c3a/go.mod h1:xtZNi6pOKdC3sLvokDvXOhgHzT+cyBqH/gWwvxTxqrg= -github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3 h1:dMvSvJ7nRAQViYSjdfj/vRGLULY7mJ3X4UgsPMmXgOI= -github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3/go.mod h1:1diMLMwfIACeqJFt7ySGaBrJIeUwHTLhVVYlb41EyKk= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1 h1:ca2z5OXgnbBPQRxpwXwBLJsUA1+cAp5ncfW4Ssvd6eY= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1/go.mod h1:NZv/qKYGFRnkjOYBouajnDfFoZ+WDa6H2KNmSf1dnKc= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 h1:Slnws8RoXRUYGgEMYK6X2yYzjZwNgVb93PxU45VEObQ= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76/go.mod h1:1r3aM96KHAESfnayJ3BTHCkP1qJS1BEG1r4czeoaXlA= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 h1:hvqATtrZ0iMRTI80cpBot/3JFbjz2j+2tvpfooVhRHw= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4/go.mod h1:eKGyfTKzr0/PeR7qKN4l2FcW9p+HzyKUwAfGhm/5YZc= github.com/smartcontractkit/chainlink-deployments-framework v0.37.1 h1:GqqcSz0egZGS6HGk9CnswvONwVAQsP3VWGpLGj8DR7M= github.com/smartcontractkit/chainlink-deployments-framework v0.37.1/go.mod h1:nvsOomMe/u/T4vekY7sd10HEGDbvadEw6bUMEblPDP0= github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20250808121824-2c3544aab8f3 h1:SRMNzCdQnF2x6+QlL5YSzVeWyJb/BXqMrg+zSGaBPVg= github.com/smartcontractkit/chainlink-evm/gethwrappers v0.0.0-20250808121824-2c3544aab8f3/go.mod h1:3Lsp38qxen9PABVF+O5eocveQev+hyo9HLAgRodBD4Q= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250905211734-167560f092c1 h1:HZt/80mhcNw6/MlYBIRracxfHWNqFF0iZ5nZEVZBUgo= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250905211734-167560f092c1/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= +github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250911124514-5874cc6d62b2 h1:1/KdO5AbUr3CmpLjMPuJXPo2wHMbfB8mldKLsg7D4M8= +github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250911124514-5874cc6d62b2/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= github.com/smartcontractkit/chainlink-protos/job-distributor v0.12.0 h1:/bhoALRzNXZkdzxBkNM505pMofNy0K0eW1nCzXw+AUI= github.com/smartcontractkit/chainlink-protos/job-distributor v0.12.0/go.mod h1:/dVVLXrsp+V0AbcYGJo3XMzKg3CkELsweA/TTopCsKE= github.com/smartcontractkit/chainlink-testing-framework/framework v0.10.15 h1:OyX2Z68z6VDY4aadqMXjwSTE/0misA5fk8Iq710nxkk= diff --git a/go.mod b/go.mod index 113aad2c34..397f225dcf 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/prometheus/client_golang v1.22.0 github.com/prometheus/client_model v0.6.2 github.com/smartcontractkit/chain-selectors v1.0.67 - github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3 + github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-15e0d4cde2a6 github.com/smartcontractkit/libocr v0.0.0-20250707144819-babe0ec4e358 github.com/stretchr/testify v1.10.0 @@ -82,8 +82,8 @@ require ( github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect github.com/shopspring/decimal v1.4.0 // indirect - github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1 // indirect - github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250905211734-167560f092c1 // indirect + github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 // indirect + github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250911124514-5874cc6d62b2 // indirect github.com/stephenlacy/go-ethereum-hdwallet v0.0.0-20230913225845-a4fa94429863 // indirect github.com/stretchr/objx v0.5.2 // indirect github.com/supranational/blst v0.3.14 // indirect diff --git a/go.sum b/go.sum index b05870b8ee..cc1b739fc8 100644 --- a/go.sum +++ b/go.sum @@ -263,12 +263,12 @@ github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= github.com/smartcontractkit/chain-selectors v1.0.67 h1:gxTqP/JC40KDe3DE1SIsIKSTKTZEPyEU1YufO1admnw= github.com/smartcontractkit/chain-selectors v1.0.67/go.mod h1:xsKM0aN3YGcQKTPRPDDtPx2l4mlTN1Djmg0VVXV40b8= -github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3 h1:dMvSvJ7nRAQViYSjdfj/vRGLULY7mJ3X4UgsPMmXgOI= -github.com/smartcontractkit/chainlink-common v0.9.5-0.20250910201107-cb4c31b624d3/go.mod h1:1diMLMwfIACeqJFt7ySGaBrJIeUwHTLhVVYlb41EyKk= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1 h1:ca2z5OXgnbBPQRxpwXwBLJsUA1+cAp5ncfW4Ssvd6eY= -github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.1/go.mod h1:NZv/qKYGFRnkjOYBouajnDfFoZ+WDa6H2KNmSf1dnKc= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250905211734-167560f092c1 h1:HZt/80mhcNw6/MlYBIRracxfHWNqFF0iZ5nZEVZBUgo= -github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250905211734-167560f092c1/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76 h1:Slnws8RoXRUYGgEMYK6X2yYzjZwNgVb93PxU45VEObQ= +github.com/smartcontractkit/chainlink-common v0.9.6-0.20250929154511-1f5fbda7ae76/go.mod h1:1r3aM96KHAESfnayJ3BTHCkP1qJS1BEG1r4czeoaXlA= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4 h1:hvqATtrZ0iMRTI80cpBot/3JFbjz2j+2tvpfooVhRHw= +github.com/smartcontractkit/chainlink-common/pkg/chipingress v0.0.4/go.mod h1:eKGyfTKzr0/PeR7qKN4l2FcW9p+HzyKUwAfGhm/5YZc= +github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250911124514-5874cc6d62b2 h1:1/KdO5AbUr3CmpLjMPuJXPo2wHMbfB8mldKLsg7D4M8= +github.com/smartcontractkit/chainlink-protos/cre/go v0.0.0-20250911124514-5874cc6d62b2/go.mod h1:jUC52kZzEnWF9tddHh85zolKybmLpbQ1oNA4FjOHt1Q= github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-15e0d4cde2a6 h1:L6KJ4kGv/yNNoCk8affk7Y1vAY0qglPMXC/hevV/IsA= github.com/smartcontractkit/chainlink-protos/rmn/v1.6/go v0.0.0-20250131130834-15e0d4cde2a6/go.mod h1:FRwzI3hGj4CJclNS733gfcffmqQ62ONCkbGi49s658w= github.com/smartcontractkit/libocr v0.0.0-20250707144819-babe0ec4e358 h1:+NVzR5LZVazRUunzVn34u+lwnpmn6NTVPCeZOVyQHLo= diff --git a/mocks/chainlink_common/ccipocr3/chain_accessor.go b/mocks/chainlink_common/ccipocr3/chain_accessor.go index f11508057f..dc78c4d70a 100644 --- a/mocks/chainlink_common/ccipocr3/chain_accessor.go +++ b/mocks/chainlink_common/ccipocr3/chain_accessor.go @@ -502,9 +502,9 @@ func (_c *MockChainAccessor_GetFeeQuoterDestChainConfig_Call) RunAndReturn(run f return _c } -// GetFeeQuoterTokenUpdates provides a mock function with given fields: ctx, tokens, chain -func (_m *MockChainAccessor) GetFeeQuoterTokenUpdates(ctx context.Context, tokens []ccipocr3.UnknownEncodedAddress, chain ccipocr3.ChainSelector) (map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig, error) { - ret := _m.Called(ctx, tokens, chain) +// GetFeeQuoterTokenUpdates provides a mock function with given fields: ctx, tokensBytes +func (_m *MockChainAccessor) GetFeeQuoterTokenUpdates(ctx context.Context, tokensBytes []ccipocr3.UnknownAddress) (map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig, error) { + ret := _m.Called(ctx, tokensBytes) if len(ret) == 0 { panic("no return value specified for GetFeeQuoterTokenUpdates") @@ -512,19 +512,19 @@ func (_m *MockChainAccessor) GetFeeQuoterTokenUpdates(ctx context.Context, token var r0 map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig var r1 error - if rf, ok := ret.Get(0).(func(context.Context, []ccipocr3.UnknownEncodedAddress, ccipocr3.ChainSelector) (map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig, error)); ok { - return rf(ctx, tokens, chain) + if rf, ok := ret.Get(0).(func(context.Context, []ccipocr3.UnknownAddress) (map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig, error)); ok { + return rf(ctx, tokensBytes) } - if rf, ok := ret.Get(0).(func(context.Context, []ccipocr3.UnknownEncodedAddress, ccipocr3.ChainSelector) map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig); ok { - r0 = rf(ctx, tokens, chain) + if rf, ok := ret.Get(0).(func(context.Context, []ccipocr3.UnknownAddress) map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig); ok { + r0 = rf(ctx, tokensBytes) } else { if ret.Get(0) != nil { r0 = ret.Get(0).(map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig) } } - if rf, ok := ret.Get(1).(func(context.Context, []ccipocr3.UnknownEncodedAddress, ccipocr3.ChainSelector) error); ok { - r1 = rf(ctx, tokens, chain) + if rf, ok := ret.Get(1).(func(context.Context, []ccipocr3.UnknownAddress) error); ok { + r1 = rf(ctx, tokensBytes) } else { r1 = ret.Error(1) } @@ -539,15 +539,14 @@ type MockChainAccessor_GetFeeQuoterTokenUpdates_Call struct { // GetFeeQuoterTokenUpdates is a helper method to define mock.On call // - ctx context.Context -// - tokens []ccipocr3.UnknownEncodedAddress -// - chain ccipocr3.ChainSelector -func (_e *MockChainAccessor_Expecter) GetFeeQuoterTokenUpdates(ctx interface{}, tokens interface{}, chain interface{}) *MockChainAccessor_GetFeeQuoterTokenUpdates_Call { - return &MockChainAccessor_GetFeeQuoterTokenUpdates_Call{Call: _e.mock.On("GetFeeQuoterTokenUpdates", ctx, tokens, chain)} +// - tokensBytes []ccipocr3.UnknownAddress +func (_e *MockChainAccessor_Expecter) GetFeeQuoterTokenUpdates(ctx interface{}, tokensBytes interface{}) *MockChainAccessor_GetFeeQuoterTokenUpdates_Call { + return &MockChainAccessor_GetFeeQuoterTokenUpdates_Call{Call: _e.mock.On("GetFeeQuoterTokenUpdates", ctx, tokensBytes)} } -func (_c *MockChainAccessor_GetFeeQuoterTokenUpdates_Call) Run(run func(ctx context.Context, tokens []ccipocr3.UnknownEncodedAddress, chain ccipocr3.ChainSelector)) *MockChainAccessor_GetFeeQuoterTokenUpdates_Call { +func (_c *MockChainAccessor_GetFeeQuoterTokenUpdates_Call) Run(run func(ctx context.Context, tokensBytes []ccipocr3.UnknownAddress)) *MockChainAccessor_GetFeeQuoterTokenUpdates_Call { _c.Call.Run(func(args mock.Arguments) { - run(args[0].(context.Context), args[1].([]ccipocr3.UnknownEncodedAddress), args[2].(ccipocr3.ChainSelector)) + run(args[0].(context.Context), args[1].([]ccipocr3.UnknownAddress)) }) return _c } @@ -557,7 +556,7 @@ func (_c *MockChainAccessor_GetFeeQuoterTokenUpdates_Call) Return(_a0 map[ccipoc return _c } -func (_c *MockChainAccessor_GetFeeQuoterTokenUpdates_Call) RunAndReturn(run func(context.Context, []ccipocr3.UnknownEncodedAddress, ccipocr3.ChainSelector) (map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig, error)) *MockChainAccessor_GetFeeQuoterTokenUpdates_Call { +func (_c *MockChainAccessor_GetFeeQuoterTokenUpdates_Call) RunAndReturn(run func(context.Context, []ccipocr3.UnknownAddress) (map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig, error)) *MockChainAccessor_GetFeeQuoterTokenUpdates_Call { _c.Call.Return(run) return _c } diff --git a/pkg/chainaccessor/default_price_reader.go b/pkg/chainaccessor/default_price_reader.go index 39b966c430..a80379a9c9 100644 --- a/pkg/chainaccessor/default_price_reader.go +++ b/pkg/chainaccessor/default_price_reader.go @@ -107,33 +107,21 @@ func normalizePrice(price *big.Int, decimals uint8) *big.Int { func (l *DefaultAccessor) GetFeeQuoterTokenUpdates( ctx context.Context, - tokens []ccipocr3.UnknownEncodedAddress, - chain ccipocr3.ChainSelector, + tokenBytes []ccipocr3.UnknownAddress, ) (map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig, error) { lggr := logutil.WithContextValues(ctx, l.lggr) - byteTokens := make([][]byte, 0, len(tokens)) - for _, token := range tokens { - tokenAddressBytes, err := l.addrCodec.AddressStringToBytes(string(token), chain) - if err != nil { - lggr.Warnw("failed to convert token address to bytes", "token", token, "err", err) - continue - } - - byteTokens = append(byteTokens, tokenAddressBytes) - } - feeQuoterAddress, err := l.GetContractAddress(consts.ContractNameFeeQuoter) if err != nil { return nil, fmt.Errorf("failed to get fee quoter address: %w", err) } - feeQuoterAddressStr, err := l.addrCodec.AddressBytesToString(feeQuoterAddress[:], chain) + feeQuoterAddressStr, err := l.addrCodec.AddressBytesToString(feeQuoterAddress[:], l.chainSelector) if err != nil { - lggr.Warnw("failed to convert fee quoter address to string", "chain", chain, "err", err) + lggr.Warnw("failed to convert fee quoter address to string", "chain", l.chainSelector, "err", err) return make(map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig), nil } - updates := make([]ccipocr3.TimestampedUnixBig, len(tokens)) + updates := make([]ccipocr3.TimestampedUnixBig, len(tokenBytes)) boundContract := types.BoundContract{ Address: feeQuoterAddressStr, Name: consts.ContractNameFeeQuoter, @@ -147,7 +135,7 @@ func (l *DefaultAccessor) GetFeeQuoterTokenUpdates( boundContract.ReadIdentifier(consts.MethodNameFeeQuoterGetTokenPrices), primitives.Unconfirmed, map[string]any{ - "tokens": byteTokens, + "tokens": tokenBytes, }, &updates, ); err != nil { @@ -155,16 +143,19 @@ func (l *DefaultAccessor) GetFeeQuoterTokenUpdates( } updateMap := make(map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedUnixBig) - for i, token := range tokens { + for i, token := range tokenBytes { + tokenAddressStr, err := l.addrCodec.AddressBytesToString(token[:], l.chainSelector) + if err != nil { + lggr.Errorw("failed to convert token address to string", "token", token, "chain", l.chainSelector, "err", err) + continue + } + // token not available on fee quoter if updates[i].Timestamp == 0 || updates[i].Value == nil || updates[i].Value.Cmp(big.NewInt(0)) == 0 { - lggr.Debugw("empty fee quoter update found", - "chain", chain, - "token", token, - ) + lggr.Debugw("empty fee quoter update found", "chain", l.chainSelector, "token", tokenAddressStr) continue } - updateMap[token] = updates[i] + updateMap[ccipocr3.UnknownEncodedAddress(tokenAddressStr)] = updates[i] } return updateMap, nil diff --git a/pkg/ocrtypecodec/v1/ocrtypecodecpb/ocrtypes.pb.go b/pkg/ocrtypecodec/v1/ocrtypecodecpb/ocrtypes.pb.go index c97c0765fc..4198302120 100644 --- a/pkg/ocrtypecodec/v1/ocrtypecodecpb/ocrtypes.pb.go +++ b/pkg/ocrtypecodec/v1/ocrtypecodecpb/ocrtypes.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 +// protoc-gen-go v1.36.7 // protoc v5.28.0 // source: pkg/ocrtypecodec/v1/ocrtypes.proto @@ -12,6 +12,7 @@ import ( timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" + unsafe "unsafe" ) const ( @@ -22,20 +23,17 @@ const ( ) type CommitQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MerkleRootQuery *MerkleRootQuery `protobuf:"bytes,1,opt,name=merkle_root_query,json=merkleRootQuery,proto3" json:"merkle_root_query,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + MerkleRootQuery *MerkleRootQuery `protobuf:"bytes,1,opt,name=merkle_root_query,json=merkleRootQuery,proto3" json:"merkle_root_query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CommitQuery) Reset() { *x = CommitQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommitQuery) String() string { @@ -46,7 +44,7 @@ func (*CommitQuery) ProtoMessage() {} func (x *CommitQuery) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -69,25 +67,22 @@ func (x *CommitQuery) GetMerkleRootQuery() *MerkleRootQuery { } type CommitObservation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` MerkleRootObs *MerkleRootObservation `protobuf:"bytes,1,opt,name=merkle_root_obs,json=merkleRootObs,proto3" json:"merkle_root_obs,omitempty"` TokenPriceObs *TokenPriceObservation `protobuf:"bytes,2,opt,name=token_price_obs,json=tokenPriceObs,proto3" json:"token_price_obs,omitempty"` ChainFeeObs *ChainFeeObservation `protobuf:"bytes,3,opt,name=chain_fee_obs,json=chainFeeObs,proto3" json:"chain_fee_obs,omitempty"` DiscoveryObs *DiscoveryObservation `protobuf:"bytes,4,opt,name=discovery_obs,json=discoveryObs,proto3" json:"discovery_obs,omitempty"` - FChain map[uint64]int32 `protobuf:"bytes,5,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to f - OnchainPriceOcrSeqNum uint64 `protobuf:"varint,6,opt,name=onchain_price_ocr_seq_num,json=onchainPriceOcrSeqNum,proto3" json:"onchain_price_ocr_seq_num,omitempty"` // the ocr sequence number of the last report with prices seen onchain + FChain map[uint64]int32 `protobuf:"bytes,5,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to f + OnchainPriceOcrSeqNum uint64 `protobuf:"varint,6,opt,name=onchain_price_ocr_seq_num,json=onchainPriceOcrSeqNum,proto3" json:"onchain_price_ocr_seq_num,omitempty"` // the ocr sequence number of the last report with prices seen onchain + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CommitObservation) Reset() { *x = CommitObservation{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommitObservation) String() string { @@ -98,7 +93,7 @@ func (*CommitObservation) ProtoMessage() {} func (x *CommitObservation) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -156,23 +151,20 @@ func (x *CommitObservation) GetOnchainPriceOcrSeqNum() uint64 { } type CommitOutcome struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MerkleRootOutcome *MerkleRootOutcome `protobuf:"bytes,1,opt,name=merkle_root_outcome,json=merkleRootOutcome,proto3" json:"merkle_root_outcome,omitempty"` - TokenPriceOutcome *TokenPriceOutcome `protobuf:"bytes,2,opt,name=token_price_outcome,json=tokenPriceOutcome,proto3" json:"token_price_outcome,omitempty"` - ChainFeeOutcome *ChainFeeOutcome `protobuf:"bytes,3,opt,name=chain_fee_outcome,json=chainFeeOutcome,proto3" json:"chain_fee_outcome,omitempty"` - MainOutcome *MainOutcome `protobuf:"bytes,4,opt,name=main_outcome,json=mainOutcome,proto3" json:"main_outcome,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + MerkleRootOutcome *MerkleRootOutcome `protobuf:"bytes,1,opt,name=merkle_root_outcome,json=merkleRootOutcome,proto3" json:"merkle_root_outcome,omitempty"` + TokenPriceOutcome *TokenPriceOutcome `protobuf:"bytes,2,opt,name=token_price_outcome,json=tokenPriceOutcome,proto3" json:"token_price_outcome,omitempty"` + ChainFeeOutcome *ChainFeeOutcome `protobuf:"bytes,3,opt,name=chain_fee_outcome,json=chainFeeOutcome,proto3" json:"chain_fee_outcome,omitempty"` + MainOutcome *MainOutcome `protobuf:"bytes,4,opt,name=main_outcome,json=mainOutcome,proto3" json:"main_outcome,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CommitOutcome) Reset() { *x = CommitOutcome{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommitOutcome) String() string { @@ -183,7 +175,7 @@ func (*CommitOutcome) ProtoMessage() {} func (x *CommitOutcome) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -227,28 +219,25 @@ func (x *CommitOutcome) GetMainOutcome() *MainOutcome { } type ExecObservation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommitReports map[uint64]*CommitObservations `protobuf:"bytes,1,rep,name=commit_reports,json=commitReports,proto3" json:"commit_reports,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to commitObservations - SeqNumsToMsgs map[uint64]*SeqNumToMessage `protobuf:"bytes,2,rep,name=seq_nums_to_msgs,json=seqNumsToMsgs,proto3" json:"seq_nums_to_msgs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to seqNum to msg - MsgHashes map[uint64]*SeqNumToBytes `protobuf:"bytes,3,rep,name=msg_hashes,json=msgHashes,proto3" json:"msg_hashes,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to seqNum to bytes32 + state protoimpl.MessageState `protogen:"open.v1"` + CommitReports map[uint64]*CommitObservations `protobuf:"bytes,1,rep,name=commit_reports,json=commitReports,proto3" json:"commit_reports,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to commitObservations + SeqNumsToMsgs map[uint64]*SeqNumToMessage `protobuf:"bytes,2,rep,name=seq_nums_to_msgs,json=seqNumsToMsgs,proto3" json:"seq_nums_to_msgs,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to seqNum to msg + MsgHashes map[uint64]*SeqNumToBytes `protobuf:"bytes,3,rep,name=msg_hashes,json=msgHashes,proto3" json:"msg_hashes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to seqNum to bytes32 TokenDataObservations *TokenDataObservations `protobuf:"bytes,4,opt,name=token_data_observations,json=tokenDataObservations,proto3" json:"token_data_observations,omitempty"` // Deprecated: Marked as deprecated in pkg/ocrtypecodec/v1/ocrtypes.proto. CostlyMessages [][]byte `protobuf:"bytes,5,rep,name=costly_messages,json=costlyMessages,proto3" json:"costly_messages,omitempty"` // DEPRECATED: Message IDs of costly messages - Nonces map[uint64]*StringAddrToNonce `protobuf:"bytes,6,rep,name=nonces,proto3" json:"nonces,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Nonces map[uint64]*StringAddrToNonce `protobuf:"bytes,6,rep,name=nonces,proto3" json:"nonces,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` Contracts *DiscoveryObservation `protobuf:"bytes,7,opt,name=contracts,proto3" json:"contracts,omitempty"` - FChain map[uint64]int32 `protobuf:"bytes,8,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to f + FChain map[uint64]int32 `protobuf:"bytes,8,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to f + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ExecObservation) Reset() { *x = ExecObservation{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExecObservation) String() string { @@ -259,7 +248,7 @@ func (*ExecObservation) ProtoMessage() {} func (x *ExecObservation) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -332,23 +321,20 @@ func (x *ExecObservation) GetFChain() map[uint64]int32 { } type ExecOutcome struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` PluginState string `protobuf:"bytes,1,opt,name=plugin_state,json=pluginState,proto3" json:"plugin_state,omitempty"` CommitReports []*CommitData `protobuf:"bytes,2,rep,name=commit_reports,json=commitReports,proto3" json:"commit_reports,omitempty"` ExecutePluginReport *ExecutePluginReport `protobuf:"bytes,3,opt,name=execute_plugin_report,json=executePluginReport,proto3" json:"execute_plugin_report,omitempty"` // DEPRECATED: Use execute_plugin_reports instead ExecutePluginReports []*ExecutePluginReport `protobuf:"bytes,4,rep,name=execute_plugin_reports,json=executePluginReports,proto3" json:"execute_plugin_reports,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ExecOutcome) Reset() { *x = ExecOutcome{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExecOutcome) String() string { @@ -359,7 +345,7 @@ func (*ExecOutcome) ProtoMessage() {} func (x *ExecOutcome) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -403,21 +389,18 @@ func (x *ExecOutcome) GetExecutePluginReports() []*ExecutePluginReport { } type MerkleRootQuery struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RetryRmnSignatures bool `protobuf:"varint,1,opt,name=retry_rmn_signatures,json=retryRmnSignatures,proto3" json:"retry_rmn_signatures,omitempty"` - RmnSignatures *ReportSignatures `protobuf:"bytes,2,opt,name=rmn_signatures,json=rmnSignatures,proto3" json:"rmn_signatures,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + RetryRmnSignatures bool `protobuf:"varint,1,opt,name=retry_rmn_signatures,json=retryRmnSignatures,proto3" json:"retry_rmn_signatures,omitempty"` + RmnSignatures *ReportSignatures `protobuf:"bytes,2,opt,name=rmn_signatures,json=rmnSignatures,proto3" json:"rmn_signatures,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MerkleRootQuery) Reset() { *x = MerkleRootQuery{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MerkleRootQuery) String() string { @@ -428,7 +411,7 @@ func (*MerkleRootQuery) ProtoMessage() {} func (x *MerkleRootQuery) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -458,21 +441,18 @@ func (x *MerkleRootQuery) GetRmnSignatures() *ReportSignatures { } type ReportSignatures struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Signatures []*SignatureEcdsa `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty"` + LaneUpdates []*DestChainUpdate `protobuf:"bytes,2,rep,name=lane_updates,json=laneUpdates,proto3" json:"lane_updates,omitempty"` unknownFields protoimpl.UnknownFields - - Signatures []*SignatureEcdsa `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty"` - LaneUpdates []*DestChainUpdate `protobuf:"bytes,2,rep,name=lane_updates,json=laneUpdates,proto3" json:"lane_updates,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ReportSignatures) Reset() { *x = ReportSignatures{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ReportSignatures) String() string { @@ -483,7 +463,7 @@ func (*ReportSignatures) ProtoMessage() {} func (x *ReportSignatures) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -513,21 +493,18 @@ func (x *ReportSignatures) GetLaneUpdates() []*DestChainUpdate { } type SignatureEcdsa struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + R []byte `protobuf:"bytes,1,opt,name=r,proto3" json:"r,omitempty"` + S []byte `protobuf:"bytes,2,opt,name=s,proto3" json:"s,omitempty"` unknownFields protoimpl.UnknownFields - - R []byte `protobuf:"bytes,1,opt,name=r,proto3" json:"r,omitempty"` - S []byte `protobuf:"bytes,2,opt,name=s,proto3" json:"s,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SignatureEcdsa) Reset() { *x = SignatureEcdsa{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SignatureEcdsa) String() string { @@ -538,7 +515,7 @@ func (*SignatureEcdsa) ProtoMessage() {} func (x *SignatureEcdsa) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -568,22 +545,19 @@ func (x *SignatureEcdsa) GetS() []byte { } type DestChainUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + LaneSource *SourceChainMeta `protobuf:"bytes,1,opt,name=lane_source,json=laneSource,proto3" json:"lane_source,omitempty"` + SeqNumRange *SeqNumRange `protobuf:"bytes,2,opt,name=seq_num_range,json=seqNumRange,proto3" json:"seq_num_range,omitempty"` + Root []byte `protobuf:"bytes,3,opt,name=root,proto3" json:"root,omitempty"` // bytes32 unknownFields protoimpl.UnknownFields - - LaneSource *SourceChainMeta `protobuf:"bytes,1,opt,name=lane_source,json=laneSource,proto3" json:"lane_source,omitempty"` - SeqNumRange *SeqNumRange `protobuf:"bytes,2,opt,name=seq_num_range,json=seqNumRange,proto3" json:"seq_num_range,omitempty"` - Root []byte `protobuf:"bytes,3,opt,name=root,proto3" json:"root,omitempty"` // bytes32 + sizeCache protoimpl.SizeCache } func (x *DestChainUpdate) Reset() { *x = DestChainUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DestChainUpdate) String() string { @@ -594,7 +568,7 @@ func (*DestChainUpdate) ProtoMessage() {} func (x *DestChainUpdate) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -631,25 +605,22 @@ func (x *DestChainUpdate) GetRoot() []byte { } type MerkleRootObservation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MerkleRoots []*MerkleRootChain `protobuf:"bytes,1,rep,name=merkle_roots,json=merkleRoots,proto3" json:"merkle_roots,omitempty"` - RmnEnabledChains map[uint64]bool `protobuf:"bytes,2,rep,name=rmn_enabled_chains,json=rmnEnabledChains,proto3" json:"rmn_enabled_chains,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to bool - OnRampMaxSeqNums []*SeqNumChain `protobuf:"bytes,3,rep,name=on_ramp_max_seq_nums,json=onRampMaxSeqNums,proto3" json:"on_ramp_max_seq_nums,omitempty"` - OffRampNextSeqNums []*SeqNumChain `protobuf:"bytes,4,rep,name=off_ramp_next_seq_nums,json=offRampNextSeqNums,proto3" json:"off_ramp_next_seq_nums,omitempty"` - RmnRemoteConfig *RmnRemoteConfig `protobuf:"bytes,5,opt,name=rmn_remote_config,json=rmnRemoteConfig,proto3" json:"rmn_remote_config,omitempty"` - FChain map[uint64]int32 `protobuf:"bytes,6,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to f + state protoimpl.MessageState `protogen:"open.v1"` + MerkleRoots []*MerkleRootChain `protobuf:"bytes,1,rep,name=merkle_roots,json=merkleRoots,proto3" json:"merkle_roots,omitempty"` + RmnEnabledChains map[uint64]bool `protobuf:"bytes,2,rep,name=rmn_enabled_chains,json=rmnEnabledChains,proto3" json:"rmn_enabled_chains,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to bool + OnRampMaxSeqNums []*SeqNumChain `protobuf:"bytes,3,rep,name=on_ramp_max_seq_nums,json=onRampMaxSeqNums,proto3" json:"on_ramp_max_seq_nums,omitempty"` + OffRampNextSeqNums []*SeqNumChain `protobuf:"bytes,4,rep,name=off_ramp_next_seq_nums,json=offRampNextSeqNums,proto3" json:"off_ramp_next_seq_nums,omitempty"` + RmnRemoteConfig *RmnRemoteConfig `protobuf:"bytes,5,opt,name=rmn_remote_config,json=rmnRemoteConfig,proto3" json:"rmn_remote_config,omitempty"` + FChain map[uint64]int32 `protobuf:"bytes,6,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to f + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MerkleRootObservation) Reset() { *x = MerkleRootObservation{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MerkleRootObservation) String() string { @@ -660,7 +631,7 @@ func (*MerkleRootObservation) ProtoMessage() {} func (x *MerkleRootObservation) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -718,25 +689,22 @@ func (x *MerkleRootObservation) GetFChain() map[uint64]int32 { } type RmnRemoteConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ContractAddress []byte `protobuf:"bytes,1,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` - ConfigDigest []byte `protobuf:"bytes,2,opt,name=config_digest,json=configDigest,proto3" json:"config_digest,omitempty"` - Signers []*RemoteSignerInfo `protobuf:"bytes,3,rep,name=signers,proto3" json:"signers,omitempty"` - FSign uint64 `protobuf:"varint,4,opt,name=f_sign,json=fSign,proto3" json:"f_sign,omitempty"` - ConfigVersion uint32 `protobuf:"varint,5,opt,name=config_version,json=configVersion,proto3" json:"config_version,omitempty"` - RmnReportVersion []byte `protobuf:"bytes,6,opt,name=rmn_report_version,json=rmnReportVersion,proto3" json:"rmn_report_version,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ContractAddress []byte `protobuf:"bytes,1,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` + ConfigDigest []byte `protobuf:"bytes,2,opt,name=config_digest,json=configDigest,proto3" json:"config_digest,omitempty"` + Signers []*RemoteSignerInfo `protobuf:"bytes,3,rep,name=signers,proto3" json:"signers,omitempty"` + FSign uint64 `protobuf:"varint,4,opt,name=f_sign,json=fSign,proto3" json:"f_sign,omitempty"` + ConfigVersion uint32 `protobuf:"varint,5,opt,name=config_version,json=configVersion,proto3" json:"config_version,omitempty"` + RmnReportVersion []byte `protobuf:"bytes,6,opt,name=rmn_report_version,json=rmnReportVersion,proto3" json:"rmn_report_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RmnRemoteConfig) Reset() { *x = RmnRemoteConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RmnRemoteConfig) String() string { @@ -747,7 +715,7 @@ func (*RmnRemoteConfig) ProtoMessage() {} func (x *RmnRemoteConfig) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -805,21 +773,18 @@ func (x *RmnRemoteConfig) GetRmnReportVersion() []byte { } type RemoteSignerInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OnchainPublicKey []byte `protobuf:"bytes,1,opt,name=onchain_public_key,json=onchainPublicKey,proto3" json:"onchain_public_key,omitempty"` - NodeIndex uint64 `protobuf:"varint,2,opt,name=node_index,json=nodeIndex,proto3" json:"node_index,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + OnchainPublicKey []byte `protobuf:"bytes,1,opt,name=onchain_public_key,json=onchainPublicKey,proto3" json:"onchain_public_key,omitempty"` + NodeIndex uint64 `protobuf:"varint,2,opt,name=node_index,json=nodeIndex,proto3" json:"node_index,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RemoteSignerInfo) Reset() { *x = RemoteSignerInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RemoteSignerInfo) String() string { @@ -830,7 +795,7 @@ func (*RemoteSignerInfo) ProtoMessage() {} func (x *RemoteSignerInfo) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -860,23 +825,20 @@ func (x *RemoteSignerInfo) GetNodeIndex() uint64 { } type TokenPriceObservation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FeedTokenPrices map[string][]byte `protobuf:"bytes,1,rep,name=feed_token_prices,json=feedTokenPrices,proto3" json:"feed_token_prices,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - FeeQuoterTokenUpdates map[string]*TimestampedBig `protobuf:"bytes,2,rep,name=fee_quoter_token_updates,json=feeQuoterTokenUpdates,proto3" json:"fee_quoter_token_updates,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - FChain map[uint64]int32 `protobuf:"bytes,3,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to f + state protoimpl.MessageState `protogen:"open.v1"` + FeedTokenPrices map[string][]byte `protobuf:"bytes,1,rep,name=feed_token_prices,json=feedTokenPrices,proto3" json:"feed_token_prices,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + FeeQuoterTokenUpdates map[string]*TimestampedBig `protobuf:"bytes,2,rep,name=fee_quoter_token_updates,json=feeQuoterTokenUpdates,proto3" json:"fee_quoter_token_updates,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + FChain map[uint64]int32 `protobuf:"bytes,3,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to f Timestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *TokenPriceObservation) Reset() { *x = TokenPriceObservation{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TokenPriceObservation) String() string { @@ -887,7 +849,7 @@ func (*TokenPriceObservation) ProtoMessage() {} func (x *TokenPriceObservation) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -931,24 +893,21 @@ func (x *TokenPriceObservation) GetTimestamp() *timestamppb.Timestamp { } type ChainFeeObservation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FeeComponents map[uint64]*ChainFeeComponents `protobuf:"bytes,1,rep,name=fee_components,json=feeComponents,proto3" json:"fee_components,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to ChainFeeComponents - NativeTokenPrices map[uint64][]byte `protobuf:"bytes,2,rep,name=native_token_prices,json=nativeTokenPrices,proto3" json:"native_token_prices,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to bigInt bytes - ChainFeeUpdates map[uint64]*ChainFeeUpdate `protobuf:"bytes,3,rep,name=chain_fee_updates,json=chainFeeUpdates,proto3" json:"chain_fee_updates,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to ChainFeeUpdate - FChain map[uint64]int32 `protobuf:"bytes,4,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to f + state protoimpl.MessageState `protogen:"open.v1"` + FeeComponents map[uint64]*ChainFeeComponents `protobuf:"bytes,1,rep,name=fee_components,json=feeComponents,proto3" json:"fee_components,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to ChainFeeComponents + NativeTokenPrices map[uint64][]byte `protobuf:"bytes,2,rep,name=native_token_prices,json=nativeTokenPrices,proto3" json:"native_token_prices,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to bigInt bytes + ChainFeeUpdates map[uint64]*ChainFeeUpdate `protobuf:"bytes,3,rep,name=chain_fee_updates,json=chainFeeUpdates,proto3" json:"chain_fee_updates,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to ChainFeeUpdate + FChain map[uint64]int32 `protobuf:"bytes,4,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to f TimestampNow *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp_now,json=timestampNow,proto3" json:"timestamp_now,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChainFeeObservation) Reset() { *x = ChainFeeObservation{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainFeeObservation) String() string { @@ -959,7 +918,7 @@ func (*ChainFeeObservation) ProtoMessage() {} func (x *ChainFeeObservation) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1010,21 +969,18 @@ func (x *ChainFeeObservation) GetTimestampNow() *timestamppb.Timestamp { } type ChainFeeComponents struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ExecutionFee []byte `protobuf:"bytes,1,opt,name=execution_fee,json=executionFee,proto3" json:"execution_fee,omitempty"` // bigInt bytes - DataAvailabilityFee []byte `protobuf:"bytes,2,opt,name=data_availability_fee,json=dataAvailabilityFee,proto3" json:"data_availability_fee,omitempty"` // bigInt bytes + state protoimpl.MessageState `protogen:"open.v1"` + ExecutionFee []byte `protobuf:"bytes,1,opt,name=execution_fee,json=executionFee,proto3" json:"execution_fee,omitempty"` // bigInt bytes + DataAvailabilityFee []byte `protobuf:"bytes,2,opt,name=data_availability_fee,json=dataAvailabilityFee,proto3" json:"data_availability_fee,omitempty"` // bigInt bytes + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChainFeeComponents) Reset() { *x = ChainFeeComponents{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainFeeComponents) String() string { @@ -1035,7 +991,7 @@ func (*ChainFeeComponents) ProtoMessage() {} func (x *ChainFeeComponents) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1065,21 +1021,18 @@ func (x *ChainFeeComponents) GetDataAvailabilityFee() []byte { } type ChainFeeUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ChainFee *ComponentsUSDPrices `protobuf:"bytes,1,opt,name=chain_fee,json=chainFee,proto3" json:"chain_fee,omitempty"` + Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` unknownFields protoimpl.UnknownFields - - ChainFee *ComponentsUSDPrices `protobuf:"bytes,1,opt,name=chain_fee,json=chainFee,proto3" json:"chain_fee,omitempty"` - Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ChainFeeUpdate) Reset() { *x = ChainFeeUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainFeeUpdate) String() string { @@ -1090,7 +1043,7 @@ func (*ChainFeeUpdate) ProtoMessage() {} func (x *ChainFeeUpdate) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1120,21 +1073,18 @@ func (x *ChainFeeUpdate) GetTimestamp() *timestamppb.Timestamp { } type ComponentsUSDPrices struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ExecutionFeePriceUsd []byte `protobuf:"bytes,1,opt,name=execution_fee_price_usd,json=executionFeePriceUsd,proto3" json:"execution_fee_price_usd,omitempty"` // bigInt bytes - DataAvFeePriceUsd []byte `protobuf:"bytes,2,opt,name=data_av_fee_price_usd,json=dataAvFeePriceUsd,proto3" json:"data_av_fee_price_usd,omitempty"` // bigInt bytes + state protoimpl.MessageState `protogen:"open.v1"` + ExecutionFeePriceUsd []byte `protobuf:"bytes,1,opt,name=execution_fee_price_usd,json=executionFeePriceUsd,proto3" json:"execution_fee_price_usd,omitempty"` // bigInt bytes + DataAvFeePriceUsd []byte `protobuf:"bytes,2,opt,name=data_av_fee_price_usd,json=dataAvFeePriceUsd,proto3" json:"data_av_fee_price_usd,omitempty"` // bigInt bytes + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ComponentsUSDPrices) Reset() { *x = ComponentsUSDPrices{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ComponentsUSDPrices) String() string { @@ -1145,7 +1095,7 @@ func (*ComponentsUSDPrices) ProtoMessage() {} func (x *ComponentsUSDPrices) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1175,21 +1125,18 @@ func (x *ComponentsUSDPrices) GetDataAvFeePriceUsd() []byte { } type DiscoveryObservation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - FChain map[uint64]int32 `protobuf:"bytes,1,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to f + state protoimpl.MessageState `protogen:"open.v1"` + FChain map[uint64]int32 `protobuf:"bytes,1,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to f ContractNames *ContractNameChainAddresses `protobuf:"bytes,2,opt,name=contract_names,json=contractNames,proto3" json:"contract_names,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *DiscoveryObservation) Reset() { *x = DiscoveryObservation{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *DiscoveryObservation) String() string { @@ -1200,7 +1147,7 @@ func (*DiscoveryObservation) ProtoMessage() {} func (x *DiscoveryObservation) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1230,20 +1177,17 @@ func (x *DiscoveryObservation) GetContractNames() *ContractNameChainAddresses { } type ContractNameChainAddresses struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Addresses map[string]*ChainAddressMap `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // contract name to chain to address unknownFields protoimpl.UnknownFields - - Addresses map[string]*ChainAddressMap `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // contract name to chain to address + sizeCache protoimpl.SizeCache } func (x *ContractNameChainAddresses) Reset() { *x = ContractNameChainAddresses{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ContractNameChainAddresses) String() string { @@ -1254,7 +1198,7 @@ func (*ContractNameChainAddresses) ProtoMessage() {} func (x *ContractNameChainAddresses) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1277,20 +1221,17 @@ func (x *ContractNameChainAddresses) GetAddresses() map[string]*ChainAddressMap } type ChainAddressMap struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChainAddresses map[uint64][]byte `protobuf:"bytes,1,rep,name=chain_addresses,json=chainAddresses,proto3" json:"chain_addresses,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to address + state protoimpl.MessageState `protogen:"open.v1"` + ChainAddresses map[uint64][]byte `protobuf:"bytes,1,rep,name=chain_addresses,json=chainAddresses,proto3" json:"chain_addresses,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to address + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChainAddressMap) Reset() { *x = ChainAddressMap{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainAddressMap) String() string { @@ -1301,7 +1242,7 @@ func (*ChainAddressMap) ProtoMessage() {} func (x *ChainAddressMap) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1324,27 +1265,24 @@ func (x *ChainAddressMap) GetChainAddresses() map[uint64][]byte { } type MerkleRootOutcome struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OutcomeType int32 `protobuf:"varint,1,opt,name=outcome_type,json=outcomeType,proto3" json:"outcome_type,omitempty"` - RangesSelectedForReport []*ChainRange `protobuf:"bytes,2,rep,name=ranges_selected_for_report,json=rangesSelectedForReport,proto3" json:"ranges_selected_for_report,omitempty"` - RootsToReport []*MerkleRootChain `protobuf:"bytes,3,rep,name=roots_to_report,json=rootsToReport,proto3" json:"roots_to_report,omitempty"` - RmnEnabledChains map[uint64]bool `protobuf:"bytes,4,rep,name=rmn_enabled_chains,json=rmnEnabledChains,proto3" json:"rmn_enabled_chains,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to bool - OffRampNextSeqNums []*SeqNumChain `protobuf:"bytes,5,rep,name=off_ramp_next_seq_nums,json=offRampNextSeqNums,proto3" json:"off_ramp_next_seq_nums,omitempty"` - ReportTransmissionCheckAttempts uint32 `protobuf:"varint,6,opt,name=report_transmission_check_attempts,json=reportTransmissionCheckAttempts,proto3" json:"report_transmission_check_attempts,omitempty"` - RmnReportSignatures []*SignatureEcdsa `protobuf:"bytes,7,rep,name=rmn_report_signatures,json=rmnReportSignatures,proto3" json:"rmn_report_signatures,omitempty"` - RmnRemoteCfg *RmnRemoteConfig `protobuf:"bytes,8,opt,name=rmn_remote_cfg,json=rmnRemoteCfg,proto3" json:"rmn_remote_cfg,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + OutcomeType int32 `protobuf:"varint,1,opt,name=outcome_type,json=outcomeType,proto3" json:"outcome_type,omitempty"` + RangesSelectedForReport []*ChainRange `protobuf:"bytes,2,rep,name=ranges_selected_for_report,json=rangesSelectedForReport,proto3" json:"ranges_selected_for_report,omitempty"` + RootsToReport []*MerkleRootChain `protobuf:"bytes,3,rep,name=roots_to_report,json=rootsToReport,proto3" json:"roots_to_report,omitempty"` + RmnEnabledChains map[uint64]bool `protobuf:"bytes,4,rep,name=rmn_enabled_chains,json=rmnEnabledChains,proto3" json:"rmn_enabled_chains,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to bool + OffRampNextSeqNums []*SeqNumChain `protobuf:"bytes,5,rep,name=off_ramp_next_seq_nums,json=offRampNextSeqNums,proto3" json:"off_ramp_next_seq_nums,omitempty"` + ReportTransmissionCheckAttempts uint32 `protobuf:"varint,6,opt,name=report_transmission_check_attempts,json=reportTransmissionCheckAttempts,proto3" json:"report_transmission_check_attempts,omitempty"` + RmnReportSignatures []*SignatureEcdsa `protobuf:"bytes,7,rep,name=rmn_report_signatures,json=rmnReportSignatures,proto3" json:"rmn_report_signatures,omitempty"` + RmnRemoteCfg *RmnRemoteConfig `protobuf:"bytes,8,opt,name=rmn_remote_cfg,json=rmnRemoteCfg,proto3" json:"rmn_remote_cfg,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MerkleRootOutcome) Reset() { *x = MerkleRootOutcome{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MerkleRootOutcome) String() string { @@ -1355,7 +1293,7 @@ func (*MerkleRootOutcome) ProtoMessage() {} func (x *MerkleRootOutcome) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1427,20 +1365,17 @@ func (x *MerkleRootOutcome) GetRmnRemoteCfg() *RmnRemoteConfig { } type TokenPriceOutcome struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + TokenPrices map[string][]byte `protobuf:"bytes,1,rep,name=token_prices,json=tokenPrices,proto3" json:"token_prices,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - TokenPrices map[string][]byte `protobuf:"bytes,1,rep,name=token_prices,json=tokenPrices,proto3" json:"token_prices,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *TokenPriceOutcome) Reset() { *x = TokenPriceOutcome{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TokenPriceOutcome) String() string { @@ -1451,7 +1386,7 @@ func (*TokenPriceOutcome) ProtoMessage() {} func (x *TokenPriceOutcome) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1474,20 +1409,17 @@ func (x *TokenPriceOutcome) GetTokenPrices() map[string][]byte { } type ChainFeeOutcome struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + GasPrices []*GasPriceChain `protobuf:"bytes,1,rep,name=gas_prices,json=gasPrices,proto3" json:"gas_prices,omitempty"` unknownFields protoimpl.UnknownFields - - GasPrices []*GasPriceChain `protobuf:"bytes,1,rep,name=gas_prices,json=gasPrices,proto3" json:"gas_prices,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ChainFeeOutcome) Reset() { *x = ChainFeeOutcome{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainFeeOutcome) String() string { @@ -1498,7 +1430,7 @@ func (*ChainFeeOutcome) ProtoMessage() {} func (x *ChainFeeOutcome) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1521,21 +1453,18 @@ func (x *ChainFeeOutcome) GetGasPrices() []*GasPriceChain { } type GasPriceChain struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` + GasPrice []byte `protobuf:"bytes,2,opt,name=gas_price,json=gasPrice,proto3" json:"gas_price,omitempty"` unknownFields protoimpl.UnknownFields - - ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` - GasPrice []byte `protobuf:"bytes,2,opt,name=gas_price,json=gasPrice,proto3" json:"gas_price,omitempty"` + sizeCache protoimpl.SizeCache } func (x *GasPriceChain) Reset() { *x = GasPriceChain{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *GasPriceChain) String() string { @@ -1546,7 +1475,7 @@ func (*GasPriceChain) ProtoMessage() {} func (x *GasPriceChain) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1576,21 +1505,18 @@ func (x *GasPriceChain) GetGasPrice() []byte { } type MainOutcome struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - InflightPriceOcrSequenceNumber uint64 `protobuf:"varint,1,opt,name=inflight_price_ocr_sequence_number,json=inflightPriceOcrSequenceNumber,proto3" json:"inflight_price_ocr_sequence_number,omitempty"` - RemainingPriceChecks int32 `protobuf:"varint,2,opt,name=remaining_price_checks,json=remainingPriceChecks,proto3" json:"remaining_price_checks,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + InflightPriceOcrSequenceNumber uint64 `protobuf:"varint,1,opt,name=inflight_price_ocr_sequence_number,json=inflightPriceOcrSequenceNumber,proto3" json:"inflight_price_ocr_sequence_number,omitempty"` + RemainingPriceChecks int32 `protobuf:"varint,2,opt,name=remaining_price_checks,json=remainingPriceChecks,proto3" json:"remaining_price_checks,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *MainOutcome) Reset() { *x = MainOutcome{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MainOutcome) String() string { @@ -1601,7 +1527,7 @@ func (*MainOutcome) ProtoMessage() {} func (x *MainOutcome) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1631,20 +1557,17 @@ func (x *MainOutcome) GetRemainingPriceChecks() int32 { } type CommitObservations struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + CommitData []*CommitData `protobuf:"bytes,1,rep,name=commit_data,json=commitData,proto3" json:"commit_data,omitempty"` unknownFields protoimpl.UnknownFields - - CommitData []*CommitData `protobuf:"bytes,1,rep,name=commit_data,json=commitData,proto3" json:"commit_data,omitempty"` + sizeCache protoimpl.SizeCache } func (x *CommitObservations) Reset() { *x = CommitObservations{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommitObservations) String() string { @@ -1655,7 +1578,7 @@ func (*CommitObservations) ProtoMessage() {} func (x *CommitObservations) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1678,10 +1601,7 @@ func (x *CommitObservations) GetCommitData() []*CommitData { } type CommitData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - + state protoimpl.MessageState `protogen:"open.v1"` SourceChain uint64 `protobuf:"varint,1,opt,name=source_chain,json=sourceChain,proto3" json:"source_chain,omitempty"` OnRampAddress []byte `protobuf:"bytes,2,opt,name=on_ramp_address,json=onRampAddress,proto3" json:"on_ramp_address,omitempty"` Timestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` @@ -1694,15 +1614,15 @@ type CommitData struct { // Deprecated: Marked as deprecated in pkg/ocrtypecodec/v1/ocrtypes.proto. CostlyMessages [][]byte `protobuf:"bytes,10,rep,name=costly_messages,json=costlyMessages,proto3" json:"costly_messages,omitempty"` // DEPRECATED: Message IDs of costly messages MessageTokenData []*MessageTokenData `protobuf:"bytes,11,rep,name=message_token_data,json=messageTokenData,proto3" json:"message_token_data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CommitData) Reset() { *x = CommitData{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *CommitData) String() string { @@ -1713,7 +1633,7 @@ func (*CommitData) ProtoMessage() {} func (x *CommitData) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1807,20 +1727,17 @@ func (x *CommitData) GetMessageTokenData() []*MessageTokenData { } type MessageTokenData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + TokenData []*TokenData `protobuf:"bytes,1,rep,name=token_data,json=tokenData,proto3" json:"token_data,omitempty"` unknownFields protoimpl.UnknownFields - - TokenData []*TokenData `protobuf:"bytes,1,rep,name=token_data,json=tokenData,proto3" json:"token_data,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MessageTokenData) Reset() { *x = MessageTokenData{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MessageTokenData) String() string { @@ -1831,7 +1748,7 @@ func (*MessageTokenData) ProtoMessage() {} func (x *MessageTokenData) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1854,21 +1771,18 @@ func (x *MessageTokenData) GetTokenData() []*TokenData { } type TokenData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Ready bool `protobuf:"varint,1,opt,name=ready,proto3" json:"ready,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields - - Ready bool `protobuf:"varint,1,opt,name=ready,proto3" json:"ready,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TokenData) Reset() { *x = TokenData{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TokenData) String() string { @@ -1879,7 +1793,7 @@ func (*TokenData) ProtoMessage() {} func (x *TokenData) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1909,20 +1823,17 @@ func (x *TokenData) GetData() []byte { } type SeqNumToMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Messages map[uint64]*Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - Messages map[uint64]*Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *SeqNumToMessage) Reset() { *x = SeqNumToMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SeqNumToMessage) String() string { @@ -1933,7 +1844,7 @@ func (*SeqNumToMessage) ProtoMessage() {} func (x *SeqNumToMessage) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1956,20 +1867,17 @@ func (x *SeqNumToMessage) GetMessages() map[uint64]*Message { } type SeqNumToBytes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + SeqNumToBytes map[uint64][]byte `protobuf:"bytes,1,rep,name=seq_num_to_bytes,json=seqNumToBytes,proto3" json:"seq_num_to_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - SeqNumToBytes map[uint64][]byte `protobuf:"bytes,1,rep,name=seq_num_to_bytes,json=seqNumToBytes,proto3" json:"seq_num_to_bytes,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *SeqNumToBytes) Reset() { *x = SeqNumToBytes{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SeqNumToBytes) String() string { @@ -1980,7 +1888,7 @@ func (*SeqNumToBytes) ProtoMessage() {} func (x *SeqNumToBytes) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2003,20 +1911,17 @@ func (x *SeqNumToBytes) GetSeqNumToBytes() map[uint64][]byte { } type TokenDataObservations struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + TokenData map[uint64]*SeqNumToTokenData `protobuf:"bytes,1,rep,name=token_data,json=tokenData,proto3" json:"token_data,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - TokenData map[uint64]*SeqNumToTokenData `protobuf:"bytes,1,rep,name=token_data,json=tokenData,proto3" json:"token_data,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *TokenDataObservations) Reset() { *x = TokenDataObservations{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TokenDataObservations) String() string { @@ -2027,7 +1932,7 @@ func (*TokenDataObservations) ProtoMessage() {} func (x *TokenDataObservations) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2050,20 +1955,17 @@ func (x *TokenDataObservations) GetTokenData() map[uint64]*SeqNumToTokenData { } type SeqNumToTokenData struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + TokenData map[uint64]*MessageTokenData `protobuf:"bytes,1,rep,name=token_data,json=tokenData,proto3" json:"token_data,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields - - TokenData map[uint64]*MessageTokenData `protobuf:"bytes,1,rep,name=token_data,json=tokenData,proto3" json:"token_data,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + sizeCache protoimpl.SizeCache } func (x *SeqNumToTokenData) Reset() { *x = SeqNumToTokenData{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SeqNumToTokenData) String() string { @@ -2074,7 +1976,7 @@ func (*SeqNumToTokenData) ProtoMessage() {} func (x *SeqNumToTokenData) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2097,28 +1999,25 @@ func (x *SeqNumToTokenData) GetTokenData() map[uint64]*MessageTokenData { } type Message struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Header *RampMessageHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` - Sender []byte `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` // address - Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` - Receiver []byte `protobuf:"bytes,4,opt,name=receiver,proto3" json:"receiver,omitempty"` // address - ExtraArgs []byte `protobuf:"bytes,5,opt,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"` - FeeToken []byte `protobuf:"bytes,7,opt,name=fee_token,json=feeToken,proto3" json:"fee_token,omitempty"` // address - FeeTokenAmount []byte `protobuf:"bytes,8,opt,name=fee_token_amount,json=feeTokenAmount,proto3" json:"fee_token_amount,omitempty"` // bigInt bytes - FeeValueJuels []byte `protobuf:"bytes,9,opt,name=fee_value_juels,json=feeValueJuels,proto3" json:"fee_value_juels,omitempty"` // bigInt bytes - TokenAmounts []*RampTokenAmount `protobuf:"bytes,10,rep,name=token_amounts,json=tokenAmounts,proto3" json:"token_amounts,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + Header *RampMessageHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + Sender []byte `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` // address + Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` + Receiver []byte `protobuf:"bytes,4,opt,name=receiver,proto3" json:"receiver,omitempty"` // address + ExtraArgs []byte `protobuf:"bytes,5,opt,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"` + FeeToken []byte `protobuf:"bytes,7,opt,name=fee_token,json=feeToken,proto3" json:"fee_token,omitempty"` // address + FeeTokenAmount []byte `protobuf:"bytes,8,opt,name=fee_token_amount,json=feeTokenAmount,proto3" json:"fee_token_amount,omitempty"` // bigInt bytes + FeeValueJuels []byte `protobuf:"bytes,9,opt,name=fee_value_juels,json=feeValueJuels,proto3" json:"fee_value_juels,omitempty"` // bigInt bytes + TokenAmounts []*RampTokenAmount `protobuf:"bytes,10,rep,name=token_amounts,json=tokenAmounts,proto3" json:"token_amounts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *Message) Reset() { *x = Message{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *Message) String() string { @@ -2129,7 +2028,7 @@ func (*Message) ProtoMessage() {} func (x *Message) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2208,27 +2107,24 @@ func (x *Message) GetTokenAmounts() []*RampTokenAmount { } type RampMessageHeader struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MessageId []byte `protobuf:"bytes,1,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` - SourceChainSelector uint64 `protobuf:"varint,2,opt,name=source_chain_selector,json=sourceChainSelector,proto3" json:"source_chain_selector,omitempty"` - DestChainSelector uint64 `protobuf:"varint,3,opt,name=dest_chain_selector,json=destChainSelector,proto3" json:"dest_chain_selector,omitempty"` - SequenceNumber uint64 `protobuf:"varint,4,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` - Nonce uint64 `protobuf:"varint,5,opt,name=nonce,proto3" json:"nonce,omitempty"` - MsgHash []byte `protobuf:"bytes,6,opt,name=msg_hash,json=msgHash,proto3" json:"msg_hash,omitempty"` - OnRamp []byte `protobuf:"bytes,7,opt,name=on_ramp,json=onRamp,proto3" json:"on_ramp,omitempty"` // address - TxHash string `protobuf:"bytes,8,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + MessageId []byte `protobuf:"bytes,1,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` + SourceChainSelector uint64 `protobuf:"varint,2,opt,name=source_chain_selector,json=sourceChainSelector,proto3" json:"source_chain_selector,omitempty"` + DestChainSelector uint64 `protobuf:"varint,3,opt,name=dest_chain_selector,json=destChainSelector,proto3" json:"dest_chain_selector,omitempty"` + SequenceNumber uint64 `protobuf:"varint,4,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` + Nonce uint64 `protobuf:"varint,5,opt,name=nonce,proto3" json:"nonce,omitempty"` + MsgHash []byte `protobuf:"bytes,6,opt,name=msg_hash,json=msgHash,proto3" json:"msg_hash,omitempty"` + OnRamp []byte `protobuf:"bytes,7,opt,name=on_ramp,json=onRamp,proto3" json:"on_ramp,omitempty"` // address + TxHash string `protobuf:"bytes,8,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RampMessageHeader) Reset() { *x = RampMessageHeader{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RampMessageHeader) String() string { @@ -2239,7 +2135,7 @@ func (*RampMessageHeader) ProtoMessage() {} func (x *RampMessageHeader) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2311,24 +2207,21 @@ func (x *RampMessageHeader) GetTxHash() string { } type RampTokenAmount struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SourcePoolAddress []byte `protobuf:"bytes,1,opt,name=source_pool_address,json=sourcePoolAddress,proto3" json:"source_pool_address,omitempty"` // address - DestTokenAddress []byte `protobuf:"bytes,2,opt,name=dest_token_address,json=destTokenAddress,proto3" json:"dest_token_address,omitempty"` // address - ExtraData []byte `protobuf:"bytes,3,opt,name=extra_data,json=extraData,proto3" json:"extra_data,omitempty"` - Amount []byte `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` // bigInt bytes - DestExecData []byte `protobuf:"bytes,5,opt,name=dest_exec_data,json=destExecData,proto3" json:"dest_exec_data,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + SourcePoolAddress []byte `protobuf:"bytes,1,opt,name=source_pool_address,json=sourcePoolAddress,proto3" json:"source_pool_address,omitempty"` // address + DestTokenAddress []byte `protobuf:"bytes,2,opt,name=dest_token_address,json=destTokenAddress,proto3" json:"dest_token_address,omitempty"` // address + ExtraData []byte `protobuf:"bytes,3,opt,name=extra_data,json=extraData,proto3" json:"extra_data,omitempty"` + Amount []byte `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` // bigInt bytes + DestExecData []byte `protobuf:"bytes,5,opt,name=dest_exec_data,json=destExecData,proto3" json:"dest_exec_data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RampTokenAmount) Reset() { *x = RampTokenAmount{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RampTokenAmount) String() string { @@ -2339,7 +2232,7 @@ func (*RampTokenAmount) ProtoMessage() {} func (x *RampTokenAmount) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2390,20 +2283,17 @@ func (x *RampTokenAmount) GetDestExecData() []byte { } type StringAddrToNonce struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Nonces map[string]uint64 `protobuf:"bytes,1,rep,name=nonces,proto3" json:"nonces,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // address string to nonce unknownFields protoimpl.UnknownFields - - Nonces map[string]uint64 `protobuf:"bytes,1,rep,name=nonces,proto3" json:"nonces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // address string to nonce + sizeCache protoimpl.SizeCache } func (x *StringAddrToNonce) Reset() { *x = StringAddrToNonce{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *StringAddrToNonce) String() string { @@ -2414,7 +2304,7 @@ func (*StringAddrToNonce) ProtoMessage() {} func (x *StringAddrToNonce) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2437,20 +2327,17 @@ func (x *StringAddrToNonce) GetNonces() map[string]uint64 { } type ExecutePluginReport struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ChainReports []*ChainReport `protobuf:"bytes,1,rep,name=chain_reports,json=chainReports,proto3" json:"chain_reports,omitempty"` unknownFields protoimpl.UnknownFields - - ChainReports []*ChainReport `protobuf:"bytes,1,rep,name=chain_reports,json=chainReports,proto3" json:"chain_reports,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ExecutePluginReport) Reset() { *x = ExecutePluginReport{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ExecutePluginReport) String() string { @@ -2461,7 +2348,7 @@ func (*ExecutePluginReport) ProtoMessage() {} func (x *ExecutePluginReport) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2484,24 +2371,21 @@ func (x *ExecutePluginReport) GetChainReports() []*ChainReport { } type ChainReport struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SourceChainSelector uint64 `protobuf:"varint,1,opt,name=source_chain_selector,json=sourceChainSelector,proto3" json:"source_chain_selector,omitempty"` - Messages []*Message `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"` - OffchainTokenData []*RepeatedBytes `protobuf:"bytes,3,rep,name=offchain_token_data,json=offchainTokenData,proto3" json:"offchain_token_data,omitempty"` - Proofs [][]byte `protobuf:"bytes,4,rep,name=proofs,proto3" json:"proofs,omitempty"` - ProofFlagBits []byte `protobuf:"bytes,5,opt,name=proof_flag_bits,json=proofFlagBits,proto3" json:"proof_flag_bits,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + SourceChainSelector uint64 `protobuf:"varint,1,opt,name=source_chain_selector,json=sourceChainSelector,proto3" json:"source_chain_selector,omitempty"` + Messages []*Message `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"` + OffchainTokenData []*RepeatedBytes `protobuf:"bytes,3,rep,name=offchain_token_data,json=offchainTokenData,proto3" json:"offchain_token_data,omitempty"` + Proofs [][]byte `protobuf:"bytes,4,rep,name=proofs,proto3" json:"proofs,omitempty"` + ProofFlagBits []byte `protobuf:"bytes,5,opt,name=proof_flag_bits,json=proofFlagBits,proto3" json:"proof_flag_bits,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *ChainReport) Reset() { *x = ChainReport{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainReport) String() string { @@ -2512,7 +2396,7 @@ func (*ChainReport) ProtoMessage() {} func (x *ChainReport) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2563,20 +2447,17 @@ func (x *ChainReport) GetProofFlagBits() []byte { } type RepeatedBytes struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Items [][]byte `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` unknownFields protoimpl.UnknownFields - - Items [][]byte `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + sizeCache protoimpl.SizeCache } func (x *RepeatedBytes) Reset() { *x = RepeatedBytes{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *RepeatedBytes) String() string { @@ -2587,7 +2468,7 @@ func (*RepeatedBytes) ProtoMessage() {} func (x *RepeatedBytes) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2610,21 +2491,18 @@ func (x *RepeatedBytes) GetItems() [][]byte { } type SeqNumRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + MinMsgNr uint64 `protobuf:"varint,1,opt,name=min_msg_nr,json=minMsgNr,proto3" json:"min_msg_nr,omitempty"` + MaxMsgNr uint64 `protobuf:"varint,2,opt,name=max_msg_nr,json=maxMsgNr,proto3" json:"max_msg_nr,omitempty"` unknownFields protoimpl.UnknownFields - - MinMsgNr uint64 `protobuf:"varint,1,opt,name=min_msg_nr,json=minMsgNr,proto3" json:"min_msg_nr,omitempty"` - MaxMsgNr uint64 `protobuf:"varint,2,opt,name=max_msg_nr,json=maxMsgNr,proto3" json:"max_msg_nr,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SeqNumRange) Reset() { *x = SeqNumRange{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SeqNumRange) String() string { @@ -2635,7 +2513,7 @@ func (*SeqNumRange) ProtoMessage() {} func (x *SeqNumRange) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2665,21 +2543,18 @@ func (x *SeqNumRange) GetMaxMsgNr() uint64 { } type SeqNumChain struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` + SeqNum uint64 `protobuf:"varint,2,opt,name=seq_num,json=seqNum,proto3" json:"seq_num,omitempty"` unknownFields protoimpl.UnknownFields - - ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` - SeqNum uint64 `protobuf:"varint,2,opt,name=seq_num,json=seqNum,proto3" json:"seq_num,omitempty"` + sizeCache protoimpl.SizeCache } func (x *SeqNumChain) Reset() { *x = SeqNumChain{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SeqNumChain) String() string { @@ -2690,7 +2565,7 @@ func (*SeqNumChain) ProtoMessage() {} func (x *SeqNumChain) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2720,21 +2595,18 @@ func (x *SeqNumChain) GetSeqNum() uint64 { } type ChainRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` + SeqNumRange *SeqNumRange `protobuf:"bytes,2,opt,name=seq_num_range,json=seqNumRange,proto3" json:"seq_num_range,omitempty"` unknownFields protoimpl.UnknownFields - - ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` - SeqNumRange *SeqNumRange `protobuf:"bytes,2,opt,name=seq_num_range,json=seqNumRange,proto3" json:"seq_num_range,omitempty"` + sizeCache protoimpl.SizeCache } func (x *ChainRange) Reset() { *x = ChainRange{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *ChainRange) String() string { @@ -2745,7 +2617,7 @@ func (*ChainRange) ProtoMessage() {} func (x *ChainRange) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2775,21 +2647,18 @@ func (x *ChainRange) GetSeqNumRange() *SeqNumRange { } type SourceChainMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SourceChainSelector uint64 `protobuf:"varint,1,opt,name=source_chain_selector,json=sourceChainSelector,proto3" json:"source_chain_selector,omitempty"` - OnrampAddress []byte `protobuf:"bytes,2,opt,name=onramp_address,json=onrampAddress,proto3" json:"onramp_address,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + SourceChainSelector uint64 `protobuf:"varint,1,opt,name=source_chain_selector,json=sourceChainSelector,proto3" json:"source_chain_selector,omitempty"` + OnrampAddress []byte `protobuf:"bytes,2,opt,name=onramp_address,json=onrampAddress,proto3" json:"onramp_address,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SourceChainMeta) Reset() { *x = SourceChainMeta{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *SourceChainMeta) String() string { @@ -2800,7 +2669,7 @@ func (*SourceChainMeta) ProtoMessage() {} func (x *SourceChainMeta) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2830,23 +2699,20 @@ func (x *SourceChainMeta) GetOnrampAddress() []byte { } type MerkleRootChain struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` + OnRampAddress []byte `protobuf:"bytes,2,opt,name=on_ramp_address,json=onRampAddress,proto3" json:"on_ramp_address,omitempty"` + SeqNumsRange *SeqNumRange `protobuf:"bytes,3,opt,name=seq_nums_range,json=seqNumsRange,proto3" json:"seq_nums_range,omitempty"` + MerkleRoot []byte `protobuf:"bytes,4,opt,name=merkle_root,json=merkleRoot,proto3" json:"merkle_root,omitempty"` unknownFields protoimpl.UnknownFields - - ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` - OnRampAddress []byte `protobuf:"bytes,2,opt,name=on_ramp_address,json=onRampAddress,proto3" json:"on_ramp_address,omitempty"` - SeqNumsRange *SeqNumRange `protobuf:"bytes,3,opt,name=seq_nums_range,json=seqNumsRange,proto3" json:"seq_nums_range,omitempty"` - MerkleRoot []byte `protobuf:"bytes,4,opt,name=merkle_root,json=merkleRoot,proto3" json:"merkle_root,omitempty"` + sizeCache protoimpl.SizeCache } func (x *MerkleRootChain) Reset() { *x = MerkleRootChain{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *MerkleRootChain) String() string { @@ -2857,7 +2723,7 @@ func (*MerkleRootChain) ProtoMessage() {} func (x *MerkleRootChain) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2901,21 +2767,18 @@ func (x *MerkleRootChain) GetMerkleRoot() []byte { } type TimestampedBig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"open.v1"` + Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` unknownFields protoimpl.UnknownFields - - Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + sizeCache protoimpl.SizeCache } func (x *TimestampedBig) Reset() { *x = TimestampedBig{} - if protoimpl.UnsafeEnabled { - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } func (x *TimestampedBig) String() string { @@ -2926,7 +2789,7 @@ func (*TimestampedBig) ProtoMessage() {} func (x *TimestampedBig) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { + if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2957,744 +2820,308 @@ func (x *TimestampedBig) GetValue() []byte { var File_pkg_ocrtypecodec_v1_ocrtypes_proto protoreflect.FileDescriptor -var file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc = []byte{ - 0x0a, 0x22, 0x70, 0x6b, 0x67, 0x2f, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, - 0x65, 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, - 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x0b, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x11, 0x6d, 0x65, 0x72, - 0x6b, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, - 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x6b, 0x6c, - 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x65, 0x72, 0x6b, - 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x22, 0x9b, 0x04, 0x0a, 0x11, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x52, 0x0a, 0x0f, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, - 0x5f, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, - 0x6f, 0x74, 0x4f, 0x62, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, - 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x73, 0x12, 0x4c, 0x0a, 0x0d, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6f, 0x62, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x62, 0x73, 0x12, 0x4e, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x6f, - 0x76, 0x65, 0x72, 0x79, 0x5f, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, - 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x6f, - 0x76, 0x65, 0x72, 0x79, 0x4f, 0x62, 0x73, 0x12, 0x4b, 0x0a, 0x07, 0x66, 0x5f, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, - 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x12, 0x38, 0x0a, 0x19, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, - 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x63, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, - 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x63, 0x72, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x1a, 0x39, - 0x0a, 0x0b, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd6, 0x02, 0x0a, 0x0d, 0x43, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x6d, - 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, - 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, - 0x52, 0x11, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x4f, 0x75, 0x74, 0x63, - 0x6f, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x69, - 0x63, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x11, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, - 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0f, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x43, 0x0a, - 0x0c, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, - 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x4f, 0x75, - 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x4f, 0x75, 0x74, 0x63, 0x6f, - 0x6d, 0x65, 0x22, 0xe9, 0x08, 0x0a, 0x0f, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, - 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, - 0x6d, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x37, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x73, 0x54, 0x6f, - 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x65, 0x71, 0x4e, 0x75, - 0x6d, 0x73, 0x54, 0x6f, 0x4d, 0x73, 0x67, 0x73, 0x12, 0x52, 0x0a, 0x0a, 0x6d, 0x73, 0x67, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x09, 0x6d, 0x73, 0x67, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x17, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x62, 0x73, - 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x15, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x44, 0x61, 0x74, 0x61, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x2b, 0x0a, 0x0f, 0x63, 0x6f, 0x73, 0x74, 0x6c, 0x79, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x63, - 0x6f, 0x73, 0x74, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x48, 0x0a, - 0x06, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x06, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x63, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, - 0x12, 0x49, 0x0a, 0x07, 0x66, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, - 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x62, 0x73, 0x65, - 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x69, 0x0a, 0x12, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, - 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4f, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x12, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, - 0x73, 0x54, 0x6f, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, - 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, - 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x1a, 0x61, 0x0a, 0x0b, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, - 0x72, 0x54, 0x6f, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb6, - 0x02, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x46, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x15, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, - 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5e, 0x0a, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, - 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x91, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x72, 0x6b, - 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x72, - 0x65, 0x74, 0x72, 0x79, 0x5f, 0x72, 0x6d, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x72, 0x65, 0x74, 0x72, 0x79, - 0x52, 0x6d, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x4c, 0x0a, - 0x0e, 0x72, 0x6d, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, - 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x0d, 0x72, 0x6d, - 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xa0, 0x01, 0x0a, 0x10, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, - 0x12, 0x43, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, - 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0x2c, - 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, - 0x12, 0x0c, 0x0a, 0x01, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x72, 0x12, 0x0c, - 0x0a, 0x01, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x73, 0x22, 0xb2, 0x01, 0x0a, - 0x0f, 0x44, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x45, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, - 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x6c, 0x61, 0x6e, - 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x65, 0x71, 0x5f, 0x6e, - 0x75, 0x6d, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, - 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x52, 0x0b, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x72, 0x6f, 0x6f, - 0x74, 0x22, 0x9b, 0x05, 0x0a, 0x15, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, - 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0c, 0x6d, - 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, - 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, - 0x6f, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x0b, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, - 0x6f, 0x6f, 0x74, 0x73, 0x12, 0x6e, 0x0a, 0x12, 0x72, 0x6d, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x40, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, - 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x6d, 0x6e, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x10, 0x72, 0x6d, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x14, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6d, 0x70, 0x5f, - 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, - 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x52, 0x10, 0x6f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x4d, 0x61, 0x78, 0x53, - 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x73, 0x12, 0x54, 0x0a, 0x16, 0x6f, 0x66, 0x66, 0x5f, 0x72, 0x61, - 0x6d, 0x70, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, - 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, - 0x4e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x12, 0x6f, 0x66, 0x66, 0x52, 0x61, 0x6d, - 0x70, 0x4e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x73, 0x12, 0x50, 0x0a, 0x11, - 0x72, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, - 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6d, - 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x72, - 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, - 0x0a, 0x07, 0x66, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x36, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, - 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, - 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, - 0x43, 0x0a, 0x15, 0x52, 0x6d, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x8e, 0x02, 0x0a, 0x0f, 0x52, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, - 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, - 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x03, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, - 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x72, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x66, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, - 0x72, 0x6d, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x22, 0x5f, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, - 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x10, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, - 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x22, 0xfd, 0x04, 0x0a, 0x15, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, - 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x11, 0x66, - 0x65, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, - 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x12, 0x7e, 0x0a, 0x18, 0x66, 0x65, 0x65, 0x5f, - 0x71, 0x75, 0x6f, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x72, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x15, 0x66, 0x65, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x07, 0x66, 0x5f, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x06, 0x66, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x1a, 0x42, 0x0a, 0x14, 0x46, 0x65, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6d, 0x0a, 0x1a, 0x46, 0x65, 0x65, 0x51, 0x75, - 0x6f, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, - 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x42, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0xba, 0x06, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x62, - 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x0e, 0x66, 0x65, 0x65, - 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x3b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, - 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, - 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x43, - 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, - 0x66, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x6f, 0x0a, - 0x13, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x72, - 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6e, 0x61, 0x74, - 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x12, 0x69, - 0x0a, 0x11, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x46, - 0x65, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x07, 0x66, 0x5f, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x06, 0x66, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x6f, 0x77, 0x1a, 0x69, 0x0a, 0x12, 0x46, 0x65, 0x65, - 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x43, - 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x14, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, - 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, - 0x65, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6d, - 0x0a, 0x12, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x66, - 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x46, 0x65, 0x65, 0x22, 0x91, 0x01, - 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x45, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, - 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x73, 0x55, 0x53, 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x52, 0x08, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x22, 0x7e, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x55, - 0x53, 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, - 0x75, 0x73, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x55, 0x73, 0x64, 0x12, - 0x30, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x76, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, - 0x72, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, - 0x64, 0x61, 0x74, 0x61, 0x41, 0x76, 0x46, 0x65, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x55, 0x73, - 0x64, 0x22, 0xf9, 0x01, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, - 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x07, 0x66, 0x5f, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x06, 0x66, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x56, 0x0a, 0x0e, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, - 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x73, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xde, 0x01, - 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x09, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3e, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, - 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x1a, 0x62, 0x0a, 0x0e, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x4d, 0x61, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb7, - 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, - 0x61, 0x70, 0x12, 0x61, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, - 0x70, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x65, 0x73, 0x1a, 0x41, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdb, 0x05, 0x0a, 0x11, 0x4d, 0x65, 0x72, - 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x21, - 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x5c, 0x0a, 0x1a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, - 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x17, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, - 0x4c, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, - 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x0d, - 0x72, 0x6f, 0x6f, 0x74, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6a, 0x0a, - 0x12, 0x72, 0x6d, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, - 0x65, 0x2e, 0x52, 0x6d, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x72, 0x6d, 0x6e, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x16, 0x6f, 0x66, 0x66, - 0x5f, 0x72, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x6e, - 0x75, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x12, 0x6f, 0x66, 0x66, - 0x52, 0x61, 0x6d, 0x70, 0x4e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x73, 0x12, - 0x4b, 0x0a, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1f, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x57, 0x0a, 0x15, - 0x72, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, - 0x52, 0x13, 0x72, 0x6d, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0e, 0x72, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x66, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x0c, 0x72, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x66, - 0x67, 0x1a, 0x43, 0x0a, 0x15, 0x52, 0x6d, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x69, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xaf, 0x01, 0x0a, 0x11, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x0c, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, - 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, - 0x69, 0x63, 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x54, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x69, - 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x67, - 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, - 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x52, 0x09, 0x67, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x22, 0x49, - 0x0a, 0x0d, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, - 0x1b, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, - 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x08, 0x67, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x0b, 0x4d, 0x61, - 0x69, 0x6e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x22, 0x69, 0x6e, 0x66, - 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x63, 0x72, 0x5f, - 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1e, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x50, - 0x72, 0x69, 0x63, 0x65, 0x4f, 0x63, 0x72, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, - 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, - 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x22, 0x56, 0x0a, 0x12, 0x43, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, - 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x22, 0xa6, 0x04, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6d, 0x70, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, - 0x6f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x5f, 0x72, - 0x6f, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6d, 0x65, 0x72, 0x6b, 0x6c, - 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x54, 0x0a, 0x15, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, - 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, - 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, - 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x13, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x6b, 0x67, - 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, - 0x28, 0x0c, 0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x63, 0x6f, - 0x73, 0x74, 0x6c, 0x79, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0a, 0x20, - 0x03, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x73, 0x74, 0x6c, 0x79, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x12, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, - 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x51, 0x0a, 0x10, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, - 0x12, 0x3d, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, - 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, - 0x35, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, - 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, 0x61, - 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xbc, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x71, 0x4e, 0x75, - 0x6d, 0x54, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x08, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x59, 0x0a, 0x0d, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb1, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, - 0x54, 0x6f, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x5e, 0x0a, 0x10, 0x73, 0x65, 0x71, 0x5f, 0x6e, - 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x35, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, - 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, - 0x54, 0x6f, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x65, 0x71, 0x4e, 0x75, - 0x6d, 0x54, 0x6f, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd7, 0x01, 0x0a, 0x15, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, - 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x64, 0x0a, - 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0xce, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x1a, - 0x63, 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, - 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0xea, 0x02, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x3e, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x6d, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, - 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, - 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, - 0x61, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x65, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x65, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, - 0x66, 0x65, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, - 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6a, 0x75, 0x65, 0x6c, - 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x4a, 0x75, 0x65, 0x6c, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x6d, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x22, 0xa2, 0x02, 0x0a, 0x11, 0x52, 0x61, 0x6d, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, - 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x73, 0x67, - 0x48, 0x61, 0x73, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6d, 0x70, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x12, 0x17, 0x0a, - 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x52, 0x61, 0x6d, 0x70, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, - 0x6f, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, - 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, - 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x78, - 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x24, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x45, 0x78, 0x65, - 0x63, 0x44, 0x61, 0x74, 0x61, 0x22, 0x9a, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x6e, - 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 0x4e, 0x6f, - 0x6e, 0x63, 0x65, 0x2e, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x06, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4e, 0x6f, 0x6e, 0x63, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0x5c, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, - 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x22, 0x8f, 0x02, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x12, 0x32, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, - 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x52, - 0x0a, 0x13, 0x6f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, - 0x11, 0x6f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0c, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, - 0x6f, 0x6f, 0x66, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x69, - 0x74, 0x73, 0x22, 0x25, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0c, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x49, 0x0a, 0x0b, 0x53, 0x65, 0x71, - 0x4e, 0x75, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, - 0x6d, 0x73, 0x67, 0x5f, 0x6e, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x69, - 0x6e, 0x4d, 0x73, 0x67, 0x4e, 0x72, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x73, - 0x67, 0x5f, 0x6e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x4d, - 0x73, 0x67, 0x4e, 0x72, 0x22, 0x43, 0x0a, 0x0b, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x6c, - 0x12, 0x17, 0x0a, 0x07, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x06, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x22, 0x6f, 0x0a, 0x0a, 0x43, 0x68, 0x61, - 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x73, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x53, 0x65, 0x6c, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, - 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0b, 0x73, - 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x6c, 0x0a, 0x0f, 0x53, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x32, 0x0a, - 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x6e, 0x72, 0x61, 0x6d, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6f, 0x6e, 0x72, 0x61, 0x6d, - 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x72, - 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x6e, 0x5f, - 0x72, 0x61, 0x6d, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0d, 0x6f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x73, 0x5f, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x73, 0x65, 0x71, - 0x4e, 0x75, 0x6d, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x72, - 0x6b, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, - 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0x60, 0x0a, 0x0e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x42, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x13, 0x5a, 0x11, - 0x2e, 0x2f, 0x3b, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x70, - 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} +const file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc = "" + + "\n" + + "\"pkg/ocrtypecodec/v1/ocrtypes.proto\x12\x13pkg.ocrtypecodec.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"_\n" + + "\vCommitQuery\x12P\n" + + "\x11merkle_root_query\x18\x01 \x01(\v2$.pkg.ocrtypecodec.v1.MerkleRootQueryR\x0fmerkleRootQuery\"\x9b\x04\n" + + "\x11CommitObservation\x12R\n" + + "\x0fmerkle_root_obs\x18\x01 \x01(\v2*.pkg.ocrtypecodec.v1.MerkleRootObservationR\rmerkleRootObs\x12R\n" + + "\x0ftoken_price_obs\x18\x02 \x01(\v2*.pkg.ocrtypecodec.v1.TokenPriceObservationR\rtokenPriceObs\x12L\n" + + "\rchain_fee_obs\x18\x03 \x01(\v2(.pkg.ocrtypecodec.v1.ChainFeeObservationR\vchainFeeObs\x12N\n" + + "\rdiscovery_obs\x18\x04 \x01(\v2).pkg.ocrtypecodec.v1.DiscoveryObservationR\fdiscoveryObs\x12K\n" + + "\af_chain\x18\x05 \x03(\v22.pkg.ocrtypecodec.v1.CommitObservation.FChainEntryR\x06fChain\x128\n" + + "\x19onchain_price_ocr_seq_num\x18\x06 \x01(\x04R\x15onchainPriceOcrSeqNum\x1a9\n" + + "\vFChainEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"\xd6\x02\n" + + "\rCommitOutcome\x12V\n" + + "\x13merkle_root_outcome\x18\x01 \x01(\v2&.pkg.ocrtypecodec.v1.MerkleRootOutcomeR\x11merkleRootOutcome\x12V\n" + + "\x13token_price_outcome\x18\x02 \x01(\v2&.pkg.ocrtypecodec.v1.TokenPriceOutcomeR\x11tokenPriceOutcome\x12P\n" + + "\x11chain_fee_outcome\x18\x03 \x01(\v2$.pkg.ocrtypecodec.v1.ChainFeeOutcomeR\x0fchainFeeOutcome\x12C\n" + + "\fmain_outcome\x18\x04 \x01(\v2 .pkg.ocrtypecodec.v1.MainOutcomeR\vmainOutcome\"\xe9\b\n" + + "\x0fExecObservation\x12^\n" + + "\x0ecommit_reports\x18\x01 \x03(\v27.pkg.ocrtypecodec.v1.ExecObservation.CommitReportsEntryR\rcommitReports\x12`\n" + + "\x10seq_nums_to_msgs\x18\x02 \x03(\v27.pkg.ocrtypecodec.v1.ExecObservation.SeqNumsToMsgsEntryR\rseqNumsToMsgs\x12R\n" + + "\n" + + "msg_hashes\x18\x03 \x03(\v23.pkg.ocrtypecodec.v1.ExecObservation.MsgHashesEntryR\tmsgHashes\x12b\n" + + "\x17token_data_observations\x18\x04 \x01(\v2*.pkg.ocrtypecodec.v1.TokenDataObservationsR\x15tokenDataObservations\x12+\n" + + "\x0fcostly_messages\x18\x05 \x03(\fB\x02\x18\x01R\x0ecostlyMessages\x12H\n" + + "\x06nonces\x18\x06 \x03(\v20.pkg.ocrtypecodec.v1.ExecObservation.NoncesEntryR\x06nonces\x12G\n" + + "\tcontracts\x18\a \x01(\v2).pkg.ocrtypecodec.v1.DiscoveryObservationR\tcontracts\x12I\n" + + "\af_chain\x18\b \x03(\v20.pkg.ocrtypecodec.v1.ExecObservation.FChainEntryR\x06fChain\x1ai\n" + + "\x12CommitReportsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12=\n" + + "\x05value\x18\x02 \x01(\v2'.pkg.ocrtypecodec.v1.CommitObservationsR\x05value:\x028\x01\x1af\n" + + "\x12SeqNumsToMsgsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12:\n" + + "\x05value\x18\x02 \x01(\v2$.pkg.ocrtypecodec.v1.SeqNumToMessageR\x05value:\x028\x01\x1a`\n" + + "\x0eMsgHashesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x128\n" + + "\x05value\x18\x02 \x01(\v2\".pkg.ocrtypecodec.v1.SeqNumToBytesR\x05value:\x028\x01\x1aa\n" + + "\vNoncesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12<\n" + + "\x05value\x18\x02 \x01(\v2&.pkg.ocrtypecodec.v1.StringAddrToNonceR\x05value:\x028\x01\x1a9\n" + + "\vFChainEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"\xb6\x02\n" + + "\vExecOutcome\x12!\n" + + "\fplugin_state\x18\x01 \x01(\tR\vpluginState\x12F\n" + + "\x0ecommit_reports\x18\x02 \x03(\v2\x1f.pkg.ocrtypecodec.v1.CommitDataR\rcommitReports\x12\\\n" + + "\x15execute_plugin_report\x18\x03 \x01(\v2(.pkg.ocrtypecodec.v1.ExecutePluginReportR\x13executePluginReport\x12^\n" + + "\x16execute_plugin_reports\x18\x04 \x03(\v2(.pkg.ocrtypecodec.v1.ExecutePluginReportR\x14executePluginReports\"\x91\x01\n" + + "\x0fMerkleRootQuery\x120\n" + + "\x14retry_rmn_signatures\x18\x01 \x01(\bR\x12retryRmnSignatures\x12L\n" + + "\x0ermn_signatures\x18\x02 \x01(\v2%.pkg.ocrtypecodec.v1.ReportSignaturesR\rrmnSignatures\"\xa0\x01\n" + + "\x10ReportSignatures\x12C\n" + + "\n" + + "signatures\x18\x01 \x03(\v2#.pkg.ocrtypecodec.v1.SignatureEcdsaR\n" + + "signatures\x12G\n" + + "\flane_updates\x18\x02 \x03(\v2$.pkg.ocrtypecodec.v1.DestChainUpdateR\vlaneUpdates\",\n" + + "\x0eSignatureEcdsa\x12\f\n" + + "\x01r\x18\x01 \x01(\fR\x01r\x12\f\n" + + "\x01s\x18\x02 \x01(\fR\x01s\"\xb2\x01\n" + + "\x0fDestChainUpdate\x12E\n" + + "\vlane_source\x18\x01 \x01(\v2$.pkg.ocrtypecodec.v1.SourceChainMetaR\n" + + "laneSource\x12D\n" + + "\rseq_num_range\x18\x02 \x01(\v2 .pkg.ocrtypecodec.v1.SeqNumRangeR\vseqNumRange\x12\x12\n" + + "\x04root\x18\x03 \x01(\fR\x04root\"\x9b\x05\n" + + "\x15MerkleRootObservation\x12G\n" + + "\fmerkle_roots\x18\x01 \x03(\v2$.pkg.ocrtypecodec.v1.MerkleRootChainR\vmerkleRoots\x12n\n" + + "\x12rmn_enabled_chains\x18\x02 \x03(\v2@.pkg.ocrtypecodec.v1.MerkleRootObservation.RmnEnabledChainsEntryR\x10rmnEnabledChains\x12P\n" + + "\x14on_ramp_max_seq_nums\x18\x03 \x03(\v2 .pkg.ocrtypecodec.v1.SeqNumChainR\x10onRampMaxSeqNums\x12T\n" + + "\x16off_ramp_next_seq_nums\x18\x04 \x03(\v2 .pkg.ocrtypecodec.v1.SeqNumChainR\x12offRampNextSeqNums\x12P\n" + + "\x11rmn_remote_config\x18\x05 \x01(\v2$.pkg.ocrtypecodec.v1.RmnRemoteConfigR\x0frmnRemoteConfig\x12O\n" + + "\af_chain\x18\x06 \x03(\v26.pkg.ocrtypecodec.v1.MerkleRootObservation.FChainEntryR\x06fChain\x1aC\n" + + "\x15RmnEnabledChainsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\x1a9\n" + + "\vFChainEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"\x8e\x02\n" + + "\x0fRmnRemoteConfig\x12)\n" + + "\x10contract_address\x18\x01 \x01(\fR\x0fcontractAddress\x12#\n" + + "\rconfig_digest\x18\x02 \x01(\fR\fconfigDigest\x12?\n" + + "\asigners\x18\x03 \x03(\v2%.pkg.ocrtypecodec.v1.RemoteSignerInfoR\asigners\x12\x15\n" + + "\x06f_sign\x18\x04 \x01(\x04R\x05fSign\x12%\n" + + "\x0econfig_version\x18\x05 \x01(\rR\rconfigVersion\x12,\n" + + "\x12rmn_report_version\x18\x06 \x01(\fR\x10rmnReportVersion\"_\n" + + "\x10RemoteSignerInfo\x12,\n" + + "\x12onchain_public_key\x18\x01 \x01(\fR\x10onchainPublicKey\x12\x1d\n" + + "\n" + + "node_index\x18\x02 \x01(\x04R\tnodeIndex\"\xfd\x04\n" + + "\x15TokenPriceObservation\x12k\n" + + "\x11feed_token_prices\x18\x01 \x03(\v2?.pkg.ocrtypecodec.v1.TokenPriceObservation.FeedTokenPricesEntryR\x0ffeedTokenPrices\x12~\n" + + "\x18fee_quoter_token_updates\x18\x02 \x03(\v2E.pkg.ocrtypecodec.v1.TokenPriceObservation.FeeQuoterTokenUpdatesEntryR\x15feeQuoterTokenUpdates\x12O\n" + + "\af_chain\x18\x03 \x03(\v26.pkg.ocrtypecodec.v1.TokenPriceObservation.FChainEntryR\x06fChain\x128\n" + + "\ttimestamp\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x1aB\n" + + "\x14FeedTokenPricesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\x1am\n" + + "\x1aFeeQuoterTokenUpdatesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x129\n" + + "\x05value\x18\x02 \x01(\v2#.pkg.ocrtypecodec.v1.TimestampedBigR\x05value:\x028\x01\x1a9\n" + + "\vFChainEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"\xba\x06\n" + + "\x13ChainFeeObservation\x12b\n" + + "\x0efee_components\x18\x01 \x03(\v2;.pkg.ocrtypecodec.v1.ChainFeeObservation.FeeComponentsEntryR\rfeeComponents\x12o\n" + + "\x13native_token_prices\x18\x02 \x03(\v2?.pkg.ocrtypecodec.v1.ChainFeeObservation.NativeTokenPricesEntryR\x11nativeTokenPrices\x12i\n" + + "\x11chain_fee_updates\x18\x03 \x03(\v2=.pkg.ocrtypecodec.v1.ChainFeeObservation.ChainFeeUpdatesEntryR\x0fchainFeeUpdates\x12M\n" + + "\af_chain\x18\x04 \x03(\v24.pkg.ocrtypecodec.v1.ChainFeeObservation.FChainEntryR\x06fChain\x12?\n" + + "\rtimestamp_now\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\ftimestampNow\x1ai\n" + + "\x12FeeComponentsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12=\n" + + "\x05value\x18\x02 \x01(\v2'.pkg.ocrtypecodec.v1.ChainFeeComponentsR\x05value:\x028\x01\x1aD\n" + + "\x16NativeTokenPricesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\x1ag\n" + + "\x14ChainFeeUpdatesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x129\n" + + "\x05value\x18\x02 \x01(\v2#.pkg.ocrtypecodec.v1.ChainFeeUpdateR\x05value:\x028\x01\x1a9\n" + + "\vFChainEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"m\n" + + "\x12ChainFeeComponents\x12#\n" + + "\rexecution_fee\x18\x01 \x01(\fR\fexecutionFee\x122\n" + + "\x15data_availability_fee\x18\x02 \x01(\fR\x13dataAvailabilityFee\"\x91\x01\n" + + "\x0eChainFeeUpdate\x12E\n" + + "\tchain_fee\x18\x01 \x01(\v2(.pkg.ocrtypecodec.v1.ComponentsUSDPricesR\bchainFee\x128\n" + + "\ttimestamp\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\"~\n" + + "\x13ComponentsUSDPrices\x125\n" + + "\x17execution_fee_price_usd\x18\x01 \x01(\fR\x14executionFeePriceUsd\x120\n" + + "\x15data_av_fee_price_usd\x18\x02 \x01(\fR\x11dataAvFeePriceUsd\"\xf9\x01\n" + + "\x14DiscoveryObservation\x12N\n" + + "\af_chain\x18\x01 \x03(\v25.pkg.ocrtypecodec.v1.DiscoveryObservation.FChainEntryR\x06fChain\x12V\n" + + "\x0econtract_names\x18\x02 \x01(\v2/.pkg.ocrtypecodec.v1.ContractNameChainAddressesR\rcontractNames\x1a9\n" + + "\vFChainEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"\xde\x01\n" + + "\x1aContractNameChainAddresses\x12\\\n" + + "\taddresses\x18\x01 \x03(\v2>.pkg.ocrtypecodec.v1.ContractNameChainAddresses.AddressesEntryR\taddresses\x1ab\n" + + "\x0eAddressesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12:\n" + + "\x05value\x18\x02 \x01(\v2$.pkg.ocrtypecodec.v1.ChainAddressMapR\x05value:\x028\x01\"\xb7\x01\n" + + "\x0fChainAddressMap\x12a\n" + + "\x0fchain_addresses\x18\x01 \x03(\v28.pkg.ocrtypecodec.v1.ChainAddressMap.ChainAddressesEntryR\x0echainAddresses\x1aA\n" + + "\x13ChainAddressesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\"\xdb\x05\n" + + "\x11MerkleRootOutcome\x12!\n" + + "\foutcome_type\x18\x01 \x01(\x05R\voutcomeType\x12\\\n" + + "\x1aranges_selected_for_report\x18\x02 \x03(\v2\x1f.pkg.ocrtypecodec.v1.ChainRangeR\x17rangesSelectedForReport\x12L\n" + + "\x0froots_to_report\x18\x03 \x03(\v2$.pkg.ocrtypecodec.v1.MerkleRootChainR\rrootsToReport\x12j\n" + + "\x12rmn_enabled_chains\x18\x04 \x03(\v2<.pkg.ocrtypecodec.v1.MerkleRootOutcome.RmnEnabledChainsEntryR\x10rmnEnabledChains\x12T\n" + + "\x16off_ramp_next_seq_nums\x18\x05 \x03(\v2 .pkg.ocrtypecodec.v1.SeqNumChainR\x12offRampNextSeqNums\x12K\n" + + "\"report_transmission_check_attempts\x18\x06 \x01(\rR\x1freportTransmissionCheckAttempts\x12W\n" + + "\x15rmn_report_signatures\x18\a \x03(\v2#.pkg.ocrtypecodec.v1.SignatureEcdsaR\x13rmnReportSignatures\x12J\n" + + "\x0ermn_remote_cfg\x18\b \x01(\v2$.pkg.ocrtypecodec.v1.RmnRemoteConfigR\frmnRemoteCfg\x1aC\n" + + "\x15RmnEnabledChainsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"\xaf\x01\n" + + "\x11TokenPriceOutcome\x12Z\n" + + "\ftoken_prices\x18\x01 \x03(\v27.pkg.ocrtypecodec.v1.TokenPriceOutcome.TokenPricesEntryR\vtokenPrices\x1a>\n" + + "\x10TokenPricesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\"T\n" + + "\x0fChainFeeOutcome\x12A\n" + + "\n" + + "gas_prices\x18\x01 \x03(\v2\".pkg.ocrtypecodec.v1.GasPriceChainR\tgasPrices\"I\n" + + "\rGasPriceChain\x12\x1b\n" + + "\tchain_sel\x18\x01 \x01(\x04R\bchainSel\x12\x1b\n" + + "\tgas_price\x18\x02 \x01(\fR\bgasPrice\"\x8f\x01\n" + + "\vMainOutcome\x12J\n" + + "\"inflight_price_ocr_sequence_number\x18\x01 \x01(\x04R\x1einflightPriceOcrSequenceNumber\x124\n" + + "\x16remaining_price_checks\x18\x02 \x01(\x05R\x14remainingPriceChecks\"V\n" + + "\x12CommitObservations\x12@\n" + + "\vcommit_data\x18\x01 \x03(\v2\x1f.pkg.ocrtypecodec.v1.CommitDataR\n" + + "commitData\"\xa6\x04\n" + + "\n" + + "CommitData\x12!\n" + + "\fsource_chain\x18\x01 \x01(\x04R\vsourceChain\x12&\n" + + "\x0fon_ramp_address\x18\x02 \x01(\fR\ronRampAddress\x128\n" + + "\ttimestamp\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x1b\n" + + "\tblock_num\x18\x04 \x01(\x04R\bblockNum\x12\x1f\n" + + "\vmerkle_root\x18\x05 \x01(\fR\n" + + "merkleRoot\x12T\n" + + "\x15sequence_number_range\x18\x06 \x01(\v2 .pkg.ocrtypecodec.v1.SeqNumRangeR\x13sequenceNumberRange\x12+\n" + + "\x11executed_messages\x18\a \x03(\x04R\x10executedMessages\x128\n" + + "\bmessages\x18\b \x03(\v2\x1c.pkg.ocrtypecodec.v1.MessageR\bmessages\x12\x16\n" + + "\x06hashes\x18\t \x03(\fR\x06hashes\x12+\n" + + "\x0fcostly_messages\x18\n" + + " \x03(\fB\x02\x18\x01R\x0ecostlyMessages\x12S\n" + + "\x12message_token_data\x18\v \x03(\v2%.pkg.ocrtypecodec.v1.MessageTokenDataR\x10messageTokenData\"Q\n" + + "\x10MessageTokenData\x12=\n" + + "\n" + + "token_data\x18\x01 \x03(\v2\x1e.pkg.ocrtypecodec.v1.TokenDataR\ttokenData\"5\n" + + "\tTokenData\x12\x14\n" + + "\x05ready\x18\x01 \x01(\bR\x05ready\x12\x12\n" + + "\x04data\x18\x02 \x01(\fR\x04data\"\xbc\x01\n" + + "\x0fSeqNumToMessage\x12N\n" + + "\bmessages\x18\x01 \x03(\v22.pkg.ocrtypecodec.v1.SeqNumToMessage.MessagesEntryR\bmessages\x1aY\n" + + "\rMessagesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x122\n" + + "\x05value\x18\x02 \x01(\v2\x1c.pkg.ocrtypecodec.v1.MessageR\x05value:\x028\x01\"\xb1\x01\n" + + "\rSeqNumToBytes\x12^\n" + + "\x10seq_num_to_bytes\x18\x01 \x03(\v25.pkg.ocrtypecodec.v1.SeqNumToBytes.SeqNumToBytesEntryR\rseqNumToBytes\x1a@\n" + + "\x12SeqNumToBytesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\"\xd7\x01\n" + + "\x15TokenDataObservations\x12X\n" + + "\n" + + "token_data\x18\x01 \x03(\v29.pkg.ocrtypecodec.v1.TokenDataObservations.TokenDataEntryR\ttokenData\x1ad\n" + + "\x0eTokenDataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12<\n" + + "\x05value\x18\x02 \x01(\v2&.pkg.ocrtypecodec.v1.SeqNumToTokenDataR\x05value:\x028\x01\"\xce\x01\n" + + "\x11SeqNumToTokenData\x12T\n" + + "\n" + + "token_data\x18\x01 \x03(\v25.pkg.ocrtypecodec.v1.SeqNumToTokenData.TokenDataEntryR\ttokenData\x1ac\n" + + "\x0eTokenDataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x04R\x03key\x12;\n" + + "\x05value\x18\x02 \x01(\v2%.pkg.ocrtypecodec.v1.MessageTokenDataR\x05value:\x028\x01\"\xea\x02\n" + + "\aMessage\x12>\n" + + "\x06header\x18\x01 \x01(\v2&.pkg.ocrtypecodec.v1.RampMessageHeaderR\x06header\x12\x16\n" + + "\x06sender\x18\x02 \x01(\fR\x06sender\x12\x12\n" + + "\x04data\x18\x03 \x01(\fR\x04data\x12\x1a\n" + + "\breceiver\x18\x04 \x01(\fR\breceiver\x12\x1d\n" + + "\n" + + "extra_args\x18\x05 \x01(\fR\textraArgs\x12\x1b\n" + + "\tfee_token\x18\a \x01(\fR\bfeeToken\x12(\n" + + "\x10fee_token_amount\x18\b \x01(\fR\x0efeeTokenAmount\x12&\n" + + "\x0ffee_value_juels\x18\t \x01(\fR\rfeeValueJuels\x12I\n" + + "\rtoken_amounts\x18\n" + + " \x03(\v2$.pkg.ocrtypecodec.v1.RampTokenAmountR\ftokenAmounts\"\xa2\x02\n" + + "\x11RampMessageHeader\x12\x1d\n" + + "\n" + + "message_id\x18\x01 \x01(\fR\tmessageId\x122\n" + + "\x15source_chain_selector\x18\x02 \x01(\x04R\x13sourceChainSelector\x12.\n" + + "\x13dest_chain_selector\x18\x03 \x01(\x04R\x11destChainSelector\x12'\n" + + "\x0fsequence_number\x18\x04 \x01(\x04R\x0esequenceNumber\x12\x14\n" + + "\x05nonce\x18\x05 \x01(\x04R\x05nonce\x12\x19\n" + + "\bmsg_hash\x18\x06 \x01(\fR\amsgHash\x12\x17\n" + + "\aon_ramp\x18\a \x01(\fR\x06onRamp\x12\x17\n" + + "\atx_hash\x18\b \x01(\tR\x06txHash\"\xcc\x01\n" + + "\x0fRampTokenAmount\x12.\n" + + "\x13source_pool_address\x18\x01 \x01(\fR\x11sourcePoolAddress\x12,\n" + + "\x12dest_token_address\x18\x02 \x01(\fR\x10destTokenAddress\x12\x1d\n" + + "\n" + + "extra_data\x18\x03 \x01(\fR\textraData\x12\x16\n" + + "\x06amount\x18\x04 \x01(\fR\x06amount\x12$\n" + + "\x0edest_exec_data\x18\x05 \x01(\fR\fdestExecData\"\x9a\x01\n" + + "\x11StringAddrToNonce\x12J\n" + + "\x06nonces\x18\x01 \x03(\v22.pkg.ocrtypecodec.v1.StringAddrToNonce.NoncesEntryR\x06nonces\x1a9\n" + + "\vNoncesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x04R\x05value:\x028\x01\"\\\n" + + "\x13ExecutePluginReport\x12E\n" + + "\rchain_reports\x18\x01 \x03(\v2 .pkg.ocrtypecodec.v1.ChainReportR\fchainReports\"\x8f\x02\n" + + "\vChainReport\x122\n" + + "\x15source_chain_selector\x18\x01 \x01(\x04R\x13sourceChainSelector\x128\n" + + "\bmessages\x18\x02 \x03(\v2\x1c.pkg.ocrtypecodec.v1.MessageR\bmessages\x12R\n" + + "\x13offchain_token_data\x18\x03 \x03(\v2\".pkg.ocrtypecodec.v1.RepeatedBytesR\x11offchainTokenData\x12\x16\n" + + "\x06proofs\x18\x04 \x03(\fR\x06proofs\x12&\n" + + "\x0fproof_flag_bits\x18\x05 \x01(\fR\rproofFlagBits\"%\n" + + "\rRepeatedBytes\x12\x14\n" + + "\x05items\x18\x01 \x03(\fR\x05items\"I\n" + + "\vSeqNumRange\x12\x1c\n" + + "\n" + + "min_msg_nr\x18\x01 \x01(\x04R\bminMsgNr\x12\x1c\n" + + "\n" + + "max_msg_nr\x18\x02 \x01(\x04R\bmaxMsgNr\"C\n" + + "\vSeqNumChain\x12\x1b\n" + + "\tchain_sel\x18\x01 \x01(\x04R\bchainSel\x12\x17\n" + + "\aseq_num\x18\x02 \x01(\x04R\x06seqNum\"o\n" + + "\n" + + "ChainRange\x12\x1b\n" + + "\tchain_sel\x18\x01 \x01(\x04R\bchainSel\x12D\n" + + "\rseq_num_range\x18\x02 \x01(\v2 .pkg.ocrtypecodec.v1.SeqNumRangeR\vseqNumRange\"l\n" + + "\x0fSourceChainMeta\x122\n" + + "\x15source_chain_selector\x18\x01 \x01(\x04R\x13sourceChainSelector\x12%\n" + + "\x0eonramp_address\x18\x02 \x01(\fR\ronrampAddress\"\xbf\x01\n" + + "\x0fMerkleRootChain\x12\x1b\n" + + "\tchain_sel\x18\x01 \x01(\x04R\bchainSel\x12&\n" + + "\x0fon_ramp_address\x18\x02 \x01(\fR\ronRampAddress\x12F\n" + + "\x0eseq_nums_range\x18\x03 \x01(\v2 .pkg.ocrtypecodec.v1.SeqNumRangeR\fseqNumsRange\x12\x1f\n" + + "\vmerkle_root\x18\x04 \x01(\fR\n" + + "merkleRoot\"`\n" + + "\x0eTimestampedBig\x128\n" + + "\ttimestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05valueB\x13Z\x11./;ocrtypecodecpbb\x06proto3" var ( file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescOnce sync.Once - file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescData = file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc + file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescData []byte ) func file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescGZIP() []byte { file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescOnce.Do(func() { - file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescData) + file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc), len(file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc))) }) return file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescData } var file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes = make([]protoimpl.MessageInfo, 71) -var file_pkg_ocrtypecodec_v1_ocrtypes_proto_goTypes = []interface{}{ +var file_pkg_ocrtypecodec_v1_ocrtypes_proto_goTypes = []any{ (*CommitQuery)(nil), // 0: pkg.ocrtypecodec.v1.CommitQuery (*CommitObservation)(nil), // 1: pkg.ocrtypecodec.v1.CommitObservation (*CommitOutcome)(nil), // 2: pkg.ocrtypecodec.v1.CommitOutcome @@ -3866,565 +3293,11 @@ func file_pkg_ocrtypecodec_v1_ocrtypes_proto_init() { if File_pkg_ocrtypecodec_v1_ocrtypes_proto != nil { return } - if !protoimpl.UnsafeEnabled { - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitObservation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitOutcome); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecObservation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecOutcome); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MerkleRootQuery); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReportSignatures); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignatureEcdsa); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DestChainUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MerkleRootObservation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RmnRemoteConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RemoteSignerInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokenPriceObservation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainFeeObservation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainFeeComponents); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainFeeUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ComponentsUSDPrices); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DiscoveryObservation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ContractNameChainAddresses); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainAddressMap); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MerkleRootOutcome); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokenPriceOutcome); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainFeeOutcome); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GasPriceChain); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MainOutcome); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitObservations); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommitData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageTokenData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokenData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SeqNumToMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SeqNumToBytes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokenDataObservations); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SeqNumToTokenData); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Message); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RampMessageHeader); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RampTokenAmount); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StringAddrToNonce); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecutePluginReport); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainReport); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RepeatedBytes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SeqNumRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SeqNumChain); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChainRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SourceChainMeta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MerkleRootChain); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TimestampedBig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc, + RawDescriptor: unsafe.Slice(unsafe.StringData(file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc), len(file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc)), NumEnums: 0, NumMessages: 71, NumExtensions: 0, @@ -4435,7 +3308,6 @@ func file_pkg_ocrtypecodec_v1_ocrtypes_proto_init() { MessageInfos: file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes, }.Build() File_pkg_ocrtypecodec_v1_ocrtypes_proto = out.File - file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc = nil file_pkg_ocrtypecodec_v1_ocrtypes_proto_goTypes = nil file_pkg_ocrtypecodec_v1_ocrtypes_proto_depIdxs = nil } diff --git a/pkg/reader/price_reader.go b/pkg/reader/price_reader.go index f2765a8f30..fe08dd31be 100644 --- a/pkg/reader/price_reader.go +++ b/pkg/reader/price_reader.go @@ -61,6 +61,17 @@ func (pr *priceReader) GetFeeQuoterTokenUpdates( ) (map[ccipocr3.UnknownEncodedAddress]ccipocr3.TimestampedBig, error) { lggr := logutil.WithContextValues(ctx, pr.lggr) + tokensBytes := make([]ccipocr3.UnknownAddress, 0, len(tokens)) + for _, token := range tokens { + tokenAddressBytes, err := pr.addressCodec.AddressStringToBytes(string(token), chain) + if err != nil { + lggr.Warnw("failed to convert token address to bytes", "token", token, "err", err) + continue + } + + tokensBytes = append(tokensBytes, tokenAddressBytes) + } + accessor, err := getChainAccessor(pr.chainAccessors, chain) if err != nil { // Don't return an error if the chain accessor is not found, just log warning and return nil @@ -68,7 +79,7 @@ func (pr *priceReader) GetFeeQuoterTokenUpdates( return nil, nil } - updates, err := accessor.GetFeeQuoterTokenUpdates(ctx, tokens, chain) + updates, err := accessor.GetFeeQuoterTokenUpdates(ctx, tokensBytes) if err != nil { return nil, fmt.Errorf("failed to get fee quoter token updates: %w", err) } From 5157241662d3da0fc789f7b923c9163527e715a8 Mon Sep 17 00:00:00 2001 From: Oliver Townsend Date: Mon, 29 Sep 2025 10:56:49 -0700 Subject: [PATCH 2/3] re-run codegen --- .../v1/ocrtypecodecpb/ocrtypes.pb.go | 2546 ++++++++++++----- 1 file changed, 1837 insertions(+), 709 deletions(-) diff --git a/pkg/ocrtypecodec/v1/ocrtypecodecpb/ocrtypes.pb.go b/pkg/ocrtypecodec/v1/ocrtypecodecpb/ocrtypes.pb.go index 4198302120..c97c0765fc 100644 --- a/pkg/ocrtypecodec/v1/ocrtypecodecpb/ocrtypes.pb.go +++ b/pkg/ocrtypecodec/v1/ocrtypecodecpb/ocrtypes.pb.go @@ -1,6 +1,6 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.36.7 +// protoc-gen-go v1.31.0 // protoc v5.28.0 // source: pkg/ocrtypecodec/v1/ocrtypes.proto @@ -12,7 +12,6 @@ import ( timestamppb "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" - unsafe "unsafe" ) const ( @@ -23,17 +22,20 @@ const ( ) type CommitQuery struct { - state protoimpl.MessageState `protogen:"open.v1"` - MerkleRootQuery *MerkleRootQuery `protobuf:"bytes,1,opt,name=merkle_root_query,json=merkleRootQuery,proto3" json:"merkle_root_query,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MerkleRootQuery *MerkleRootQuery `protobuf:"bytes,1,opt,name=merkle_root_query,json=merkleRootQuery,proto3" json:"merkle_root_query,omitempty"` } func (x *CommitQuery) Reset() { *x = CommitQuery{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *CommitQuery) String() string { @@ -44,7 +46,7 @@ func (*CommitQuery) ProtoMessage() {} func (x *CommitQuery) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[0] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -67,22 +69,25 @@ func (x *CommitQuery) GetMerkleRootQuery() *MerkleRootQuery { } type CommitObservation struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + MerkleRootObs *MerkleRootObservation `protobuf:"bytes,1,opt,name=merkle_root_obs,json=merkleRootObs,proto3" json:"merkle_root_obs,omitempty"` TokenPriceObs *TokenPriceObservation `protobuf:"bytes,2,opt,name=token_price_obs,json=tokenPriceObs,proto3" json:"token_price_obs,omitempty"` ChainFeeObs *ChainFeeObservation `protobuf:"bytes,3,opt,name=chain_fee_obs,json=chainFeeObs,proto3" json:"chain_fee_obs,omitempty"` DiscoveryObs *DiscoveryObservation `protobuf:"bytes,4,opt,name=discovery_obs,json=discoveryObs,proto3" json:"discovery_obs,omitempty"` - FChain map[uint64]int32 `protobuf:"bytes,5,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to f - OnchainPriceOcrSeqNum uint64 `protobuf:"varint,6,opt,name=onchain_price_ocr_seq_num,json=onchainPriceOcrSeqNum,proto3" json:"onchain_price_ocr_seq_num,omitempty"` // the ocr sequence number of the last report with prices seen onchain - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + FChain map[uint64]int32 `protobuf:"bytes,5,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to f + OnchainPriceOcrSeqNum uint64 `protobuf:"varint,6,opt,name=onchain_price_ocr_seq_num,json=onchainPriceOcrSeqNum,proto3" json:"onchain_price_ocr_seq_num,omitempty"` // the ocr sequence number of the last report with prices seen onchain } func (x *CommitObservation) Reset() { *x = CommitObservation{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *CommitObservation) String() string { @@ -93,7 +98,7 @@ func (*CommitObservation) ProtoMessage() {} func (x *CommitObservation) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[1] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -151,20 +156,23 @@ func (x *CommitObservation) GetOnchainPriceOcrSeqNum() uint64 { } type CommitOutcome struct { - state protoimpl.MessageState `protogen:"open.v1"` - MerkleRootOutcome *MerkleRootOutcome `protobuf:"bytes,1,opt,name=merkle_root_outcome,json=merkleRootOutcome,proto3" json:"merkle_root_outcome,omitempty"` - TokenPriceOutcome *TokenPriceOutcome `protobuf:"bytes,2,opt,name=token_price_outcome,json=tokenPriceOutcome,proto3" json:"token_price_outcome,omitempty"` - ChainFeeOutcome *ChainFeeOutcome `protobuf:"bytes,3,opt,name=chain_fee_outcome,json=chainFeeOutcome,proto3" json:"chain_fee_outcome,omitempty"` - MainOutcome *MainOutcome `protobuf:"bytes,4,opt,name=main_outcome,json=mainOutcome,proto3" json:"main_outcome,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MerkleRootOutcome *MerkleRootOutcome `protobuf:"bytes,1,opt,name=merkle_root_outcome,json=merkleRootOutcome,proto3" json:"merkle_root_outcome,omitempty"` + TokenPriceOutcome *TokenPriceOutcome `protobuf:"bytes,2,opt,name=token_price_outcome,json=tokenPriceOutcome,proto3" json:"token_price_outcome,omitempty"` + ChainFeeOutcome *ChainFeeOutcome `protobuf:"bytes,3,opt,name=chain_fee_outcome,json=chainFeeOutcome,proto3" json:"chain_fee_outcome,omitempty"` + MainOutcome *MainOutcome `protobuf:"bytes,4,opt,name=main_outcome,json=mainOutcome,proto3" json:"main_outcome,omitempty"` } func (x *CommitOutcome) Reset() { *x = CommitOutcome{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *CommitOutcome) String() string { @@ -175,7 +183,7 @@ func (*CommitOutcome) ProtoMessage() {} func (x *CommitOutcome) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[2] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -219,25 +227,28 @@ func (x *CommitOutcome) GetMainOutcome() *MainOutcome { } type ExecObservation struct { - state protoimpl.MessageState `protogen:"open.v1"` - CommitReports map[uint64]*CommitObservations `protobuf:"bytes,1,rep,name=commit_reports,json=commitReports,proto3" json:"commit_reports,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to commitObservations - SeqNumsToMsgs map[uint64]*SeqNumToMessage `protobuf:"bytes,2,rep,name=seq_nums_to_msgs,json=seqNumsToMsgs,proto3" json:"seq_nums_to_msgs,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to seqNum to msg - MsgHashes map[uint64]*SeqNumToBytes `protobuf:"bytes,3,rep,name=msg_hashes,json=msgHashes,proto3" json:"msg_hashes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to seqNum to bytes32 + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommitReports map[uint64]*CommitObservations `protobuf:"bytes,1,rep,name=commit_reports,json=commitReports,proto3" json:"commit_reports,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to commitObservations + SeqNumsToMsgs map[uint64]*SeqNumToMessage `protobuf:"bytes,2,rep,name=seq_nums_to_msgs,json=seqNumsToMsgs,proto3" json:"seq_nums_to_msgs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to seqNum to msg + MsgHashes map[uint64]*SeqNumToBytes `protobuf:"bytes,3,rep,name=msg_hashes,json=msgHashes,proto3" json:"msg_hashes,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to seqNum to bytes32 TokenDataObservations *TokenDataObservations `protobuf:"bytes,4,opt,name=token_data_observations,json=tokenDataObservations,proto3" json:"token_data_observations,omitempty"` // Deprecated: Marked as deprecated in pkg/ocrtypecodec/v1/ocrtypes.proto. CostlyMessages [][]byte `protobuf:"bytes,5,rep,name=costly_messages,json=costlyMessages,proto3" json:"costly_messages,omitempty"` // DEPRECATED: Message IDs of costly messages - Nonces map[uint64]*StringAddrToNonce `protobuf:"bytes,6,rep,name=nonces,proto3" json:"nonces,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Nonces map[uint64]*StringAddrToNonce `protobuf:"bytes,6,rep,name=nonces,proto3" json:"nonces,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Contracts *DiscoveryObservation `protobuf:"bytes,7,opt,name=contracts,proto3" json:"contracts,omitempty"` - FChain map[uint64]int32 `protobuf:"bytes,8,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to f - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + FChain map[uint64]int32 `protobuf:"bytes,8,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to f } func (x *ExecObservation) Reset() { *x = ExecObservation{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ExecObservation) String() string { @@ -248,7 +259,7 @@ func (*ExecObservation) ProtoMessage() {} func (x *ExecObservation) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[3] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -321,20 +332,23 @@ func (x *ExecObservation) GetFChain() map[uint64]int32 { } type ExecOutcome struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + PluginState string `protobuf:"bytes,1,opt,name=plugin_state,json=pluginState,proto3" json:"plugin_state,omitempty"` CommitReports []*CommitData `protobuf:"bytes,2,rep,name=commit_reports,json=commitReports,proto3" json:"commit_reports,omitempty"` ExecutePluginReport *ExecutePluginReport `protobuf:"bytes,3,opt,name=execute_plugin_report,json=executePluginReport,proto3" json:"execute_plugin_report,omitempty"` // DEPRECATED: Use execute_plugin_reports instead ExecutePluginReports []*ExecutePluginReport `protobuf:"bytes,4,rep,name=execute_plugin_reports,json=executePluginReports,proto3" json:"execute_plugin_reports,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache } func (x *ExecOutcome) Reset() { *x = ExecOutcome{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ExecOutcome) String() string { @@ -345,7 +359,7 @@ func (*ExecOutcome) ProtoMessage() {} func (x *ExecOutcome) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[4] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -389,18 +403,21 @@ func (x *ExecOutcome) GetExecutePluginReports() []*ExecutePluginReport { } type MerkleRootQuery struct { - state protoimpl.MessageState `protogen:"open.v1"` - RetryRmnSignatures bool `protobuf:"varint,1,opt,name=retry_rmn_signatures,json=retryRmnSignatures,proto3" json:"retry_rmn_signatures,omitempty"` - RmnSignatures *ReportSignatures `protobuf:"bytes,2,opt,name=rmn_signatures,json=rmnSignatures,proto3" json:"rmn_signatures,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RetryRmnSignatures bool `protobuf:"varint,1,opt,name=retry_rmn_signatures,json=retryRmnSignatures,proto3" json:"retry_rmn_signatures,omitempty"` + RmnSignatures *ReportSignatures `protobuf:"bytes,2,opt,name=rmn_signatures,json=rmnSignatures,proto3" json:"rmn_signatures,omitempty"` } func (x *MerkleRootQuery) Reset() { *x = MerkleRootQuery{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *MerkleRootQuery) String() string { @@ -411,7 +428,7 @@ func (*MerkleRootQuery) ProtoMessage() {} func (x *MerkleRootQuery) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[5] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -441,18 +458,21 @@ func (x *MerkleRootQuery) GetRmnSignatures() *ReportSignatures { } type ReportSignatures struct { - state protoimpl.MessageState `protogen:"open.v1"` - Signatures []*SignatureEcdsa `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty"` - LaneUpdates []*DestChainUpdate `protobuf:"bytes,2,rep,name=lane_updates,json=laneUpdates,proto3" json:"lane_updates,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Signatures []*SignatureEcdsa `protobuf:"bytes,1,rep,name=signatures,proto3" json:"signatures,omitempty"` + LaneUpdates []*DestChainUpdate `protobuf:"bytes,2,rep,name=lane_updates,json=laneUpdates,proto3" json:"lane_updates,omitempty"` } func (x *ReportSignatures) Reset() { *x = ReportSignatures{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ReportSignatures) String() string { @@ -463,7 +483,7 @@ func (*ReportSignatures) ProtoMessage() {} func (x *ReportSignatures) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[6] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -493,18 +513,21 @@ func (x *ReportSignatures) GetLaneUpdates() []*DestChainUpdate { } type SignatureEcdsa struct { - state protoimpl.MessageState `protogen:"open.v1"` - R []byte `protobuf:"bytes,1,opt,name=r,proto3" json:"r,omitempty"` - S []byte `protobuf:"bytes,2,opt,name=s,proto3" json:"s,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + R []byte `protobuf:"bytes,1,opt,name=r,proto3" json:"r,omitempty"` + S []byte `protobuf:"bytes,2,opt,name=s,proto3" json:"s,omitempty"` } func (x *SignatureEcdsa) Reset() { *x = SignatureEcdsa{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *SignatureEcdsa) String() string { @@ -515,7 +538,7 @@ func (*SignatureEcdsa) ProtoMessage() {} func (x *SignatureEcdsa) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[7] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -545,19 +568,22 @@ func (x *SignatureEcdsa) GetS() []byte { } type DestChainUpdate struct { - state protoimpl.MessageState `protogen:"open.v1"` - LaneSource *SourceChainMeta `protobuf:"bytes,1,opt,name=lane_source,json=laneSource,proto3" json:"lane_source,omitempty"` - SeqNumRange *SeqNumRange `protobuf:"bytes,2,opt,name=seq_num_range,json=seqNumRange,proto3" json:"seq_num_range,omitempty"` - Root []byte `protobuf:"bytes,3,opt,name=root,proto3" json:"root,omitempty"` // bytes32 - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LaneSource *SourceChainMeta `protobuf:"bytes,1,opt,name=lane_source,json=laneSource,proto3" json:"lane_source,omitempty"` + SeqNumRange *SeqNumRange `protobuf:"bytes,2,opt,name=seq_num_range,json=seqNumRange,proto3" json:"seq_num_range,omitempty"` + Root []byte `protobuf:"bytes,3,opt,name=root,proto3" json:"root,omitempty"` // bytes32 } func (x *DestChainUpdate) Reset() { *x = DestChainUpdate{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *DestChainUpdate) String() string { @@ -568,7 +594,7 @@ func (*DestChainUpdate) ProtoMessage() {} func (x *DestChainUpdate) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[8] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -605,22 +631,25 @@ func (x *DestChainUpdate) GetRoot() []byte { } type MerkleRootObservation struct { - state protoimpl.MessageState `protogen:"open.v1"` - MerkleRoots []*MerkleRootChain `protobuf:"bytes,1,rep,name=merkle_roots,json=merkleRoots,proto3" json:"merkle_roots,omitempty"` - RmnEnabledChains map[uint64]bool `protobuf:"bytes,2,rep,name=rmn_enabled_chains,json=rmnEnabledChains,proto3" json:"rmn_enabled_chains,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to bool - OnRampMaxSeqNums []*SeqNumChain `protobuf:"bytes,3,rep,name=on_ramp_max_seq_nums,json=onRampMaxSeqNums,proto3" json:"on_ramp_max_seq_nums,omitempty"` - OffRampNextSeqNums []*SeqNumChain `protobuf:"bytes,4,rep,name=off_ramp_next_seq_nums,json=offRampNextSeqNums,proto3" json:"off_ramp_next_seq_nums,omitempty"` - RmnRemoteConfig *RmnRemoteConfig `protobuf:"bytes,5,opt,name=rmn_remote_config,json=rmnRemoteConfig,proto3" json:"rmn_remote_config,omitempty"` - FChain map[uint64]int32 `protobuf:"bytes,6,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to f - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MerkleRoots []*MerkleRootChain `protobuf:"bytes,1,rep,name=merkle_roots,json=merkleRoots,proto3" json:"merkle_roots,omitempty"` + RmnEnabledChains map[uint64]bool `protobuf:"bytes,2,rep,name=rmn_enabled_chains,json=rmnEnabledChains,proto3" json:"rmn_enabled_chains,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to bool + OnRampMaxSeqNums []*SeqNumChain `protobuf:"bytes,3,rep,name=on_ramp_max_seq_nums,json=onRampMaxSeqNums,proto3" json:"on_ramp_max_seq_nums,omitempty"` + OffRampNextSeqNums []*SeqNumChain `protobuf:"bytes,4,rep,name=off_ramp_next_seq_nums,json=offRampNextSeqNums,proto3" json:"off_ramp_next_seq_nums,omitempty"` + RmnRemoteConfig *RmnRemoteConfig `protobuf:"bytes,5,opt,name=rmn_remote_config,json=rmnRemoteConfig,proto3" json:"rmn_remote_config,omitempty"` + FChain map[uint64]int32 `protobuf:"bytes,6,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to f } func (x *MerkleRootObservation) Reset() { *x = MerkleRootObservation{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *MerkleRootObservation) String() string { @@ -631,7 +660,7 @@ func (*MerkleRootObservation) ProtoMessage() {} func (x *MerkleRootObservation) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[9] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -689,22 +718,25 @@ func (x *MerkleRootObservation) GetFChain() map[uint64]int32 { } type RmnRemoteConfig struct { - state protoimpl.MessageState `protogen:"open.v1"` - ContractAddress []byte `protobuf:"bytes,1,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` - ConfigDigest []byte `protobuf:"bytes,2,opt,name=config_digest,json=configDigest,proto3" json:"config_digest,omitempty"` - Signers []*RemoteSignerInfo `protobuf:"bytes,3,rep,name=signers,proto3" json:"signers,omitempty"` - FSign uint64 `protobuf:"varint,4,opt,name=f_sign,json=fSign,proto3" json:"f_sign,omitempty"` - ConfigVersion uint32 `protobuf:"varint,5,opt,name=config_version,json=configVersion,proto3" json:"config_version,omitempty"` - RmnReportVersion []byte `protobuf:"bytes,6,opt,name=rmn_report_version,json=rmnReportVersion,proto3" json:"rmn_report_version,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ContractAddress []byte `protobuf:"bytes,1,opt,name=contract_address,json=contractAddress,proto3" json:"contract_address,omitempty"` + ConfigDigest []byte `protobuf:"bytes,2,opt,name=config_digest,json=configDigest,proto3" json:"config_digest,omitempty"` + Signers []*RemoteSignerInfo `protobuf:"bytes,3,rep,name=signers,proto3" json:"signers,omitempty"` + FSign uint64 `protobuf:"varint,4,opt,name=f_sign,json=fSign,proto3" json:"f_sign,omitempty"` + ConfigVersion uint32 `protobuf:"varint,5,opt,name=config_version,json=configVersion,proto3" json:"config_version,omitempty"` + RmnReportVersion []byte `protobuf:"bytes,6,opt,name=rmn_report_version,json=rmnReportVersion,proto3" json:"rmn_report_version,omitempty"` } func (x *RmnRemoteConfig) Reset() { *x = RmnRemoteConfig{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *RmnRemoteConfig) String() string { @@ -715,7 +747,7 @@ func (*RmnRemoteConfig) ProtoMessage() {} func (x *RmnRemoteConfig) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[10] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -773,18 +805,21 @@ func (x *RmnRemoteConfig) GetRmnReportVersion() []byte { } type RemoteSignerInfo struct { - state protoimpl.MessageState `protogen:"open.v1"` - OnchainPublicKey []byte `protobuf:"bytes,1,opt,name=onchain_public_key,json=onchainPublicKey,proto3" json:"onchain_public_key,omitempty"` - NodeIndex uint64 `protobuf:"varint,2,opt,name=node_index,json=nodeIndex,proto3" json:"node_index,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OnchainPublicKey []byte `protobuf:"bytes,1,opt,name=onchain_public_key,json=onchainPublicKey,proto3" json:"onchain_public_key,omitempty"` + NodeIndex uint64 `protobuf:"varint,2,opt,name=node_index,json=nodeIndex,proto3" json:"node_index,omitempty"` } func (x *RemoteSignerInfo) Reset() { *x = RemoteSignerInfo{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *RemoteSignerInfo) String() string { @@ -795,7 +830,7 @@ func (*RemoteSignerInfo) ProtoMessage() {} func (x *RemoteSignerInfo) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[11] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -825,20 +860,23 @@ func (x *RemoteSignerInfo) GetNodeIndex() uint64 { } type TokenPriceObservation struct { - state protoimpl.MessageState `protogen:"open.v1"` - FeedTokenPrices map[string][]byte `protobuf:"bytes,1,rep,name=feed_token_prices,json=feedTokenPrices,proto3" json:"feed_token_prices,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - FeeQuoterTokenUpdates map[string]*TimestampedBig `protobuf:"bytes,2,rep,name=fee_quoter_token_updates,json=feeQuoterTokenUpdates,proto3" json:"fee_quoter_token_updates,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - FChain map[uint64]int32 `protobuf:"bytes,3,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to f + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FeedTokenPrices map[string][]byte `protobuf:"bytes,1,rep,name=feed_token_prices,json=feedTokenPrices,proto3" json:"feed_token_prices,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + FeeQuoterTokenUpdates map[string]*TimestampedBig `protobuf:"bytes,2,rep,name=fee_quoter_token_updates,json=feeQuoterTokenUpdates,proto3" json:"fee_quoter_token_updates,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + FChain map[uint64]int32 `protobuf:"bytes,3,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to f Timestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache } func (x *TokenPriceObservation) Reset() { *x = TokenPriceObservation{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *TokenPriceObservation) String() string { @@ -849,7 +887,7 @@ func (*TokenPriceObservation) ProtoMessage() {} func (x *TokenPriceObservation) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[12] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -893,21 +931,24 @@ func (x *TokenPriceObservation) GetTimestamp() *timestamppb.Timestamp { } type ChainFeeObservation struct { - state protoimpl.MessageState `protogen:"open.v1"` - FeeComponents map[uint64]*ChainFeeComponents `protobuf:"bytes,1,rep,name=fee_components,json=feeComponents,proto3" json:"fee_components,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to ChainFeeComponents - NativeTokenPrices map[uint64][]byte `protobuf:"bytes,2,rep,name=native_token_prices,json=nativeTokenPrices,proto3" json:"native_token_prices,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to bigInt bytes - ChainFeeUpdates map[uint64]*ChainFeeUpdate `protobuf:"bytes,3,rep,name=chain_fee_updates,json=chainFeeUpdates,proto3" json:"chain_fee_updates,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to ChainFeeUpdate - FChain map[uint64]int32 `protobuf:"bytes,4,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to f + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FeeComponents map[uint64]*ChainFeeComponents `protobuf:"bytes,1,rep,name=fee_components,json=feeComponents,proto3" json:"fee_components,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to ChainFeeComponents + NativeTokenPrices map[uint64][]byte `protobuf:"bytes,2,rep,name=native_token_prices,json=nativeTokenPrices,proto3" json:"native_token_prices,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to bigInt bytes + ChainFeeUpdates map[uint64]*ChainFeeUpdate `protobuf:"bytes,3,rep,name=chain_fee_updates,json=chainFeeUpdates,proto3" json:"chain_fee_updates,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to ChainFeeUpdate + FChain map[uint64]int32 `protobuf:"bytes,4,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to f TimestampNow *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp_now,json=timestampNow,proto3" json:"timestamp_now,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache } func (x *ChainFeeObservation) Reset() { *x = ChainFeeObservation{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ChainFeeObservation) String() string { @@ -918,7 +959,7 @@ func (*ChainFeeObservation) ProtoMessage() {} func (x *ChainFeeObservation) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[13] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -969,18 +1010,21 @@ func (x *ChainFeeObservation) GetTimestampNow() *timestamppb.Timestamp { } type ChainFeeComponents struct { - state protoimpl.MessageState `protogen:"open.v1"` - ExecutionFee []byte `protobuf:"bytes,1,opt,name=execution_fee,json=executionFee,proto3" json:"execution_fee,omitempty"` // bigInt bytes - DataAvailabilityFee []byte `protobuf:"bytes,2,opt,name=data_availability_fee,json=dataAvailabilityFee,proto3" json:"data_availability_fee,omitempty"` // bigInt bytes - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExecutionFee []byte `protobuf:"bytes,1,opt,name=execution_fee,json=executionFee,proto3" json:"execution_fee,omitempty"` // bigInt bytes + DataAvailabilityFee []byte `protobuf:"bytes,2,opt,name=data_availability_fee,json=dataAvailabilityFee,proto3" json:"data_availability_fee,omitempty"` // bigInt bytes } func (x *ChainFeeComponents) Reset() { *x = ChainFeeComponents{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ChainFeeComponents) String() string { @@ -991,7 +1035,7 @@ func (*ChainFeeComponents) ProtoMessage() {} func (x *ChainFeeComponents) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[14] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1021,18 +1065,21 @@ func (x *ChainFeeComponents) GetDataAvailabilityFee() []byte { } type ChainFeeUpdate struct { - state protoimpl.MessageState `protogen:"open.v1"` - ChainFee *ComponentsUSDPrices `protobuf:"bytes,1,opt,name=chain_fee,json=chainFee,proto3" json:"chain_fee,omitempty"` - Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChainFee *ComponentsUSDPrices `protobuf:"bytes,1,opt,name=chain_fee,json=chainFee,proto3" json:"chain_fee,omitempty"` + Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` } func (x *ChainFeeUpdate) Reset() { *x = ChainFeeUpdate{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ChainFeeUpdate) String() string { @@ -1043,7 +1090,7 @@ func (*ChainFeeUpdate) ProtoMessage() {} func (x *ChainFeeUpdate) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[15] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1073,18 +1120,21 @@ func (x *ChainFeeUpdate) GetTimestamp() *timestamppb.Timestamp { } type ComponentsUSDPrices struct { - state protoimpl.MessageState `protogen:"open.v1"` - ExecutionFeePriceUsd []byte `protobuf:"bytes,1,opt,name=execution_fee_price_usd,json=executionFeePriceUsd,proto3" json:"execution_fee_price_usd,omitempty"` // bigInt bytes - DataAvFeePriceUsd []byte `protobuf:"bytes,2,opt,name=data_av_fee_price_usd,json=dataAvFeePriceUsd,proto3" json:"data_av_fee_price_usd,omitempty"` // bigInt bytes - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ExecutionFeePriceUsd []byte `protobuf:"bytes,1,opt,name=execution_fee_price_usd,json=executionFeePriceUsd,proto3" json:"execution_fee_price_usd,omitempty"` // bigInt bytes + DataAvFeePriceUsd []byte `protobuf:"bytes,2,opt,name=data_av_fee_price_usd,json=dataAvFeePriceUsd,proto3" json:"data_av_fee_price_usd,omitempty"` // bigInt bytes } func (x *ComponentsUSDPrices) Reset() { *x = ComponentsUSDPrices{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ComponentsUSDPrices) String() string { @@ -1095,7 +1145,7 @@ func (*ComponentsUSDPrices) ProtoMessage() {} func (x *ComponentsUSDPrices) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[16] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1125,18 +1175,21 @@ func (x *ComponentsUSDPrices) GetDataAvFeePriceUsd() []byte { } type DiscoveryObservation struct { - state protoimpl.MessageState `protogen:"open.v1"` - FChain map[uint64]int32 `protobuf:"bytes,1,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to f - ContractNames *ContractNameChainAddresses `protobuf:"bytes,2,opt,name=contract_names,json=contractNames,proto3" json:"contract_names,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FChain map[uint64]int32 `protobuf:"bytes,1,rep,name=f_chain,json=fChain,proto3" json:"f_chain,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to f + ContractNames *ContractNameChainAddresses `protobuf:"bytes,2,opt,name=contract_names,json=contractNames,proto3" json:"contract_names,omitempty"` } func (x *DiscoveryObservation) Reset() { *x = DiscoveryObservation{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *DiscoveryObservation) String() string { @@ -1147,7 +1200,7 @@ func (*DiscoveryObservation) ProtoMessage() {} func (x *DiscoveryObservation) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[17] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1177,17 +1230,20 @@ func (x *DiscoveryObservation) GetContractNames() *ContractNameChainAddresses { } type ContractNameChainAddresses struct { - state protoimpl.MessageState `protogen:"open.v1"` - Addresses map[string]*ChainAddressMap `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // contract name to chain to address - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Addresses map[string]*ChainAddressMap `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // contract name to chain to address } func (x *ContractNameChainAddresses) Reset() { *x = ContractNameChainAddresses{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ContractNameChainAddresses) String() string { @@ -1198,7 +1254,7 @@ func (*ContractNameChainAddresses) ProtoMessage() {} func (x *ContractNameChainAddresses) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[18] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1221,17 +1277,20 @@ func (x *ContractNameChainAddresses) GetAddresses() map[string]*ChainAddressMap } type ChainAddressMap struct { - state protoimpl.MessageState `protogen:"open.v1"` - ChainAddresses map[uint64][]byte `protobuf:"bytes,1,rep,name=chain_addresses,json=chainAddresses,proto3" json:"chain_addresses,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // chainSelector to address - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChainAddresses map[uint64][]byte `protobuf:"bytes,1,rep,name=chain_addresses,json=chainAddresses,proto3" json:"chain_addresses,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // chainSelector to address } func (x *ChainAddressMap) Reset() { *x = ChainAddressMap{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ChainAddressMap) String() string { @@ -1242,7 +1301,7 @@ func (*ChainAddressMap) ProtoMessage() {} func (x *ChainAddressMap) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[19] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1265,24 +1324,27 @@ func (x *ChainAddressMap) GetChainAddresses() map[uint64][]byte { } type MerkleRootOutcome struct { - state protoimpl.MessageState `protogen:"open.v1"` - OutcomeType int32 `protobuf:"varint,1,opt,name=outcome_type,json=outcomeType,proto3" json:"outcome_type,omitempty"` - RangesSelectedForReport []*ChainRange `protobuf:"bytes,2,rep,name=ranges_selected_for_report,json=rangesSelectedForReport,proto3" json:"ranges_selected_for_report,omitempty"` - RootsToReport []*MerkleRootChain `protobuf:"bytes,3,rep,name=roots_to_report,json=rootsToReport,proto3" json:"roots_to_report,omitempty"` - RmnEnabledChains map[uint64]bool `protobuf:"bytes,4,rep,name=rmn_enabled_chains,json=rmnEnabledChains,proto3" json:"rmn_enabled_chains,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // chainSelector to bool - OffRampNextSeqNums []*SeqNumChain `protobuf:"bytes,5,rep,name=off_ramp_next_seq_nums,json=offRampNextSeqNums,proto3" json:"off_ramp_next_seq_nums,omitempty"` - ReportTransmissionCheckAttempts uint32 `protobuf:"varint,6,opt,name=report_transmission_check_attempts,json=reportTransmissionCheckAttempts,proto3" json:"report_transmission_check_attempts,omitempty"` - RmnReportSignatures []*SignatureEcdsa `protobuf:"bytes,7,rep,name=rmn_report_signatures,json=rmnReportSignatures,proto3" json:"rmn_report_signatures,omitempty"` - RmnRemoteCfg *RmnRemoteConfig `protobuf:"bytes,8,opt,name=rmn_remote_cfg,json=rmnRemoteCfg,proto3" json:"rmn_remote_cfg,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutcomeType int32 `protobuf:"varint,1,opt,name=outcome_type,json=outcomeType,proto3" json:"outcome_type,omitempty"` + RangesSelectedForReport []*ChainRange `protobuf:"bytes,2,rep,name=ranges_selected_for_report,json=rangesSelectedForReport,proto3" json:"ranges_selected_for_report,omitempty"` + RootsToReport []*MerkleRootChain `protobuf:"bytes,3,rep,name=roots_to_report,json=rootsToReport,proto3" json:"roots_to_report,omitempty"` + RmnEnabledChains map[uint64]bool `protobuf:"bytes,4,rep,name=rmn_enabled_chains,json=rmnEnabledChains,proto3" json:"rmn_enabled_chains,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // chainSelector to bool + OffRampNextSeqNums []*SeqNumChain `protobuf:"bytes,5,rep,name=off_ramp_next_seq_nums,json=offRampNextSeqNums,proto3" json:"off_ramp_next_seq_nums,omitempty"` + ReportTransmissionCheckAttempts uint32 `protobuf:"varint,6,opt,name=report_transmission_check_attempts,json=reportTransmissionCheckAttempts,proto3" json:"report_transmission_check_attempts,omitempty"` + RmnReportSignatures []*SignatureEcdsa `protobuf:"bytes,7,rep,name=rmn_report_signatures,json=rmnReportSignatures,proto3" json:"rmn_report_signatures,omitempty"` + RmnRemoteCfg *RmnRemoteConfig `protobuf:"bytes,8,opt,name=rmn_remote_cfg,json=rmnRemoteCfg,proto3" json:"rmn_remote_cfg,omitempty"` } func (x *MerkleRootOutcome) Reset() { *x = MerkleRootOutcome{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *MerkleRootOutcome) String() string { @@ -1293,7 +1355,7 @@ func (*MerkleRootOutcome) ProtoMessage() {} func (x *MerkleRootOutcome) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[20] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1365,17 +1427,20 @@ func (x *MerkleRootOutcome) GetRmnRemoteCfg() *RmnRemoteConfig { } type TokenPriceOutcome struct { - state protoimpl.MessageState `protogen:"open.v1"` - TokenPrices map[string][]byte `protobuf:"bytes,1,rep,name=token_prices,json=tokenPrices,proto3" json:"token_prices,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TokenPrices map[string][]byte `protobuf:"bytes,1,rep,name=token_prices,json=tokenPrices,proto3" json:"token_prices,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *TokenPriceOutcome) Reset() { *x = TokenPriceOutcome{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *TokenPriceOutcome) String() string { @@ -1386,7 +1451,7 @@ func (*TokenPriceOutcome) ProtoMessage() {} func (x *TokenPriceOutcome) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[21] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1409,17 +1474,20 @@ func (x *TokenPriceOutcome) GetTokenPrices() map[string][]byte { } type ChainFeeOutcome struct { - state protoimpl.MessageState `protogen:"open.v1"` - GasPrices []*GasPriceChain `protobuf:"bytes,1,rep,name=gas_prices,json=gasPrices,proto3" json:"gas_prices,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GasPrices []*GasPriceChain `protobuf:"bytes,1,rep,name=gas_prices,json=gasPrices,proto3" json:"gas_prices,omitempty"` } func (x *ChainFeeOutcome) Reset() { *x = ChainFeeOutcome{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ChainFeeOutcome) String() string { @@ -1430,7 +1498,7 @@ func (*ChainFeeOutcome) ProtoMessage() {} func (x *ChainFeeOutcome) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[22] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1453,18 +1521,21 @@ func (x *ChainFeeOutcome) GetGasPrices() []*GasPriceChain { } type GasPriceChain struct { - state protoimpl.MessageState `protogen:"open.v1"` - ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` - GasPrice []byte `protobuf:"bytes,2,opt,name=gas_price,json=gasPrice,proto3" json:"gas_price,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` + GasPrice []byte `protobuf:"bytes,2,opt,name=gas_price,json=gasPrice,proto3" json:"gas_price,omitempty"` } func (x *GasPriceChain) Reset() { *x = GasPriceChain{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *GasPriceChain) String() string { @@ -1475,7 +1546,7 @@ func (*GasPriceChain) ProtoMessage() {} func (x *GasPriceChain) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[23] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1505,18 +1576,21 @@ func (x *GasPriceChain) GetGasPrice() []byte { } type MainOutcome struct { - state protoimpl.MessageState `protogen:"open.v1"` - InflightPriceOcrSequenceNumber uint64 `protobuf:"varint,1,opt,name=inflight_price_ocr_sequence_number,json=inflightPriceOcrSequenceNumber,proto3" json:"inflight_price_ocr_sequence_number,omitempty"` - RemainingPriceChecks int32 `protobuf:"varint,2,opt,name=remaining_price_checks,json=remainingPriceChecks,proto3" json:"remaining_price_checks,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + InflightPriceOcrSequenceNumber uint64 `protobuf:"varint,1,opt,name=inflight_price_ocr_sequence_number,json=inflightPriceOcrSequenceNumber,proto3" json:"inflight_price_ocr_sequence_number,omitempty"` + RemainingPriceChecks int32 `protobuf:"varint,2,opt,name=remaining_price_checks,json=remainingPriceChecks,proto3" json:"remaining_price_checks,omitempty"` } func (x *MainOutcome) Reset() { *x = MainOutcome{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *MainOutcome) String() string { @@ -1527,7 +1601,7 @@ func (*MainOutcome) ProtoMessage() {} func (x *MainOutcome) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[24] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1557,17 +1631,20 @@ func (x *MainOutcome) GetRemainingPriceChecks() int32 { } type CommitObservations struct { - state protoimpl.MessageState `protogen:"open.v1"` - CommitData []*CommitData `protobuf:"bytes,1,rep,name=commit_data,json=commitData,proto3" json:"commit_data,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CommitData []*CommitData `protobuf:"bytes,1,rep,name=commit_data,json=commitData,proto3" json:"commit_data,omitempty"` } func (x *CommitObservations) Reset() { *x = CommitObservations{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *CommitObservations) String() string { @@ -1578,7 +1655,7 @@ func (*CommitObservations) ProtoMessage() {} func (x *CommitObservations) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[25] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1601,7 +1678,10 @@ func (x *CommitObservations) GetCommitData() []*CommitData { } type CommitData struct { - state protoimpl.MessageState `protogen:"open.v1"` + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + SourceChain uint64 `protobuf:"varint,1,opt,name=source_chain,json=sourceChain,proto3" json:"source_chain,omitempty"` OnRampAddress []byte `protobuf:"bytes,2,opt,name=on_ramp_address,json=onRampAddress,proto3" json:"on_ramp_address,omitempty"` Timestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"` @@ -1614,15 +1694,15 @@ type CommitData struct { // Deprecated: Marked as deprecated in pkg/ocrtypecodec/v1/ocrtypes.proto. CostlyMessages [][]byte `protobuf:"bytes,10,rep,name=costly_messages,json=costlyMessages,proto3" json:"costly_messages,omitempty"` // DEPRECATED: Message IDs of costly messages MessageTokenData []*MessageTokenData `protobuf:"bytes,11,rep,name=message_token_data,json=messageTokenData,proto3" json:"message_token_data,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache } func (x *CommitData) Reset() { *x = CommitData{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *CommitData) String() string { @@ -1633,7 +1713,7 @@ func (*CommitData) ProtoMessage() {} func (x *CommitData) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[26] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1727,17 +1807,20 @@ func (x *CommitData) GetMessageTokenData() []*MessageTokenData { } type MessageTokenData struct { - state protoimpl.MessageState `protogen:"open.v1"` - TokenData []*TokenData `protobuf:"bytes,1,rep,name=token_data,json=tokenData,proto3" json:"token_data,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TokenData []*TokenData `protobuf:"bytes,1,rep,name=token_data,json=tokenData,proto3" json:"token_data,omitempty"` } func (x *MessageTokenData) Reset() { *x = MessageTokenData{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *MessageTokenData) String() string { @@ -1748,7 +1831,7 @@ func (*MessageTokenData) ProtoMessage() {} func (x *MessageTokenData) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[27] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1771,18 +1854,21 @@ func (x *MessageTokenData) GetTokenData() []*TokenData { } type TokenData struct { - state protoimpl.MessageState `protogen:"open.v1"` - Ready bool `protobuf:"varint,1,opt,name=ready,proto3" json:"ready,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Ready bool `protobuf:"varint,1,opt,name=ready,proto3" json:"ready,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } func (x *TokenData) Reset() { *x = TokenData{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *TokenData) String() string { @@ -1793,7 +1879,7 @@ func (*TokenData) ProtoMessage() {} func (x *TokenData) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[28] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1823,17 +1909,20 @@ func (x *TokenData) GetData() []byte { } type SeqNumToMessage struct { - state protoimpl.MessageState `protogen:"open.v1"` - Messages map[uint64]*Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Messages map[uint64]*Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *SeqNumToMessage) Reset() { *x = SeqNumToMessage{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *SeqNumToMessage) String() string { @@ -1844,7 +1933,7 @@ func (*SeqNumToMessage) ProtoMessage() {} func (x *SeqNumToMessage) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[29] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1867,17 +1956,20 @@ func (x *SeqNumToMessage) GetMessages() map[uint64]*Message { } type SeqNumToBytes struct { - state protoimpl.MessageState `protogen:"open.v1"` - SeqNumToBytes map[uint64][]byte `protobuf:"bytes,1,rep,name=seq_num_to_bytes,json=seqNumToBytes,proto3" json:"seq_num_to_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SeqNumToBytes map[uint64][]byte `protobuf:"bytes,1,rep,name=seq_num_to_bytes,json=seqNumToBytes,proto3" json:"seq_num_to_bytes,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *SeqNumToBytes) Reset() { *x = SeqNumToBytes{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *SeqNumToBytes) String() string { @@ -1888,7 +1980,7 @@ func (*SeqNumToBytes) ProtoMessage() {} func (x *SeqNumToBytes) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[30] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1911,17 +2003,20 @@ func (x *SeqNumToBytes) GetSeqNumToBytes() map[uint64][]byte { } type TokenDataObservations struct { - state protoimpl.MessageState `protogen:"open.v1"` - TokenData map[uint64]*SeqNumToTokenData `protobuf:"bytes,1,rep,name=token_data,json=tokenData,proto3" json:"token_data,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TokenData map[uint64]*SeqNumToTokenData `protobuf:"bytes,1,rep,name=token_data,json=tokenData,proto3" json:"token_data,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *TokenDataObservations) Reset() { *x = TokenDataObservations{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *TokenDataObservations) String() string { @@ -1932,7 +2027,7 @@ func (*TokenDataObservations) ProtoMessage() {} func (x *TokenDataObservations) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[31] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1955,17 +2050,20 @@ func (x *TokenDataObservations) GetTokenData() map[uint64]*SeqNumToTokenData { } type SeqNumToTokenData struct { - state protoimpl.MessageState `protogen:"open.v1"` - TokenData map[uint64]*MessageTokenData `protobuf:"bytes,1,rep,name=token_data,json=tokenData,proto3" json:"token_data,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TokenData map[uint64]*MessageTokenData `protobuf:"bytes,1,rep,name=token_data,json=tokenData,proto3" json:"token_data,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } func (x *SeqNumToTokenData) Reset() { *x = SeqNumToTokenData{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *SeqNumToTokenData) String() string { @@ -1976,7 +2074,7 @@ func (*SeqNumToTokenData) ProtoMessage() {} func (x *SeqNumToTokenData) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[32] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -1999,25 +2097,28 @@ func (x *SeqNumToTokenData) GetTokenData() map[uint64]*MessageTokenData { } type Message struct { - state protoimpl.MessageState `protogen:"open.v1"` - Header *RampMessageHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` - Sender []byte `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` // address - Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` - Receiver []byte `protobuf:"bytes,4,opt,name=receiver,proto3" json:"receiver,omitempty"` // address - ExtraArgs []byte `protobuf:"bytes,5,opt,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"` - FeeToken []byte `protobuf:"bytes,7,opt,name=fee_token,json=feeToken,proto3" json:"fee_token,omitempty"` // address - FeeTokenAmount []byte `protobuf:"bytes,8,opt,name=fee_token_amount,json=feeTokenAmount,proto3" json:"fee_token_amount,omitempty"` // bigInt bytes - FeeValueJuels []byte `protobuf:"bytes,9,opt,name=fee_value_juels,json=feeValueJuels,proto3" json:"fee_value_juels,omitempty"` // bigInt bytes - TokenAmounts []*RampTokenAmount `protobuf:"bytes,10,rep,name=token_amounts,json=tokenAmounts,proto3" json:"token_amounts,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Header *RampMessageHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + Sender []byte `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` // address + Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` + Receiver []byte `protobuf:"bytes,4,opt,name=receiver,proto3" json:"receiver,omitempty"` // address + ExtraArgs []byte `protobuf:"bytes,5,opt,name=extra_args,json=extraArgs,proto3" json:"extra_args,omitempty"` + FeeToken []byte `protobuf:"bytes,7,opt,name=fee_token,json=feeToken,proto3" json:"fee_token,omitempty"` // address + FeeTokenAmount []byte `protobuf:"bytes,8,opt,name=fee_token_amount,json=feeTokenAmount,proto3" json:"fee_token_amount,omitempty"` // bigInt bytes + FeeValueJuels []byte `protobuf:"bytes,9,opt,name=fee_value_juels,json=feeValueJuels,proto3" json:"fee_value_juels,omitempty"` // bigInt bytes + TokenAmounts []*RampTokenAmount `protobuf:"bytes,10,rep,name=token_amounts,json=tokenAmounts,proto3" json:"token_amounts,omitempty"` } func (x *Message) Reset() { *x = Message{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *Message) String() string { @@ -2028,7 +2129,7 @@ func (*Message) ProtoMessage() {} func (x *Message) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[33] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2107,24 +2208,27 @@ func (x *Message) GetTokenAmounts() []*RampTokenAmount { } type RampMessageHeader struct { - state protoimpl.MessageState `protogen:"open.v1"` - MessageId []byte `protobuf:"bytes,1,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` - SourceChainSelector uint64 `protobuf:"varint,2,opt,name=source_chain_selector,json=sourceChainSelector,proto3" json:"source_chain_selector,omitempty"` - DestChainSelector uint64 `protobuf:"varint,3,opt,name=dest_chain_selector,json=destChainSelector,proto3" json:"dest_chain_selector,omitempty"` - SequenceNumber uint64 `protobuf:"varint,4,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` - Nonce uint64 `protobuf:"varint,5,opt,name=nonce,proto3" json:"nonce,omitempty"` - MsgHash []byte `protobuf:"bytes,6,opt,name=msg_hash,json=msgHash,proto3" json:"msg_hash,omitempty"` - OnRamp []byte `protobuf:"bytes,7,opt,name=on_ramp,json=onRamp,proto3" json:"on_ramp,omitempty"` // address - TxHash string `protobuf:"bytes,8,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MessageId []byte `protobuf:"bytes,1,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` + SourceChainSelector uint64 `protobuf:"varint,2,opt,name=source_chain_selector,json=sourceChainSelector,proto3" json:"source_chain_selector,omitempty"` + DestChainSelector uint64 `protobuf:"varint,3,opt,name=dest_chain_selector,json=destChainSelector,proto3" json:"dest_chain_selector,omitempty"` + SequenceNumber uint64 `protobuf:"varint,4,opt,name=sequence_number,json=sequenceNumber,proto3" json:"sequence_number,omitempty"` + Nonce uint64 `protobuf:"varint,5,opt,name=nonce,proto3" json:"nonce,omitempty"` + MsgHash []byte `protobuf:"bytes,6,opt,name=msg_hash,json=msgHash,proto3" json:"msg_hash,omitempty"` + OnRamp []byte `protobuf:"bytes,7,opt,name=on_ramp,json=onRamp,proto3" json:"on_ramp,omitempty"` // address + TxHash string `protobuf:"bytes,8,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` } func (x *RampMessageHeader) Reset() { *x = RampMessageHeader{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *RampMessageHeader) String() string { @@ -2135,7 +2239,7 @@ func (*RampMessageHeader) ProtoMessage() {} func (x *RampMessageHeader) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[34] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2207,21 +2311,24 @@ func (x *RampMessageHeader) GetTxHash() string { } type RampTokenAmount struct { - state protoimpl.MessageState `protogen:"open.v1"` - SourcePoolAddress []byte `protobuf:"bytes,1,opt,name=source_pool_address,json=sourcePoolAddress,proto3" json:"source_pool_address,omitempty"` // address - DestTokenAddress []byte `protobuf:"bytes,2,opt,name=dest_token_address,json=destTokenAddress,proto3" json:"dest_token_address,omitempty"` // address - ExtraData []byte `protobuf:"bytes,3,opt,name=extra_data,json=extraData,proto3" json:"extra_data,omitempty"` - Amount []byte `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` // bigInt bytes - DestExecData []byte `protobuf:"bytes,5,opt,name=dest_exec_data,json=destExecData,proto3" json:"dest_exec_data,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourcePoolAddress []byte `protobuf:"bytes,1,opt,name=source_pool_address,json=sourcePoolAddress,proto3" json:"source_pool_address,omitempty"` // address + DestTokenAddress []byte `protobuf:"bytes,2,opt,name=dest_token_address,json=destTokenAddress,proto3" json:"dest_token_address,omitempty"` // address + ExtraData []byte `protobuf:"bytes,3,opt,name=extra_data,json=extraData,proto3" json:"extra_data,omitempty"` + Amount []byte `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` // bigInt bytes + DestExecData []byte `protobuf:"bytes,5,opt,name=dest_exec_data,json=destExecData,proto3" json:"dest_exec_data,omitempty"` } func (x *RampTokenAmount) Reset() { *x = RampTokenAmount{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *RampTokenAmount) String() string { @@ -2232,7 +2339,7 @@ func (*RampTokenAmount) ProtoMessage() {} func (x *RampTokenAmount) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[35] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2283,17 +2390,20 @@ func (x *RampTokenAmount) GetDestExecData() []byte { } type StringAddrToNonce struct { - state protoimpl.MessageState `protogen:"open.v1"` - Nonces map[string]uint64 `protobuf:"bytes,1,rep,name=nonces,proto3" json:"nonces,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` // address string to nonce - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Nonces map[string]uint64 `protobuf:"bytes,1,rep,name=nonces,proto3" json:"nonces,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // address string to nonce } func (x *StringAddrToNonce) Reset() { *x = StringAddrToNonce{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *StringAddrToNonce) String() string { @@ -2304,7 +2414,7 @@ func (*StringAddrToNonce) ProtoMessage() {} func (x *StringAddrToNonce) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[36] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2327,17 +2437,20 @@ func (x *StringAddrToNonce) GetNonces() map[string]uint64 { } type ExecutePluginReport struct { - state protoimpl.MessageState `protogen:"open.v1"` - ChainReports []*ChainReport `protobuf:"bytes,1,rep,name=chain_reports,json=chainReports,proto3" json:"chain_reports,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChainReports []*ChainReport `protobuf:"bytes,1,rep,name=chain_reports,json=chainReports,proto3" json:"chain_reports,omitempty"` } func (x *ExecutePluginReport) Reset() { *x = ExecutePluginReport{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ExecutePluginReport) String() string { @@ -2348,7 +2461,7 @@ func (*ExecutePluginReport) ProtoMessage() {} func (x *ExecutePluginReport) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[37] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2371,21 +2484,24 @@ func (x *ExecutePluginReport) GetChainReports() []*ChainReport { } type ChainReport struct { - state protoimpl.MessageState `protogen:"open.v1"` - SourceChainSelector uint64 `protobuf:"varint,1,opt,name=source_chain_selector,json=sourceChainSelector,proto3" json:"source_chain_selector,omitempty"` - Messages []*Message `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"` - OffchainTokenData []*RepeatedBytes `protobuf:"bytes,3,rep,name=offchain_token_data,json=offchainTokenData,proto3" json:"offchain_token_data,omitempty"` - Proofs [][]byte `protobuf:"bytes,4,rep,name=proofs,proto3" json:"proofs,omitempty"` - ProofFlagBits []byte `protobuf:"bytes,5,opt,name=proof_flag_bits,json=proofFlagBits,proto3" json:"proof_flag_bits,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourceChainSelector uint64 `protobuf:"varint,1,opt,name=source_chain_selector,json=sourceChainSelector,proto3" json:"source_chain_selector,omitempty"` + Messages []*Message `protobuf:"bytes,2,rep,name=messages,proto3" json:"messages,omitempty"` + OffchainTokenData []*RepeatedBytes `protobuf:"bytes,3,rep,name=offchain_token_data,json=offchainTokenData,proto3" json:"offchain_token_data,omitempty"` + Proofs [][]byte `protobuf:"bytes,4,rep,name=proofs,proto3" json:"proofs,omitempty"` + ProofFlagBits []byte `protobuf:"bytes,5,opt,name=proof_flag_bits,json=proofFlagBits,proto3" json:"proof_flag_bits,omitempty"` } func (x *ChainReport) Reset() { *x = ChainReport{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ChainReport) String() string { @@ -2396,7 +2512,7 @@ func (*ChainReport) ProtoMessage() {} func (x *ChainReport) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[38] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2447,17 +2563,20 @@ func (x *ChainReport) GetProofFlagBits() []byte { } type RepeatedBytes struct { - state protoimpl.MessageState `protogen:"open.v1"` - Items [][]byte `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Items [][]byte `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` } func (x *RepeatedBytes) Reset() { *x = RepeatedBytes{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *RepeatedBytes) String() string { @@ -2468,7 +2587,7 @@ func (*RepeatedBytes) ProtoMessage() {} func (x *RepeatedBytes) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[39] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2491,18 +2610,21 @@ func (x *RepeatedBytes) GetItems() [][]byte { } type SeqNumRange struct { - state protoimpl.MessageState `protogen:"open.v1"` - MinMsgNr uint64 `protobuf:"varint,1,opt,name=min_msg_nr,json=minMsgNr,proto3" json:"min_msg_nr,omitempty"` - MaxMsgNr uint64 `protobuf:"varint,2,opt,name=max_msg_nr,json=maxMsgNr,proto3" json:"max_msg_nr,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MinMsgNr uint64 `protobuf:"varint,1,opt,name=min_msg_nr,json=minMsgNr,proto3" json:"min_msg_nr,omitempty"` + MaxMsgNr uint64 `protobuf:"varint,2,opt,name=max_msg_nr,json=maxMsgNr,proto3" json:"max_msg_nr,omitempty"` } func (x *SeqNumRange) Reset() { *x = SeqNumRange{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *SeqNumRange) String() string { @@ -2513,7 +2635,7 @@ func (*SeqNumRange) ProtoMessage() {} func (x *SeqNumRange) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[40] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2543,18 +2665,21 @@ func (x *SeqNumRange) GetMaxMsgNr() uint64 { } type SeqNumChain struct { - state protoimpl.MessageState `protogen:"open.v1"` - ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` - SeqNum uint64 `protobuf:"varint,2,opt,name=seq_num,json=seqNum,proto3" json:"seq_num,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` + SeqNum uint64 `protobuf:"varint,2,opt,name=seq_num,json=seqNum,proto3" json:"seq_num,omitempty"` } func (x *SeqNumChain) Reset() { *x = SeqNumChain{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *SeqNumChain) String() string { @@ -2565,7 +2690,7 @@ func (*SeqNumChain) ProtoMessage() {} func (x *SeqNumChain) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[41] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2595,18 +2720,21 @@ func (x *SeqNumChain) GetSeqNum() uint64 { } type ChainRange struct { - state protoimpl.MessageState `protogen:"open.v1"` - ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` - SeqNumRange *SeqNumRange `protobuf:"bytes,2,opt,name=seq_num_range,json=seqNumRange,proto3" json:"seq_num_range,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` + SeqNumRange *SeqNumRange `protobuf:"bytes,2,opt,name=seq_num_range,json=seqNumRange,proto3" json:"seq_num_range,omitempty"` } func (x *ChainRange) Reset() { *x = ChainRange{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *ChainRange) String() string { @@ -2617,7 +2745,7 @@ func (*ChainRange) ProtoMessage() {} func (x *ChainRange) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[42] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2647,18 +2775,21 @@ func (x *ChainRange) GetSeqNumRange() *SeqNumRange { } type SourceChainMeta struct { - state protoimpl.MessageState `protogen:"open.v1"` - SourceChainSelector uint64 `protobuf:"varint,1,opt,name=source_chain_selector,json=sourceChainSelector,proto3" json:"source_chain_selector,omitempty"` - OnrampAddress []byte `protobuf:"bytes,2,opt,name=onramp_address,json=onrampAddress,proto3" json:"onramp_address,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SourceChainSelector uint64 `protobuf:"varint,1,opt,name=source_chain_selector,json=sourceChainSelector,proto3" json:"source_chain_selector,omitempty"` + OnrampAddress []byte `protobuf:"bytes,2,opt,name=onramp_address,json=onrampAddress,proto3" json:"onramp_address,omitempty"` } func (x *SourceChainMeta) Reset() { *x = SourceChainMeta{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *SourceChainMeta) String() string { @@ -2669,7 +2800,7 @@ func (*SourceChainMeta) ProtoMessage() {} func (x *SourceChainMeta) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[43] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2699,20 +2830,23 @@ func (x *SourceChainMeta) GetOnrampAddress() []byte { } type MerkleRootChain struct { - state protoimpl.MessageState `protogen:"open.v1"` - ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` - OnRampAddress []byte `protobuf:"bytes,2,opt,name=on_ramp_address,json=onRampAddress,proto3" json:"on_ramp_address,omitempty"` - SeqNumsRange *SeqNumRange `protobuf:"bytes,3,opt,name=seq_nums_range,json=seqNumsRange,proto3" json:"seq_nums_range,omitempty"` - MerkleRoot []byte `protobuf:"bytes,4,opt,name=merkle_root,json=merkleRoot,proto3" json:"merkle_root,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChainSel uint64 `protobuf:"varint,1,opt,name=chain_sel,json=chainSel,proto3" json:"chain_sel,omitempty"` + OnRampAddress []byte `protobuf:"bytes,2,opt,name=on_ramp_address,json=onRampAddress,proto3" json:"on_ramp_address,omitempty"` + SeqNumsRange *SeqNumRange `protobuf:"bytes,3,opt,name=seq_nums_range,json=seqNumsRange,proto3" json:"seq_nums_range,omitempty"` + MerkleRoot []byte `protobuf:"bytes,4,opt,name=merkle_root,json=merkleRoot,proto3" json:"merkle_root,omitempty"` } func (x *MerkleRootChain) Reset() { *x = MerkleRootChain{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *MerkleRootChain) String() string { @@ -2723,7 +2857,7 @@ func (*MerkleRootChain) ProtoMessage() {} func (x *MerkleRootChain) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[44] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2767,18 +2901,21 @@ func (x *MerkleRootChain) GetMerkleRoot() []byte { } type TimestampedBig struct { - state protoimpl.MessageState `protogen:"open.v1"` - Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` - unknownFields protoimpl.UnknownFields + state protoimpl.MessageState sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *TimestampedBig) Reset() { *x = TimestampedBig{} - mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) + if protoimpl.UnsafeEnabled { + mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } } func (x *TimestampedBig) String() string { @@ -2789,7 +2926,7 @@ func (*TimestampedBig) ProtoMessage() {} func (x *TimestampedBig) ProtoReflect() protoreflect.Message { mi := &file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[45] - if x != nil { + if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) @@ -2820,308 +2957,744 @@ func (x *TimestampedBig) GetValue() []byte { var File_pkg_ocrtypecodec_v1_ocrtypes_proto protoreflect.FileDescriptor -const file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc = "" + - "\n" + - "\"pkg/ocrtypecodec/v1/ocrtypes.proto\x12\x13pkg.ocrtypecodec.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"_\n" + - "\vCommitQuery\x12P\n" + - "\x11merkle_root_query\x18\x01 \x01(\v2$.pkg.ocrtypecodec.v1.MerkleRootQueryR\x0fmerkleRootQuery\"\x9b\x04\n" + - "\x11CommitObservation\x12R\n" + - "\x0fmerkle_root_obs\x18\x01 \x01(\v2*.pkg.ocrtypecodec.v1.MerkleRootObservationR\rmerkleRootObs\x12R\n" + - "\x0ftoken_price_obs\x18\x02 \x01(\v2*.pkg.ocrtypecodec.v1.TokenPriceObservationR\rtokenPriceObs\x12L\n" + - "\rchain_fee_obs\x18\x03 \x01(\v2(.pkg.ocrtypecodec.v1.ChainFeeObservationR\vchainFeeObs\x12N\n" + - "\rdiscovery_obs\x18\x04 \x01(\v2).pkg.ocrtypecodec.v1.DiscoveryObservationR\fdiscoveryObs\x12K\n" + - "\af_chain\x18\x05 \x03(\v22.pkg.ocrtypecodec.v1.CommitObservation.FChainEntryR\x06fChain\x128\n" + - "\x19onchain_price_ocr_seq_num\x18\x06 \x01(\x04R\x15onchainPriceOcrSeqNum\x1a9\n" + - "\vFChainEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"\xd6\x02\n" + - "\rCommitOutcome\x12V\n" + - "\x13merkle_root_outcome\x18\x01 \x01(\v2&.pkg.ocrtypecodec.v1.MerkleRootOutcomeR\x11merkleRootOutcome\x12V\n" + - "\x13token_price_outcome\x18\x02 \x01(\v2&.pkg.ocrtypecodec.v1.TokenPriceOutcomeR\x11tokenPriceOutcome\x12P\n" + - "\x11chain_fee_outcome\x18\x03 \x01(\v2$.pkg.ocrtypecodec.v1.ChainFeeOutcomeR\x0fchainFeeOutcome\x12C\n" + - "\fmain_outcome\x18\x04 \x01(\v2 .pkg.ocrtypecodec.v1.MainOutcomeR\vmainOutcome\"\xe9\b\n" + - "\x0fExecObservation\x12^\n" + - "\x0ecommit_reports\x18\x01 \x03(\v27.pkg.ocrtypecodec.v1.ExecObservation.CommitReportsEntryR\rcommitReports\x12`\n" + - "\x10seq_nums_to_msgs\x18\x02 \x03(\v27.pkg.ocrtypecodec.v1.ExecObservation.SeqNumsToMsgsEntryR\rseqNumsToMsgs\x12R\n" + - "\n" + - "msg_hashes\x18\x03 \x03(\v23.pkg.ocrtypecodec.v1.ExecObservation.MsgHashesEntryR\tmsgHashes\x12b\n" + - "\x17token_data_observations\x18\x04 \x01(\v2*.pkg.ocrtypecodec.v1.TokenDataObservationsR\x15tokenDataObservations\x12+\n" + - "\x0fcostly_messages\x18\x05 \x03(\fB\x02\x18\x01R\x0ecostlyMessages\x12H\n" + - "\x06nonces\x18\x06 \x03(\v20.pkg.ocrtypecodec.v1.ExecObservation.NoncesEntryR\x06nonces\x12G\n" + - "\tcontracts\x18\a \x01(\v2).pkg.ocrtypecodec.v1.DiscoveryObservationR\tcontracts\x12I\n" + - "\af_chain\x18\b \x03(\v20.pkg.ocrtypecodec.v1.ExecObservation.FChainEntryR\x06fChain\x1ai\n" + - "\x12CommitReportsEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12=\n" + - "\x05value\x18\x02 \x01(\v2'.pkg.ocrtypecodec.v1.CommitObservationsR\x05value:\x028\x01\x1af\n" + - "\x12SeqNumsToMsgsEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12:\n" + - "\x05value\x18\x02 \x01(\v2$.pkg.ocrtypecodec.v1.SeqNumToMessageR\x05value:\x028\x01\x1a`\n" + - "\x0eMsgHashesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x128\n" + - "\x05value\x18\x02 \x01(\v2\".pkg.ocrtypecodec.v1.SeqNumToBytesR\x05value:\x028\x01\x1aa\n" + - "\vNoncesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12<\n" + - "\x05value\x18\x02 \x01(\v2&.pkg.ocrtypecodec.v1.StringAddrToNonceR\x05value:\x028\x01\x1a9\n" + - "\vFChainEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"\xb6\x02\n" + - "\vExecOutcome\x12!\n" + - "\fplugin_state\x18\x01 \x01(\tR\vpluginState\x12F\n" + - "\x0ecommit_reports\x18\x02 \x03(\v2\x1f.pkg.ocrtypecodec.v1.CommitDataR\rcommitReports\x12\\\n" + - "\x15execute_plugin_report\x18\x03 \x01(\v2(.pkg.ocrtypecodec.v1.ExecutePluginReportR\x13executePluginReport\x12^\n" + - "\x16execute_plugin_reports\x18\x04 \x03(\v2(.pkg.ocrtypecodec.v1.ExecutePluginReportR\x14executePluginReports\"\x91\x01\n" + - "\x0fMerkleRootQuery\x120\n" + - "\x14retry_rmn_signatures\x18\x01 \x01(\bR\x12retryRmnSignatures\x12L\n" + - "\x0ermn_signatures\x18\x02 \x01(\v2%.pkg.ocrtypecodec.v1.ReportSignaturesR\rrmnSignatures\"\xa0\x01\n" + - "\x10ReportSignatures\x12C\n" + - "\n" + - "signatures\x18\x01 \x03(\v2#.pkg.ocrtypecodec.v1.SignatureEcdsaR\n" + - "signatures\x12G\n" + - "\flane_updates\x18\x02 \x03(\v2$.pkg.ocrtypecodec.v1.DestChainUpdateR\vlaneUpdates\",\n" + - "\x0eSignatureEcdsa\x12\f\n" + - "\x01r\x18\x01 \x01(\fR\x01r\x12\f\n" + - "\x01s\x18\x02 \x01(\fR\x01s\"\xb2\x01\n" + - "\x0fDestChainUpdate\x12E\n" + - "\vlane_source\x18\x01 \x01(\v2$.pkg.ocrtypecodec.v1.SourceChainMetaR\n" + - "laneSource\x12D\n" + - "\rseq_num_range\x18\x02 \x01(\v2 .pkg.ocrtypecodec.v1.SeqNumRangeR\vseqNumRange\x12\x12\n" + - "\x04root\x18\x03 \x01(\fR\x04root\"\x9b\x05\n" + - "\x15MerkleRootObservation\x12G\n" + - "\fmerkle_roots\x18\x01 \x03(\v2$.pkg.ocrtypecodec.v1.MerkleRootChainR\vmerkleRoots\x12n\n" + - "\x12rmn_enabled_chains\x18\x02 \x03(\v2@.pkg.ocrtypecodec.v1.MerkleRootObservation.RmnEnabledChainsEntryR\x10rmnEnabledChains\x12P\n" + - "\x14on_ramp_max_seq_nums\x18\x03 \x03(\v2 .pkg.ocrtypecodec.v1.SeqNumChainR\x10onRampMaxSeqNums\x12T\n" + - "\x16off_ramp_next_seq_nums\x18\x04 \x03(\v2 .pkg.ocrtypecodec.v1.SeqNumChainR\x12offRampNextSeqNums\x12P\n" + - "\x11rmn_remote_config\x18\x05 \x01(\v2$.pkg.ocrtypecodec.v1.RmnRemoteConfigR\x0frmnRemoteConfig\x12O\n" + - "\af_chain\x18\x06 \x03(\v26.pkg.ocrtypecodec.v1.MerkleRootObservation.FChainEntryR\x06fChain\x1aC\n" + - "\x15RmnEnabledChainsEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\x1a9\n" + - "\vFChainEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"\x8e\x02\n" + - "\x0fRmnRemoteConfig\x12)\n" + - "\x10contract_address\x18\x01 \x01(\fR\x0fcontractAddress\x12#\n" + - "\rconfig_digest\x18\x02 \x01(\fR\fconfigDigest\x12?\n" + - "\asigners\x18\x03 \x03(\v2%.pkg.ocrtypecodec.v1.RemoteSignerInfoR\asigners\x12\x15\n" + - "\x06f_sign\x18\x04 \x01(\x04R\x05fSign\x12%\n" + - "\x0econfig_version\x18\x05 \x01(\rR\rconfigVersion\x12,\n" + - "\x12rmn_report_version\x18\x06 \x01(\fR\x10rmnReportVersion\"_\n" + - "\x10RemoteSignerInfo\x12,\n" + - "\x12onchain_public_key\x18\x01 \x01(\fR\x10onchainPublicKey\x12\x1d\n" + - "\n" + - "node_index\x18\x02 \x01(\x04R\tnodeIndex\"\xfd\x04\n" + - "\x15TokenPriceObservation\x12k\n" + - "\x11feed_token_prices\x18\x01 \x03(\v2?.pkg.ocrtypecodec.v1.TokenPriceObservation.FeedTokenPricesEntryR\x0ffeedTokenPrices\x12~\n" + - "\x18fee_quoter_token_updates\x18\x02 \x03(\v2E.pkg.ocrtypecodec.v1.TokenPriceObservation.FeeQuoterTokenUpdatesEntryR\x15feeQuoterTokenUpdates\x12O\n" + - "\af_chain\x18\x03 \x03(\v26.pkg.ocrtypecodec.v1.TokenPriceObservation.FChainEntryR\x06fChain\x128\n" + - "\ttimestamp\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x1aB\n" + - "\x14FeedTokenPricesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\x1am\n" + - "\x1aFeeQuoterTokenUpdatesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x129\n" + - "\x05value\x18\x02 \x01(\v2#.pkg.ocrtypecodec.v1.TimestampedBigR\x05value:\x028\x01\x1a9\n" + - "\vFChainEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"\xba\x06\n" + - "\x13ChainFeeObservation\x12b\n" + - "\x0efee_components\x18\x01 \x03(\v2;.pkg.ocrtypecodec.v1.ChainFeeObservation.FeeComponentsEntryR\rfeeComponents\x12o\n" + - "\x13native_token_prices\x18\x02 \x03(\v2?.pkg.ocrtypecodec.v1.ChainFeeObservation.NativeTokenPricesEntryR\x11nativeTokenPrices\x12i\n" + - "\x11chain_fee_updates\x18\x03 \x03(\v2=.pkg.ocrtypecodec.v1.ChainFeeObservation.ChainFeeUpdatesEntryR\x0fchainFeeUpdates\x12M\n" + - "\af_chain\x18\x04 \x03(\v24.pkg.ocrtypecodec.v1.ChainFeeObservation.FChainEntryR\x06fChain\x12?\n" + - "\rtimestamp_now\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\ftimestampNow\x1ai\n" + - "\x12FeeComponentsEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12=\n" + - "\x05value\x18\x02 \x01(\v2'.pkg.ocrtypecodec.v1.ChainFeeComponentsR\x05value:\x028\x01\x1aD\n" + - "\x16NativeTokenPricesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\x1ag\n" + - "\x14ChainFeeUpdatesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x129\n" + - "\x05value\x18\x02 \x01(\v2#.pkg.ocrtypecodec.v1.ChainFeeUpdateR\x05value:\x028\x01\x1a9\n" + - "\vFChainEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"m\n" + - "\x12ChainFeeComponents\x12#\n" + - "\rexecution_fee\x18\x01 \x01(\fR\fexecutionFee\x122\n" + - "\x15data_availability_fee\x18\x02 \x01(\fR\x13dataAvailabilityFee\"\x91\x01\n" + - "\x0eChainFeeUpdate\x12E\n" + - "\tchain_fee\x18\x01 \x01(\v2(.pkg.ocrtypecodec.v1.ComponentsUSDPricesR\bchainFee\x128\n" + - "\ttimestamp\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\"~\n" + - "\x13ComponentsUSDPrices\x125\n" + - "\x17execution_fee_price_usd\x18\x01 \x01(\fR\x14executionFeePriceUsd\x120\n" + - "\x15data_av_fee_price_usd\x18\x02 \x01(\fR\x11dataAvFeePriceUsd\"\xf9\x01\n" + - "\x14DiscoveryObservation\x12N\n" + - "\af_chain\x18\x01 \x03(\v25.pkg.ocrtypecodec.v1.DiscoveryObservation.FChainEntryR\x06fChain\x12V\n" + - "\x0econtract_names\x18\x02 \x01(\v2/.pkg.ocrtypecodec.v1.ContractNameChainAddressesR\rcontractNames\x1a9\n" + - "\vFChainEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"\xde\x01\n" + - "\x1aContractNameChainAddresses\x12\\\n" + - "\taddresses\x18\x01 \x03(\v2>.pkg.ocrtypecodec.v1.ContractNameChainAddresses.AddressesEntryR\taddresses\x1ab\n" + - "\x0eAddressesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12:\n" + - "\x05value\x18\x02 \x01(\v2$.pkg.ocrtypecodec.v1.ChainAddressMapR\x05value:\x028\x01\"\xb7\x01\n" + - "\x0fChainAddressMap\x12a\n" + - "\x0fchain_addresses\x18\x01 \x03(\v28.pkg.ocrtypecodec.v1.ChainAddressMap.ChainAddressesEntryR\x0echainAddresses\x1aA\n" + - "\x13ChainAddressesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\"\xdb\x05\n" + - "\x11MerkleRootOutcome\x12!\n" + - "\foutcome_type\x18\x01 \x01(\x05R\voutcomeType\x12\\\n" + - "\x1aranges_selected_for_report\x18\x02 \x03(\v2\x1f.pkg.ocrtypecodec.v1.ChainRangeR\x17rangesSelectedForReport\x12L\n" + - "\x0froots_to_report\x18\x03 \x03(\v2$.pkg.ocrtypecodec.v1.MerkleRootChainR\rrootsToReport\x12j\n" + - "\x12rmn_enabled_chains\x18\x04 \x03(\v2<.pkg.ocrtypecodec.v1.MerkleRootOutcome.RmnEnabledChainsEntryR\x10rmnEnabledChains\x12T\n" + - "\x16off_ramp_next_seq_nums\x18\x05 \x03(\v2 .pkg.ocrtypecodec.v1.SeqNumChainR\x12offRampNextSeqNums\x12K\n" + - "\"report_transmission_check_attempts\x18\x06 \x01(\rR\x1freportTransmissionCheckAttempts\x12W\n" + - "\x15rmn_report_signatures\x18\a \x03(\v2#.pkg.ocrtypecodec.v1.SignatureEcdsaR\x13rmnReportSignatures\x12J\n" + - "\x0ermn_remote_cfg\x18\b \x01(\v2$.pkg.ocrtypecodec.v1.RmnRemoteConfigR\frmnRemoteCfg\x1aC\n" + - "\x15RmnEnabledChainsEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\bR\x05value:\x028\x01\"\xaf\x01\n" + - "\x11TokenPriceOutcome\x12Z\n" + - "\ftoken_prices\x18\x01 \x03(\v27.pkg.ocrtypecodec.v1.TokenPriceOutcome.TokenPricesEntryR\vtokenPrices\x1a>\n" + - "\x10TokenPricesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\"T\n" + - "\x0fChainFeeOutcome\x12A\n" + - "\n" + - "gas_prices\x18\x01 \x03(\v2\".pkg.ocrtypecodec.v1.GasPriceChainR\tgasPrices\"I\n" + - "\rGasPriceChain\x12\x1b\n" + - "\tchain_sel\x18\x01 \x01(\x04R\bchainSel\x12\x1b\n" + - "\tgas_price\x18\x02 \x01(\fR\bgasPrice\"\x8f\x01\n" + - "\vMainOutcome\x12J\n" + - "\"inflight_price_ocr_sequence_number\x18\x01 \x01(\x04R\x1einflightPriceOcrSequenceNumber\x124\n" + - "\x16remaining_price_checks\x18\x02 \x01(\x05R\x14remainingPriceChecks\"V\n" + - "\x12CommitObservations\x12@\n" + - "\vcommit_data\x18\x01 \x03(\v2\x1f.pkg.ocrtypecodec.v1.CommitDataR\n" + - "commitData\"\xa6\x04\n" + - "\n" + - "CommitData\x12!\n" + - "\fsource_chain\x18\x01 \x01(\x04R\vsourceChain\x12&\n" + - "\x0fon_ramp_address\x18\x02 \x01(\fR\ronRampAddress\x128\n" + - "\ttimestamp\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x1b\n" + - "\tblock_num\x18\x04 \x01(\x04R\bblockNum\x12\x1f\n" + - "\vmerkle_root\x18\x05 \x01(\fR\n" + - "merkleRoot\x12T\n" + - "\x15sequence_number_range\x18\x06 \x01(\v2 .pkg.ocrtypecodec.v1.SeqNumRangeR\x13sequenceNumberRange\x12+\n" + - "\x11executed_messages\x18\a \x03(\x04R\x10executedMessages\x128\n" + - "\bmessages\x18\b \x03(\v2\x1c.pkg.ocrtypecodec.v1.MessageR\bmessages\x12\x16\n" + - "\x06hashes\x18\t \x03(\fR\x06hashes\x12+\n" + - "\x0fcostly_messages\x18\n" + - " \x03(\fB\x02\x18\x01R\x0ecostlyMessages\x12S\n" + - "\x12message_token_data\x18\v \x03(\v2%.pkg.ocrtypecodec.v1.MessageTokenDataR\x10messageTokenData\"Q\n" + - "\x10MessageTokenData\x12=\n" + - "\n" + - "token_data\x18\x01 \x03(\v2\x1e.pkg.ocrtypecodec.v1.TokenDataR\ttokenData\"5\n" + - "\tTokenData\x12\x14\n" + - "\x05ready\x18\x01 \x01(\bR\x05ready\x12\x12\n" + - "\x04data\x18\x02 \x01(\fR\x04data\"\xbc\x01\n" + - "\x0fSeqNumToMessage\x12N\n" + - "\bmessages\x18\x01 \x03(\v22.pkg.ocrtypecodec.v1.SeqNumToMessage.MessagesEntryR\bmessages\x1aY\n" + - "\rMessagesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x122\n" + - "\x05value\x18\x02 \x01(\v2\x1c.pkg.ocrtypecodec.v1.MessageR\x05value:\x028\x01\"\xb1\x01\n" + - "\rSeqNumToBytes\x12^\n" + - "\x10seq_num_to_bytes\x18\x01 \x03(\v25.pkg.ocrtypecodec.v1.SeqNumToBytes.SeqNumToBytesEntryR\rseqNumToBytes\x1a@\n" + - "\x12SeqNumToBytesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\"\xd7\x01\n" + - "\x15TokenDataObservations\x12X\n" + - "\n" + - "token_data\x18\x01 \x03(\v29.pkg.ocrtypecodec.v1.TokenDataObservations.TokenDataEntryR\ttokenData\x1ad\n" + - "\x0eTokenDataEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12<\n" + - "\x05value\x18\x02 \x01(\v2&.pkg.ocrtypecodec.v1.SeqNumToTokenDataR\x05value:\x028\x01\"\xce\x01\n" + - "\x11SeqNumToTokenData\x12T\n" + - "\n" + - "token_data\x18\x01 \x03(\v25.pkg.ocrtypecodec.v1.SeqNumToTokenData.TokenDataEntryR\ttokenData\x1ac\n" + - "\x0eTokenDataEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\x04R\x03key\x12;\n" + - "\x05value\x18\x02 \x01(\v2%.pkg.ocrtypecodec.v1.MessageTokenDataR\x05value:\x028\x01\"\xea\x02\n" + - "\aMessage\x12>\n" + - "\x06header\x18\x01 \x01(\v2&.pkg.ocrtypecodec.v1.RampMessageHeaderR\x06header\x12\x16\n" + - "\x06sender\x18\x02 \x01(\fR\x06sender\x12\x12\n" + - "\x04data\x18\x03 \x01(\fR\x04data\x12\x1a\n" + - "\breceiver\x18\x04 \x01(\fR\breceiver\x12\x1d\n" + - "\n" + - "extra_args\x18\x05 \x01(\fR\textraArgs\x12\x1b\n" + - "\tfee_token\x18\a \x01(\fR\bfeeToken\x12(\n" + - "\x10fee_token_amount\x18\b \x01(\fR\x0efeeTokenAmount\x12&\n" + - "\x0ffee_value_juels\x18\t \x01(\fR\rfeeValueJuels\x12I\n" + - "\rtoken_amounts\x18\n" + - " \x03(\v2$.pkg.ocrtypecodec.v1.RampTokenAmountR\ftokenAmounts\"\xa2\x02\n" + - "\x11RampMessageHeader\x12\x1d\n" + - "\n" + - "message_id\x18\x01 \x01(\fR\tmessageId\x122\n" + - "\x15source_chain_selector\x18\x02 \x01(\x04R\x13sourceChainSelector\x12.\n" + - "\x13dest_chain_selector\x18\x03 \x01(\x04R\x11destChainSelector\x12'\n" + - "\x0fsequence_number\x18\x04 \x01(\x04R\x0esequenceNumber\x12\x14\n" + - "\x05nonce\x18\x05 \x01(\x04R\x05nonce\x12\x19\n" + - "\bmsg_hash\x18\x06 \x01(\fR\amsgHash\x12\x17\n" + - "\aon_ramp\x18\a \x01(\fR\x06onRamp\x12\x17\n" + - "\atx_hash\x18\b \x01(\tR\x06txHash\"\xcc\x01\n" + - "\x0fRampTokenAmount\x12.\n" + - "\x13source_pool_address\x18\x01 \x01(\fR\x11sourcePoolAddress\x12,\n" + - "\x12dest_token_address\x18\x02 \x01(\fR\x10destTokenAddress\x12\x1d\n" + - "\n" + - "extra_data\x18\x03 \x01(\fR\textraData\x12\x16\n" + - "\x06amount\x18\x04 \x01(\fR\x06amount\x12$\n" + - "\x0edest_exec_data\x18\x05 \x01(\fR\fdestExecData\"\x9a\x01\n" + - "\x11StringAddrToNonce\x12J\n" + - "\x06nonces\x18\x01 \x03(\v22.pkg.ocrtypecodec.v1.StringAddrToNonce.NoncesEntryR\x06nonces\x1a9\n" + - "\vNoncesEntry\x12\x10\n" + - "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\x04R\x05value:\x028\x01\"\\\n" + - "\x13ExecutePluginReport\x12E\n" + - "\rchain_reports\x18\x01 \x03(\v2 .pkg.ocrtypecodec.v1.ChainReportR\fchainReports\"\x8f\x02\n" + - "\vChainReport\x122\n" + - "\x15source_chain_selector\x18\x01 \x01(\x04R\x13sourceChainSelector\x128\n" + - "\bmessages\x18\x02 \x03(\v2\x1c.pkg.ocrtypecodec.v1.MessageR\bmessages\x12R\n" + - "\x13offchain_token_data\x18\x03 \x03(\v2\".pkg.ocrtypecodec.v1.RepeatedBytesR\x11offchainTokenData\x12\x16\n" + - "\x06proofs\x18\x04 \x03(\fR\x06proofs\x12&\n" + - "\x0fproof_flag_bits\x18\x05 \x01(\fR\rproofFlagBits\"%\n" + - "\rRepeatedBytes\x12\x14\n" + - "\x05items\x18\x01 \x03(\fR\x05items\"I\n" + - "\vSeqNumRange\x12\x1c\n" + - "\n" + - "min_msg_nr\x18\x01 \x01(\x04R\bminMsgNr\x12\x1c\n" + - "\n" + - "max_msg_nr\x18\x02 \x01(\x04R\bmaxMsgNr\"C\n" + - "\vSeqNumChain\x12\x1b\n" + - "\tchain_sel\x18\x01 \x01(\x04R\bchainSel\x12\x17\n" + - "\aseq_num\x18\x02 \x01(\x04R\x06seqNum\"o\n" + - "\n" + - "ChainRange\x12\x1b\n" + - "\tchain_sel\x18\x01 \x01(\x04R\bchainSel\x12D\n" + - "\rseq_num_range\x18\x02 \x01(\v2 .pkg.ocrtypecodec.v1.SeqNumRangeR\vseqNumRange\"l\n" + - "\x0fSourceChainMeta\x122\n" + - "\x15source_chain_selector\x18\x01 \x01(\x04R\x13sourceChainSelector\x12%\n" + - "\x0eonramp_address\x18\x02 \x01(\fR\ronrampAddress\"\xbf\x01\n" + - "\x0fMerkleRootChain\x12\x1b\n" + - "\tchain_sel\x18\x01 \x01(\x04R\bchainSel\x12&\n" + - "\x0fon_ramp_address\x18\x02 \x01(\fR\ronRampAddress\x12F\n" + - "\x0eseq_nums_range\x18\x03 \x01(\v2 .pkg.ocrtypecodec.v1.SeqNumRangeR\fseqNumsRange\x12\x1f\n" + - "\vmerkle_root\x18\x04 \x01(\fR\n" + - "merkleRoot\"`\n" + - "\x0eTimestampedBig\x128\n" + - "\ttimestamp\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x14\n" + - "\x05value\x18\x02 \x01(\fR\x05valueB\x13Z\x11./;ocrtypecodecpbb\x06proto3" +var file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x70, 0x6b, 0x67, 0x2f, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, + 0x65, 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5f, 0x0a, 0x0b, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x50, 0x0a, 0x11, 0x6d, 0x65, 0x72, + 0x6b, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, + 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x6b, 0x6c, + 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x65, 0x72, 0x6b, + 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x22, 0x9b, 0x04, 0x0a, 0x11, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x52, 0x0a, 0x0f, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, + 0x5f, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, + 0x6f, 0x74, 0x4f, 0x62, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x73, 0x12, 0x4c, 0x0a, 0x0d, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6f, 0x62, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x62, 0x73, 0x12, 0x4e, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x79, 0x5f, 0x6f, 0x62, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x79, 0x4f, 0x62, 0x73, 0x12, 0x4b, 0x0a, 0x07, 0x66, 0x5f, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, + 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x12, 0x38, 0x0a, 0x19, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x63, 0x72, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, + 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x63, 0x72, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x1a, 0x39, + 0x0a, 0x0b, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd6, 0x02, 0x0a, 0x0d, 0x43, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x6d, + 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, + 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x52, 0x11, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x4f, 0x75, 0x74, 0x63, + 0x6f, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x13, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x69, + 0x63, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x11, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x11, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, + 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0f, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x43, 0x0a, + 0x0c, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x69, 0x6e, 0x4f, 0x75, + 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x4f, 0x75, 0x74, 0x63, 0x6f, + 0x6d, 0x65, 0x22, 0xe9, 0x08, 0x0a, 0x0f, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5e, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, + 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x60, 0x0a, 0x10, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, + 0x6d, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x73, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x37, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x73, 0x54, 0x6f, + 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x65, 0x71, 0x4e, 0x75, + 0x6d, 0x73, 0x54, 0x6f, 0x4d, 0x73, 0x67, 0x73, 0x12, 0x52, 0x0a, 0x0a, 0x6d, 0x73, 0x67, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x4d, 0x73, 0x67, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x09, 0x6d, 0x73, 0x67, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x62, 0x0a, 0x17, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x15, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x2b, 0x0a, 0x0f, 0x63, 0x6f, 0x73, 0x74, 0x6c, 0x79, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x63, + 0x6f, 0x73, 0x74, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x48, 0x0a, + 0x06, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x73, + 0x12, 0x49, 0x0a, 0x07, 0x66, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x62, 0x73, 0x65, + 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, 0x69, 0x0a, 0x12, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, + 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4f, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x66, 0x0a, 0x12, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, + 0x73, 0x54, 0x6f, 0x4d, 0x73, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x60, + 0x0a, 0x0e, 0x4d, 0x73, 0x67, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x38, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x61, 0x0a, 0x0b, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, + 0x72, 0x54, 0x6f, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb6, + 0x02, 0x0a, 0x0b, 0x45, 0x78, 0x65, 0x63, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x46, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x15, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, + 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x13, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x5e, 0x0a, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x65, 0x5f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, + 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x91, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x72, 0x6b, + 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x72, + 0x65, 0x74, 0x72, 0x79, 0x5f, 0x72, 0x6d, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x72, 0x65, 0x74, 0x72, 0x79, + 0x52, 0x6d, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x4c, 0x0a, + 0x0e, 0x72, 0x6d, 0x6e, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, + 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x52, 0x0d, 0x72, 0x6d, + 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xa0, 0x01, 0x0a, 0x10, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, + 0x12, 0x43, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, + 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x0b, 0x6c, 0x61, 0x6e, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0x2c, + 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, + 0x12, 0x0c, 0x0a, 0x01, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x72, 0x12, 0x0c, + 0x0a, 0x01, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x73, 0x22, 0xb2, 0x01, 0x0a, + 0x0f, 0x44, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x45, 0x0a, 0x0b, 0x6c, 0x61, 0x6e, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, + 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x6c, 0x61, 0x6e, + 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x65, 0x71, 0x5f, 0x6e, + 0x75, 0x6d, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x52, 0x0b, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x72, 0x6f, 0x6f, + 0x74, 0x22, 0x9b, 0x05, 0x0a, 0x15, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, + 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0c, 0x6d, + 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, + 0x6f, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x0b, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, + 0x6f, 0x6f, 0x74, 0x73, 0x12, 0x6e, 0x0a, 0x12, 0x72, 0x6d, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x40, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, + 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x6d, 0x6e, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x10, 0x72, 0x6d, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x14, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6d, 0x70, 0x5f, + 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, + 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x52, 0x10, 0x6f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x4d, 0x61, 0x78, 0x53, + 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x73, 0x12, 0x54, 0x0a, 0x16, 0x6f, 0x66, 0x66, 0x5f, 0x72, 0x61, + 0x6d, 0x70, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, + 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, + 0x4e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x12, 0x6f, 0x66, 0x66, 0x52, 0x61, 0x6d, + 0x70, 0x4e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x73, 0x12, 0x50, 0x0a, 0x11, + 0x72, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, + 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6d, + 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x72, + 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, + 0x0a, 0x07, 0x66, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x36, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, + 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, + 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x66, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x1a, + 0x43, 0x0a, 0x15, 0x52, 0x6d, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x8e, 0x02, 0x0a, 0x0f, 0x52, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x44, 0x69, 0x67, + 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, + 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x72, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x66, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x66, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, + 0x72, 0x6d, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0x5f, 0x0a, 0x10, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x72, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, + 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x10, 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, + 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x22, 0xfd, 0x04, 0x0a, 0x15, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x11, 0x66, + 0x65, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, + 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x66, 0x65, 0x65, 0x64, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x12, 0x7e, 0x0a, 0x18, 0x66, 0x65, 0x65, 0x5f, + 0x71, 0x75, 0x6f, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, + 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x72, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x15, 0x66, 0x65, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x07, 0x66, 0x5f, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x06, 0x66, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x1a, 0x42, 0x0a, 0x14, 0x46, 0x65, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x6d, 0x0a, 0x1a, 0x46, 0x65, 0x65, 0x51, 0x75, + 0x6f, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, + 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x42, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xba, 0x06, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x62, + 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x62, 0x0a, 0x0e, 0x66, 0x65, 0x65, + 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x3b, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, + 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x65, 0x65, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, + 0x66, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x6f, 0x0a, + 0x13, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x72, + 0x69, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x12, 0x69, + 0x0a, 0x11, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x46, + 0x65, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x07, 0x66, 0x5f, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x06, 0x66, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x6f, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x6f, 0x77, 0x1a, 0x69, 0x0a, 0x12, 0x46, 0x65, 0x65, + 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x43, + 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x67, 0x0a, 0x14, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, + 0x65, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6d, + 0x0a, 0x12, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x66, + 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x64, 0x61, 0x74, 0x61, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x46, 0x65, 0x65, 0x22, 0x91, 0x01, + 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x12, 0x45, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, + 0x65, 0x6e, 0x74, 0x73, 0x55, 0x53, 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x52, 0x08, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x46, 0x65, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x22, 0x7e, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x55, + 0x53, 0x44, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, + 0x75, 0x73, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x55, 0x73, 0x64, 0x12, + 0x30, 0x0a, 0x15, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x61, 0x76, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, + 0x72, 0x69, 0x63, 0x65, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, + 0x64, 0x61, 0x74, 0x61, 0x41, 0x76, 0x46, 0x65, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x55, 0x73, + 0x64, 0x22, 0xf9, 0x01, 0x0a, 0x14, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, + 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x07, 0x66, 0x5f, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x62, 0x73, 0x65, 0x72, + 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x66, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x56, 0x0a, 0x0e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, + 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x46, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xde, 0x01, + 0x0a, 0x1a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x5c, 0x0a, 0x09, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x3e, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, + 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x61, 0x63, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x1a, 0x62, 0x0a, 0x0e, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3a, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x4d, 0x61, 0x70, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb7, + 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, + 0x61, 0x70, 0x12, 0x61, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4d, 0x61, + 0x70, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x65, 0x73, 0x1a, 0x41, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdb, 0x05, 0x0a, 0x11, 0x4d, 0x65, 0x72, + 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x21, + 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x5c, 0x0a, 0x1a, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, + 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x17, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x4c, 0x0a, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, + 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x0d, + 0x72, 0x6f, 0x6f, 0x74, 0x73, 0x54, 0x6f, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x6a, 0x0a, + 0x12, 0x72, 0x6d, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, + 0x65, 0x2e, 0x52, 0x6d, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x72, 0x6d, 0x6e, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x16, 0x6f, 0x66, 0x66, + 0x5f, 0x72, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x71, 0x5f, 0x6e, + 0x75, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x12, 0x6f, 0x66, 0x66, + 0x52, 0x61, 0x6d, 0x70, 0x4e, 0x65, 0x78, 0x74, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x73, 0x12, + 0x4b, 0x0a, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1f, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x68, 0x65, 0x63, 0x6b, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x57, 0x0a, 0x15, + 0x72, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x45, 0x63, 0x64, 0x73, 0x61, + 0x52, 0x13, 0x72, 0x6d, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0e, 0x72, 0x6d, 0x6e, 0x5f, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x66, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x0c, 0x72, 0x6d, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x66, + 0x67, 0x1a, 0x43, 0x0a, 0x15, 0x52, 0x6d, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x69, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xaf, 0x01, 0x0a, 0x11, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x50, 0x72, 0x69, 0x63, 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x5a, 0x0a, 0x0c, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, + 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x50, 0x72, + 0x69, 0x63, 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x3e, 0x0a, 0x10, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x54, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x69, + 0x6e, 0x46, 0x65, 0x65, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x67, + 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, + 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x52, 0x09, 0x67, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x73, 0x22, 0x49, + 0x0a, 0x0d, 0x47, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, + 0x1b, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, + 0x67, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x08, 0x67, 0x61, 0x73, 0x50, 0x72, 0x69, 0x63, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x0b, 0x4d, 0x61, + 0x69, 0x6e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x22, 0x69, 0x6e, 0x66, + 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x6f, 0x63, 0x72, 0x5f, + 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1e, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x50, + 0x72, 0x69, 0x63, 0x65, 0x4f, 0x63, 0x72, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, + 0x6e, 0x67, 0x5f, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, + 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x22, 0x56, 0x0a, 0x12, 0x43, + 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, + 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, + 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x22, 0xa6, 0x04, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6d, 0x70, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, + 0x6f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x4e, 0x75, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x5f, 0x72, + 0x6f, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6d, 0x65, 0x72, 0x6b, 0x6c, + 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x54, 0x0a, 0x15, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, + 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, + 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, + 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x13, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0c, 0x52, 0x06, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x63, 0x6f, + 0x73, 0x74, 0x6c, 0x79, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0a, 0x20, + 0x03, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x63, 0x6f, 0x73, 0x74, 0x6c, 0x79, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x12, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0b, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x51, 0x0a, 0x10, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x3d, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, + 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, + 0x35, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, + 0x72, 0x65, 0x61, 0x64, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x72, 0x65, 0x61, + 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xbc, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x71, 0x4e, 0x75, + 0x6d, 0x54, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4e, 0x0a, 0x08, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x1a, 0x59, 0x0a, 0x0d, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x32, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, + 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb1, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, + 0x54, 0x6f, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x5e, 0x0a, 0x10, 0x73, 0x65, 0x71, 0x5f, 0x6e, + 0x75, 0x6d, 0x5f, 0x74, 0x6f, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x35, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, + 0x54, 0x6f, 0x42, 0x79, 0x74, 0x65, 0x73, 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x65, 0x71, 0x4e, 0x75, + 0x6d, 0x54, 0x6f, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd7, 0x01, 0x0a, 0x15, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x58, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, + 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x64, 0x0a, + 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x3c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xce, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x54, 0x6f, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x1a, + 0x63, 0x0a, 0x0e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, + 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0xea, 0x02, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x3e, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x26, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x6d, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x41, 0x72, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x65, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x65, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, + 0x66, 0x65, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, + 0x0a, 0x0f, 0x66, 0x65, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6a, 0x75, 0x65, 0x6c, + 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x4a, 0x75, 0x65, 0x6c, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x61, 0x6d, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x73, 0x22, 0xa2, 0x02, 0x0a, 0x11, 0x52, 0x61, 0x6d, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, + 0x73, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, + 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x73, 0x67, + 0x48, 0x61, 0x73, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6d, 0x70, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x12, 0x17, 0x0a, + 0x07, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x74, 0x78, 0x48, 0x61, 0x73, 0x68, 0x22, 0xcc, 0x01, 0x0a, 0x0f, 0x52, 0x61, 0x6d, 0x70, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, + 0x6f, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x64, 0x65, + 0x73, 0x74, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x64, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x78, + 0x74, 0x72, 0x61, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x24, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x65, 0x63, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x45, 0x78, 0x65, + 0x63, 0x44, 0x61, 0x74, 0x61, 0x22, 0x9a, 0x01, 0x0a, 0x11, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x6e, + 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 0x4e, 0x6f, + 0x6e, 0x63, 0x65, 0x2e, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4e, 0x6f, 0x6e, 0x63, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x5c, 0x0a, 0x13, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x50, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x45, 0x0a, 0x0d, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x22, 0x8f, 0x02, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x32, 0x0a, 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x13, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x12, 0x38, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x6f, 0x63, 0x72, + 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x52, + 0x0a, 0x13, 0x6f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, + 0x11, 0x6f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0c, 0x52, 0x06, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, + 0x6f, 0x6f, 0x66, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x46, 0x6c, 0x61, 0x67, 0x42, 0x69, + 0x74, 0x73, 0x22, 0x25, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0c, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x49, 0x0a, 0x0b, 0x53, 0x65, 0x71, + 0x4e, 0x75, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x69, 0x6e, 0x5f, + 0x6d, 0x73, 0x67, 0x5f, 0x6e, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x69, + 0x6e, 0x4d, 0x73, 0x67, 0x4e, 0x72, 0x12, 0x1c, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x73, + 0x67, 0x5f, 0x6e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x4d, + 0x73, 0x67, 0x4e, 0x72, 0x22, 0x43, 0x0a, 0x0b, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x43, 0x68, + 0x61, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x6c, + 0x12, 0x17, 0x0a, 0x07, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x06, 0x73, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x22, 0x6f, 0x0a, 0x0a, 0x43, 0x68, 0x61, + 0x69, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x5f, 0x73, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x53, 0x65, 0x6c, 0x12, 0x44, 0x0a, 0x0d, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, + 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0b, 0x73, + 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x6c, 0x0a, 0x0f, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x32, 0x0a, + 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x6e, 0x72, 0x61, 0x6d, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6f, 0x6e, 0x72, 0x61, 0x6d, + 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xbf, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x72, + 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x53, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x6f, 0x6e, 0x5f, + 0x72, 0x61, 0x6d, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x0d, 0x6f, 0x6e, 0x52, 0x61, 0x6d, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x65, 0x71, 0x5f, 0x6e, 0x75, 0x6d, 0x73, 0x5f, 0x72, 0x61, + 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x6b, 0x67, 0x2e, + 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x71, 0x4e, 0x75, 0x6d, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x73, 0x65, 0x71, + 0x4e, 0x75, 0x6d, 0x73, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x65, 0x72, + 0x6b, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, + 0x6d, 0x65, 0x72, 0x6b, 0x6c, 0x65, 0x52, 0x6f, 0x6f, 0x74, 0x22, 0x60, 0x0a, 0x0e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x42, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x13, 0x5a, 0x11, + 0x2e, 0x2f, 0x3b, 0x6f, 0x63, 0x72, 0x74, 0x79, 0x70, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} var ( file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescOnce sync.Once - file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescData []byte + file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescData = file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc ) func file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescGZIP() []byte { file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescOnce.Do(func() { - file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc), len(file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc))) + file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescData = protoimpl.X.CompressGZIP(file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescData) }) return file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDescData } var file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes = make([]protoimpl.MessageInfo, 71) -var file_pkg_ocrtypecodec_v1_ocrtypes_proto_goTypes = []any{ +var file_pkg_ocrtypecodec_v1_ocrtypes_proto_goTypes = []interface{}{ (*CommitQuery)(nil), // 0: pkg.ocrtypecodec.v1.CommitQuery (*CommitObservation)(nil), // 1: pkg.ocrtypecodec.v1.CommitObservation (*CommitOutcome)(nil), // 2: pkg.ocrtypecodec.v1.CommitOutcome @@ -3293,11 +3866,565 @@ func file_pkg_ocrtypecodec_v1_ocrtypes_proto_init() { if File_pkg_ocrtypecodec_v1_ocrtypes_proto != nil { return } + if !protoimpl.UnsafeEnabled { + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitQuery); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitObservation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitOutcome); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecObservation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecOutcome); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MerkleRootQuery); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ReportSignatures); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SignatureEcdsa); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DestChainUpdate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MerkleRootObservation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RmnRemoteConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoteSignerInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenPriceObservation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChainFeeObservation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChainFeeComponents); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChainFeeUpdate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComponentsUSDPrices); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveryObservation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContractNameChainAddresses); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChainAddressMap); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MerkleRootOutcome); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenPriceOutcome); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChainFeeOutcome); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GasPriceChain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MainOutcome); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitObservations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommitData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MessageTokenData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SeqNumToMessage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SeqNumToBytes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenDataObservations); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SeqNumToTokenData); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Message); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RampMessageHeader); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RampTokenAmount); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StringAddrToNonce); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExecutePluginReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChainReport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RepeatedBytes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SeqNumRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SeqNumChain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChainRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceChainMeta); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MerkleRootChain); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TimestampedBig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: unsafe.Slice(unsafe.StringData(file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc), len(file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc)), + RawDescriptor: file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc, NumEnums: 0, NumMessages: 71, NumExtensions: 0, @@ -3308,6 +4435,7 @@ func file_pkg_ocrtypecodec_v1_ocrtypes_proto_init() { MessageInfos: file_pkg_ocrtypecodec_v1_ocrtypes_proto_msgTypes, }.Build() File_pkg_ocrtypecodec_v1_ocrtypes_proto = out.File + file_pkg_ocrtypecodec_v1_ocrtypes_proto_rawDesc = nil file_pkg_ocrtypecodec_v1_ocrtypes_proto_goTypes = nil file_pkg_ocrtypecodec_v1_ocrtypes_proto_depIdxs = nil } From 14e85b75ebd946fec34c6fff5880bab4116fb47f Mon Sep 17 00:00:00 2001 From: Oliver Townsend Date: Mon, 29 Sep 2025 16:28:00 -0700 Subject: [PATCH 3/3] add usdc solana reader for accessor --- execute/factory.go | 1 + execute/test_utils.go | 2 + execute/tokendata/observer/observer.go | 6 +- execute/tokendata/observer/observer_test.go | 1 + execute/tokendata/usdc/usdc.go | 2 + execute/tokendata/usdc/usdc_int_test.go | 2 + pkg/reader/tokens.go | 16 +---- pkg/reader/usdc_reader.go | 16 ++--- pkg/reader/usdc_reader_solana.go | 28 ++++++++ pkg/reader/usdc_reader_solana_accessor.go | 72 +++++++++++++++++++++ pkg/reader/usdc_reader_test.go | 7 +- 11 files changed, 125 insertions(+), 28 deletions(-) create mode 100644 pkg/reader/usdc_reader_solana_accessor.go diff --git a/execute/factory.go b/execute/factory.go index 3c89e19135..5f6703e48f 100644 --- a/execute/factory.go +++ b/execute/factory.go @@ -159,6 +159,7 @@ func (p PluginFactory) NewReportingPlugin( p.ocrConfig.Config.ChainSelector, offchainConfig.TokenDataObservers, p.tokenDataEncoder, + p.chainAccessors, p.extendedReaders, p.addrCodec, ) diff --git a/execute/test_utils.go b/execute/test_utils.go index 36a605164d..1675c5eac6 100644 --- a/execute/test_utils.go +++ b/execute/test_utils.go @@ -266,6 +266,7 @@ func (it *IntTest) Start() *testhelpers.OCR3Runner[[]byte] { }) } + emptyChainAccessors := make(map[cciptypes.ChainSelector]cciptypes.ChainAccessor) homeChain := setupHomeChainPoller(it.t, it.lggr, chainConfigInfos) ctx := it.t.Context() err := homeChain.Start(ctx) @@ -277,6 +278,7 @@ func (it *IntTest) Start() *testhelpers.OCR3Runner[[]byte] { it.dstSelector, it.tokenObserverConfig, testhelpers.TokenDataEncoderInstance, + emptyChainAccessors, it.tokenChainReader, mockAddrCodec, ) diff --git a/execute/tokendata/observer/observer.go b/execute/tokendata/observer/observer.go index 7ebefde0de..cec883949f 100644 --- a/execute/tokendata/observer/observer.go +++ b/execute/tokendata/observer/observer.go @@ -58,6 +58,7 @@ func NewConfigBasedCompositeObservers( destChainSelector cciptypes.ChainSelector, config []pluginconfig.TokenDataObserverConfig, encoder cciptypes.TokenDataEncoder, + chainAccessors map[cciptypes.ChainSelector]cciptypes.ChainAccessor, readers map[cciptypes.ChainSelector]contractreader.Extended, addrCodec cciptypes.AddressCodec, ) (TokenDataObserver, error) { @@ -67,9 +68,10 @@ func NewConfigBasedCompositeObservers( // e.g. observers[i] := config.CreateTokenDataObserver() switch { case c.USDCCCTPObserverConfig != nil: - observer, err := usdc.NewUSDCTokenDataObserver(ctx, lggr, destChainSelector, + observer, err := usdc.NewUSDCTokenDataObserver( + ctx, lggr, destChainSelector, *c.USDCCCTPObserverConfig, - encoder.EncodeUSDC, readers, addrCodec) + encoder.EncodeUSDC, chainAccessors, readers, addrCodec) if err != nil { return nil, fmt.Errorf("create USDC/CCTP token observer: %w", err) } diff --git a/execute/tokendata/observer/observer_test.go b/execute/tokendata/observer/observer_test.go index 372382fbf7..f8851c5a9d 100644 --- a/execute/tokendata/observer/observer_test.go +++ b/execute/tokendata/observer/observer_test.go @@ -27,6 +27,7 @@ func Test_CompositeTokenDataObserver_EmptyObservers(t *testing.T) { []pluginconfig.TokenDataObserverConfig{}, nil, nil, + nil, mockAddrCodec, ) require.NoError(t, err) diff --git a/execute/tokendata/usdc/usdc.go b/execute/tokendata/usdc/usdc.go index 3a83958c58..ffe5cef1fe 100644 --- a/execute/tokendata/usdc/usdc.go +++ b/execute/tokendata/usdc/usdc.go @@ -35,6 +35,7 @@ func NewUSDCTokenDataObserver( destChainSelector cciptypes.ChainSelector, usdcConfig pluginconfig.USDCCCTPObserverConfig, attestationEncoder AttestationEncoder, + chainAccessors map[cciptypes.ChainSelector]cciptypes.ChainAccessor, readers map[cciptypes.ChainSelector]contractreader.Extended, addrCodec cciptypes.AddressCodec, ) (*USDCTokenDataObserver, error) { @@ -43,6 +44,7 @@ func NewUSDCTokenDataObserver( ctx, lggr, usdcConfig.Tokens, + chainAccessors, readers, addrCodec, ) diff --git a/execute/tokendata/usdc/usdc_int_test.go b/execute/tokendata/usdc/usdc_int_test.go index fe1541294f..21edc4affe 100644 --- a/execute/tokendata/usdc/usdc_int_test.go +++ b/execute/tokendata/usdc/usdc_int_test.go @@ -247,6 +247,7 @@ func Test_USDC_CCTP_Flow(t *testing.T) { }, } + emptyChainAccessors := make(map[cciptypes.ChainSelector]cciptypes.ChainAccessor) mockAddrCodec := internal.NewMockAddressCodecHex(t) tkReader, err := usdc.NewUSDCTokenDataObserver( t.Context(), @@ -254,6 +255,7 @@ func Test_USDC_CCTP_Flow(t *testing.T) { baseChain, config, testhelpers.USDCEncoder, + emptyChainAccessors, map[cciptypes.ChainSelector]contractreader.Extended{ fujiChain: mockReader(t, fuji), sepoliaChain: mockReader(t, sepolia), diff --git a/pkg/reader/tokens.go b/pkg/reader/tokens.go index 2aa6a6681d..cd0981a539 100644 --- a/pkg/reader/tokens.go +++ b/pkg/reader/tokens.go @@ -1,25 +1,13 @@ package reader import ( - "fmt" - "github.com/smartcontractkit/chainlink-common/pkg/types/ccipocr3" ) // TODO: This is a temporary solution to avoid circular dependencies. There should be a better way to do this. -// MessageTokenID is a unique identifier for a message token data (per chain selector). It's a composite key of -// the message sequence number and the token index within the message. It's used to easier identify token data for -// messages without having to deal with nested maps. -type MessageTokenID struct { - SeqNr ccipocr3.SeqNum - Index int -} +type MessageTokenID = ccipocr3.MessageTokenID func NewMessageTokenID(seqNr ccipocr3.SeqNum, index int) MessageTokenID { - return MessageTokenID{SeqNr: seqNr, Index: index} -} - -func (mti MessageTokenID) String() string { - return fmt.Sprintf("%d_%d", mti.SeqNr, mti.Index) + return ccipocr3.NewMessageTokenID(seqNr, index) } diff --git a/pkg/reader/usdc_reader.go b/pkg/reader/usdc_reader.go index 79b910c2f3..bb9aff47a3 100644 --- a/pkg/reader/usdc_reader.go +++ b/pkg/reader/usdc_reader.go @@ -6,6 +6,7 @@ import ( "fmt" sel "github.com/smartcontractkit/chain-selectors" + "github.com/smartcontractkit/chainlink-common/pkg/logger" "github.com/smartcontractkit/chainlink-common/pkg/types" @@ -75,6 +76,7 @@ func NewUSDCMessageReader( ctx context.Context, lggr logger.Logger, tokensConfig map[cciptypes.ChainSelector]pluginconfig.USDCCCTPTokenConfig, + chainAccessors map[cciptypes.ChainSelector]cciptypes.ChainAccessor, contractReaders map[cciptypes.ChainSelector]contractreader.Extended, addrCodec cciptypes.AddressCodec, ) (USDCMessageReader, error) { @@ -122,24 +124,20 @@ func NewUSDCMessageReader( return nil, err } - // Bind the 3rd party MessageTransmitter contract, this is where CCTP MessageSent events are emitted. - _, err = bindReaderContract( + // TODO: feature flag usdcReader via CR or ChainAccessor using NewSolanaUSDCReaderAccessor() + sr, err := NewSolanaUSDCReader( ctx, lggr, contractReaders, + addrCodec, chainSelector, - consts.ContractNameUSDCTokenPool, bytesAddress, - addrCodec, ) if err != nil { return nil, err } - readers[chainSelector] = solanaUSDCMessageReader{ - lggr: lggr, - contractReader: contractReaders[chainSelector], - } + readers[chainSelector] = sr default: return nil, fmt.Errorf("unsupported chain selector family %s for chain %d", family, chainSelector) } @@ -151,8 +149,6 @@ func NewUSDCMessageReader( }, nil } -// Deprecated -// TODO(NONEVM-1865): Remove once the chainAccessor is passed down here from the factory. Then use accessor.Sync(). func bindReaderContract[T contractreader.ContractReaderFacade]( ctx context.Context, lggr logger.Logger, diff --git a/pkg/reader/usdc_reader_solana.go b/pkg/reader/usdc_reader_solana.go index b4668f8df0..ac2019f40d 100644 --- a/pkg/reader/usdc_reader_solana.go +++ b/pkg/reader/usdc_reader_solana.go @@ -19,6 +19,34 @@ type solanaUSDCMessageReader struct { contractReader contractreader.Extended } +func NewSolanaUSDCReader( + ctx context.Context, + lggr logger.Logger, + contractReaders map[cciptypes.ChainSelector]contractreader.Extended, + addrCodec cciptypes.AddressCodec, + chainSelector cciptypes.ChainSelector, + bytesAddress cciptypes.UnknownAddress, +) (USDCMessageReader, error) { + // Bind the 3rd party MessageTransmitter contract, this is where CCTP MessageSent events are emitted. + _, err := bindReaderContract( + ctx, + lggr, + contractReaders, + chainSelector, + consts.ContractNameUSDCTokenPool, + bytesAddress, + addrCodec, + ) + if err != nil { + return nil, err + } + + return solanaUSDCMessageReader{ + lggr: lggr, + contractReader: contractReaders[chainSelector], + }, nil +} + // getMessageTokenData extracts token data from the CCTP MessageSent event. func (u solanaUSDCMessageReader) getMessageTokenData( tokens map[MessageTokenID]cciptypes.RampTokenAmount, diff --git a/pkg/reader/usdc_reader_solana_accessor.go b/pkg/reader/usdc_reader_solana_accessor.go new file mode 100644 index 0000000000..ca3044945d --- /dev/null +++ b/pkg/reader/usdc_reader_solana_accessor.go @@ -0,0 +1,72 @@ +package reader + +import ( + "context" + "fmt" + + "github.com/smartcontractkit/chainlink-common/pkg/logger" + cciptypes "github.com/smartcontractkit/chainlink-common/pkg/types/ccipocr3" + + "github.com/smartcontractkit/chainlink-ccip/pkg/consts" +) + +// solanaUSDCMessageReaderAccessor is a USDCReader for Solana that delegates calls to the Solana ChainAccessor +// to fetch onchain information. +type solanaUSDCMessageReaderAccessor struct { + lggr logger.Logger + chainAccessor cciptypes.ChainAccessor +} + +func NewSolanaUSDCReaderAccessor( + ctx context.Context, + lggr logger.Logger, + chainAccessors map[cciptypes.ChainSelector]cciptypes.ChainAccessor, + addrCodec cciptypes.AddressCodec, + chainSelector cciptypes.ChainSelector, + bytesAddress cciptypes.UnknownAddress, +) (USDCMessageReader, error) { + accessor, err := getChainAccessor(chainAccessors, chainSelector) + if err != nil { + return nil, fmt.Errorf("get chain accessor for Solana USDCReader: %w", err) + } + + addressStr, err := addrCodec.AddressBytesToString(bytesAddress, chainSelector) + if err != nil { + return nil, fmt.Errorf("unable to convert address bytes to string: %w, address: %v", err, bytesAddress) + } + + lggr.Debugw("Syncing contract to accessor", + "chainSelector", chainSelector, + "contractName", consts.ContractNameUSDCTokenPool, + "address", addressStr, + ) + + err = accessor.Sync(ctx, consts.ContractNameUSDCTokenPool, bytesAddress) + if err != nil { + return nil, fmt.Errorf("sync contract to Solana USDC accessor: %w", err) + } + + return solanaUSDCMessageReaderAccessor{ + lggr: lggr, + chainAccessor: accessor, + }, nil +} + +// MessagesByTokenID retrieves the CCTP MessageSent events. +func (u solanaUSDCMessageReaderAccessor) MessagesByTokenID( + ctx context.Context, + source, dest cciptypes.ChainSelector, + tokens map[cciptypes.MessageTokenID]cciptypes.RampTokenAmount, +) (map[cciptypes.MessageTokenID]cciptypes.Bytes, error) { + if len(tokens) == 0 { + return map[cciptypes.MessageTokenID]cciptypes.Bytes{}, nil + } + + u.lggr.Debugw("Searching for Solana CCTP USDC logs", "numExpected", len(tokens)) + messagesByID, err := u.chainAccessor.MessagesByTokenID(ctx, source, dest, tokens) + if err != nil { + return nil, fmt.Errorf("error fetching messages by token ID from chain accessor for chain %d: %w", source, err) + } + + return messagesByID, nil +} diff --git a/pkg/reader/usdc_reader_test.go b/pkg/reader/usdc_reader_test.go index cf18c6db11..8464f4d334 100644 --- a/pkg/reader/usdc_reader_test.go +++ b/pkg/reader/usdc_reader_test.go @@ -113,7 +113,8 @@ func Test_USDCMessageReader_New(t *testing.T) { readers[k] = v } - r, err := NewUSDCMessageReader(ctx, logger.Test(t), tc.tokensConfig, readers, mockAddrCodec) + emptyChainAccessors := make(map[cciptypes.ChainSelector]cciptypes.ChainAccessor) + r, err := NewUSDCMessageReader(ctx, logger.Test(t), tc.tokensConfig, emptyChainAccessors, readers, mockAddrCodec) if tc.errorMessage != "" { require.Error(t, err) require.Contains(t, err.Error(), tc.errorMessage) @@ -195,7 +196,9 @@ func Test_USDCMessageReader_MessagesByTokenID(t *testing.T) { } mockAddrCodec := internal.NewMockAddressCodecHex(t) - usdcReader, err := NewUSDCMessageReader(ctx, logger.Test(t), tokensConfigs, contactReaders, mockAddrCodec) + emptyChainAccessors := make(map[cciptypes.ChainSelector]cciptypes.ChainAccessor) + usdcReader, err := NewUSDCMessageReader(ctx, logger.Test(t), tokensConfigs, + emptyChainAccessors, contactReaders, mockAddrCodec) require.NoError(t, err) tt := []struct {