Translate EVM bytecode into opcodes using pure Regex :)
Demo: https://twitter.com/0x796/status/1608039943582142464
Try here: https://regex101.com/
Use PCRE2 (Perl compatible) Regex flavor.
Search:
Translate EVM bytecode into opcodes using pure Regex :)
Demo: https://twitter.com/0x796/status/1608039943582142464
Try here: https://regex101.com/
Use PCRE2 (Perl compatible) Regex flavor.
Search:
| type = "directrequest" | |
| schemaVersion = 1 | |
| minContractPaymentLinkJuels = "1000000000000000000" # 0.1 LINK or 1 LINK | |
| name = "AW AccuWeather Get Current Conditions by Location Coordinates 3" | |
| contractAddress = "0x0000000000000000000000000000000000000000" # Replace with Operator.sol address (also in submit_tx task) | |
| maxTaskDuration = "0s" | |
| observationSource = """ | |
| decode_log [type=ethabidecodelog | |
| abi="OracleRequest(bytes32 indexed specId, address requester, bytes32 requestId, uint256 payment, address callbackAddr, bytes4 callbackFunctionId, uint256 cancelExpiration, uint256 dataVersion, bytes data)" | |
| data="$(jobRun.logData)" |
| // SPDX-License-Identifier: MIT | |
| pragma solidity 0.8.4; | |
| import "@chainlink/contracts/src/v0.8/ChainlinkClient.sol"; | |
| /** | |
| * **** Data Conversions **** | |
| * | |
| * countryCode (bytes2) | |
| * -------------------- |
| { | |
| "name": "AW AccuWeather Get Current Conditions by Location Coordinates", | |
| "initiators": [ | |
| { | |
| "type": "runlog", | |
| "params": { | |
| "address": "0x0000000000000000000000000000000000000000" | |
| } | |
| } | |
| ], |
| type = "directrequest" | |
| schemaVersion = 1 | |
| minContractPaymentLinkJuels = "1000000000000000000" # 0.1 LINK or 1 LINK | |
| name = "AW AccuWeather Get Current Conditions by Location Coordinates" | |
| contractAddress = "0x0000000000000000000000000000000000000000" # Replace with Operator.sol address (also in submit_tx task) | |
| maxTaskDuration = "0s" | |
| observationSource = """ | |
| decode_log [type=ethabidecodelog | |
| abi="OracleRequest(bytes32 indexed specId, address requester, bytes32 requestId, uint256 payment, address callbackAddr, bytes4 callbackFunctionId, uint256 cancelExpiration, uint256 dataVersion, bytes data)" | |
| data="$(jobRun.logData)" |
| // SPDX-License-Identifier: MIT | |
| pragma solidity 0.8.4; | |
| import "@chainlink/contracts/src/v0.8/ChainlinkClient.sol"; | |
| /** | |
| * **** Data Conversions **** | |
| * | |
| * countryCode (bytes2) | |
| * -------------------- |
| def test_pnl(): | |
| # Address | |
| # 0x49a2DcC237a65Cc1F412ed47E0594602f6141936 | |
| # Pool | |
| # 0x6b9887422E2a4aE11577F59EA9c01a6C998752E2 | |
| # Events below (all mints) | |
| # 0xb387d1131d3914c62dc85b0434dbd750167b502f3ddb189d9ae0c23a638e37eb | |
| mint1 = [ | |
| FVal("211.012433028763012105"), # WETH added | |
| FVal("3931.525865515694335575"), # BAL added |
| { | |
| "0x000001f568875F378Bf6d170B790967FE429C81A": [ | |
| 232 | |
| ], | |
| "0x01199307A3FeB7474fbdeaA9f68d5C8b1aF85Ad3": [ | |
| 232 | |
| ], | |
| "0x03653B34D2bD05D82c8Ae879d7096D02b94aA010": [ | |
| 232 | |
| ], |
| { | |
| "0x0000000484f2217f1A64Eb6d24b5CEe446FaEAe5": [ | |
| 478 | |
| ], | |
| "0x0000A441fBB1fBAADF246539BF253A42ABD31494": [ | |
| 478 | |
| ], | |
| "0x0000cBe77eE6999c2407611E89ad0389AF474F48": [ | |
| 478 | |
| ], |
| { | |
| "0x000000DCF1190aF44f7149B85299F18Ce7221024": [ | |
| 490 | |
| ], | |
| "0x01228D70A0980d85a103d9a753707104757f69bC": [ | |
| 490 | |
| ], | |
| "0x0154d25120Ed20A516fE43991702e7463c5A6F6e": [ | |
| 490 | |
| ], |