moonstream-to / moonworm

codegen for crypto degens and other ethereum smart contract toolkit for python
Apache License 2.0
36 stars 7 forks source link

Improved "moonworm watch", added "moonworm find-deployment" #66

Closed zomglings closed 2 years ago

zomglings commented 2 years ago

Changes

Invoking moonworm find-deployment

For example, for CU Lands contract:

MOONWORM_VERBOSE=true moonworm find-deployment -w https://polygon-rpc.com -c 0xA2a13cE1824F3916fC84C65e559391fc6674e6e8
Output

Lines prefixed by `INFO:` go to `stderr`. Last line goes to `stdout`. ``` INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Function invoked INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=27307152, min_block=0, middle_block=13653576 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=27307152, min_block=13653576, middle_block=20480364 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=27307152, min_block=20480364, middle_block=23893758 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=23893758, min_block=20480364, middle_block=22187061 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=23893758, min_block=22187061, middle_block=23040409 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=23040409, min_block=22187061, middle_block=22613735 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22613735, min_block=22187061, middle_block=22400398 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22613735, min_block=22400398, middle_block=22507066 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22613735, min_block=22507066, middle_block=22560400 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22560400, min_block=22507066, middle_block=22533733 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22533733, min_block=22507066, middle_block=22520399 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22533733, min_block=22520399, middle_block=22527066 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22533733, min_block=22527066, middle_block=22530399 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22530399, min_block=22527066, middle_block=22528732 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22530399, min_block=22528732, middle_block=22529565 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22530399, min_block=22529565, middle_block=22529982 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22529982, min_block=22529565, middle_block=22529773 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22529982, min_block=22529773, middle_block=22529877 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22529877, min_block=22529773, middle_block=22529825 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22529877, min_block=22529825, middle_block=22529851 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22529851, min_block=22529825, middle_block=22529838 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22529838, min_block=22529825, middle_block=22529831 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22529838, min_block=22529831, middle_block=22529834 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22529834, min_block=22529831, middle_block=22529832 INFO:moonworm.deployment:find_deployment_block(web3_client, contract_address=0xA2a13cE1824F3916fC84C65e559391fc6674e6e8, web3_interval=0.5) -- Binary search -- max_block=22529834, min_block=22529832, middle_block=22529833 22529834 ```

How to test these changes?

I tested these changes manually against the Crypto Unicorns NFT and Crypto Unicorns Land NFT.

Related issues

Raised https://github.com/bugout-dev/moonworm/issues/65