Skip to content

Commit

Permalink
Splitting the signature, fixing the schema
Browse files Browse the repository at this point in the history
  • Loading branch information
hweawer committed Aug 28, 2024
1 parent 3615e8f commit 5e1276a
Showing 1 changed file with 31 additions and 6 deletions.
37 changes: 31 additions & 6 deletions src/transport/msg_providers/data_bus.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
from typing import List, Optional

import variables
from eth_account.account import VRS
from eth_typing import HexStr
from schema import Schema
from transport.msg_providers.common import BaseMessageProvider
from transport.msg_types.deposit import DepositMessage
Expand All @@ -30,6 +32,13 @@
}


def signature_to_r_vs(signature: bytes) -> tuple[VRS, VRS]:
# 0 byte - 0x
r = signature[1:33]
_vs = signature[33:]
return HexStr('0x' + r.hex()), HexStr('0x' + _vs.hex())


class LogParser(abc.ABC):
def __init__(self, w3: Web3, schema: str):
self._w3 = w3
Expand Down Expand Up @@ -67,15 +76,19 @@ def __init__(self, w3: Web3):

def _create_message(self, parsed_data: tuple, guardian: str) -> dict:
deposit_root, nonce, block_number, block_hash, signature, staking_module_id, app = parsed_data
r, _vs = signature_to_r_vs(signature)
return DepositMessage(
type='deposit',
depositRoot=deposit_root,
depositRoot='0x' + deposit_root.hex(),
nonce=nonce,
blockNumber=block_number,
blockHash=block_hash,
blockHash='0x' + block_hash.hex(),
guardianAddress=guardian,
stakingModuleId=staking_module_id,
signature={'_vs': signature},
signature={
'r': r,
'_vs': _vs,
},
app={'version': app[0]},
)

Expand All @@ -90,13 +103,17 @@ def __init__(self, w3: Web3):

def _create_message(self, parsed_data: tuple, guardian: str) -> dict:
nonce, block_number, block_hash, staking_module_id, signature, operator_ids, vetted_keys_by_operator, app = parsed_data
r, _vs = signature_to_r_vs(signature)
return UnvetMessage(
type='unvet',
nonce=nonce,
blockHash=block_hash,
guardianAddress=guardian,
stakingModuleId=staking_module_id,
signature={'_vs': signature},
signature={
'r': '0x' + r.hex(),
'_vs': '0x' + _vs.hex(),
},
operatorIds=operator_ids,
vettedKeysByOperator=vetted_keys_by_operator,
)
Expand Down Expand Up @@ -128,12 +145,16 @@ def __init__(self, w3: Web3):

def _create_message(self, parsed_data: tuple, guardian: str) -> dict:
deposit_root, nonce, block_number, block_hash, signature, staking_module_id, app = parsed_data
r, _vs = signature_to_r_vs(signature)
return PauseMessage(
type='pause',
blockNumber=block_number,
guardianAddress=guardian,
stakingModuleId=staking_module_id,
signature={'_vs': signature},
signature={
'r': r,
'_vs': _vs,
},
)


Expand All @@ -146,11 +167,15 @@ def __init__(self, w3: Web3):

def _create_message(self, parsed_data: tuple, guardian: str) -> dict:
block_number, signature, app = parsed_data
r, _vs = signature_to_r_vs(signature)
return PauseMessage(
type='pause',
blockNumber=block_number,
guardianAddress=guardian,
signature={'_vs': signature},
signature={
'r': r,
'_vs': _vs,
},
)


Expand Down

0 comments on commit 5e1276a

Please sign in to comment.