Last active
November 7, 2018 11:54
-
-
Save hackaugusto/d691af507f3153d06f77a33ec26ee9d5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
from eth_utils import to_canonical_address | |
from raiden.storage import serialize, sqlite | |
from raiden.storage.wal import WriteAheadLog | |
from raiden.transfer import node, views | |
from raiden.transfer.architecture import StateManager | |
from raiden.utils import serialization | |
json = serialize.JSONSerializer() | |
def replay_wal(storage): | |
all_state_changes = storage.get_statechanges_by_identifier( | |
from_identifier=0, | |
to_identifier='latest', | |
) | |
state_manager = StateManager(state_transition=node.state_transition, current_state=None) | |
wal = WriteAheadLog(state_manager, storage) | |
locksroot = serialization.deserialize_bytes( | |
'0xdf72ce62d1ec2df92619691e0ad96a0853aec3a0106ed6ea149f9ff63bc2f566' | |
) | |
token_network_identifier = to_canonical_address( | |
'0xa5C9ECf54790334B73E5DfA1ff5668eB425dC474', | |
) | |
partner_address = to_canonical_address( | |
'0x10F4BC8CD156B4785f8F1f100C53C4cA0181E9b9', | |
) | |
all_events = list() | |
all_states = list() | |
for _, state_change in enumerate(all_state_changes): | |
events = wal.state_manager.dispatch(state_change) | |
all_states.append(wal.state_manager.current_state) | |
all_events.append(events) | |
if state_manager.current_state: | |
chain_state = state_manager.current_state | |
channel_state = views.get_channelstate_by_token_network_and_partner( | |
chain_state=chain_state, | |
token_network_id=token_network_identifier, | |
partner_address=partner_address, | |
) | |
is_bp = ( | |
channel_state and | |
channel_state.our_state.balance_proof and | |
channel_state.our_state.balance_proof.locksroot == locksroot and | |
channel_state.our_state.balance_proof.nonce == 3 | |
) | |
if is_bp: | |
return 0 | |
return 1 | |
def main(): | |
import argparse | |
parser = argparse.ArgumentParser() | |
parser.add_argument('database') | |
args = parser.parse_args() | |
exitcode = replay_wal( | |
storage=sqlite.SQLiteStorage(args.database, json), | |
) | |
sys.exit(exitcode) | |
if __name__ == '__main__': | |
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from raiden.storage import serialize, sqlite | |
from raiden.storage.wal import WriteAheadLog | |
from raiden.transfer import node | |
from raiden.transfer.mediated_transfer.events import SendLockedTransfer | |
from raiden.transfer.architecture import StateManager | |
from raiden.tests.utils.events import must_contain_entry | |
json = serialize.JSONSerializer() | |
def replay_wal(storage): | |
all_state_changes = storage.get_statechanges_by_identifier( | |
from_identifier=0, | |
to_identifier='latest', | |
) | |
state_manager = StateManager(state_transition=node.state_transition, current_state=None) | |
wal = WriteAheadLog(state_manager, storage) | |
for _, state_change in enumerate(all_state_changes): | |
events = wal.state_manager.dispatch(state_change) | |
send_locked_transfer = must_contain_entry( | |
events, | |
SendLockedTransfer, | |
{ | |
'transfer': { | |
'balance_proof': { | |
'nonce': 3, | |
'channel_identifier': 46, | |
}, | |
}, | |
}, | |
) | |
if send_locked_transfer: | |
import pdb; pdb.set_trace() | |
def main(): | |
import argparse | |
parser = argparse.ArgumentParser() | |
parser.add_argument('database') | |
args = parser.parse_args() | |
replay_wal( | |
storage=sqlite.SQLiteStorage(args.database, json), | |
) | |
if __name__ == '__main__': | |
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
git rev-list bfff025038034c9381ac1f225f9f8c19a5b86e4b..e9bd1fdcf151438d276c7d3117cf894948baf054 | while read commit; do | |
git checkout $commit | |
python t.py ~/download/paul/node_28898a6b/netid_1/network_b9633dd9/v9_log.db && echo $commit && break | |
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13b03009fb44d1b6bf6d5a04f0a19c2c5cc82fc2 | |
bb5f5aee37f48d95209d0d0aeb63cdead50ce24b | |
8a305fee259a0c5688b51dd06e197a4a74a307fe | |
02f275e3c421e00336ee478a850862d25a78937c | |
c098937b350a05c4f8a3ebeb2fcfe80e68a90ab0 | |
7241d389ce9082087416704083ca61a8cf5c6e03 | |
5c63917231c72a24ebc2287d4a48bb3bc6dd0777 | |
927a23a94add8521ed3cafd424b8637c35ebb287 | |
cc14d2848fb0402b3fe58c199c1ce88c1a161a90 | |
8052af6bbfda5535f8eac8c2610b6da4f746c974 | |
a7233073bb278f31358a2375af3e5419f7ab8f97 | |
89cba57c54bedf93a5df8134257f0ff928427fbf | |
11a39fad54b54112b1b29f4b84ed9b361bfcdf59 | |
92bdaa1f8e15487cc4b40221a58131050f93d90f | |
8d99cc9fa21ba2db82df8a4fa869f87bcd59fd37 | |
9636253147fd4f8a38e3bbbe323181c10b197bdb | |
787530ce3f8b06e5883fc4dd8d2a63d0997d82e9 | |
33cb2bf0304af2a8ee4336c28fddd71a5f92e240 | |
d3d204022e24d09c51f5ccaac936f5e022af9625 | |
ebf8a2346620761affdd9339e31fffddf13ded36 | |
1e582cbb8b9b738458dd0cda77bfcec745d18d89 | |
29188326633184d11244f3055342e704dbaeb048 | |
4181727d475707ead8df73fa8d73f5bca32cf02d | |
996dd56f35f1df84026e557d3abc0f923081998f | |
e67f7d6acd8b318138e7b0b44e1ad933cd2327a8 | |
9d604a2a672815061e243abc1d799b50214d158c | |
8c5ab90e53aedaed30e14e9cca791df219d5e169 | |
4498c2ee2c9cc3dcb7bca83612212a6ac544ba65 | |
d75750f536807cda8804af91f494904553699221 | |
fe240ba632dcd92958952860932d51021bb85501 | |
96bb7c87a0908e5c493152040e5c6a14870c7a66 | |
71f5148b0fd98f31733e1fca1c2a37a2e1dfd0cd | |
28b9c0f30132541a00a22b3096324b5aaab5f7f0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment