@@ -290,6 +290,51 @@ func (c *chainAccessorClient) GetFeeQuoterDestChainConfig(ctx context.Context, d
290290 return pbToFeeQuoterDestChainConfigDetailed (resp .Config ), nil
291291}
292292
293+ // USDCMessageReader methods
294+ func (c * chainAccessorClient ) MessagesByTokenID (ctx context.Context , source , dest ccipocr3.ChainSelector , tokens map [ccipocr3.MessageTokenID ]ccipocr3.RampTokenAmount ) (map [ccipocr3.MessageTokenID ]ccipocr3.Bytes , error ) {
295+ resp , err := c .grpc .MessagesByTokenID (ctx , & ccipocr3pb.MessagesByTokenIDRequest {
296+ SourceChainSelector : uint64 (source ),
297+ DestChainSelector : uint64 (dest ),
298+ Tokens : messageTokenIDMapToPb (tokens ),
299+ })
300+ if err != nil {
301+ return nil , err
302+ }
303+ return pbToMessagesByTokenID (resp .Messages )
304+ }
305+
306+ // PriceReader methods
307+ func (c * chainAccessorClient ) GetFeedPricesUSD (ctx context.Context , tokens []ccipocr3.UnknownEncodedAddress ) (ccipocr3.TokenPriceMap , error ) {
308+ var tokenStrs []string
309+ for _ , token := range tokens {
310+ tokenStrs = append (tokenStrs , string (token ))
311+ }
312+
313+ resp , err := c .grpc .GetFeedPricesUSD (ctx , & ccipocr3pb.GetFeedPricesUSDRequest {
314+ Tokens : tokenStrs ,
315+ })
316+ if err != nil {
317+ return nil , err
318+ }
319+ return pbToTokenPriceMap (resp .Prices ), nil
320+ }
321+
322+ func (c * chainAccessorClient ) GetFeeQuoterTokenUpdates (ctx context.Context , tokens []ccipocr3.UnknownEncodedAddress , chain ccipocr3.ChainSelector ) (map [ccipocr3.UnknownEncodedAddress ]ccipocr3.TimestampedBig , error ) {
323+ var tokenStrs []string
324+ for _ , token := range tokens {
325+ tokenStrs = append (tokenStrs , string (token ))
326+ }
327+
328+ resp , err := c .grpc .GetFeeQuoterTokenUpdates (ctx , & ccipocr3pb.GetFeeQuoterTokenUpdatesRequest {
329+ Tokens : tokenStrs ,
330+ ChainSelector : uint64 (chain ),
331+ })
332+ if err != nil {
333+ return nil , err
334+ }
335+ return pbToTokenUpdates (resp .TokenUpdates ), nil
336+ }
337+
293338// Server implementation
294339var _ ccipocr3pb.ChainAccessorServer = (* chainAccessorServer )(nil )
295340
@@ -498,3 +543,62 @@ func (s *chainAccessorServer) GetFeeQuoterDestChainConfig(ctx context.Context, r
498543 Config : feeQuoterDestChainConfigToPb (config ),
499544 }, nil
500545}
546+
547+ // USDCMessageReader server methods
548+ func (s * chainAccessorServer ) MessagesByTokenID (ctx context.Context , req * ccipocr3pb.MessagesByTokenIDRequest ) (* ccipocr3pb.MessagesByTokenIDResponse , error ) {
549+ tokens , err := pbToMessageTokenIDMap (req .Tokens )
550+ if err != nil {
551+ return nil , err
552+ }
553+
554+ messages , err := s .impl .MessagesByTokenID (
555+ ctx ,
556+ ccipocr3 .ChainSelector (req .SourceChainSelector ),
557+ ccipocr3 .ChainSelector (req .DestChainSelector ),
558+ tokens ,
559+ )
560+ if err != nil {
561+ return nil , err
562+ }
563+
564+ return & ccipocr3pb.MessagesByTokenIDResponse {
565+ Messages : messagesByTokenIDToPb (messages ),
566+ }, nil
567+ }
568+
569+ // PriceReader server methods
570+ func (s * chainAccessorServer ) GetFeedPricesUSD (ctx context.Context , req * ccipocr3pb.GetFeedPricesUSDRequest ) (* ccipocr3pb.GetFeedPricesUSDResponse , error ) {
571+ var tokens []ccipocr3.UnknownEncodedAddress
572+ for _ , tokenStr := range req .Tokens {
573+ tokens = append (tokens , ccipocr3 .UnknownEncodedAddress (tokenStr ))
574+ }
575+
576+ prices , err := s .impl .GetFeedPricesUSD (ctx , tokens )
577+ if err != nil {
578+ return nil , err
579+ }
580+
581+ return & ccipocr3pb.GetFeedPricesUSDResponse {
582+ Prices : tokenPriceMapToPb (prices ),
583+ }, nil
584+ }
585+
586+ func (s * chainAccessorServer ) GetFeeQuoterTokenUpdates (ctx context.Context , req * ccipocr3pb.GetFeeQuoterTokenUpdatesRequest ) (* ccipocr3pb.GetFeeQuoterTokenUpdatesResponse , error ) {
587+ var tokens []ccipocr3.UnknownEncodedAddress
588+ for _ , tokenStr := range req .Tokens {
589+ tokens = append (tokens , ccipocr3 .UnknownEncodedAddress (tokenStr ))
590+ }
591+
592+ updates , err := s .impl .GetFeeQuoterTokenUpdates (
593+ ctx ,
594+ tokens ,
595+ ccipocr3 .ChainSelector (req .ChainSelector ),
596+ )
597+ if err != nil {
598+ return nil , err
599+ }
600+
601+ return & ccipocr3pb.GetFeeQuoterTokenUpdatesResponse {
602+ TokenUpdates : tokenUpdatesToPb (updates ),
603+ }, nil
604+ }
0 commit comments