@@ -93,7 +93,7 @@ def distribute_credits_for_source(
9393 chunk_size = config .agent .events_chunk_size ,
9494 )
9595 for event in all_events :
96- fulfill_payment (source , event , schain_cs )
96+ fulfill_payment (source , event , schain_cs , config . destination . credit_decimals )
9797
9898 if all_events :
9999 state .from_blocks [source .name ] = all_events [- 1 ]['block_number' ] + 1
@@ -106,13 +106,15 @@ def fulfill_payment(
106106 source : Source ,
107107 event : PaymentReceivedEvent ,
108108 schain_cs : SchainCreditStation ,
109+ credit_decimals : int ,
109110) -> None :
110111 payment_id = event ['payment_id' ]
111112 logger .info (f'[{ source .name } ] Checking payment: { payment_id } ' )
112113 is_fulfilled = schain_cs .ledger .is_fulfilled (payment_id )
113114 if not is_fulfilled :
114- logger .info (f'[{ source .name } ] Fulfilling payment: { payment_id } ' )
115- schain_cs .ledger .fulfill (payment_id , event ['to_address' ], value = event ['value' ])
115+ amount = event ['value' ] * (10 ** credit_decimals )
116+ logger .info (f'[{ source .name } ] Fulfilling payment: { payment_id } with amount { amount } wei' )
117+ schain_cs .ledger .fulfill (payment_id , event ['to_address' ], value = amount )
116118 logger .info (f'[{ source .name } ] Payment { payment_id } fulfilled successfully.' )
117119 else :
118120 logger .debug (f'[{ source .name } ] Payment { payment_id } is already fulfilled.' )
0 commit comments