@@ -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
@@ -555,3 +600,62 @@ func (s *chainAccessorServer) GetFeeQuoterDestChainConfig(ctx context.Context, r
555600 Config : feeQuoterDestChainConfigToPb (config ),
556601 }, nil
557602}
603+
604+ // USDCMessageReader server methods
605+ func (s * chainAccessorServer ) MessagesByTokenID (ctx context.Context , req * ccipocr3pb.MessagesByTokenIDRequest ) (* ccipocr3pb.MessagesByTokenIDResponse , error ) {
606+ tokens , err := pbToMessageTokenIDMap (req .Tokens )
607+ if err != nil {
608+ return nil , err
609+ }
610+
611+ messages , err := s .impl .MessagesByTokenID (
612+ ctx ,
613+ ccipocr3 .ChainSelector (req .SourceChainSelector ),
614+ ccipocr3 .ChainSelector (req .DestChainSelector ),
615+ tokens ,
616+ )
617+ if err != nil {
618+ return nil , err
619+ }
620+
621+ return & ccipocr3pb.MessagesByTokenIDResponse {
622+ Messages : messagesByTokenIDToPb (messages ),
623+ }, nil
624+ }
625+
626+ // PriceReader server methods
627+ func (s * chainAccessorServer ) GetFeedPricesUSD (ctx context.Context , req * ccipocr3pb.GetFeedPricesUSDRequest ) (* ccipocr3pb.GetFeedPricesUSDResponse , error ) {
628+ var tokens []ccipocr3.UnknownEncodedAddress
629+ for _ , tokenStr := range req .Tokens {
630+ tokens = append (tokens , ccipocr3 .UnknownEncodedAddress (tokenStr ))
631+ }
632+
633+ prices , err := s .impl .GetFeedPricesUSD (ctx , tokens )
634+ if err != nil {
635+ return nil , err
636+ }
637+
638+ return & ccipocr3pb.GetFeedPricesUSDResponse {
639+ Prices : tokenPriceMapToPb (prices ),
640+ }, nil
641+ }
642+
643+ func (s * chainAccessorServer ) GetFeeQuoterTokenUpdates (ctx context.Context , req * ccipocr3pb.GetFeeQuoterTokenUpdatesRequest ) (* ccipocr3pb.GetFeeQuoterTokenUpdatesResponse , error ) {
644+ var tokens []ccipocr3.UnknownEncodedAddress
645+ for _ , tokenStr := range req .Tokens {
646+ tokens = append (tokens , ccipocr3 .UnknownEncodedAddress (tokenStr ))
647+ }
648+
649+ updates , err := s .impl .GetFeeQuoterTokenUpdates (
650+ ctx ,
651+ tokens ,
652+ ccipocr3 .ChainSelector (req .ChainSelector ),
653+ )
654+ if err != nil {
655+ return nil , err
656+ }
657+
658+ return & ccipocr3pb.GetFeeQuoterTokenUpdatesResponse {
659+ TokenUpdates : tokenUpdatesToPb (updates ),
660+ }, nil
661+ }
0 commit comments