diff --git a/api/l3staking/api_v1.py b/api/l3staking/api_v1.py index 551e37c..a6be0b9 100644 --- a/api/l3staking/api_v1.py +++ b/api/l3staking/api_v1.py @@ -112,3 +112,22 @@ def get_l2_unstake_record(request): jb = MessageToDict(l2_unstake_record) # jb = json.loads(serialized) return ok_json(jb) + +def get_l2_withdraw_record(request): + params = json.loads(request.body.decode()) + staker_address = params.get('staker_address', "0x") + strategy = params.get('strategy', "0x") + page = params.get('page', 1) + page_size = params.get('page_size', 10) + appChainClient = AppChainClient() + l2_withdraw_record = appChainClient.l2_withdraw_record( + staker_address=staker_address, + strategy=strategy, + page=page, + page_size=page_size + ) + logger.debug(l2_withdraw_record) + jb = MessageToDict(l2_withdraw_record) + # jb = json.loads(serialized) + return ok_json(jb) + diff --git a/api/urls.py b/api/urls.py index af95ef1..d75623d 100644 --- a/api/urls.py +++ b/api/urls.py @@ -73,7 +73,8 @@ get_staking_node_list, get_node_detail, get_l2_stake_record, - get_l2_unstake_record + get_l2_unstake_record, + get_l2_withdraw_record ) @@ -145,4 +146,5 @@ path(r'get_node_detail', get_node_detail, name='get_node_detail'), path(r'get_l2_stake_record', get_l2_stake_record, name='get_l2_stake_record'), path(r'get_l2_unstake_record', get_l2_unstake_record, name='get_l2_unstake_record'), + path(r'get_l2_withdraw_record', get_l2_withdraw_record, name='get_l2_withdraw_record'), ] \ No newline at end of file diff --git a/services/appchain_client.py b/services/appchain_client.py index 940d03d..beb6bb8 100644 --- a/services/appchain_client.py +++ b/services/appchain_client.py @@ -24,7 +24,8 @@ def __init__(self): channel = grpc.insecure_channel(url, options=options) self.stub = appchain_pb2_grpc.AppChainServiceStub(channel) - def l1_staker_reward_amount(self, chain_id: str, staker_address: str, strategies: str, consumer_token: str = None) -> appchain_pb2.L1StakerRewardsAmountResponse: + def l1_staker_reward_amount(self, chain_id: str, staker_address: str, strategies: str, + consumer_token: str = None) -> appchain_pb2.L1StakerRewardsAmountResponse: return self.stub.L1StakerRewardsAmount( appchain_pb2.L1StakerRewardsAmountRequest( chain_id=chain_id, @@ -33,7 +34,8 @@ def l1_staker_reward_amount(self, chain_id: str, staker_address: str, strategies ) ) - def l2_staker_reward_amount(self, chain_id: str, staker_address: str, strategy: str, consumer_token: str = None) -> appchain_pb2.L2StakerRewardsAmountResponse: + def l2_staker_reward_amount(self, chain_id: str, staker_address: str, strategy: str, + consumer_token: str = None) -> appchain_pb2.L2StakerRewardsAmountResponse: return self.stub.L2StakerRewardsAmount( appchain_pb2.L2StakerRewardsAmountRequest( chain_id=chain_id, @@ -41,7 +43,9 @@ def l2_staker_reward_amount(self, chain_id: str, staker_address: str, strategy: strategy=strategy ) ) - def l2_stake_record(self, staker_address: str, strategy: str,page: int,page_size: int, consumer_token: str = None) -> appchain_pb2.L2StakerRewardsAmountResponse: + + def l2_stake_record(self, staker_address: str, strategy: str, page: int, page_size: int, + consumer_token: str = None) -> appchain_pb2.L2StakerRewardsAmountResponse: return self.stub.L2StakeRecord( appchain_pb2.L2StakeRecordRequest( staker_address=staker_address, @@ -50,7 +54,9 @@ def l2_stake_record(self, staker_address: str, strategy: str,page: int,page_size page_size=page_size ) ) - def l2_unstake_record(self, staker_address: str, strategy: str,page: int,page_size: int, consumer_token: str = None) -> appchain_pb2.L2StakerRewardsAmountResponse: + + def l2_unstake_record(self, staker_address: str, strategy: str, page: int, page_size: int, + consumer_token: str = None) -> appchain_pb2.L2StakerRewardsAmountResponse: return self.stub.L2UnStakeRecord( appchain_pb2.L2UnStakeRecordRequest( staker_address=staker_address, @@ -58,4 +64,15 @@ def l2_unstake_record(self, staker_address: str, strategy: str,page: int,page_si page=page, page_size=page_size ) - ) \ No newline at end of file + ) + + def l2_withdraw_record(self, staker_address: str, strategy: str, page: int, page_size: int, + consumer_token: str = None) -> appchain_pb2.L2StakerRewardsAmountResponse: + return self.stub.L2WithdrawRecord( + appchain_pb2.L2WithdrawRecord( + address=staker_address, + strategy=strategy, + page=page, + page_size=page_size + ) + )